0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

比较Verilog中Wire和Reg的不同之处

汽车玩家 来源:CSDN 作者:MangoWen 2020-03-08 17:18 次阅读

wire 和reg是Verilog程序里的常见的两种变量类型,他们都是构成verilog程序逻辑最基本的元素。正确掌握两者的使用方法是写好verilog程序的前提。但同时,因为他们在大多数编程语言中不存在,很多新接触verilog语言的人并不能很清楚的区别两种变量的不同之处。这里简单对他们做一个比较,方便在编程时区别使用。

功能和状态

Wire主要起信号间连接作用,用以构成信号的传递或者形成组合逻辑。因为没有时序限定,wire的赋值语句通常和其他block语句并行执行。

Wire不保存状态,它的值可以随时改变,不受时钟信号限制。

除了可以在module内声明,所有module的input 和output默认都是wire型的。

Reg是寄存器的抽象表达,作用类似通常编程语言中的变量,可以储存数值,作为参与表达式的运算,通常负责时序逻辑,以串行方式执行。

Reg可以保存输出状态。状态改变通常在下一个时钟信号边沿翻转时进行。

赋值方式

Wire有两种赋值方式

1.在定义变量时赋初值,方式是用=。如果之后没有再做赋值,初值会一直保留,(是否可以给逻辑?)

wire wire_a = 1’b0;

2.用assign语句赋值,等式右边可以是wire,reg,一个常量或者是逻辑运算

Wire wire_a;
Wire wire_b;
Wire wire_c;
Reg reg_a;
assign wire_b = wire_a;
assign wire_c =reg_a;
assign wire_d =wire_b & wire_c;

如果不赋值,wire的默认状态是高阻态,即z。

对reg的使用通常需要有触发条件,在always的block下进行。触发条件可以是时钟信号上升沿。赋值语句可以是=或者

Wire wire_a;
Wire wire_b;
Reg reg_a;
Reg reg_b;
Always @( posedge clk)
Begin
Reg_b =reg_a;
Reg_c = wire_a | wire_b;
end

Reg在声明时候不赋初值。未赋值的reg变量处于不定态,即x。

使用方式

在引用一个module时,输入端口可以是wire型,也可以reg型。这里可以把对input的赋值看作一个assign语句,使用的变量相当于等号右边的变量,所以两者都可以。

而对于输出端口,必须使用reg型,而不能是wire型。同样用assign的角度考虑,module的输出在等号右边,而使用的变量成了等号左边,assign语句等号左边只能是wire型。

位宽

这是个使用注意事项。所有的wire和reg在声明时如果不做特殊声明,只有1位。这个对于熟悉其他编程语言的人是一个容易犯错的地方。

执行

wire wire_a = 4’he;

语句最后得到的wire_a是0x1,而不是0xe。因为wire_a只取了0xe的最低位的值而省略掉了其他值。所以正确的语句应该是

wire[3:0] wire_a = 4’he;

这样wire_a输出的结果才是一个0xe。

小结

这篇文章从功能,变量状态,赋值方式,使用方式等角度讨论了wire和reg变量类型的区别。并且给出了一个在verilog中常见的使用错误及解决方法。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 寄存器
    +关注

    关注

    31

    文章

    5308

    浏览量

    119978
  • Verilog
    +关注

    关注

    28

    文章

    1343

    浏览量

    109972
