(精)VerilogHDL硬件描述-2——最新.pptVIP

  • 4
  • 0
  • 约1.03万字
  • 约 52页
  • 2017-01-11 发布于湖北
  • 举报
Verilog HDL硬件描述语言 Hardware Description Language(HDL) 要点提示: 1、掌握数据类型、变量和运算符号 2、掌握赋值语句和结构说明语句的编写 整数 在Verilog HDL中, 整数有四种进制表示形式: 1) 二进制整数(b或B) 2) 十进制整数(d或D) 3) 十六进制整数(h或H) 4) 八进制整数(o或O) 数字表达方式有以下三种: 1) [size] base value:这是一种全面的描述方式。 size :位宽,定义了以位(bit) 计的常量的位宽,位宽以十进制数字表示; 如:一个4位二进制数的位宽为4; 一个4位十六进制数的位宽为16(每十六进制数用4位二进制数表示)。 base:为o或O,b或B,d或D,h或H之一; value:base进制下的常量的数值。 2) base value:数的位宽采用缺省位宽(由具体的机器系统决定,但至少32位)。 3) Value:在这种描述方式中,采用缺省进制十进制。 整数 例: 4b1111 // This is a 4-bit binary number 12habc // This is a 12-bit hexadecimal number 16d255 // This is a 16-bit decimal number. (2+3)‘b10 //非法:位长不能够为表达式 hc3 // This is a 32-bit hexadecimal number o21 // This is a 32-bit octal number 276 // This is a 32-bit decimal number by default 整数 x和z值: x代表不定值,z代表高阻值。 x(或z)在十六进制值中代表4位x(或z),在八进制中代表3位x(或z),在二进制中代表1位x(或z)。 z还可以写作?。在使用case表达式时建议使用这种写法,以提高程序的可读性。 例: 4‘b10x0 //位宽为4的二进制数,从低位数起第二位为不定值 4b101z //位宽为4的二进制数从低位数起第一位为高阻值 12dz //位宽为12的十进制数其值为高阻值(第一种表达方式) 12d? //位宽为12的十进制数其值为高阻值(第二种表达方式) 8h4x //位宽为8的十六进制数其低四位值为不定值 值x和z以及十六进制中的a到f不区分大小写。 整数 负数: 一个数字可以被定义为负数,只需在位宽表达式前加一个减号。 注意: 减号必须写在数字定义表达式的最前面,不可以放在位宽和进 制之间,也不可以放在进制和具体的数之间。 例: -8d5 //这个表达式代表5的补数(用八位二进制数表示) 8d-5 //非法格式 整数 下划线(underscore_): 可以用下划线将数分隔开,以提高程序可读性。 下划线不可以用在位宽和进制处,只能用在具体的数字之间。 例: 16b1010_1011_1111_1010 //合法格式 8b_0011_1010 //非法格式 主要的数据类型 Verilog 有2种主要的数据类型: Wire 表示器件之间的物理连接, 称为网络连接类型 Reg 表示抽象的储存单元,称为寄存器类型 wire wire(网络连线): 由模块或门驱动的连线。 驱动端信号的改变会立刻 传递到输出的连线上。 例如:右图上,selb的改 变,会自动地立刻影响或 门的输出。 wire wire型数据常用来表示以assign关键字指定的组合逻辑信号。 Verilog程序模块中输入输出信号类型缺省时自动定义为wire型。 wire型信号可以用作任何方程式的输入,也可以用作“assign”语句或实例元件的输出。 wire [位宽] 数据名1, 数据名2,… 数据名i; wire a; //定义了一个一位的wire型数据 wire [7:0] b; //定义了一个八位的wire型数据 wire [4:1] c, d; //定义了二个四位的wire型数据 wire Reg 寄存器是数据储存单元的抽象。寄存器数据类型的关键字是reg.可以通过赋值语句改变寄存器储存的值。 在“always”块内被赋值的每一个信号都必须定义成reg型。 reg [位宽] 数

文档评论(0)

1亿VIP精品文档

相关文档