状态
verilog中对于状态的描述一共有四个
- 1:高电平
- 0:低电平
- x:未知,可以是高电平也可以是低电平
- z:高阻态,悬空状态
进制
verilog的进制和其他语言有很大的不同
- 二进制:4'b0101表示四位二进制的0101
- 十进制:4'd2表示四位十进制的2
- 十六进制:4'ha表示四位十六进制的a
总之前面的4是指位宽后面的是指进制等
标识符
类似变量名,用于定义变量、模块名、端口名、信号名等
标识符的第一个符号不能是数字
数据类型
verilog中主要有三大数据类型
- 寄存器数据类型
- 线网数据类型
- 参数数据类型
这三大数据类型中真正起作用的是寄存器和线网数据类型,参数其实就是中间过度的东西
寄存器数据类型(reg)
只能在always和initial中被赋值,默认初始值是不定值x。
如果过程描述时序逻辑,即always带有时钟信号则寄存器变量为对应的触发器
如果过程描述组合逻辑,即always不带有时钟信号则寄存器变量为对应的硬件连线
其实就是一个器件。
在定义的时候需要在末尾加上分号,reg 【31:0】name;其中中括号表示位宽,高位在前地位在后,若未给出默认位宽为1.
线网数据类型(wire)
表示结构体之间的物理连线,并且线网不能存储值,它的值由驱动它的原件所决定的。
驱动线网的变量的元件有,门、连续赋值语句、assign等。
如果没有驱动元件连接到线网上则该变量为高阻态z。
线网数据类型wire、tri(很少用)
wire name;
wire [31:0] name;
参数类型(常量 parameter)
有define的效果
parameter name = 4'b0101;
如果定义多个参数除了最后一个参数其他用逗号隔开就行
运算符
与c基本一致
标签:wire,name,数据类型,线网,语法,verilog,寄存器 From: https://www.cnblogs.com/recodemo/p/17702437.html