Verilog语言的基本语法规则.ppt

上传人:工**** 文档编号:568505074 上传时间:2024-07-24 格式:PPT 页数:12 大小:392.87KB
返回 下载 相关 举报
Verilog语言的基本语法规则.ppt_第1页
第1页 / 共12页
Verilog语言的基本语法规则.ppt_第2页
第2页 / 共12页
Verilog语言的基本语法规则.ppt_第3页
第3页 / 共12页
Verilog语言的基本语法规则.ppt_第4页
第4页 / 共12页
Verilog语言的基本语法规则.ppt_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《Verilog语言的基本语法规则.ppt》由会员分享,可在线阅读,更多相关《Verilog语言的基本语法规则.ppt(12页珍藏版)》请在金锄头文库上搜索。

1、 2.3.1 Verilog语言的基本语法规则语言的基本语法规则 2.3.2 变量的数据类型变量的数据类型 2.3.3 Verilog程序的基本结构程序的基本结构 2.3.4 逻辑功能的仿真与测试逻辑功能的仿真与测试2.3 硬件描述语言硬件描述语言Verilog HDL基础基础硬件描述语言硬件描述语言HDL(Hardware Description Languag )类似于高级程序设计语言类似于高级程序设计语言. .它是一种以文本形式来描它是一种以文本形式来描述数字系统硬件的结构和行为的语言述数字系统硬件的结构和行为的语言, ,用它可以表示用它可以表示逻辑电路图、逻辑表达式,复杂数字逻辑系统所

2、的逻逻辑电路图、逻辑表达式,复杂数字逻辑系统所的逻辑功能。辑功能。HDL是高层次自动化设计的起点和基础是高层次自动化设计的起点和基础.2.3 硬件描述语言硬件描述语言Verilog HDL基础基础计算机对计算机对HDL的处理的处理: :逻辑综合逻辑综合 是指从是指从HDL描述的数字逻辑电路模型中导出电路基描述的数字逻辑电路模型中导出电路基本元件列表以及元件之间的连接关系(常称为门级网表)的过本元件列表以及元件之间的连接关系(常称为门级网表)的过程。类似对高级程序语言设计进行编译产生目标代码的过程程。类似对高级程序语言设计进行编译产生目标代码的过程. .产产生门级元件及其连接关系的数据库,根据这

