- Verilog中有三大类数据类型,reg寄存器类型,wire线网类型以及parameter参数类型。reg类型表示一个抽象的数据存储单元。在always以及initial语句中被赋值,不能在assign语句中进行赋值。如果用在带有时钟的always模块中,表示变量是个寄存器。如果用在不带有时钟的always模块中,表示是个连线。相当于wire类型。缺省值是x(未知状态)
- wire类型的变量用来连接结构化模块。缺省值是z(高阻状态)
- parameter类型表示一个常量。
- 在描述或者例化模块时,需要描述模块的输入输出。需要用到reg 和wire来声明端口类型。在描述模块的时候input端口只能是wire类型。(默认也应该是wire类型,因为在进行描述的时候直接是input 端口名或者output 端口名)output可以是wire类型也可以是reg类型。当定义成inout类型时只能是wire类型。
- 在例化模块时,被例化的模块的input可以是wire或者reg类型。output也是wire或者reg类型。而顶层模块的output一定是wire类型。inout类型依旧是wire类型。
verilog的数据类型及其作用
于 2021-08-03 21:11:38 首次发布