中国高校课件下载中心 》 教学资源 》 大学文库

《数字电子技术》课程PPT教学课件课件(电类)第02章 逻辑代数与硬件描述语言基础 2.3 硬件描述语言Verilog HDL基础

文档信息
资源类别:文库
文档格式:PPTX
文档页数:12
文件大小:141.53KB
团购合买:点击进入团购
内容简介
2.3.1 Verilog语言的基本语法规则 2.3.2 变量的数据类型 2.3.3 Verilog程序的基本结构 2.3.4 逻辑功能的仿真与测试
刷新页面文档预览

2.3硬件描述语言VerilogHDL基础2.3.1Verilog语言的基本语法规则2.3.2变量的数据类型2.3.3Verilog程序的基本结构2.3.4逻辑功能的仿真与测试

2.3.1 Verilog语言的基本语法规则 2.3.2 变量的数据类型 2.3.3 Verilog程序的基本结构 2.3.4 逻辑功能的仿真与测试 2.3 硬件描述语言Verilog HDL基础

2.3硬件描述语言VerilogHDL基础硬件描述语言HDL(HardwareDescriptionLanguag)类似于高级程序设计语言.它是一种以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,复杂数字逻辑系统所的逻辑功能。HDL是高层次自动化设计的起点和基础

硬件描述语言HDL(Hardware Description Languag ) 类似于高级程序设计语言.它是一种以文本形式来描 述数字系统硬件的结构和行为的语言,用它可以表示 逻辑电路图、逻辑表达式,复杂数字逻辑系统所的逻 辑功能。HDL是高层次自动化设计的起点和基础. 2.3 硬件描述语言Verilog HDL基础

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

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

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

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

3.标识符和关键词电路的输入与输出端口、变标识符:给对象(如模块名、量等)取名所用的字符串。以英文字母或下划线开始如,clk、counter8、net、busA。关键词:是Verilog语言本身规定的特殊字符串,用来定义语言的结构。例如,module、endmodule、input、output、wire、reg、and等都是关键词。关键词都是小写,关键词不能作为标识符使用。4.逻辑值集合为了表示数字逻辑电路的逻辑状态,Verilog语言规定了4种基本的逻辑值0逻辑0、逻辑假1逻辑1、逻辑真x或X不确定的值(未知状态)z或Z高阻态D

为了表示数字逻辑电路的逻辑状态,Verilog语言规定了 4种基本的逻辑值。 0 逻辑0、逻辑假 1 逻辑1、逻辑真 x或X 不确定的值(未知状态) z或Z 高阻态 标识符:给对象(如模块名、电路的输入与输出端口、变 量等)取名所用的字符串。以英文字母或下划线开始 如,clk、counter8、_net、bus_A。 关键词:是Verilog语言本身规定的特殊字符串,用来定义 语言的结构。例如,module、endmodule、input、 output、wire、reg、and等都是关键词。关键词都是小 写,关键词不能作为标识符使用 。 4.逻辑值集合 3.标识符和关键词

5.常量及其表示十进制数的形式的表示方法:表示有符号常量整数型例如:30、-2带基数的形式的表示方法:表示常量格式为:<数常量倾3b101、5037、8"he3,8b10010011十进制记数法如:0.1、2.0、5.67实数型常量科学记数法如:235.1e2、5E-423510.0、0.0005Verilog允许用参数定义语句定义一个标识符来代表一个常量,称为符号常量。定义的格式为:parameter参数名1=常量表达式1,参数名2=常量表达式2......·如parameterBIT=1,BYTE=8.PI-3.14:6.字符串:字符串是双撇号内的字符序列公

5.常量及其表示 实数型常量 十进制记数法 如: 0.1、2.0、5.67 科学记数法 如: 23_5.1e2、5E-4 23510.0、 0.0005 Verilog允许用参数定义语句定义一个标识符来代表一个常量,称 为符号常量。定义的格式为: parameter 参数名1=常量表达式1,参数名2=常量表达式 2,.;如 parameter BIT=1, BYTE=8, PI=3.14; 6.字符串:字符串是双撇号内的字符序列 常量 十进制数的形式的表示方法:表示有符号常量 例如:30、-2 带基数的形式的表示方法: 表示常量 格式为:’ 整数型 例如:3’b101、5’o37、8’he3,8’b1001_0011

2.3.2变量的数据类型1线网类型:是指输出始终根据输入的变化而更新其值的变量,它一般指的是硬件电路中的各种物理连接a例:网络型变量L的值由与门的驱动信号&Lba和b所决定,即L=a&b。a、b的值发生变化,线网L的值会立即跟着变化。常用的网络类型由关键词wire定义wire型变量的定义格式如下:wire[n-1:0]变量名1,变量名2,..,变量名n;变量宽度例:wireL://将上述电路的输出信号L声明为网络型变量wire[7:0|databus;//声明一个8-bit宽的网络型总线变量A

2.3.2 变量的数据类型 1线网类型:是指输出始终根据输入的变化而更新其值的 变量,它一般指的是硬件电路中的各种物理连接. 例:wire L; //将上述电路的输出信号L声明为网络型变量 wire [7:0] data bus; //声明一个8-bit宽的网络型总线变量 常用的网络类型由关键词wire定义 wire型变量的定义格式如下: wire [n-1:0] 变量名1,变量名2,.,变量名n; 变量宽度 例:网络型变量L的值由与门的驱动信号 a和b所决定,即L=a&b。a、b的值发 生变化,线网L的值会立即跟着变化。 & b a L

2、寄存器型寄存器型变量对应的是具有状态保持作用的电等路元件,如触发器寄存器。寄存器型变量只能在initial或always内部被赋值4种寄存器类型的变量寄存器类型功能说明常用的寄存器型变量reg抽象描述32位带符号的整数型变量integer不对应具real64位带符号的实数型变量体硬件time64位无符号的时间变量例:regclock:/定义一个1位寄存器变量reg[3:0]counter;//定义一个4位寄存器变量E人

寄存器型变量对应的是具有状态保持作用的电等路元件,如触 发器寄存器。寄存器型变量只能在initial或always内部被赋值。 2、寄存器型 寄存器类型 功能说明 reg 常用的寄存器型变量 integer 32位带符号的整数型变量 real 64位带符号的实数型变量, time 64位无符号的时间变量 4种寄存器类型的变量 例: reg clock;//定义一个1位寄存器变量 reg [3:0] counter; //定义一个4位寄存器变量 抽象描述, 不对应具 体硬件

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

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

模块定义的一般语法结构如下:模块名(端口名1,端口名2,端口名3,…)module端口类型说明(input,outout,inout);说明部分参数定义(可选)数据类型定义(wire,reg等):实例化低层模块和基本门级元件:逻辑功能描连续赋值语句(assign);述部分,其过程块结构J(initial和always顺序是任意的行为描述语句;endmoduleA

module 模块名(端口名1, 端口名2, 端口名3,.); 端口类型说明(input, outout, inout); 参数定义(可选); 数据类型定义(wire, reg等); 实例化低层模块和基本门级元件; 连续赋值语句(assign); 过程块结构(initial和always) 行为描述语句; endmodule 逻辑功能描 述部分,其 顺序是任意的 说明部分 模块定义的一般语法结构如下:

共12页,试读已结束,阅读完整版请下载
刷新页面下载完整文档
VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
相关文档