3、个数据库可以制作生门级元件及其连接关系的数据库,根据这个数据库可以制作出集成电路或印刷电路板出集成电路或印刷电路板PCB。逻辑仿真逻辑仿真 是指用计算机仿真软件对数字逻辑电路的结构和行为是指用计算机仿真软件对数字逻辑电路的结构和行为进行预测进行预测. .仿真器对仿真器对HDL描述进行解释,以文本形式或时序波形描述进行解释,以文本形式或时序波形图形式给出电路的输出。在仿真期间如发现设计中存在错误,就图形式给出电路的输出。在仿真期间如发现设计中存在错误,就再要对再要对HDL描述进行及时的修改。描述进行及时的修改。2.3.1 Verilog语言的基本语法规则语言的基本语法规则为对数字电路进行描述(常

4、称为建模),为对数字电路进行描述(常称为建模),Verilog语言规定语言规定了一套完整的语法结构。了一套完整的语法结构。1间隔符间隔符: Verilog 的间隔符主要起分隔文本的作用,可以的间隔符主要起分隔文本的作用,可以使文本错落有致,便于阅读与修改。使文本错落有致,便于阅读与修改。间隔符包括空格符(间隔符包括空格符(bb)、)、TAB 键(键(tt)、)、换行符(换行符(nn)及及换页符。换页符。2注释符注释符: :注释只是为了改善程序的可读性,在编译时不起作用。注释只是为了改善程序的可读性,在编译时不起作用。多行注释符多行注释符( (用于写多行注释用于写多行注释): /* - */):

5、 /* - */;单行注释符单行注释符 : :以以/开始到行尾结束为注释文字。开始到行尾结束为注释文字。为了表示数字逻辑电路的逻辑状态,为了表示数字逻辑电路的逻辑状态,Verilog语言规定了语言规定了4 4种基本的逻辑值。种基本的逻辑值。 0逻辑逻辑0、逻辑逻辑假假 1逻辑逻辑1、逻辑逻辑真真 x或或X不确定的不确定的值值(未知状(未知状态态) z或或Z高阻高阻态态标识符标识符: :给对象(如模块名、电路的输入与输出端口、给对象(如模块名、电路的输入与输出端口、变量等)取名所用的字符串。以英文字母或下划线开始变量等)取名所用的字符串。以英文字母或下划线开始如如,clk、counter8、_n

6、et、bus_A 。关键词关键词: :是是Verilog语言本身规定的特殊字符串,用来定语言本身规定的特殊字符串,用来定义语言的结构。例如,义语言的结构。例如,module、endmodule、input、output、wire、reg、and等都是关键词。等都是关键词。关键词都是小关键词都是小写,写,关键词不能作为标识符使用关键词不能作为标识符使用 。4逻辑值集合逻辑值集合3标识符和关键词标识符和关键词5常量及其表示常量及其表示实数型常量实数型常量十进制记数法十进制记数法 如:如: 0.10.1、2.02.0、5.675.67科学记数法科学记数法 如如: : 23_5.1e2、5E4 235

7、10.0、 0.0005Verilog允许用参数定义语句定义一个标识符来代表一个常量,称允许用参数定义语句定义一个标识符来代表一个常量,称为符号常量。定义的格式为:为符号常量。定义的格式为:parameter 参数名参数名1 1常量表达式常量表达式1 1,参数名,参数名2 2常量表达式常量表达式2 2,;如;如 parameter BIT=1, BYTE=8, PI=3.14;6字符串字符串: :字符串是双撇号内的字符序列字符串是双撇号内的字符序列常量常量十进制数的形式的表示方法十进制数的形式的表示方法: :表示有符号表示有符号常量常量例如:例如:3030、2 2带基数的形式的表示方法带基数的

8、形式的表示方法: : 表示表示常量常量格式为:格式为: 整数型整数型例如:例如:3b101、5o37、8he3,8b1001_0011 2.3.2 变量的数据类型变量的数据类型1 1线网类型线网类型: :是指输出始终根据输入的变化而更新其值的是指输出始终根据输入的变化而更新其值的变量变量, ,它一般指的是硬件电路中的各种物理连接它一般指的是硬件电路中的各种物理连接. . 例例:wire L; / /将上述电路的输出信号将上述电路的输出信号L L声明为网络型变量声明为网络型变量 wire 7:0 data bus; / /声明一个声明一个8-bit8-bit宽的网络型总线变量宽的网络型总线变量常

9、用的网络类型由关键词常用的网络类型由关键词wire定义定义wire型变量的定义格式如下:型变量的定义格式如下:wire n-1:0 n-1:0 变量名变量名1 1,变量名,变量名2 2,变量名,变量名n;变量宽度变量宽度例例: :网络型变量网络型变量L的值由与门的驱动信号的值由与门的驱动信号a a和和b b所决定,即所决定,即La&b。a、b的值发的值发生变化,线网生变化,线网L L的值会立即跟着变化。的值会立即跟着变化。 & b a L 寄存器型变量对应的是具有状态保持作用的电等路元件寄存器型变量对应的是具有状态保持作用的电等路元件, ,如触如触发器寄存器。寄存器型变量只能在发器寄存器。寄存

10、器型变量只能在initial或或always内部被赋值。内部被赋值。2、寄存器型寄存器型寄存器寄存器类类型型功能功能说说明明reg常用的寄存器型常用的寄存器型变变量量integer32位位带带符号的整数型符号的整数型变变量量real64位位带带符号的符号的实实数型数型变变量,量,time64位无符号的位无符号的时间变时间变量量4种种寄存器类型的变量寄存器类型的变量例:例: reg clock;/定义一个定义一个1位寄存器变量位寄存器变量 reg 3:0 counter; /定义一个定义一个4位位寄存器变量寄存器变量抽象描述抽象描述, ,不对应具不对应具体硬件体硬件2、每个模块先要进行端口的定义

11、,并说明输入每个模块先要进行端口的定义,并说明输入(input)和输出和输出(output),然后对模块功能进行描述。然后对模块功能进行描述。2.3.3 Verilog程序的基本结构程序的基本结构Verilog使用大约使用大约100个预定义的关键词定义该语言的结构个预定义的关键词定义该语言的结构1、 VerilogHDL程序由程序由模块构成。每个模块的内容都是嵌在关键模块构成。每个模块的内容都是嵌在关键词词module和和endmodule两个语句之间。每个模块实现特定的功能。两个语句之间。每个模块实现特定的功能。3 3、除了、除了endmodule语句外,每个语句后必须有分号。语句外,每个语

12、句后必须有分号。4、可以用可以用/* - */和和/.对对VerilogHDL程序的任何部分做注释。程序的任何部分做注释。模块定义的一般语法结构如下:模块定义的一般语法结构如下:端口类型说明端口类型说明电路结构描述电路结构描述模块名模块名数据类数据类型说明型说明例例 用结构描述方式建立门电路用结构描述方式建立门电路VerlogerVerloger模型模型/Gate-level description of simple circuitmodule mux2to1(a, b, sel, out); input a, b, sel; /定义输入信号定义输入信号 output out; /定义输出信

13、号定义输出信号 wire selnot, a1, b1 ; /定义内部节点信号数据类型定义内部节点信号数据类型/下面对电路的逻辑功能进行描述下面对电路的逻辑功能进行描述not U1(selnot, sel); and U2(a1, a, selnot); and U3(b1, b, sel); or U4(out, a1, b1);endmodule 2.3.4 逻辑功能的仿真与测试逻辑功能的仿真与测试逻辑电路的设计块完成后,就要测试这个设计块描述的逻辑功能逻辑电路的设计块完成后,就要测试这个设计块描述的逻辑功能是否正确。为此必须在输入端口加入测试信号,而从其输出端口是否正确。为此必须在输入端口加入测试信号,而从其输出端口检测其结果是否正确,这一过程常称为搭建测试平台。根据仿真检测其结果是否正确,这一过程常称为搭建测试平台。根据仿真软件的不同,搭建测试平台的方法也不同。软件的不同,搭建测试平台的方法也不同。图2.3.3 例2.3.1的仿真输出波形

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号