数电课件(康华光)ch02-3硬件描述语言VerilogHDL基础

数电课件(康华光)ch02-3硬件描述语言VerilogHDL基础

ID:38310061

大小:390.31 KB

页数:12页

时间:2019-06-09

数电课件(康华光)ch02-3硬件描述语言VerilogHDL基础_第1页
数电课件(康华光)ch02-3硬件描述语言VerilogHDL基础_第2页
数电课件(康华光)ch02-3硬件描述语言VerilogHDL基础_第3页
数电课件(康华光)ch02-3硬件描述语言VerilogHDL基础_第4页
数电课件(康华光)ch02-3硬件描述语言VerilogHDL基础_第5页
资源描述:

《数电课件(康华光)ch02-3硬件描述语言VerilogHDL基础》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、2.3.1Verilog语言的基本语法规则2.3.2变量的数据类型2.3.3Verilog程序的基本结构2.3.4逻辑功能的仿真与测试2.3硬件描述语言VerilogHDL基础硬件描述语言HDL(HardwareDescriptionLanguag)类似于高级程序设计语言.它是一种以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,复杂数字逻辑系统所的逻辑功能。HDL是高层次自动化设计的起点和基础.2.3硬件描述语言VerilogHDL基础计算机对HDL的处理:逻辑综合是指从HDL描述的数字逻辑

2、电路模型中导出电路基本元件列表以及元件之间的连接关系(常称为门级网表)的过程。类似对高级程序语言设计进行编译产生目标代码的过程.产生门级元件及其连接关系的数据库,根据这个数据库可以制作出集成电路或印刷电路板PCB。逻辑仿真是指用计算机仿真软件对数字逻辑电路的结构和行为进行预测.仿真器对HDL描述进行解释,以文本形式或时序波形图形式给出电路的输出。在仿真期间如发现设计中存在错误,就再要对HDL描述进行及时的修改。2.3.1Verilog语言的基本语法规则为对数字电路进行描述(常称为建模),Verilog语言规定了一套完整的语法结

3、构。1.间隔符:Verilog的间隔符主要起分隔文本的作用,可以使文本错落有致,便于阅读与修改。间隔符包括空格符(b)、TAB键(t)、换行符()及换页符。2.注释符:注释只是为了改善程序的可读性,在编译时不起作用。多行注释符(用于写多行注释):/*---*/;单行注释符:以//开始到行尾结束为注释文字。为了表示数字逻辑电路的逻辑状态,Verilog语言规定了4种基本的逻辑值。0逻辑0、逻辑假1逻辑1、逻辑真x或X不确定的值(未知状态)z或Z高阻态标识符:给对象(如模块名、电路的输入与输出端口、变量等)取名所用的字符串

4、。以英文字母或下划线开始如,clk、counter8、_net、bus_A。关键词:是Verilog语言本身规定的特殊字符串,用来定义语言的结构。例如,module、endmodule、input、output、wire、reg、and等都是关键词。关键词都是小写,关键词不能作为标识符使用。4.逻辑值集合3.标识符和关键词5.常量及其表示实数型常量十进制记数法如:0.1、2.0、5.67科学记数法如:23_5.1e2、5E-423510.0、0.0005Verilog允许用参数定义语句定义一个标识符来代表一个常量,称为符号常量

5、。定义的格式为:parameter参数名1=常量表达式1,参数名2=常量表达式2,……;如parameterBIT=1,BYTE=8,PI=3.14;6.字符串:字符串是双撇号内的字符序列常量十进制数的形式的表示方法:表示有符号常量例如:30、-2带基数的形式的表示方法:表示常量格式为:<+/-><位宽>’<基数符号><数值>整数型例如:3’b101、5’o37、8’he3,8’b1001_00112.3.2变量的数据类型1线网类型:是指输出始终根据输入的变化而更新其值的变量,它一般指的是硬件电路中的各种物理连接.例:wire

6、L;//将上述电路的输出信号L声明为网络型变量wire[7:0]databus;//声明一个8-bit宽的网络型总线变量常用的网络类型由关键词wire定义wire型变量的定义格式如下:wire[n-1:0]变量名1,变量名2,…,变量名n;变量宽度例:网络型变量L的值由与门的驱动信号a和b所决定,即L=a&b。a、b的值发生变化,线网L的值会立即跟着变化。&baL寄存器型变量对应的是具有状态保持作用的电等路元件,如触发器寄存器。寄存器型变量只能在initial或always内部被赋值。2、寄存器型寄存器类型功能说明reg常用的

7、寄存器型变量integer32位带符号的整数型变量real64位带符号的实数型变量,time64位无符号的时间变量4种寄存器类型的变量例:regclock;//定义一个1位寄存器变量reg[3:0]counter;//定义一个4位寄存器变量抽象描述,不对应具体硬件2、每个模块先要进行端口的定义,并说明输入(input)和输出(output),然后对模块功能进行描述。2.3.3Verilog程序的基本结构Verilog使用大约100个预定义的关键词定义该语言的结构1、VerilogHDL程序由模块构成。每个模块的内容都是嵌在关键

8、词module和endmodule两个语句之间。每个模块实现特定的功能。3、除了endmodule语句外,每个语句后必须有分号。4、可以用/*---*/和//…..对VerilogHDL程序的任何部分做注释。模块定义的一般语法结构如下:端口类型说明电路结构描述模块名数据类型说

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。