本篇内容主要讲解“two-state数据类型有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“two-state数据类型有哪些”吧!
在Verilog的基础上
添加了许多新的数据类型,以提
高仿
真器运行
时的内存利用率。
two-state数据类型只有0和1两种状态,而four-state数据类型可以有0,1,X,Z四种状态。
two-state数据类型:
bit:1位two-state数据类型,可以扩展成多位。
byte:8位有符号整数,可用于存储ASCII字符。
shortint:16位有符号整数。
int:32位有符号整数。
longint:64位有符号整数。
four-state数据类型:
logic
reg
wire
integer:32位有符号整数。
time:64位无符号整数。
默认情况下,byte,shortint,int,integer和longint默认为signed和bit,reg,logic和wire默认为unsigned。
wire和reg
wire数据类型用来建模电路组件之间的硬件连接关系。也就是说,wire类似于电路中的真实电线一样。
reg数据类型保存数据的值,直到将另一个值放在它们上。也就是说,reg就像寄存器组件一样。
integer,real和time
integer变量可以保存从-2^31到(2^31)-1的值。
integer变量声明的语法如下:
integer integer_variable_name;
real变量存储的是64位的值。实数可以用十进制表示法(例如,14.72)或科学记数法(例如,39e8)指定。
real变量声明的语法如下:
real real_variable_name;
在仿真开始时,integer和real变量都被初始化为零。
integer a [0:64]; //一个包含65个integer值的数组 real float_v; //一个存储real值的变量
$time系统任务一起使用以打印仿真时间。
time time_variable_name;
Parameters
Parameters表示常量,因此在运行时修改Parameters的值是非法的。
但是,可以在编译时修改参数以使其具有与变量声明时不同的值。这使得我们可以定制化不同参数的模块实例。
parameter变量声明的语法如下:
parametersize = 16 ;
logic
logic是reg变量从Verilog到SystemVerilog的改进版本。除了作为变量之外,它还可以进行连续赋值,被门和模块驱动。
logic变量声明的语法如下:
logic a, addr;
two-state变量
two-state数据类型可提高four-state类型的性能和仿真器内存使用率。two-state数据类型是bit,byte,int,shortint,longint,byte。
bit – Unsigned
byte, shortint, int, longint – Signed
unsigned two-state types,
bit single_bit ; // unsigned single bit
bit [31:0] 32_bit ; // 32-bit unsigned integer
signed two-state types,
int integer ; // 32-bit signed integer
byte 8_bit ; // 8-bit signed integer
shortint 16_bit ; // 16-bit signed integer
longint 64_bit ; // 64-bitsigned integer
unsigned from signedtwo-state types,
int unsigned integer ; // 32-bit unsigned integer
byte unsigned 8_bit ; // 8-bit unsigned integer
shortint unsigned 16_bit ; // 16-bit unsigned integer
longint unsigned 64_bit ; // 64-bit unsigned integer
到此,相信大家对“two-state数据类型有哪些”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
原创文章,作者:745907710,如若转载,请注明出处:https://blog.ytso.com/219713.html