电子设计自动化(eda)实验指导书20209.docx

上传人:jix****n11 文档编号:48220845 上传时间:2022-10-05 格式:DOCX 页数:49 大小:667.43KB
返回 下载 相关 举报
电子设计自动化(eda)实验指导书20209.docx_第1页
第1页 / 共49页
电子设计自动化(eda)实验指导书20209.docx_第2页
第2页 / 共49页
点击查看更多>>
资源描述

《电子设计自动化(eda)实验指导书20209.docx》由会员分享,可在线阅读,更多相关《电子设计自动化(eda)实验指导书20209.docx(49页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、电子设计自动化(EDA)实验指导书前言近些年来,电子设计自动化(EDA)技术发展迅速。一方面,各种大容量、高性能、低功耗的可编程逻辑器件不断推出,使得专用集成电路(ASIC)的生产商感受到空前的竞争压力。另一方面,出现了许多EDA设计辅助工具,这些工具大大提高了新型集成电路的设计效率,使更低成本、更短周期的复杂数字系统开发成为可能。于是一场ASIC与FPGA/CPLD之争在所难免。然而PLD器件具有先天的竞争优势,那就是可以反复编程,在线调试。EDA技术正是这场较量的推动引擎之一。一般来说,EDA技术就是以计算机为平台,以EDA软件工具为开发环境,以HDL为设计语言,以可编程器件为载体,以AS

2、IC、SOC芯片为目标器件,以电子系统设计为应用方向的电子产品自动化设计过程。设计者只需编写硬件描述语言代码,然后选择目标器件,在集成开发环境里进行编译,仿真,综合,最后在线下载调试。整个过程,大部分工作由EDA软件完成。全球许多著名的可编程器件提供商都推出了自己的集成开发工具软件,如Altera公司的MAX+PLUS、Quartus 软件;Xilinx公司的Foundation 、ISE软件,Lattice公司的ispExpert软件,Actel公司的Libero软件等。这些软件的推出,极大地促进了集算法设计、芯片编程、电路板设计于一体的EDA技术的发展。另外,在以SOC芯片为目标器件的电子

3、系统设计要求下,可编程器件的内部开始集成高速的处理器硬核、处理器软核、DSP模块、大量的存储资源、高速的串行收发模块、系统时钟管理器、多标准的I/O接口模块,亦使得设计者更加得心应手,新一轮的数字革命由此引发。EDA技术是一门实践性很强的学科,要培养出具有竞争力的一流IC设计人才,动手能力是关键。只有通过理论学习,加上现场实验,在使用软件编程加硬件调试的过程中真正获得锻炼,增长技能。ZY11EDA13BE型实验系统采用主板加适配板加扩展板的灵活结构,可方便进行基于不同PLD芯片的实验开发,并易于升级,符合当前高校在此方面对人才培养的要求。我们相信,只要学生扎扎实实完成本实验系统的所有实验,并在

4、此基础上利用现有硬件资源开发出新的数字应用系统,学生的潜力会得到最大程度的发挥,对EDA技术的学习也会有质的飞跃,从而为推动我国数字系统设计技术的发展做出更大的贡献。本实验手册是我校电子设计自动化(EDA)课程实验指导的主要依据。根据实验大纲要求,共包含8个实验,其中实验二、三、四为必做,实验五、六、七、八至少选做一个。目录实验一 EDA软件的熟悉与使用1实验目的1实验内容1实验原理1实验步骤1实验报告1实验思考题2实验二 1位全加器的设计3实验目的3实验内容3实验仪器3实验原理3实验注意事项4实验步骤4实验报告4思考题4实验三 基本组合逻辑电路的VHDL模型6实验目的6实验内容6实验仪器6实

5、验原理6实验步骤12实验四 基本时序逻辑电路的VHDL模型13实验目的13实验内容13实验仪器13实验原理13实验步骤31实验五 Melay型有限状态机的设计32实验目的32实验内容32实验仪器32实验原理32实验步骤34实验六 ROM设计35实验目的35实验内容35实验仪器35实验原理35实验步骤36实验七 键盘控制电路设计38实验目的38实验内容38实验仪器38实验原理38实验步骤40实验八 交通灯实验41实验目的41实验内容41实验仪器41实验原理41实验步骤42附录一 实验要求43附录二 实验成绩的考核与评定办法44附录三 实验项目设置与内容45实验一 EDA软件的熟悉与使用实验目的1

6、熟悉ALTERA公司EDA设计工具软件QuartusII 5.0。2熟悉ZY11EDA13BE型实验箱。实验内容1学习QuartusII 5.0软件课件。2学习QuartusII 5.0软件的安装,重要菜单命令含义。3熟悉ZY11EDA13BE型实验箱的结构与组成。4模仿课件中实例动手操作一遍,掌握采用QuartusII 5.0软件设计流程。实验原理参考QuartusII 5.0软件学习课件。实验步骤1在教师的指导下,学习软件课件。2由教师演示QuartusII 5.0软件的安装,介绍菜单命令功能。3参考课件实例,动手操作软件,按照流程做完从新建文件,编译,仿真,分配引脚等软件操作部分的全过程

7、。4参考第一部分实验系统简介,熟悉ZY11EDA13BE型实验箱结构,组成,了解各模块的基本作用,了解主板I/O分布情况,认识液晶屏,并口连接器,晶振,JTAG接口,逻辑笔,跳线等器件或组件。实验报告1绘制出QuartusII 5.0软件设计的详细流程图。2描述出QuartusII 5.0软件是如何进行目标器件选择,I/O分配和锁定引脚的。3描述出QuartusII 5.0软件help菜单功能,如何有效的使用它。4写出系统主板的I/O口分布情况。5写出ZY11EDA13BE型实验箱拨码开关CTRL各档的作用。6描述出一个完整的实验流程。实验思考题1QuartusII 5.0软件支持那些器件,该

8、软件有什么局限性?2QuartusII 5.0软件使用中大小写字母是否有区别?3在进行一个完整的实验流程时应注意些什么?实验二 1位全加器的设计实验目的1掌握QuartusII 5.0软件使用流程。2熟悉ZY11EDA13BE型实验箱的开关按键模块,LED显示模块。实验内容在QuartusII 5.0软件中使用原理图输入法设计并实现一个1位全加器。实验仪器1ZY11EDA13BE型实验箱通用编程模块,配置模块,开关按键模块,LED显示模块。2并口延长线,JTAG延长线。(所有实验均包括,以下实验中均略去)。3安装QuartusII 5.0软件的PC机。(所有实验均包括,以下实验中均略去)。实验

9、原理1位全加器可以用两个半加器及一个或门连接而成,半加器原理图的设计方法很多,我们用一个与门、一个非门和同或门(xnor为同或符合,相同为1,不同为0)来实现。先设计底层文件:半加器,再设计顶层文件全加器。(1)半加器的设计半加器表达式:进位:co=a and b和 :so=a xnor (not b)半加器原理图如下:(2)全加器的设计全加器原理图如下:实验注意事项实验指导书中的所有实验内容都是针对主板系统的核心芯片EP1K30QC208-2来设计的,实验原理中提供了管脚分配情况,管脚分配好后必须通过成功编译才可以下载配置。 实验步骤1在QuartusII 5.0软件中新建原理图文件,输入原

10、理图,进行编译,仿真。2指定目标器件,并对编译通过的原理图分配管脚(可参考实验原理),分配完后再编译一次。3用并口延长线连接计算机机箱并口和实验箱并口插座,用JTAG延长线连接通用编程模块下载接口插座和配置模块核心芯片下载接口插座,接通实验箱电源,将实验箱电源按钮APW1,APW2按下,电源指示灯PL0-PL4亮。4下载配置文件f_adder.pof到目标芯片。5将拨码开关CTRL的(2)、(4)、(8)均设置为“ON”。6拨位开关KD1、KD2、KD3分别作为全加器a输入,b输入和进位c输入。LED1、LED2分别作为全加器进位和全加和。记录全加器的实验结果填入实验报告。灯亮表示1(高电平)

11、,灯灭表示0(低电平)。实验报告1列出半加器与全加器的真值表。如果实验室条件允许,打印半加器和全加器仿真波形图贴于实验报告中。2用文字描述出怎样实现层次化设计。31位全加器的实现方法很多,画出其它方法的原理图。思考题1多位全加器就是在一位的原理上扩展而成的,设计出原理图输入的8位全加器。2集成电路全加器芯片有7480、7483等,试述其内部结构是如何实现的?3参考全加器的设计思路设计出原理图输入的1位全减器。(提示:全加器的设计是根据真值表来建立最简表达式,最简表达式应该是一些基本门电路,同样全减器的设计也是如此)。实验三 基本组合逻辑电路的VHDL模型实验目的1掌握简单的VHDL程序设计。2

12、掌握用VHDL对基本组合逻辑电路的建模。实验内容分别设计并实现缓冲器、选择器、译码器、编码器、移位器、全加器的VHDL模型。实验仪器ZY11EDA13BE型实验箱通用编程模块,配置模块,开关按键模块,LED显示模块。实验原理1三态缓冲器三态缓冲器(Tri-state Buffer)的作用是转换数据、增强驱动能力以及把功能模块与总线相连接。在使用总线互连方式时,与总线通信的器件通常要通过三态缓冲器与总线相连。如果缓冲器的使能端en为1,则缓冲器的输入端in1的信号值被复制到输出端;如果缓冲器的使能端en为其它数值,则缓冲器的输出端为高阻态。三态缓冲器的输出端可以用线与的方式和其他缓冲器的输出端接

13、在一起。下例20-1-1给出了三态缓冲器的VHDL源代码模型:在IEEE的1164标准程序包中,用Z表示高阻态,现在的EDA综合工具一般都能根据这种描述综合得到三态器件。下图20-1为本例中三态缓冲器的仿真波形图:图20-1 三态缓冲器的仿真图形2数据选择器(Multiplexer)在数字系统设计时,需要从多个数据源中选择一个,这时就需要用到多路选择器。下例20-2-1给出了四选一、被选择数字宽度为3的选择器VHDL源代码模型: 在上面这个模型中,由于使用了条件赋值语句,所以写得很简短。上面的程序代码还可以改写为使用进程的等价方式。如下例20-2-2的VHDL源代码所示: 由于模型中使用了st

14、d_Logic和std_Logic_vector数据类型,sel可能的数值不止四种,所以两种模型中都有一个分支来处理其他的数值。在综合的时候,EDA工具一般都忽略这一分支。除了处理三态器件中的高阻态Z外,综合工具采用完全相同的方法来处理std_Logic和Bit数据类型。图20-2为本例中多路选择器的仿真波形图:图20-2 多路选择器的仿真图形3译码器(Decoder)译码器(Decoder)的输入为N位二进制代码,输出为2N个表征代码原意的状态信号,即输出信号的2N位中有且只有一位有效。常见的译码器用途是把二进制表示的地址转换为单线选择信号。下面例20-3-1为一个3-8译码器的VHDL源代

15、码模型:下图20-3为本例中3-8译码器的仿真波形图:图20-3 3-8译码器的仿真图形4编码器(Encoder)编码器(Encoder)的行为是译码器行为的逆过程,它把2N个输入转化为N位编码输出。有的编码器要求输入信号的各位中最多只有一位有效,且规定如果所有输入位全无效时,编码器输出指定某个状态。编码器的用途很广,比如说键盘输入编码等。下面例20-4-1为一个8-3优先编码器的VHDL源代码模型:下图20-4为本例中8-3优先编码器的仿真波形图:图20-4 8-3优先编码器的仿真图形5移位器(Shifter)数据的移位是很重要的操作,在一定的条件下,右移意味着被2除,左移意味着乘以2。下面

16、例20-5-1为一个移位器(Shifter)的VHDL源代码模型:在这个模型中,如果sr1且sl0,移位器将输入信号右移一位后赋给输出信号;如果sr0且sl1,则移位器将输入信号左移一位后赋给输出信号。对于sr和sl的其他两种输入模式,将输入信号直接赋给输出信号。信号il和ir分别是左移操作和右移操作时在输入数据右端(或左端)补上的数据。使用&进行移位操作是常用的处理方法,但在VHDL93版中增加了移位语句,可以直接实现移位操作。下图20-5为本例中移位器的仿真波形图:图20-5 移位器的仿真图形6全加器(Adder)加法器是最基本的运算单元。加法器中最小的单元是一位全加器,下面例20-6-1

17、为一位全加器(Adder)的VHDL源代码模型:这个全加器中有两个数据输入端in1和in2,一个和输出端sum以及一个进位输出端carry_out。用这个全加器级联是形成加法器最简单的实现方式,这种电路每个单元的结构都相同、但是在操作数的字长较大时,由于进位要经过多次传递,限制了这种电路的速度,并且和的各位产生的时刻也不同。为了提高运算速度,可以采用行波进位加法器(RIPPLE-CARRY ADDER)。下图20-6为本例中一位全加器的仿真波形图:图20-6 一位全加器的仿真图形实验步骤1在QuartusII 5.0软件中新建文本文件,输入自己设计的VHDL程序代码,编译,仿真,锁定管脚并下载

18、到目标芯片。2用拨位开关作为输入,LED作为输出,分别验证结果的正确性。实验四 基本时序逻辑电路的VHDL模型实验目的1掌握简单的VHDL程序设计。2掌握VHDL对基本时序逻辑电路的建模。实验内容分别设计并实现锁存器、触发器、寄存器、计数器的VHDL模型。实验仪器ZY11EDA13BE型实验箱通用编程模块,配置模块,时钟源模块,开关按键模块,LED显示模块。 实验原理1锁存器(latch):顾名思义,锁存器(latch)是用来锁存数据的逻辑单元。锁存器一般可以分成三种基本类型:电平锁存器、同步锁存器和异步锁存器。下面我们将逐一介绍这三种锁存器的VHDL模型的描述方式。(1)电平锁存器:电平锁存

19、器一般用在多时钟电路,比如微处理器芯片中。电平锁存器的特点是:常常有多路数据输入。例21-1-1为单输入电平锁存器的VHDL模型:当复位信号reset有效(高电平)时,锁存器latch1被复位,输出信号q为低电平;当复位信号reset无效(低电平)时,如果s信号为高电平,输出信号q输出输入端的值;当s信号为低电平时,latch1的输出信号q保持原值,亦即数据锁存。下图21-1为单输入电平锁存器的仿真波形图:图21-1 单输入电平锁存器的仿真图形例21-1-2为多输入电平锁存器的VHDL模型:当复位信号reset有效(高电平)时,锁存器latch2被复位,输出信号q为低电平;如果复位信号rese

20、t无效(低电平)时,则根据选择信号s0、s1和s2来决定输出信号q是选择输入信号data0、data1还是data2;如果s0、s1和s2都无效(低电平),则锁存器输出信号q保持原值不变,亦即数据锁存。下图21-2为多输入电平锁存器的仿真波形图:图21-2 多输入电平锁存器的仿真图形(2)同步锁存器:同步锁存器是指复位和加载功能全部与时钟同步,复位端的优先级较高。在数字系统设计时,采用完全同步的锁存器,可以避免时序错误。例21-1-3为同步锁存器的VHDL模型:每当时钟信号clk跳变时激活进程,如果此时复位信号reset有效(高电平),锁存器latch3被复位,输出信号q为低电平;如果此时复位

21、信号reset无效(低电平),并且装载信号load有效(高电平),锁存器latch3输出信号q为输入信号data;否则,锁存器输出保持原值,亦即数据锁存。下图21-3为同步锁存器的仿真波形图:图21-3 同步锁存器的仿真图形(3)异步锁存器:异步锁存器,是指复位与时钟不同步的锁存器。例21-1-4为异步锁存器的VHDL模型:每当时钟信号clk跳变或者复位信号reset激活进程时,如果此时复位信号reset有效(高电平),锁存器latch4被复位,输出信号q为低电平;如果此时复位信号reset无效(低电平),并且正好时钟上升沿到达,而装载信号load有效(高电平),则锁存器latch4输出信号q

22、为输入信号data;否则,锁存器输出保持原值,亦即数据锁存。下图21-4为异步锁存器的仿真波形图:图21-4 异步锁存器的仿真图形1触发器(flip-flop)触发器(flip-flop)是最基本的时序电路单元,指的是在时钟沿的触发下,引起输出信号改变的一种时序逻辑单元。常见的触发器有三种:D触发器、T触发器和JK触发器。(1)D触发器:D触发器是最常用的触发器。按照有无复位信号和置位信号,以及复位、置位信号与时钟是否同步,可以分为多种常见的D触发器模型,以下将逐一给出示例和简单的说明。例21-2-1为简单D触发器的VHDL模型:D触发器dff1是最简单的D触发器,没有复位和置位信号,在每个时

23、钟信号clk的上升沿,输出信号q值为输入信号d;否则,触发器dff1的输出信号q保持原值。图21-5为简单D触发器的仿真波形图:图21-5 简单D触发器的仿真图形例21-2-2为带异步置位D触发器的VHDL模型:dff2是一个带异步置位的D触发器,当时钟信号clk或者置位信号prn有跳变时激活进程。如果此时置位信号prn有效(高电平),D触发器dff2被置位,输出信号q为高电平;如果置位信号prn无效(低电平),而且此时时钟出现上跳沿,则D触发器dff2的输出信号q变为输入信号d;否则,D触发器dff2的输出信号q保持原值。图21-6为带异步置位D触发器的仿真波形图:图21-6 带异步置位D触

24、发器的仿真图形例21-2-3为带异步复位D触发器的VHDL模型:dff3是一个带异步复位的D触发器,当时钟信号clk或者复位信号clr有跳变时激活进程。如果此时复位信号clr有效(高电平),D触发器dff3被复位,输出信号q为低电平;如果复位信号clr无效(低电平),而且此时时钟出现上跳沿,则D触发器dff3的输出信号q变为输入信号d;否则,D触发器dff3的输出信号q保持原值。图21-7为带异步复位D触发器的仿真波形图:图21-7 带异步复位D触发器的仿真图形例21-2-4为带异步复位和置位D触发器的VHDL模型:dff4是一个带异步复位和置位的D触发器,当时钟信号clk、复位信号clr或者

25、置位信号prn有跳变时激活进程。如果此时复位信号clr有效(高电平),D触发器dff4被复位,输出信号q为低电平;如果复位信号clr无效(低电平),而置位信号有效(高电平),D触发器dff4被置位,输出信号q为高电平;如果复位信号clr和置位信号prn都无效(低电平),而且此时时钟出现上跳沿,则D触发器dff4的输出信号q变为输入信号d;否则,D触发器dff4的输出信号q保持原值。图21-8为带异步复位和置位D触发器的仿真波形图:图21-8 带异步复位和置位D触发器的仿真图形例21-2-5为带同步置位D触发器的VHDL模型。在该例中dff5是一个带同步置位的D触发器,当时钟信号clk有跳变时激

26、活进程。如果此时置位信号prn有效(高电平),D触发器dff5被置位,输出信号q为高电平;如果置位信号prn无效(低电平),而且此时时钟出现上跳沿,则D触发器dff5的输出信号q变为输入信号d;否则,D触发器dff5的输出信号q保持原值。图21-9为带同步置位D触发器的仿真波形图:图21-9 带同步置位D触发器的仿真图形例21-2-6为带同步复位D触发器的VHDL模型:dff6是一个带同步复位的D触发器,当时钟信号clk有跳变时激活进程。如果此时复位信号clr有效(高电平),D触发器dff6被复位,输出信号q为低电平;如果复位信号clr无效(低电平),而且此时时钟出现上跳沿,则D触发器dff6

27、的输出信号q变为输入信号d;否则,D触发器dff6的输出信号q保持原值。图21-10为带同步复位D触发器仿真波形图:图21-10 带同步复位D触发器的仿真图形例21-2-7为带同步置位和复位D触发器的VHDL模型:dff7是一个带同步复位和置位的D触发器,当时钟信号clk有跳变时激活进程。如果此时复位信号clr有效(高电平),D触发器dff7被复位,输出信号q为低电平;如果复位信号clr无效(低电平),而置位信号有效(高电平),D触发器dff7被置位,输出信号q为高电平;如果复位信号clr和置位信号prn都无效(低电平),而且此时时钟出现上跳沿,则D触发器dff7的输出信号q变为输入信号d;否

28、则,D触发器dff7的输出信号q保持原值。图21-11为带同步置位和复位D触发器的仿真波形图:图21-11 带同步置位和复位D触发器的仿真图形(2)T触发器T触发器的特点是在时钟沿处输出信号发生翻转。按照有无复位、置位信号以及使能信号等,T触发器也有多种类型。例21-2-8为带异步复位T触发器的VHDL模型:tff1是一个带有异步复位的T触发器。每当时钟信号clk或者复位信号clr有跳变时进程被激活。如果此时复位信号clr有效(高电平),T触发器tff1被复位,输出信号q为低电平;如果复位信号clr无效(低电平),而时钟信号clk出现上跳沿,则T触发器tff1的输出信号q发生翻转;否则,输出信

29、号q保持不变。图21-12为带异步复位T触发器的仿真波形图:图21-12 带异步复位T触发器的仿真图形例21-2-9为带异步置位T触发器的VHDL模型:tff2是一个带有异步置位的T触发器。每当时钟信号clk或者置位信号prn有跳变时进程被激活。如果此时置位信号prn有效(高电平),T触发器tff2被置位,输出信号q为高电平;如果置位信号prn无效(低电平),而时钟信号clk出现上跳沿,则T触发器tff2的输出信号q发生翻转;否则,输出信号q保持不变。图21-13为带异步置位T触发器的仿真波形图:图21-13 带异步置位T触发器的仿真图形例21-2-10为带使能(enable)端和异步复位T触

30、发器的VHDL模型:tff3是一个带有异步复位和使能的T触发器。每当时钟信号clk或者复位信号clr有跳变时进程被激活。如果此时复位信号clr有效(高电平),T触发器tff3被复位,输出信号q为低电平;如果复位信号clr无效(低电平),而时钟信号clk出现上跳沿,并且触发器翻转使能信号en有效(高电平),则T触发器tff3的输出信号q发生翻转;否则,输出信号q保持不变。图21-14为带使能端和异步复位T触发器的仿真波形图:图21-14 带使能端和异步复位T触发器的仿真图形(3)JK触发器JK触发器中,J、K信号分别扮演置位、复位信号的角色。为了更清晰的表示出JK触发器的工作过程,以下给出JK触

31、发器的真值表(如表21-1所示)。JKCLKQn+100Qn10101011NOT QnXXQn表21-1 JK触发器真值表按照有无复位(clr)、置位(prn)信号,常见的JK触发器也有多种类型,例21-2-11为基本JK触发器的VHDL模型:jkff1是一个基本的JK触发器类型。在时钟上升沿,根据j、k信号,输出信号q作相应的变化。用case语句实现if条件语句,即简化了语句,又增加了效率。图21-15为基本JK触发器的仿真波形图:图21-15 基本JK触发器的仿真图形例21-2-12为带异步复位(clr)、置位(prn)的JK触发器的VHDL模型:jkff2是一个带有异步复位和置位的JK

32、触发器模型。每当时钟信号clk、置位信号prn或者复位信号clr有跳变时激活进程。如果此时复位信号clr有效(高电平),JK触发器jkff2被复位,输出信号q为低电平;如果复位信号clr无效(低电平),而置位信号prn有效(高电平),则JK触发器jkff2被置位,输出信号q为高电平;如果复位信号clr和置位信号prn都无效(低电平),在时钟上升沿,根据j、k信号的变化,输出信号q作相应的变化。图21-16为带异步复位、置位JK触发器的仿真波形图:图21-16 带异步复位、置位JK触发器的仿真图形1寄存器(Register):寄存器(register)也是一种重要的基本时序电路。顾名思义,寄存器

33、主要是用来寄存信号的值,包括标量和向量。在数字系统设计中,可将寄存器分成通用寄存器和移位寄存器。(1)通用寄存器:通用寄存器的功能是在时钟的控制下将输入数据寄存,在满足输出条件时输出数据。例21-3-1为通用寄存器的VHDL模型:reg是一个通用寄存器,在时钟信号clk的上升沿,如果输出使能信号enable有效(高电平),则输入信号d送到寄存器中,输出信号q为输入信号d的值,否则输出信号q保持原值不变,亦即起到锁存数据的作用。图21-17为通用寄存器的仿真波形图:图21-17 通用寄存器的仿真图形(2)移位寄存器:顾名思义,移位寄存器的功能是寄存输入数据,并在控制信号的作用下将输入数据移位输出

34、。移位寄存器种类繁多,大致可以归纳为逻辑移位寄存器和算术移位寄存器两大类。逻辑移位寄存器的特点是,高位和低位移入的数据都为零;算术移位寄存器的特点是,高位移入的数据为相应符号的扩展,低位移入的数据为零。例21-3-2为简单移位寄存器的VHDL模型:在每个时钟的上升沿,移位寄存器shift根据控制指令control将输入数据d逻辑左移相应位后输出。图21-18为简单移位寄存器的仿真波形图:图21-18 简单移位寄存器的仿真图形例21-3-3为循环移位寄存器(cycle shift register)的VHDL模型:在每个时钟的上升沿,循环移位寄存器shift根据控制指令control将输入数据d

35、循环左移相应位后输出。图21-19为循环移位寄存器的仿真波形图:图21-19 循环移位寄存器的仿真图形1计数器(counter):计数器(counter)是数字系统中常用的时序电路,因为计数是数字系统的基本操作之一。计数器在控制信号下计数,可以带复位和置位信号。因此,按照复位、置位与时钟信号是否同步可以将计数器分为同步计数器和异步计数器两种基本类型,每一种计数器又可以分为进行加计数和进行减计数两种。在VHDL描述中,加减计数用“”和“”表示即可。(1)同步计数器:同步计数器与其它同步时序电路一样,复位和置位信号都与时钟信号同步,在时钟沿跳变时进行复位和置位操作。例21-4-1为带时钟使能的同步

36、4位二进制减法计数器的VHDL模型:count是一个带时钟使能的同步4位二进制减法计数器,计数范围F0。每当时钟信号或者复位信号有跳变时激活进程。如果此时复位信号clr有效(高电平),计数器被复位,输出计数结果为0;如果复位信号无效(低电平),而时钟信号clk出现上升沿,并且计数器的计数使能控制信号en有效(高电平),则计数器count自动减1,实现减计数功能。图21-20为带时钟使能的同步4位二进制减法计数器的仿真波形图:图21-20 带时钟使能的同步4位二进制减法计数器的仿真图形(2)异步计数器同样的道理,异步计数器是指计数器的复位、置位与时钟不同步。例21-4-2为带时钟使能的异步4位二

37、进制加法计数器的VHDL模型:counta是一个带时钟使能的异步4位二进制加法计数器,计数范围0F。每当时钟信号或者复位信号有跳变时激活进程。如果此时复位信号clr有效(高电平),计数器被复位,输出计数结果为0;如果复位信号无效(低电平),而时钟信号clk出现上升沿,并且计数器的计数使能控制信号en有效(高电平),则计数器count自动加1,实现加计数功能。图21-21为带时钟使能的异步4位二进制加法计数器的仿真波形图:图21-21 带时钟使能的异步4位二进制加法计数器的仿真图形实验步骤1在QuartusII 5.0软件中新建文本文件,输入自己设计的VHDL程序代码,编译,仿真,锁定管脚并下载

38、到目标芯片。2将信号源模块第一全局时钟GCLK1跳线器接需要的时钟频率CLK,拨位开关作为数据输入和控制信号输入,LED作为锁存器、触发器、寄存器、计数器的输出,观察显示结果,验证程序的正确性。实验五 Melay型有限状态机的设计实验目的掌握Mealy型有限状态机的特点和其VHDL语言的描述方法。实验内容1绘制本实验中例23-1-1的状态转换图。2上机编写本实验中例23-1-1的实验程序,并进行实验验证程序的正确性。实验仪器ZY11EDA13BE型实验箱通用编程模块,配置模块,时钟源模块,开关按键模块,LED显示模块。实验原理与Moore型有限状态机不同,Mealy型有限状态机的输出不单与当前

39、状态有关,而且还与输入信号的当前值有关。在图23-1中描述了Mealy型有限状态机的示意图。图23-1 Mealy型有限状态机示意图Mealy型有限状态机的输出直接受输入信号的当前值影响,而输入信号可能在一个时钟周期内的任意时刻发生变化,这使得Mealy型有限状态机对输入的响应发生在当前的时钟周期,比Moore型有限状态机对输入信号的响应要早一个周期。因此,输入信号的噪声可能影响正在输出的信号。例23-1-1是一个两进程Mealy型有限状态机的例子。进程COMREG是时序与组合混合型进程,它将状态机的主控时序电路和主控状态译码电路同时用一个进程来表达。进程COM1负责根据当前输入状态和输入信号

40、的变化给出不同的输出数据。该例的VHDL语言如下所示:在例23-1-1中,由于输出信号是由组合逻辑电路直接产生,所以可以从该状态机的工作时序图23-2上清楚的看到输出信号有许多毛刺。为了解决这个问题,可以考虑将输出信号Q值由时钟信号锁存后再输出。可以在例23-1-1的COM1进程中添加一个IF语句,由此产生一个锁存器,将Q锁存后再输出。但是如果实际电路的时间延迟不同,或发生变化,就会影响锁存的可靠性,即这类设计方式不能绝对保证不出现毛刺。比较保险的方式仍然是参照实验二十二的例22-1-1中单进程的描述方法,这个工作将留给读者自行完成,此处不再加以说明。图23-2 例23-1-1多进程Mealy

41、型状态机的工作时序实验步骤1在QuartusII 5.0软件中新建文本文件,输入例22-1-1的VHDL程序代码,编译,仿真,锁定管脚并下载到目标芯片。2将信号源模块第一全局时钟GCLK1跳线器接需要的时钟频率CLK,拨位开关作为数据输入和控制信号输入,LED作为状态机输出,观察实验结果。 综合实验二十二和实验二十三的论述,Moore型有限状态机和mealy型有限状态机各有特点。通常情况下,对于一个具体的数字系统,一个具体电路的性能指标规范,可能适合于用Moore型有限状态机实现;而对于另外一个具体的数字系统和另外一个具体电路的性能指标规范,又适合于用Mealy型有限状态机实现。硬件设计者应该

42、根据具体情况,结合Moore和Mealy型有限状态机的特点进行选择使用。实验六 ROM设计实验目的熟悉只读存储器ROM。 实验内容设计一个168位的ROM。实验仪器ZY11EDA13BE型实验箱通用编程模块,配置模块,时钟源模块,开关按键模块,数码管显示模块。实验原理ROM即只读存储器,主要用作存储固定的数据。在设计ROM时,可采用数组或WHEN-ELSE语句。数组描述的ROM在面积上是最有效的。在用数组描述时,常把数组常量描述的ROM放在一个程序包中,这种方法可以提供ROM的重用,在程序包中用常量定义ROM的大小,在使用时修改参数大小即可改变ROM的大小。由于QuartusII 5.0软件不

43、支持数组描述的语句,本实验采用比较直观的WHEN-ELSE语句设计一个168的ROM,例31-1-1:用WHEN-ELSE语句设计的168的ROM下图为上述VHDL代码生成的ROM模型:例31-1-1是一个168位的只读存储器的VHDL模型。当片选信号CS有效,则可根据地址信号add30读取单元地址,在输出端DATA70输出数据。当CS无效,输出总为低电平 “00000000”。图31-1为168位只读存储器的仿真波形图:图31-1 168位只读存储器的仿真波形实验步骤1在QuartusII 5.0软件中新建原理图文件,输入自己设计的原理图,编译,仿真,锁定管脚并下载到目标芯片。2将第一全局时

44、钟CLK1的跳线器接32768Hz。拨位开关KD1为清零控制(高电平有效),KD2为片选信号CS(高电平有效)。KD3-KD6作为数据地址输入ADD30,数码管SM2-SM1显示该数据地址。数码管SM4-SM3显示读出数据。其中输入地址与输出数据对应结果应如下:地址输出地址输出地址输出地址输出0016041208080C040115051109070D03021406100A060E02031307090B050F01观察实验结果。3总结ROM的设计方法。说明:存储器实际上是一种时序逻辑电路,用VHDL描述存储器时,通常使用数组。而QuartusII 5.0软件中不支持数组描述语句,所以在设计

45、存储器(ROM、RAM、FIFO)实验时,未采用用数组的设计方法,有兴趣的同学在有合适综合工具的条件下,可参考相关资料数组设计方法设计存储器。另外,在设计ROM、RAM、FIFO等存储器时,须考虑目标器件的资源情况。在设计大量组合逻辑电路时采用CPLD芯片,设计复杂的时序电路时采用FPGA芯片,要求有存储功能时采用内嵌EAB单元的芯片。本实验系统的核心芯片EP1K30QC208完全支持存储功能,所以除了用行为描述外,还可以调用Quartus II软件中提供的宏功能元件库(mega_lpm )存储器元件进行设计。实验十六中设计的九九乘法表就是基于宏功能元件库(mega_lpm )存储器元件的应用

46、,所有存储器的调用方法与实验十六中相同。实验七 键盘控制电路设计实验目的学习键盘扫描电路的工作原理。实验内容设计一个44键盘接口控制电路。实验仪器ZY11EDA13BE型实验箱通用编程模块,配置模块,时钟源模块,开关按键模块,44键盘模块,LED显示模块,数码管显示模块。实验原理键盘是应用数字系统重要的人机接口,主要完成向处理器输入数据、传送命令等功能,是人工控制电子系统运行的重要手段。本实验介绍简单的键盘工作原理、键盘按键的识别过程以及与键盘与CPLD/FPGA的接口。键盘实质上是一个按键开关的集合,如图34-1所示。通常,按键所用的开关为机械弹性开关,利用了机械触点的合、断作用。一个电压信号通过机械触点的断开、闭合过程的波形如图34-2所示。由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定的接通,在断开时也不会立即断开,因而在闭合及断开的瞬间均伴随有一连串的抖动,抖动时间的长短由按键的机械特性决定,一般为5

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

当前位置:首页 > 技术资料 > 技术总结

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