当前位置:文档之家› verilog语法和要素

verilog语法和要素


◆ 科学计数法。例如:
43_5.1e2
//其值为43510.0
9.6E2
//960.0 (e与E相同)
5E-4
//0.0005
实数(Real) 实数转换为整数的方法:四舍五入
42.466,42.45 //转换为整数为42
92.5,92.699 //转换为整数为93
-16.62
//转换为整数为-17
位x(或z),在十六进制中代表4位x(或z),它代表的 宽度取决于所用的进制。 4.如果没有定义一个整数的位宽,其宽度为相应值中的定义 的位数。
整数(integer) 5.如果定义的位宽比实际的位数长,通常在其左边补零。
但如果数最左边一位为x(或z),那么就相应地在左边 补x或z。如果定义的位宽比实际的位数小,裁掉左边的 位。
转义标识符:以“\”开头,以空白符结尾,可以包含任 何字符。比如:\7400 \~#@sel 注意:反斜线和结束空白符不是转义标识符的一部分,所 以标识符“\OutGate”和标识符“OutGate”恒等。
判断下列哪些标识符是合法的,哪些标识符是不合法的? 30cout ,Cout ,8sum,\a*b,_dada, \wait,initial, $latch,out*
整下数列数(字的in表te示g是e否r正)确?
6’d18
3’ □b001
‘Bx0
4’d-4
5’b0x110
(3+2)’b10
‘da30
10’d2
‘hzF
实数(Real)
实数(Real)有下面两种表示法。 ◆ 十进制表示法。例如:
2.0
0.1
//以上2例是合法的实数表示形式
2.
//非法:小数点两侧都必须有数字
主要内容
5.1 Verilog语言要素 5.2 常量 5.3 数据类型 5.4 参数 5.5 向量 5.6 运算符
5.1 Verilog语言要素
Verilog 程序由符号流构成,符号包括 空白符(White space) 注释(Comments) 操作符(Operators) 数字(Numbers) 字符串(Strings) 标识符(Identifiers) 关键字(Keywords)等
6.“?”是高阻态z的另一种表示符号。在数字的表示中, 字符“?”和z是完全等价的,可以互相代替。
7.整数可以带正负号,并且正负号应写在最左边。负数通 常表示二进制补码的形式。
8.当位宽与进制缺省时表示的是十进制数。
9.在位宽和’之间,以及进制和数字之间允许出现空格,但 是’和进制之间以及数值之间不允许出现空格。
◆ 整数
◆ 实数
◆ 字符串
整数(integer)
整数按如下方式书写:
+/-<size> '<base><value> 即 +/-<位宽>'<进制><数字>
size 为对应二进制数的宽度;base为进制;value是 基于进制的数字序列。 进制有如下4种表示形式: ◆ 二进制(b或B) ◆ 十进制(d或D或缺省) ◆ 十六进制(h或H) ◆ 八进制(o或O)
整数(integer)
Examples:
8'b11000101 //位宽为八位的二进制数11000101
8'hd5
//位宽为八位的十六进制数d5;
5'O27
//5位八进制数
4'D2
//4位十进制数2
4'B1x_01
/5位x(扩展的x),即xxxxx
4'hZ
//4位z,即zzzz
-26.26
//转换为整数为-26
字符串(Strings)
字符串是双引号内的字符序列。字符串不能分成多行书写。 例如:
“INTERNAL ERROR”
“this is an example for Verilog HDL” 字符串的作用主要是用于仿真时,显示一些相关的信息,
或者指定显示的格式。 字符串属于reg型变量,其宽度为字符串中字符的个数乘
关键字(Keywords)
Verilog语言内部已经使用的词称为关键字或保留字, 这些保留字用户不能作为变量或节点名字使用。
关键字都是小写的。比如:AIWAYS(标识符),不是 关键字,它与关键字always是不同的。
附录A和附录B列出了verilog语言中的所有关键字。
5.2 常量
程序运行中,值不能被改变的量称为 常量(constants),Verilog中的常量主 要有如下3种类型:
8□'h□2A
/*在位宽和'之间,以及进制和数值
之间允许出现空格,但'和进制之间,数值间是不允许出
现空格的,比如8'□h2A、8'h2□A等形式都是不合法的写
法 */
整数(integer)
整数的书写规则:
1.较长的数之间可用下划线分开16’b1010_1101_0010_1001 2.当十进制不说明位宽时,默认值为32位。 3.x(或z)在二进制中代表1位x(或z),在八进制中代表3
标识符(Identifiers) Verilog中的标识符可以是任意一组字母、数字以及符号“$”
和“_”(下划线)的组合,但标识符的第一个字符必须是 字母(a~z,A~Z)或者下划线。另外,标识符是区分大小写 的。
Examples:
count COUNT _A1_d2 R56_68 FIVE
//COUNT与count是不同的 //以下划线开头
Verilog有下面四种基本的逻辑状态。
◆ 0:低电平、逻辑0或逻辑非 ◆ 1:高电平、逻辑1或“真” ◆ x或X:不确定或未知的逻辑状态 ◆ z或Z:高阻态 Verilog中的所有数据类型都在上述4类逻辑状态中取值,其
以8。如:“Hello world!”
特殊字符 \n \t \\ \“
\ddd
说明 换行 Tab键 符号\ 符号“ 八进制数ddd对应的ASCII字符
比如:\123
八进制数123对应的ASCII字符
5.3 数据类型
数据类型(Data Type)是用来表示数字电路中的 物理连线、数据存储和传输单元等物理量的。
空白符和注释
空白符(White space) 空白符包括:空格、tab、换行和换页。空白符使 代码错落有致,阅读起来更方便。在综合时空白符 被忽略。 注释(Comment) ◆ 单行注释:以“//”开始到本行结束 ◆ 多行注释:多行注释以“/*”开始,到“*/”结 束
标识符(Identifiers)
相关主题