一、数据类型
在Verilog语言中主要有三大数据类型:寄存器数据类型、线网数据类型、参数数据类型
1、寄存器数据类型
关键字:reg,reg类型数据默认初始值为不定值X;需要注意的是reg类型的数据只能在always语句和initial语句中被赋值。
reg [31:0] delay_cnt;
reg key;//默认位宽为1
如果该过程语句描述的是时序逻辑,即always语句带有时钟信号,则该寄存器变量对应为触发器;如果该过程描述的是组合逻辑,即always语句不带有时钟信号,则该寄存器变量对应为硬件连线;
2、线网数据类型
关键字:wire和tri;最常见的是wire类型
wire key_flag;//默认位为1位(设计变量位宽与reg相同)
线网数据类型表示结构实体之间的物理连线;线网类型的变量不能存储值,它的值是由驱动它的元件所决定,能够驱动线网类型变量的元件有门、连续赋值语句、assign等。如果没有驱动元件连接到线网类型的变量上,则该变量就是高阻的,即其值为Z。
3、参数数据类型
关键字:parameter;参数其实就是一个常量,可以一次定义多个参数,参数与参数之间需要用逗号隔开,且每个参数定义的右边必须是一个常数表达式。