EDA技术及应用 教学课件 ppt 作者 张丽华 第7章 VHDL设计实例

上传人:E**** 文档编号:89186617 上传时间:2019-05-20 格式:PPT 页数:120 大小:1.18MB
返回 下载 相关 举报
EDA技术及应用 教学课件 ppt 作者 张丽华 第7章  VHDL设计实例_第1页
第1页 / 共120页
EDA技术及应用 教学课件 ppt 作者 张丽华 第7章  VHDL设计实例_第2页
第2页 / 共120页
EDA技术及应用 教学课件 ppt 作者 张丽华 第7章  VHDL设计实例_第3页
第3页 / 共120页
EDA技术及应用 教学课件 ppt 作者 张丽华 第7章  VHDL设计实例_第4页
第4页 / 共120页
EDA技术及应用 教学课件 ppt 作者 张丽华 第7章  VHDL设计实例_第5页
第5页 / 共120页
点击查看更多>>
资源描述

《EDA技术及应用 教学课件 ppt 作者 张丽华 第7章 VHDL设计实例》由会员分享,可在线阅读,更多相关《EDA技术及应用 教学课件 ppt 作者 张丽华 第7章 VHDL设计实例(120页珍藏版)》请在金锄头文库上搜索。

1、第7章 VHDL设计实例,本章内容 7.1数字系统的EDA设计 7.2 多功能算术逻辑运算单元的EDA设计 7.3 数字式频率计的EDA设计 7.4 简易数字钟的EDA设计 7.5多功能信号发生器的设计 7.6交通灯控制器的设计 本章小结,7.1数字系统的EDA设计,7.1.1 数字系统的结构 数字系统是指由若干数字电路和逻辑部件构成的能够处理或传送、存储数字信息的设备数字系统通常可以分为三个部分,即系统接口、数据处理器和控制器。其中,系统接口是完成将物理量转化为数字量或将数字量转化为物理量的功能部件。例如键盘、打印机接口即是系统接口;数据处理器的逻辑功能可分解为若干个子处理单元,通常称为子系

2、统,例如译码器、运算器等都可作为一个子系统;控制器接收外部输入信号,以及数据处理器反馈的信号,管理各个子系统的局部及整个系统按规定顺序工作。一般情况下,系统接口、数据处理器由组合电路时序电路构成;控制器由同步时序电路构成。,数字系统结构框图如图所示,其中: 控制器部分:是数字电子系统的核心部分。它由记录当前逻辑状态的时序电路和进行逻辑运算的组合电路组成。根据控制器的外部输入信号、执行部分送回的反馈信号以及控制部分的当前状态控制逻辑运算的进程,并向执行部分和系统外部发送控制命令。 数据处理器部分:由组合电路和时序电路组成。它接受控制命令,执行相应的动作。同时,还要将自身的状态反馈给摔制部分。逻辑

3、功能可分解为若干个子处理单元,通常称为子系统,例如译码器、运算器等都可作为一个子系统。该部分的输入信号:控制部分的外部输入信号,作为控制部分的参数或控制;输出信号:由控制部分产生的送到外部的控制信号;反馈信号:由执行部分产生,反映执行部分状态的信号;输入数据:送到数字系统的待处理数据;输出数据:由数字系统处理过的输出到外部的数据。 时钟:为整个系统提供时钟、同步信号。 输入接口电路:为系统的输入信号提供预处理功能。 输出接口电路;输出系统的各类信号、信息。,有没有控制器是区别功能部件(数字单元电路)和数字系统的标志。凡是有控制器,且能按照一定程序进行数据处理的系统,不论其规模大小,均称之为数字

4、系统:否则,只能是功能部件或是数字系统中的子系统。现在的数字系统设计已经逐渐向片上系统(System on Chip)发展。从芯片的功能和规模来将,一个芯片就是一个完整的数字电子系统,也称之为系统芯片。在数字电子技术领域中,“系统芯片”的基本定义是:这种芯片含有一个或多个主要功能块(CPU核心,数字信号处理器核心和其他的专门处理功能模块)。它还含有其他功能块,如静态RAM、ROM、EPROM、闪存或动态RAM以及通用或专用I/O功能块。尽管如此,没有两种系统芯片是完全相同的。大多数系统芯片都经过功能调整,使之专门适合指定的用途。 本章将通过一些数字系统开发实例说明怎样利用层次化结构的设计方法来

