寄存器类型的变量在verilog语言中通常表示一个存储数据的空间,在Verilog仿真器中,寄存器类型的变量通常要占据一个仿真内存空间。(仿真内存空间如何定义,是规定大小还是和选用的仿真环境有关或PC之类???) reg:最常用的寄存器类型数据,可以一位、多位或者二维数组
integer:整数型数据,存储一个至少32位的整数
time:时间类型,存储一个至少64位的时间值
real、realtime:实数和实数时间寄存器
reg太过常用,在此不再赘述,简单说明一下二维数组,这种结构可以用于描述存储器(Memeory)
reg [3:0] MEMABC [0:7]; //定义一个存储器,地址为0~7,每个存储单元都是4bit
与一维reg变量不同的是,不能再对存储器中的存储单元进行位选择或部分选择(即不能对位操作),但是可以对每个单元进行单独赋值
MEMABC[1] = 4‘0101 ; //为MEMABC中的第一个存储单元赋值
Verilog中,不存在一条语句可以对整个存储器赋值,必须对每个单元单独赋值,除非使用$readmemb或$readmemh系统任务从文件中读入整个或者部分存储器的数值
integer变量通常用于高层次建模,也常用在for的语句中
initial
begin:ACCESS
integer i;
for(i=0;i<=7;i=i+1)
begin
MEMABC[i] = i;
end
end
time变量用于存储和处理系统时间,real和realtime用来存储实数实数时间