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

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

3天内不再提示

reg与wire的区别

FPGA之家 来源:FPGA之家 作者:FPGA之家 2022-07-03 10:00 次阅读

1,reg与wire的区别:

相同点:

都能表示一种类型类型。

不同点:

wire

连线型数据,线网类型;

表示元件间的物理连线,不能保存数据;

线网是被驱动的,可以用连续赋值语句或把元件的输出连接到线网等方式进行驱动;

给线网提供驱动的赋值元件就是“驱动源”,线网的值由驱动源来决定;

如果线网没有连接到驱动源,线网的缺省值为“Z”。

reg:

寄存器型数据类型,通常用于对存储单元进行描述;

这种变量可以保持它们自身的数值,直到该变量被指定了新的值为止 ;在过程被赋值的变量必须定义为reg型;

只能存放无符号数;

有符号数寄存器变量:integer 。

2,$stop:

表示停止命令,常用格式为,位于initial语句中:

#时间(N) $stop;

表示在(N)个时间单位后,停止仿真

3,参数声明parameter:

在程序中需要多次使用同一个数字时,可以考虑采用参数来提高代码的简洁度,降低代码的设计量。

参数一经声明,就视其为一个常量,在整个过程中值不在改变。

其定义方式如下:

《变量名》=《变量定义》;

例如:

parameter SET_TIME_1S=27‘b50_000_000;

//把常量50000000用标识符SET_TIME_1S来代替。

用同一个 parameter 同时定义多个参数时,各个参数之间用“ , ”来隔开。

使用参数可以提高代码的可读性,也便于修改。

4,仿真时的端口定义

与模块输入端口相连的信号端口是产生仿真信号的端口,需定义为reg类型;

与模块输出端口相连的信号端口是被输出信号所驱动的端口,需要定义为wire类型;

5,阻塞与非阻塞赋值语句

1,非阻塞赋值语句

用操作符“《=”来标识“非阻塞赋值语句”;

在begin-end串行语句中,一条非阻塞赋值语句的执行不会阻塞下一条语句额执行,也就是说,在本条非阻塞型过程赋值语句对应的赋值操作执行完之前,下一条语句也可以开始执行。

仿真过程在遇到非阻塞型过程赋值语句后,首先计算其右端赋值表达式的值,然后等到仿真时间结束时将该计算结果赋值变量。也就是说,这种情况下的赋值操作是在同一时刻上的其他普通操作结束后才得以执行。

2,阻塞赋值语句

用操作符“=”来标识“阻塞赋值语句”;

在begin-end串行语句中的各条阻塞型过程赋值语句将它们在顺序快中的排列次序依次得以执行。

阻塞型赋值过程赋值语句的执行过程:首先计算右端赋值表达式的值,然后立即将计算结果赋值给“=”左端的被赋值变量。

原文标题:verilog的一些技巧

文章出处:【微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

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

    关注

    0

    文章

    20

    浏览量

    11428
  • 端口
    +关注

    关注

    4

    文章

    820

    浏览量

    31588
  • 代码
    +关注

    关注

    30

    文章

    4556

    浏览量

    66784
  • Wire
    +关注

    关注

    0

    文章

    23

    浏览量

    15739

原文标题:verilog的一些技巧