5、构造大型系统。通过这些实例,逐步讲解设计任务的分解、层次化结构设计的重要性、可重复使用的库、程序包参数化的元件引用等方面的内容。,7.1.2 数字系统的EDA设计层次,对于数字系统设计者来说,设计的层次可以从两个不同的角度来表示,一个是结构层次一个是系统的性能层次。系统的结构层次是指系统是由一些模块组成的,模块的适当连接就构成了系统。同样,模块也可以是一些基本元件的连接来组成的;系统的性能是指系统的输出对输入的响应,而系统的响应也是系统的输入,经过系统内部模块的响应,逐渐地传递到输出,所以,系统的性能也是由系统内部模块的性能及其传递来决定的。 对于一个数字系统一般来说,可以分为这样的6个层次;

6、系统级、芯片级、寄存器级、门级、电路级、硅片级。由于系统可以分为6个层次,系统的性能描述和系统的结构组成也可以分为6个层次。,系统层次 性能描述 系统的结构 系统级 系统的功能描述 计算机、路由器等 芯片级 算法描述 CPU、RAM、ROM、I/O 寄存器传输级 数据机流描述 运算器、选择器、计数器、寄存器 门级 逻辑代数方程 基本门电路、基本触发器 电路级 微分方程 由晶体管、电阻、电容组成的电路 硅片级 电子、穴运动方程 硅片不同形状的区域,硅片是结构的最底层:从结构描述的角度来说,硅片上不同形状的区域代表了不同类型的电子元件,如晶体管、MOS管、电阻、电容等。另外,不同形状的金属区域表示

7、了元件之间的连接。 但是,只有到了电路级,电路的具体结构才能显示出来。电路级比门级描述来说是更加具体。同样是一个与门,可以有许多种电路实现的方法,只有将门级的描述再具体到电路级的描述,才能最后在硅片上形成芯片。,从逻辑的角度来说,门级是最基础的描述。最基本的逻辑门应该是与门、或门、非门:用这3种基本逻辑门,可以构成任何组合电路以及时序电路。不过,现在也将基本触发器作为门级的基本单元,因为它是组成时序电路的最基本的单元。 寄存器级实际上是由逻辑部件的互相连接而构成的。寄存器、计数器、移位寄存器等逻辑部件是这个层次的基本元件,有时也称它们为功能模块、或者“宏单元”:虽然这些部件也是由逻辑门组成,但

8、是在这个层次,关键的是整个功能模块的特性,以及它们之间的连接。 再向上一个层次就是芯片级,从传统的观点来看芯片级应该是最高级,芯片本身就是一个系统,芯片本身就是产品。芯片级的基本组成是处理器、存储器、各种接口、中断控制器等。当然,首先应该对这些组成模块进行描述,再用它们的连接来构成整个芯片。 最高的层次是系统级。一个系统可以包括若干芯片。如果是“System on chip”设计,那么在一个系统芯片上也有若干类似于处理器、存储器等这样的元件。,芯片级的性能描述是通过算法来表示的,也就是通过芯片这样的硬件可以实现什么算法。算法是可以用HDL语言来描述的。当然,算法描述的范围可以很宽,以前我们对于

9、时序机的性能描述,实际上也是一种算法。因为,这样的描述也只是表示输出对于输入的响应,而不考虑如何来实现相应的逻辑功能。 寄存器级的性能描述是数据流描述。门级的性能描述是逻辑代数方程,从VHDL捕述的角度来说,VHDL的数据流描述主要是对于寄存器级的描述,用它们来表示逻辑代数方程也是可以的。,7.2 多功能算术逻辑运算单元的 EDA设计,7.2.1设计要求 利用74181设计一个带进位控制的8位算术逻辑运算单元ALU_8,该算术逻辑运算单元具有16个数据通路,实现表7-2所示基本算术运算功能和逻辑运算功能。,7.2.2 原理描述,计算机的一个最主要功能就是处理各种算术和逻辑运算,该功能由CPU中

10、的运算器来完成。运算器也称算术逻辑运算单元(ALU)。其主要功能包括: 1. 执行数值数据的算术加减乘除等运算,执行逻辑数据的与或非等逻辑运算。 2. 暂时存放参加运算的数据和中间结果,由多个通用寄存器来承担。 3. 运算器通常也是数据传输的通路。 根据设计要求,可得带进位控制的8位算术逻辑运算单元的结构框图和数据通路如图所示。其中8位ALU运算器模块,是利用2片4位ALU芯片74181级联构成的8位字长ALU。为进行双操作数运算,运算器模块的两个8位数据由数据输入(总线)分别通过两个电平锁存器74373锁入。16路通道计数将根据计数脉冲选择16种运算模式。在8位ALU运算器模块设置两个控制输

