Verilog HDL数字值集合

时间:2007-04-29

4.4 数字值集合
本小节介绍Verilog HDL 的值的集合和常量(整型、实型、字符型)和变量等。
4.4.1 值集合
Verilog HDL 中规定了四种基本的值类型:
0:逻辑0或“假”;
1:逻辑1或“真”;
X:未知值;
Z:高阻。
注意这四种值的解释都内置于语言中。如一个为z 的值总是意味着高阻抗,一个为0 的值通常
是指逻辑0 。
在门的输入或一个表达式中的为“z ”的值通常解释成“x ”。
此外,x 值和z 值都是不分大小写的,也就是说,值0x1z 与值0X1Z 相同。
Verilog HDL 中的常量是由以上这四类基本值组成的。

4.4.2 常量
Verilog HDL 中有三种常量:
整型、实型、字符串型。
2004-08-16 第18页,共41页
版权所有,侵权必究


绝密
Verilog HDL 入门教程请输入文档编号

下划线符号(_)可以随意用在整数或实数中,它们就数量本身没有意义。它们能用来提高易
读性;的限制是下划线符号不能用作为首字符。

下面主要介绍整型和字符串型。

1. 整型
整型数可以按如下两种方式书写:
1) 简单的十进制数格式
2) 基数格式
A. 简单的十进制格式
这种形式的整数定义为带有一个可选的“+”(一元)或“-”(一元)操作符的数字序列。
下面是这种简易十进制形式整数的例子。
32 十进制数32
-15 十进制数-15

B. 基数表示法
这种形式的整数格式为:
[size ] 'base value

size 定义以位计的常量的位长;base 为o 或O(表示八进制),b 或B(表示二进制),d 或D
(表示十进制),h 或H (表示十六进制)之一;value 是基于base 的值的数字序列。值x 和z 以及
十六进制中的a 到f 不区分大小写。

下面是一些具体实例:

5 'O37 5 位八进制数(二进制 11111 )
4'D2 4 位十进制数( 二进制0011)
4 'B1x_01 4 位二进制数
7'Hx 7位x(扩展的x), 即xxxxxxx
4 'hZ 4 位z(扩展的z) , 即zzzz
4'd-4 非法:数值不能为负
8 'h 2A 在位长和字符之间,以及基数和数值之间允许出现空格
3' b 001 非法: ` 和基数b 之间不允许出现空格
(2+3)'b10 非法:位长不能够为表达式

注意,x (或z )在十六进制值中代表4 位x(或z ),在八进制中代表3 位x(或z ),在二进
制中代表1 位x (或z )。
基数格式计数形式的数通常为无符号数。这种形式的整型数的长度定义是可选的。如果没有

定义一个整数型的长度,数的长度为相应值中定义的位数。下面是两个例子:
'o721 9 位八进制数
'hAF 8 位十六进制数

2004-08-16 第19页,共41页
版权所有,侵权必究


绝密
Verilog HDL 入门教程请输入文档编号

如果定义的长度比为常量指定的长度长,通常在左边填0 补位。但是如果数左边一位为x 或

z ,就相应地用x 或z 在左边补位。例如:
10'b10 左边添0 占位, 0000000010
10'bx0x1 左边添x 占位, x x x x x x x 0 x 1

如果长度定义得更小,那么左边的位相应地被截断。例如:
3 ' b1001 _ 0011 与3'b011 相等
5'H0FFF 与5'H1F 相等


2. 字符串型
字符串是双引号内的字符序列。字符串不能分成多行书写。例如:
"INTERNAL ERROR"
" REACHED->HERE "
用8 位ASCII 值表示的字符可看作是无符号整数。因此字符串是8 位ASCII 值的序列。为存储


字符串“INTERNAL ERROR ”,变量需要8 * 1 4 位。
r e g [1: 8*14] Message;
. . .
Message = "INTERNAL ERROR"



  来源:零八我的爱
上一篇:Verilog HDL数据类型
下一篇:Verilog HDL 的书写格式

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料