首页 理论教育 描述符表的设置带来什么优点

描述符表的设置带来什么优点

时间:2023-02-12 理论教育 版权反馈
【摘要】:硬件描述语言HDL也随之而产生,目前常用的硬件描述语言有VHDL、Verilog HDL、System Verilog和System C四种。通过硬件描述语言可以简单而实用地对数字电路进行设计或者描述,这里通过一个例子简单介绍一下该语言的使用方法。以上种种特性都表明了硬件描述语言的优点与应用前景,下面简单介绍Verilog HDL语言的基础。

随着现代电子设计的发展,传统的电子设计技术已经不能完全满足设计的要求,EDA (Electronic Design Automation,电子设计自动化)技术出现在人们的视野中,这是一种高效的设计技术,与传统电子设计技术不同的是它采用的是自顶向下的设计流程,因此具备设计效率高,系统性能好,开发成本低等优点,目前已经作为主流的设计技术被各大企业单位采用。硬件描述语言HDL(Hardware Description Language)也随之而产生,目前常用的硬件描述语言有VHDL、Verilog HDL、System Verilog和System C四种。其中,Verilog HDL语言是一种目前常用的硬件描述语言,1984年由GDA(Gateway Design Automation)公司为其模拟器产品开发的硬件语言,由于他们模拟器产品的广泛应用,Verilog HDL语言也逐渐为广大设计者所接受,并于1995年正式成为IEEE标准,即IEEE Std 1364—1995。

通过硬件描述语言可以简单而实用地对数字电路进行设计或者描述,这里通过一个例子简单介绍一下该语言的使用方法。

【例5 − 5 − 11】使用Verilog HDL语言实现逻辑函数Y = AB + C。

module logic_function1 (A,B,C,Y);//定义模块名及模块端口 input A,B,C; //定义模块输入端口

output Y;           //定义模块输出端口

reg Y;            //定义reg类型变量

always@(A,B)        //过程语句

Y = A&B|C;         //对变量赋值,过程语句中左边赋值变量必须是reg类型

endmodule        //模块结束

以上就是用Verilog语言对逻辑函数的简单描述,其中黑色加粗字体为关键词,通过几行简单的语言就把一个逻辑函数表示出来了,此外通过专用的EDA软件还可以把电路图描绘出来,如图5 − 5 − 9所示:

图5 − 5 − 9 例5 − 5 − 11的电路图

可以发现,通过硬件描述语言可以简单实用的描述出逻辑函数,与以上几种方法比较,硬件描述语言可以用于算法级、门级到开关级的多种抽象设计层次的数字系统建模,被建模的数字系统对象可以介于简单的门和完整的电子数字系统之间,数字系统能够按照层次描述,并可在相同的描述中简便地进行时序建模。除此之外,Verilog HDL语言非常易于学习和使用,这对大多数建模应用来说已经足够。以上种种特性都表明了硬件描述语言的优点与应用前景,下面简单介绍Verilog HDL语言的基础。

1. 模块

模块是Verilog的基本描述单位,用于描述某个设计的功能或结构及其与其他模块通信的外部端口。一个模块可以在另一个模块中使用。

一个模块的基本格式如下:

module module_name (port_list);

Declarations

Statements

endmodule

模块中包括了模块关键词、模块名、端口列表、信号声明和主体描述等几部分。

2. 数据类型和语言要素

1)标识符

标识符是描述对象的唯一名字,如例5 − 5 − 11中A、B、C、Y等,标识符可以是任一组字母、数字、符号$(美元)和_(下划线)的组合,但是标识符的第一个字符必须是字母或者下划线,且标识符是区分大小写的。

2)关键词

和其他语言类似,关键词是Verilog语言已经预定义的保留字,关键词不可用于表示标识符,所有关键词均为小写,如例5 − 5 − 11中的module、input等黑色加粗字体。

3)注释

Verilog的注释方式与C语言相同,有两种形式的注释:第一种为单行注释,即在需要注释的语句前加“//”符号;第二种为若注释可扩展至多行,可以在符号“/*……*/”中的省略号部分加入所需的注释语句。

4)值集合

Verilog HDL有四种基本的值:

0:逻辑0或假;

1:逻辑1或真;

z:高阻态;

x:代表不确定值,用作信号状态时表示未知。

z值指的是三态缓冲器的输出,x通常用在仿真模块中,代表一个不是0、1和z的值,如没有初始化的输入输出端口。此外,x和z都是不区分大小写的。

5)常量

Verilog HDL中有三类常量:整数型、实数型和字符串型。

(1)整数型的描述通用格式:[数据位宽]’[数据进制][值]。其中常用的数据进制有:b或B表示二进制,o或O表示八进制,h或H表示十六进制,d或D表示十进制,如5’b11001表示的是5位二进制数。

(2)实数型常量通常有两种定义形式:

十进制计数法,如:1.0,11.12,0.375;

科学计数法,如:12.5e2(值为1250),5e − 3(值为0.005)。

(3)字符串是双引号内的字符序列,且不能分多行书写。如:“adder”,用8位ASCII值表示的字符可以看作无符号整数,因此字符串是8位ASCII值的序列。为存储字符串“adder”,变量需要8×5位。

6)数据类型

Verilog HDL常用的有两种数据类型:网线类型和寄存器类型。

网线类型:用关键词“wire”定义,用以表示结构化元件间的物理连线,常用于连续赋值语句或门的输出。

寄存器类型:用关键词“reg”定义,用以表示一个抽象的数据存储单元,并且只能在always语句和initial语句中被赋值,并且它的值从一个赋值到另一个赋值被保存下来。

3. 基本操作符

根据Verilog HDL的定义,根据操作数的个数可以分为一元操作符、二元操作符和三元操作符。根据功能,常用的基本操作符可以分为算术操作符、等式操作符、不等式操作符、位操作符、逻辑操作符、归约操作符、移位操作符、条件操作符、连接操作符等。表5 − 5 − 7列出了这些操作符。

表5 − 5 − 7 Verilog HDL操作运算符

续表

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