收藏 人收藏

    评论

    相关推荐

    NXP MCX N23和MCX N94/54的不同之处

    继2024年一月份发布了MCXN94/54系列之后,NXP又在6月份发布了N系列的第二款产品,MCX N23系列,下面小编就为大家揭开它的神秘面纱,来看看这款产品有何特点,了解一下它和N94/54又有什么不同之处呢!
    的头像 发表于 11-01 12:35 242次阅读
    NXP MCX N23和MCX N94/54的<b class='flag-5'>不同之处</b>

    请问PCM2912AE2PJTR与PCM2912APJTR,两个型号尾缀不同之处(E2)有何意义及差别?

    请问PCM2912AE2PJTR与PCM2912APJTR,两个型号尾缀不同之处(E2)有何意义及差别?急需解答迷津,不胜感激
    发表于 10-28 08:10

    FPGA算法工程师、逻辑工程师、原型验证工程师有什么区别?

    。但在实际工作,这三个角色的工作可能会有一定的重叠和交叉。 交流问题(二) Q:Verilog 定义信号为什么要区分 wirereg
    发表于 09-23 18:26

    继电器和接触器有什么不同之处?

    继电器和接触器是两种常用的电气元件,它们在电路起着非常重要的作用。虽然它们在某些方面有相似之处,但它们之间还是存在一些不同之处。以下是对继电器和接触器的详细比较: 定义和工作原理 继
    的头像 发表于 06-21 10:10 710次阅读

    智能制造与传统制造有什么不同之处

    、生产方式、管理模式等方面存在很大的不同,这些不同之处正是智能制造的优势和特点。 二、设计理念的不同 传统制造设计理念 传统制造的设计理念主要侧重于产品的功能性、稳定性和成本效益。在设计过程,设计师需要充分考
    的头像 发表于 06-07 15:36 2998次阅读

    单片机和plc有什么相同和不同之处

    某些方面具有相似之处,但在许多关键方面也存在显著差异。本文将详细探讨单片机和PLC的相同和不同之处。 一、相同之处 控制功能:单片机和PLC都具有控制功能,可以对各种设备和系统进行控制。它们可以接收输入信号,处理这些信号,然后输
    的头像 发表于 06-06 14:05 1069次阅读

    AUTOSAR MCAL驱动程序与演示程序的Libraries的驱动程序有什么不同之处

    1.关于 AUTOSAR MCAL 驱动程序 与演示程序的 Libraries 的驱动程序 有什么不同之处? 2.AUTOSAR MCAL 驱动程序是否包含了 TC397 安全菜
    发表于 05-17 06:55

    verilog与其他编程语言的接口机制

    Verilog是一种硬件描述语言,用于描述数字电路的行为和结构。与其他编程语言相比,Verilog具有与硬件紧密结合的特点,因此其接口机制也有一些与众不同之处。本文将详细介绍Verilog
    的头像 发表于 02-23 10:22 620次阅读

    verilog双向端口的使用

    输出信号。本文将详细介绍Verilog双向端口的使用,并提供示例说明其在实际应用的作用。 第一部分:双向端口的定义和语法 在Verilog,可以使用
    的头像 发表于 02-23 10:18 1286次阅读

    AMOLED与OLED的不同之处在哪

    AMOLED还是在。虽然LED在日常生活比较常见,但是在屏幕,每个LED的尺寸都非常之小,并且被分成了红绿蓝三个子像素群,然后再形成不一样的颜色,而子像素的排列方式也会影响到整个显示效果。
    发表于 02-01 16:46 498次阅读

    光纤和光缆有何不同之处

    很多人会有这样的疑问,光纤和光缆有何不同之处?主要是因为光纤和光缆这两个名词容易引起混淆。在严格的定义下,光纤和光缆是两种不同的东西,然而在现实生活,许多人仍然会混淆这两者。为了更好地理解光纤和光缆之间的区别,我们一起来看一下。
    的头像 发表于 01-15 17:01 789次阅读

    Linux系统文件比较工具集合

    在Linux系统,文件比较是一种常见的任务,用于比较两个文件之间的差异。文件比较可以帮助我们找出两个文件的不同之处,或者确定它们是否完全相
    的头像 发表于 01-02 13:53 652次阅读

    塑壳断路器接地故障保护与剩余电流保护有哪些不同之处

    塑壳断路器接地故障保护与剩余电流保护有哪些不同之处?我需要详尽、详实、细致的最少1500字的文章 塑壳断路器是一种常用的电气保护设备,在电路具有重要的作用。在使用塑壳断路器时,我们通常会遇到接地
    的头像 发表于 12-26 13:53 1171次阅读

    单模和多模光纤跳线有哪些不同之处

    单模和多模光纤跳线有哪些不同之处? 单模和多模光纤跳线是两种不同类型的光纤连接方式,它们在传输性能、工作距离、适用场景等方面存在着一些不同之处。下面将详细介绍单模和多模光纤跳线的区别,以供参考。 一
    的头像 发表于 12-07 10:09 2186次阅读

    噪音抑制与主动降噪:有何不同之处

    噪音抑制与主动降噪:有何不同之处
    的头像 发表于 11-30 17:29 643次阅读
    噪音抑制与主动降噪:有何<b class='flag-5'>不同之处</b>?