计算机系统综合课程设计2ppt.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《计算机系统综合课程设计2ppt.ppt》由会员分享,可在线阅读,更多相关《计算机系统综合课程设计2ppt.ppt(236页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Verilog HDL语言初步,主讲 杨全胜东南大学计算机科学与工程学院,P.1,计算机系统综合课程设计,第一部分 Verilog HDL语言1 综述,一. 什么是硬件描述语言?,P.2,硬件描述语言是一种用文本形式来描述和设计电路的语言。是硬件设计人员和电子设计自动化(EDA)工具之间的界面。,P.3,功能:1)编写设计文件;2)建立电子系统行为级的仿真模型;3)自动综合以生成符合要求且在电路结构上可以实现的数字逻辑网表(Netlist);4)写入到CPLD和FPGA器件中。,二.为什么要用HDL?,P.4,1、电路设计的规模越来越大,复杂度越来越高。2、电子领域的竞争越来越激烈,开发周期要
2、短。3、调试电路速度快。不必修改电路原理图原型,只需要对HDL进行修改。4、易于理解,易于维护。5、有许多易于掌握的仿真、综合和布局布线工具。,三、Bottom Up和 Top down的设计方法,P.5,1. Bottom Up的设计方法,P.6,传统的电路系统设计方法的步骤:1.采用自下而上的设计方法-从状态图的简化,写出最简逻辑表达式;2. 采用通用逻辑元器件-通常采用74系列和CMOS4000系列的产品进行设计; 3.在系统硬件设计的后期进行调试和仿真 ; 只有在部分或全部硬件电路连接完毕,才可以进行电路调试,一旦考虑不周到,系统设计存在较大缺陷,则要重新设计,使设计周期延长。 4.设
3、计结果是一张电路图 ; 当设计调试完毕后,形成电原理图,该图包括元器件型号和信号之间的互连关系等等,P.7,优点:1.设计人员对于用这种方法进行设计比较熟悉;2.实现各个子块电路所需的时间短。缺点:1.一般来讲,对系统的整体功能把握不足;2.实现整个系统的功能所需的时间长,因为必须先 将各个小模块完成,使用这种方法对设计人员之间相互进行协作有比较高的要求。,P.8,2. Top down 的设计方法,Top down 的设计方法的特点:,P.9,从系统层开始设计和优化,保证了设计结果的正确性适合复杂的、大规模电路的设计缩短设计周期依赖于先进的EDA设计工具和环境,费用昂贵需要精确的工艺库支持,
4、四.设计过程,P.10,2 Verilog HDL设计初步,P.11,内容简介Verilog HDL与C语言的比较Verilog模块的基本结构逻辑功能的定义,一. Verilog HDL与C语言的比较,P.12,Verilog HDL是在C语言基础上发展起来的,保留了C语言的结构特点。,但C语言的各函数之间是串行的,而Verilog的各个模块间是并行的,Verilog HDL与C语言运算符的比较,P.13,二. Verilog模块的基本结构,P.14,由关键词module和endmodule定义,P.15,1.模块声明,module关键词模块名 模块唯一的标识符端口列表是由输入、输出和双向端口
5、的端口表达式按一定的次序组成的一个列表,它用来指明模块所具有的端口,这些端口用来与其它模块进行连接。,P.16,2. 端口定义,又称“端口声明语句”,用来进行端口方向的说明。 Verilog语言中有如下三种端口声明语句:1)input对应的端口是输入端口2 )output对应的端口是输出端口3 )inout对应的端口是双向端口,P.17,3. 数据类型说明,用来指定模块内用到的数据对象的类型。wire连线型wire A,B,C,D;/定义信号AD为wire型reg寄存器型reg 3:0 out;/定义信号out的数据类型为 4位reg型,缺省数据类型为wire型,P.18,4. 逻辑功能定义,
6、模块中最核心部分,有三种方法可在模块中产生逻辑。1)用“assign”持续赋值语句定义例: assign a = b & c;2)调用元件(元件例化) 类似于在电路图输入方式下调入图形符号完成设计。,P.19,元件例化的格式为:门元件名 ();,例:调用模块的例子,module MUX2-1 (out,a,b,sel);output out;input a,b,sel;not (sel_,sel);and (a1,a,sel _);and ( b1,b,sel);or (out,a1,b1);endmodule,P.20,设计师自己设计的各种模块也可以看作元件,被顶层文件或其他文件调用:模块名
7、 ();端口列表有两种表示方式,第一种方式显式给出端口与信号之间的对应关系:(.端口名(信号值表达式), .端口名(信号值表达式),)第二种方法是隐式给出端口与信号之间的关系:(信号值表达式, 信号值表达式,)这种方式下,例化的端口列表中信号的顺序要与该模块定义中的端口列表中端口顺序严格一致。而第一种方法则无此要求。,P.21,举例:由1位全加器组成的4位全加器,module full_add (a,b,cin,sum,cout); input a,b,cin; output sum,cout; assign cout,sum = a+b+cin;endmodulemodule add4(su
8、m,cout,a,b,cin); output 3:0 sum; output cout; input 3:0 a,b; input cin;,P.22,wire cin1,cin2,cin3; full_add f0 (a0,b0,cin,sum0,cin1); full_add f1 (a1,b1,cin1,sum1,cin2); full_add f2 (.a(a2),.b(b2),.cin(cin2), .sum(sum2),.cout(cin3); full_add f3 (.cin(cin3),.a(a3),.b(b3), .cout(cout),.sum(sum3);endmod
9、ule,P.23,3)用“always”过程块赋值,例:always (posedge clk) beginif(reset) out=0;else out=out+1; end,过程块、持续赋值语句与实例应用要点总结:,P.24,在Verilog模块中,所有的过程块(如initial、always)、持续赋值语句、实例引用之间都是并行的;它们表示的是一种通过变量名互相连接的关系;在同一模块中这三者出现的先后顺序没有关系;只有持续赋值语句assign和实例引用语句可以独立于过程块而存在于模块的功能定义部分。,3 Verilog HDL语言要素,P.25,内容简介词法数据类型寄存器和存储器运算符
10、,一. 词法,P.26,空白符(间隔符)包括:空格(b)、tab(t)(制表符)、换行符(n)及换页符。空白符使代码错落有致、阅读方便。综合时,空白符被忽略。但是在字符串中空白和制表符会被认为是有意义的字符。,P.27,Verilog程序可以不分行:initial begin ina=3b001;inb=3b011; end也可以加入空白符采用多行编写:initial begin ina=3b001; inb=3b011; end,P.28,注释有两种注释形式:单行注释:以/开始到本行结束。多行注释:以/*开始到*/结束。,/*举例说明*/module addbit(a,b,ci,sum,co
11、);/输入端口input a;input b;.,P.29,3. 数字与字符串,Verilog HDL有下面4种基本逻辑状态:0低电平、逻辑0或“假”1高电平、逻辑1或“真”X未知状态Z高阻态,X、Z不分大小写,P.30,1)整数有4种进制表示形式: 二进制整数(b或B) 十进制整数(d或D) 十六进制整数(h或H) 八进制整数(o或O),常数按照其数值类型可以划分为整数和实数两种,P.31,数字表达方式有以下3种: ,举例:8b11000101 /位宽为8位的二进制数8hd5 /位宽为8位的十六进制数d5H5o27 /位宽为5位的八进制数27O,P.32,4B1X_01/4位二进制数1X01
12、5HX/5位十六进制数XX4hz/4位十六进制数z8h 2 A/位宽与字符间允许有空格-8D5/8位二进制数,-5的补码,X可以用来定义十六进制数的4位二进制状态,八进制数的3位,二进制数的1位。Z的表示方法同X类似。,P.33,数值常量中的下划线“_”是为了增加可读性,可以忽略。如8b1100_0110表示8位二进制数。数值常量中的“?”表示高阻状态。例:2B1?表示2位的二进制数其中的一位是高 阻状态。,P.34,如果没有定义一个整数型的长度,数的长度为相应值中定义的位数。下面是两个例子:o721 /9位2进制位宽的八进制数hAF /8位2进制位宽的十六进制数如果定义的长度比为常量指定的长
13、度长,通常在左边填0补位。但是如果数最左边一位为x或z,就相应地用x或z在左边补位。例如:10b10 左边添0占位, 0000000010 10bx0x1 左边添x占位,xxxxxxx0x1,P.35,如果定义的位宽比实际的位数小,那么最左边的位相应地被截断:3b1001_0011 /与3b011相等5h0FFF /与5h1F相等,P.36,2)实数有两种表示方法: 十进制表示方法 2.0 5.67 2. /非法:小数点两侧必须有数字 科学计数法 43_5.1e2/43510.0(下划线忽略) 9.6E2/960.0 5E-4/0.0005,P.37,下面的几个例子是无效的格式:.253.7.
14、E3.8e-2,实数可以转化为整数,根据四舍五入的原则,而不是截断原则,当将实数赋给一个整数时,这种转化会自行发生,例如:在转化成整数时,实数25.5和25.8都变成26,而25.2则变成25。,P.38,3)字符串字符串是双引号内的字符序列,不能分成多行书写。若字符串用做Verilog HDL表达式或赋值语句中的操作数,则字符串被看作8位似的ASCII值序列,每一个字符对应8位ASCII值。,P.39,例1:字符串变量声明reg 8*12:1 stringvar;initial begin stringvar=“hello world!”; end,P.40,转意符:,P.41,4. 标识符
15、,Verilog HDL中的标识符可以是任意一组字母、数字以及符号“$”和“_ ”(下划线)的组合,但是标识符的第一个字符必须是字母或下划线。标识符是区分大小写的。,合法标识符:count_A1_d2COUNTR56_68,非法标识符:30 count/标识符不允许以数字开头out */标识符中不允许包含*,P.42,5. 关键字,Verilog HDL内部已经使用的词称为关键字或保留字。这些关键字用户不能随便使用。在编写程序时,变量的定义不要与这些关键词冲突。,所有的关键字都是小写,二. 数据类型,P.43,Verilog HDL中共有19种数据类型。数据类型是用来表示数字电路硬件中的数据储
16、存和传送元件的。这里主要介绍4种最基本的数据类型。,连线型(Net Type)net type 相当于硬件电路中的各种物理连线。,P.44,Net Type的变量不能存储值,而且必须受到驱动器的驱动。两种驱动方式:1)在结构描述中将它连接到一个逻辑门或模块的输出端。2)用持续赋值语句assign对其进行赋值。,特点:输出的值紧跟输入值的变化而变化。,当没有驱动源对其驱动时,它将保持高阻态。,P.45,为了能够精确地反映硬件电路中各种可能的物理信号连接特性, Verilog HDL提供了多种连线型数据。常用的有wire型和tri型。这两种变量都用于连接器件单元,它们具有相同的语法格式和功能。,w
17、ire型变量:通常用来表示单个门驱动或连续 赋值语句驱动的连线型数据。tri型变量:通常用来表示多驱动器驱动的连线 型数据。,P.46,wire型变量的格式:wire n-1:0 数据名1,数据名2,数据名n;,wirewire型数据确认符;n-1:0代表该数据的位宽。缺省状态,位宽 默认值为1。这里的位是二进制的位。数据名若一次定义多个数据,数据名之间 用逗号隔开。声明语句的最后用分号表示语句的结束。,P.47,例1. 定义数据总线宽8位,地址总线宽20位。wire7:0 databus;/ databus宽8位wire19:0 addrbus;/ addrbus宽20位或:wire8:1
18、databus;wire20:1 addrbus;,wire a;/定义了一个1位的wire型数据,P.48,例2. 多位wire 型数据可按下面方法使用wire7:0 in, out;/定义两个8位wire型向量assign out=in;/ assign 就是持续赋值语句,例3. 可只使用多位数据中的几位,但要注意 位宽。wire7:0 out;wire3:0 in;assign out5:2=in;,P.49,说明:1) wire 型变量常用来表示以assign语句赋值的组合逻辑信号。2)输入/输出信号缺省时自动定义为wire 型。3)对综合器而言, wire 型信号的每一位可以取0,1
19、,X或Z中的任意值。,P.50,2. 寄存器型(Register Type)寄存器是数据存储单元的抽象。寄存器型数据对应的是具有状态保持作用的硬件电路,如触发器、锁存器等。,寄存器型数据和连线型数据的区别:寄存器型数据保持最后一次的赋值。而连线型数据需有持续的驱动。,P.51,reg 常用的寄存器型变量reg型数据的格式:reg n-1:0 数据名1,数据名2,数据名n;,例1. reg a, b;/定义了两个reg型变量reg 7:0 qout; /定义qout为8位宽的reg 型变量,P.52,说明:1) reg型数据常用来表示“always”模块内的指定信号,常代表触发器。在“alway
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机系统 综合 课程设计 ppt
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内