Verilog HDL(1)语言要素
2.1、空白符
空白符包括空格符(\b),制表符(\t),换行符,换页符。编译和综合时空白符可省略
2.12、注释符:“//”,"/*.....*/" 。
2.13、标识符,被命名信号名,模块名,参数名称。它可以是一组字母,数字,$和“__”的组合,区分大小写(VHDL不区分大小写),第一个字符必须是字母或下划线。转义字符,以“\”开头,用于不符合规定的标示名称前。
2.14、关键字不允许使用。
2.15、数值
Verilog中有四种基本逻辑数值状态
0 | 低电平 |
1 | 高电平 |
x或X | 不确定或未知的逻辑状态 |
z或Z | 高阻态 |
在数电中高于0.7v就是高电平了,低于0.7v就是低电平了。
(不允许)两个signal line加在一个非门上,为不确定状态
gate断开时相当于高阻态。
2.15整数及其表示
二进制 | b或B | 0,1,x,X,z,Z,?,__ |
八进制 | o或O | 0-7,x,X,z,Z,?,__ |
十进制 | d或D | 0-9,z,Z,?,__ |
十六进制 | h或H | 0-9,a-f,A-F.,x,X,z,Z,?,__ |
三根signal line-----八进制 -------2^3
四根signal line-----十六进制-------2^4
实数
例如十进制小数2.5在HDL中表示为10.1
2---10 .5-----1*2^(-1)
2.2数据类型
信号强度表示数电中不同强度的drive source,而这种drive strength用电流强度来表示。
标识符 | name | type | 强弱程度 |
supply | 电源驱动 | drive |
|
strong | 强驱动 | drive | |
pull | 上拉电阻驱动 | drive | |
large | 大容性 | save | |
week | 弱驱动 | drive | |
medium | 中性驱动 | save | |
small | 小容性 | save | |
highz | 高容性 | 高阻态 |
注:强弱程度依次减小
2.2.1物理数据类型
连线型
主要记住两个类型 wire和tri
wire包括两状态一种是高电平,低电平。另一种是不确定状态。tri在wire中的两个状态还增加了一个高阻态,俗称三态。
此外tri1表示上拉电阻,tri0表示下拉电阻。supply1表示高点平0,supply0表示低电平0。
2.2.2寄存器类型(reg)
reg a; //one signal line
reg[3:0]b; //define 一个4比特的名为b的标量
连线型数据类型的声明
<net_declaration><drive_strength><range><delay><list_of_variable> //type,驱动强度,信号线位宽,延迟,变量名称
reg类型
reg<range><list_of_register_variable> //信号线数量位宽
注意的是reg类型没有驱动强度。
2.2.3存储器类型(RAM)
reg<rang1><name_of_register><range2>
range1指的是数据位宽,range2指的是存储深度
2.2.4 ADT
integer整型,time时间类型,real实数型
integer<list_of_register_variable>