文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    为什么STM32F103 LL库清除某个标志位都是使用WRITE_REG(REG, VAL)呢?

    大佬们,最近看LL库比较贴合寄存器编程,但是LL库清除某个标志位都是通过WRITE_REG(REG, VAL)这个来写整个寄存器,不应该通过CLEAR_BIT(REG, BIT)来实现清除某个位么,比如这个
    发表于 03-18 06:10

    AD5504为什么无法正确写入DAC input reg

    根据AD5504的数据手册,要向其寄存器写入数据应按照以下4种流程进行: 1、写control reg --> nop写 2、写control reg --> 写
    发表于 12-20 08:10

    典型Wire Bond引线键合不良原因分析

    典型Wire Bond引线键合不良原因分析
    的头像 发表于 11-14 10:50 554次阅读
    典型<b class='flag-5'>Wire</b> Bond引线键合不良原因分析

    LabVIEW Channel Wire通道线应用和注意点

    上面三个循环是并行的三个线程。channel wire不定义代码执行顺序。 这是一个非常实用的设计模式,可以把需要处理的子任务做成subVI,在Message Handling Loop里调用。
    发表于 11-06 15:12 259次阅读
    LabVIEW Channel <b class='flag-5'>Wire</b>通道线应用和注意点

    如何将1-Wire主机复用到多个通道?

    如何将1-Wire主机复用到多个通道? 1-Wire是一种串行通信协议,可用于连接各种感测器和芯片,如温度传感器、湿度传感器、EEPROM等。通常情况下,每个1-Wire主机(例如单片机)只能连接
    的头像 发表于 10-29 14:21 300次阅读

    systemverilog:logic比reg更有优势

    在systemverilog协议中,logic定义四态值,即向量(vector)的每个位(bit)可以是逻辑0, 1, Z或X,与verilog协议中的reg很接近。但是logic有个很明显的优势,不允许多驱动。
    的头像 发表于 10-26 09:32 430次阅读
    systemverilog:logic比<b class='flag-5'>reg</b>更有优势

    如何将1-Wire主机复用到多个通道?

    1-Wire网络最初设计用于与单条1-Wire总线上的单个1-Wire主机和多个1-Wire节点进行通信。对于1-Wire网络,理想的拓扑是
    的头像 发表于 10-24 16:05 188次阅读
    如何将1-<b class='flag-5'>Wire</b>主机复用到多个通道?

    systemverilog:logic比reg更有优势?

    在systemverilog协议中,logic定义四态值,即向量(vector)的每个位(bit)可以是逻辑0, 1, Z或X,与verilog协议中的reg很接近。但是logic有个很明显的优势,不允许多驱动。
    的头像 发表于 09-28 17:34 1977次阅读
    systemverilog:logic比<b class='flag-5'>reg</b>更有优势?

    线对线线对板连接器的区别

    线对线线对板连接器的区别  线对线(Wire-to-Wire)和线对板(Wire-to-Board)连接器是电子设备中常见的两种连接器类型。这两种类型的连接器在其工作原理、应用范围、使用场景等方面
    的头像 发表于 08-24 10:41 4587次阅读

    LabVIEW的Channel Wire通道线操作步骤

    线(wire),LabVIEW里鼠标拖拽,连接不同控件、VI、变量等图形化编程元素的线,表示数据流的流向(从左到右),可以通过线设定代码执行顺序,一般称之为“数据流线”。 通道线(channel wire),一种“与众不同”的连线: 1)不建立数据流向; 2)必须结合端点
    发表于 08-20 11:30 1307次阅读
    LabVIEW的Channel <b class='flag-5'>Wire</b>通道线操作步骤

    为什么STM32F103 LL库清除某个标志位都是通过WRITE_REG(REG, VAL)来实现的?

    大佬们,最近看LL库比较贴合寄存器编程,但是LL库清除某个标志位都是通过WRITE_REG(REG, VAL)这个来写整个寄存器,不应该通过CLEAR_BIT(REG, BIT)来实现清除某个位么,比如这个
    发表于 08-07 07:59

    为嵌入式应用选择合适的1-Wire主机

    本文讨论的电路为1-Wire主机控制器,它们均与1-Wire从器件通信。 但是,这些1-Wire主机控制器不能作为单独的主体,需要一个主机(计算机)告诉它们在1-Wire侧如何工作。
    的头像 发表于 06-13 09:40 669次阅读
    为嵌入式应用选择合适的1-<b class='flag-5'>Wire</b>主机

    使用VCS观察Verilog二维数组仿真值的方法

    FIR设计过程中,不可避免使用到reg/wire的二维数组;
    的头像 发表于 06-06 11:12 2405次阅读
    使用VCS观察Verilog二维数组仿真值的方法

    今日说“法”:如何防止regwire型信号在使用逻辑分析仪时被优化

    芯片内部结构的层次,这样就可以在相应的子模块查找需要观察的信号。默认情况下,Chipscope只能观察reg类型的信号。但是通过设置属性也是可以观察wire型信号的。使用不同的综合工具需要添加的属性也
    发表于 05-16 17:48

    了解和使用Maxim 1-Wire和iButton产品的循环冗余校验

    所有1-Wire器件(包括iButton器件)在只读存储器(ROM)中包含一个8字节的唯一注册号。该注册号用作1-Wire总线上的唯一网络地址。为确保数据通信的完整性,每个注册号的一个字
    的头像 发表于 05-16 11:23 670次阅读
    了解和使用Maxim 1-<b class='flag-5'>Wire</b>和iButton产品的循环冗余校验