Verilog中常用数据变量类型

1.wire型

wire型是指整数型,常用来表示用以assign关键字指定的组合逻辑信号。在Verilog程序模块中,输入、输出信号类型默认为wire型。wire型信号可以用做任何方程式的输入,也可以用做assign语句。

wire是wire型数据的确认符;[n-1:0]代表该数据的位宽,即该数据有几位,然后后面跟着数据的名字。若一次定义多个数据,可以用逗号隔开,但是最后一个数据名称不用跟逗号。

如wire a;/定义一个1位的wire型数据 a/

wire[3:0] b;/定义一个4位的wire型数据 b/

wire[5:1]c,d;/定义两个5位的wire型数据 c和d/

2.reg型

reg型是指实数型,是寄存器数据类型的关键字。reg型数据常用来表示always模块内的指定信号,长代表触发器。在设计中,通常以always模块通过使用行为描述语句来表达逻辑关系。reg型数据的格式与wire型一样。

如reg rega;/定义一个1位的名为rega的reg型数据/

reg [3:0] regb;/定义一个4位的名为regb的reg型数据/

reg [5:1]regc,regd;/定义两个5位的名为regc和regd的reg型数据/

reg型数据的默认是初始值是不定值,reg型数据可以赋正值也可以赋负值。但当一个reg型数据是一个表达式中的操作数时,它的值被当作无符号值,即正值。

3.memory型

memory型数据是通过扩展reg型数据的地址范围生成而来的,其格式如下:

reg[n-1:0]  存储器名[m-1:0],其中reg[n-1:0]定义了每一个存储单元的大小,即该存储单元是一个多少位的寄存器,[m-1:0]定义了该存储器有多少个存储单元。

如reg[4:0] mema[255:0];/定义了一个名为mema的存储器,该存储器有256个5位的存储器。

但是要注意一个n位的存储器是不同于一个由n个1位存储器所构成的存储器组

reg[n-1:0] rega;/一个n位的寄存器/

reg mema[n-1:0];/一个由n个1位寄存器所构成存储器组/

如果想对memory中的数据进行读写操作,必须指定该数据在存储器中的位置。

入mema[3]=0'/memory中第三个存储单元赋值为0/

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值