Verilog 变量声明与数据类型二

这篇博客介绍了Verilog中几种重要的数据类型,包括integer(整数)、real(实数)、time(时间)以及如何声明和使用它们。integer变量在循环语句中常用作辅助,real类型主要用于算法仿真,time类型方便获取仿真时间,存储器类型则用于描述RAM、ROM等。此外,还提到了字符串的存储方式。
摘要由CSDN通过智能技术生成

Verilog 变量声明与数据类型二

上节介绍了wire,reg数据类型及其用法,并对变量定义中的向量的定义及使用做了说明。本节主要介绍其它几种类型。常用的有如下几种:整数integer,实数 real, 时间time,字符串等,他们本质上也是寄存器类型。

  1. 整形integer

整形变量用关键字integer 声明,在声明时不用指定位宽,位宽的大小和编译器有关,一般默认为32位。和reg关键字不同,如没有特别指定,reg型变量是无符号数,而integer声明的变量是有符号数的。integer类型的数据一般作为循环变量用在循环语句中。

例:

reg [31:0] a;

reg [31:0] b;

integer i;

always@(*)

for (i = 1; i <= 4; i = i + 1)

b[(i*8-1)-:8] = a[(i*8-1)-:8];

上例中,变量i只起到循环辅助作用,真正综合后该变量不存在,实际综合后与下面的代码等效。

reg [31:0] a;

reg [31:0] b;

integer i;

always@(*)

b[31:0] = a[31:0];

2. 实数(real)类型:

实数用关键字 real 来声明,可用十进制或科学计数法来表示。实数声明不能带有范围,默认值为 0。如果将一个实数赋值给一个整数,则只有实数的整数部分会赋值给整数(采用四舍五入)。例如:

real ra ;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值