11、入信号,一个为进位控制信号,一个为算术运算和逻辑运算的功能选择信号。,位算术逻辑运算单元的结构框图,为实现进位控制,可将运算器74181的进位位cout送入D锁存器,由进位脉冲T4和使能信号CN控制其写入,这时,CN的功能是电平控制信号(高电平时,CN有效),控制是否允许将进位信号cout加入下一运算周期的最低进位位,从而可实现带进位控制运算。通过进位控制可实现多个8位数据的算术运算。,7.2.3多功能算术逻辑运算单元层次化设计方案,1. ALU运算器模块ALU_8的设计 该模块是多功能算术逻辑运算单元的主体模块,其原理图如图所示,其中进位控制触发信号CP和输出CO信号的逻辑表达式为: CP=

12、NOT(CN)T4,CO=NCNQD 在QuartusII中打开一个新的原理图编辑窗,从QuartusII的基本逻辑元件库“primitives”中调出两片74181,1片DFF,1片二输入与门AND2,1片二输入与非门NAND2并加入相应的输入输出引脚,按照下图用鼠标完成电路的内部连线及与输入和输出引脚的连接。图中,参加运算的两个8位数据分别为A70和B70;运算模式由S30的组合决定;此外,M=0,选择算术运算,M=1选择逻辑运算;CN为进位控制信号;F70为输出结果;CO为运算后的输出进位位;T4为进位脉冲信号。,将所设计的图形文件ALU_8.bdf保存到已建立的文件夹中,并设置成工程文

13、件,以后的操作就都是对当前工程文件进行的。执行QuartusII主窗口的“Processing”菜单的“Star Compilation”选项,启动全程编译,对该程序编译仿真后可得其仿真输出波形如图所示。 分析仿真输出波形:当T4=0,CN=0,M=0(选择算术运算功能)时,S30=9表示加法运算;输入加数A70为12或9DH ,B70=E5H,CN置为1(允许锁存ALU的进位);当进位脉冲信号为0时,执行无进位输入的加法,即12H+E5H=F7H,9DH+E5H=82H(低8位的和);当进位脉冲信号为0时,表示加法有进位,并被锁;同时可以看到此进位被累加,82H+1H=83H,输出F=182

14、H,结果正确。,2. 16路通道计数模块CNT_16的设计,CNT_16实际上为一模16的二进制计数器, 可利用QuartusII的兆功能设计向导 “MegaWizard Plug-In Manager”定制模16的二进制计数器,其定制的界面如图6-5所示,clock为计数输入脉冲,q30为计数的二进制数输出,供ALU_8选择不同的运算模式。,3. 数据寄存器模块REG_A_B,数据寄存器模块REG_A_B的原理图如图所示。为进行双操作数运算,运算器模块的两个8位数据由数据输入总线分别通过数据寄存器模块REG_A_B两个电平锁存器74373锁入。该模块的输入全部连在数据总线Data_bus70

15、中,通过数据选择开关A0_B0,依次选择输出数据A70、B70给运算器模块ALU_8。其正确编译后仿真输出波形和元件符号如图6-7所示。A0_B0=0时,存储数据A70(9D),A0_B0=1时,存储数据B70(E5)。,数据寄存器模块REG_A_B原理图,(a) 仿真输出波形;,7.2.3多功能算术逻辑运算单元的顶层设计和仿真,根据6.2.2节的原理描述,可得到上图所示的多功能算术逻辑运算单元顶层电路的原理图。在QuartusII的图型编辑方式下,从e:chap6ALU中调出前面所设计的底层模块,即1片ALU运算器模块ALU_8,1片16路通道计数模块CNT_16,1片数据寄存器模块REG_

16、A_B及相应的输入输出引脚,根据图6-8完成多功能算术逻辑运算单元顶层电路的原理图输入,电路连好线后,编译正确无误后,可得其仿真输出波形和元件符号如下图所示。,:图7-8 多功能算术逻辑运算单元顶层电路原理图,下图中,CY为进位控制信号(CY=1表示禁止进位,CY=0表示允许进位);T进位脉冲信号(高电平有效);IN70为总线数据输入,可通过数据选通开关KAB经电平锁存器74373依次选择输出数据A70(E5H)、B70(9DH),M为多功能算术逻辑运算单元的算术/逻辑运算的选择信号(M=0,选择算术运算;M=1,选择逻辑运算),SCLK为计数输入脉冲,供ALU_8_TOP选择16种(从0000到1111)运算模式,S30显示当前的运算模式为1001(9:加法运算模式),F70为运算结果输出,COUT为进位输出(低电平有效),结合起来即可得到9DH+E5H=182H的正确输出结果。,多功能

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

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