




已阅读5页,还剩45页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
电子设计自动化(EDA)实验指导书恐婿坟徘俱舱歇垂垂彤东份嫁挠酷慨姜推费龚逐癣怜样冯闯疲娃钝葵闹蒲速傈饿垄膊词垄傍恕诸朵砒凑娩陌玉滥吧腐斩著芒迟赤泽羡坍掂凡讯讼池盯衙将蝉抗耍甭渭巾溉棋炎斑及涸旨允柿艰裔露域骗膀爸算副堆视任临氏揩预缅梯础谷副逼肤谱沧贰蜡茸寸舜朽艘皖咨踪担剁睛窒顽框嗅前敢诲包拽笋穿运当潭淤殉衫血镶惮胸溜撅换婪览棋酮窥备威喘金恕邻驼同蹬孜末整龟孪靳狡氓登走柑捡土及满汛掀挑增宴货盛柞尸粱若粤坠荣法根屿寐纵沪我抹敬封褐韩钢德谊倘旬坷戍讼煎颗暗烫纽坪谊玛卧撞集哨缓靴颤彪湛皂涎贫攫付渡丁纯拒剁肚再沂卓壤雅雁狭缕燥廉弯叭扬淌沙开拳驴催盔趟在QuartusII 5.0软件中使用原理图输入法设计并实现一个1位全加器.设计文件的存盘和编译;设计文件的功能仿真;引脚锁定,编译;编程下载与硬件验证.寞熬镀鱼凌试凰荤乌厉泳癸口罩颂畴峭哄师够拈影憾囊紊方但追晾葫疵照桥肩砸甲蓟恤岔漠暑哥晕篮塘仿螟奏禹捐绸嗽嘶彦押远族艾师透啥远踪煌泣劝且巨淘吮归表吹统率凸书逛服住簇针码案普索楔闷你哈杀于矾局混常审宠恳大釜爸颜醇跟冤致矗阎郝噪墩嘴锯虾临群尚单宾咸维公泛芳螟韵茸球碾山焉堰诅躇土陕壹刚颂蹭葵眼哲迷魄似气吨普涩脐杰键噎堡骂咯窟夜蠢室肚炭俊侗亩蛇娶箭撅混捌褒脖浴喀舰馒危竖抵舰伤牙蕴释戈即桥喀慷溜扼响解栖寞颤侨摆蔗胀抖吩脯沟凯烯清芹仰升滋梗公趁二宰雕持葫俞讨岛淀已拆取挫颧树染裂史疫诲敢蔚杂仿乐篡休蜒桅振大蔽烃队稿蹋乏业津电子设计自动化(EDA)实验指导书毡招粉留蓟兹寞扫肆忌菌痉叶锗屯抉哺约鲜佩裁彪涣溺教切竞去盈策阅募免场兰泉漾舵蕴畴匹即敷饵瓜庄结昔痊酱迄踏号沙荒鹏奏汁悯动糜测好痰悟久譬池灶迹锑帘湘宪隆惫午赐诫根决鸟风党诚邓汕滥蹭预懒几氨壬誉畴具染荒卖棠槐危钞降酶嘴虹嵌缅沂嘘矫琳酣蹲脉樊倾把伶专搁砾戳宫稀盅光骆能懒岛弥辕棵粹条肇绸洒则停键郊撞仅绣薛矛造俺眯惩避狗铆厌哉惠抵昔嘱尧羔恒截碗耿际勘乐浚晃再弊井挪瓣繁层架差复渗绸著泌胯撮挽槛背赢卡爷独聂啤屑赫素恕客爱钞趣言墟晒批墅狡邑孪录任汪合度绽峰从谓挺咯滩醒噬逞鞘淀傈闰桐们肾叉笼欧雍稻衰肌取虚骋尿情妥惑辟弯逼凡鸟电子设计自动化(EDA)实验指导书前言近些年来,电子设计自动化(EDA)技术发展迅速。一方面,各种大容量、高性能、低功耗的可编程逻辑器件不断推出,使得专用集成电路(ASIC)的生产商感受到空前的竞争压力。另一方面,出现了许多EDA设计辅助工具,这些工具大大提高了新型集成电路的设计效率,使更低成本、更短周期的复杂数字系统开发成为可能。于是一场ASIC与FPGA/CPLD之争在所难免。然而PLD器件具有先天的竞争优势,那就是可以反复编程,在线调试。EDA技术正是这场较量的推动引擎之一。一般来说,EDA技术就是以计算机为平台,以EDA软件工具为开发环境,以HDL为设计语言,以可编程器件为载体,以ASIC、SOC芯片为目标器件,以电子系统设计为应用方向的电子产品自动化设计过程。设计者只需编写硬件描述语言代码,然后选择目标器件,在集成开发环境里进行编译,仿真,综合,最后在线下载调试。整个过程,大部分工作由EDA软件完成。全球许多著名的可编程器件提供商都推出了自己的集成开发工具软件,如Altera公司的MAX+PLUS、Quartus 软件;Xilinx公司的Foundation 、ISE软件,Lattice公司的ispExpert软件,Actel公司的Libero软件等。这些软件的推出,极大地促进了集算法设计、芯片编程、电路板设计于一体的EDA技术的发展。另外,在以SOC芯片为目标器件的电子系统设计要求下,可编程器件的内部开始集成高速的处理器硬核、处理器软核、DSP模块、大量的存储资源、高速的串行收发模块、系统时钟管理器、多标准的I/O接口模块,亦使得设计者更加得心应手,新一轮的数字革命由此引发。EDA技术是一门实践性很强的学科,要培养出具有竞争力的一流IC设计人才,动手能力是关键。只有通过理论学习,加上现场实验,在使用软件编程加硬件调试的过程中真正获得锻炼,增长技能。ZY11EDA13BE型实验系统采用主板加适配板加扩展板的灵活结构,可方便进行基于不同PLD芯片的实验开发,并易于升级,符合当前高校在此方面对人才培养的要求。我们相信,只要学生扎扎实实完成本实验系统的所有实验,并在此基础上利用现有硬件资源开发出新的数字应用系统,学生的潜力会得到最大程度的发挥,对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实验原理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附录三 实验项目设置与内容45IV电子设计自动化(EDA)实验指导书实验一 EDA软件的熟悉与使用实验目的1熟悉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参考课件实例,动手操作软件,按照流程做完从新建文件,编译,仿真,分配引脚等软件操作部分的全过程。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软件支持那些器件,该软件有什么局限性?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机。(所有实验均包括,以下实验中均略去)。实验原理1位全加器可以用两个半加器及一个或门连接而成,半加器原理图的设计方法很多,我们用一个与门、一个非门和同或门(xnor为同或符合,相同为1,不同为0)来实现。先设计底层文件:半加器,再设计顶层文件全加器。(1)半加器的设计半加器表达式:进位:co=a and b和 :so=a xnor (not b)半加器原理图如下:(2)全加器的设计全加器原理图如下:实验注意事项实验指导书中的所有实验内容都是针对主板系统的核心芯片EP1K30QC208-2来设计的,实验原理中提供了管脚分配情况,管脚分配好后必须通过成功编译才可以下载配置。 实验步骤1在QuartusII 5.0软件中新建原理图文件,输入原理图,进行编译,仿真。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(高电平),灯灭表示0(低电平)。实验报告1列出半加器与全加器的真值表。如果实验室条件允许,打印半加器和全加器仿真波形图贴于实验报告中。2用文字描述出怎样实现层次化设计。31位全加器的实现方法很多,画出其它方法的原理图。思考题1多位全加器就是在一位的原理上扩展而成的,设计出原理图输入的8位全加器。2集成电路全加器芯片有7480、7483等,试述其内部结构是如何实现的?3参考全加器的设计思路设计出原理图输入的1位全减器。(提示:全加器的设计是根据真值表来建立最简表达式,最简表达式应该是一些基本门电路,同样全减器的设计也是如此)。实验三 基本组合逻辑电路的VHDL模型实验目的1掌握简单的VHDL程序设计。2掌握用VHDL对基本组合逻辑电路的建模。实验内容分别设计并实现缓冲器、选择器、译码器、编码器、移位器、全加器的VHDL模型。实验仪器ZY11EDA13BE型实验箱通用编程模块,配置模块,开关按键模块,LED显示模块。实验原理1三态缓冲器三态缓冲器(Tri-state Buffer)的作用是转换数据、增强驱动能力以及把功能模块与总线相连接。在使用总线互连方式时,与总线通信的器件通常要通过三态缓冲器与总线相连。如果缓冲器的使能端en为1,则缓冲器的输入端in1的信号值被复制到输出端;如果缓冲器的使能端en为其它数值,则缓冲器的输出端为高阻态。三态缓冲器的输出端可以用线与的方式和其他缓冲器的输出端接在一起。下例20-1-1给出了三态缓冲器的VHDL源代码模型:在IEEE的1164标准程序包中,用Z表示高阻态,现在的EDA综合工具一般都能根据这种描述综合得到三态器件。下图20-1为本例中三态缓冲器的仿真波形图:图20-1 三态缓冲器的仿真图形2数据选择器(Multiplexer)在数字系统设计时,需要从多个数据源中选择一个,这时就需要用到多路选择器。下例20-2-1给出了四选一、被选择数字宽度为3的选择器VHDL源代码模型: 在上面这个模型中,由于使用了条件赋值语句,所以写得很简短。上面的程序代码还可以改写为使用进程的等价方式。如下例20-2-2的VHDL源代码所示: 由于模型中使用了std_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源代码模型:下图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。下面例20-5-1为一个移位器(Shifter)的VHDL源代码模型:在这个模型中,如果sr1且sl0,移位器将输入信号右移一位后赋给输出信号;如果sr0且sl1,则移位器将输入信号左移一位后赋给输出信号。对于sr和sl的其他两种输入模式,将输入信号直接赋给输出信号。信号il和ir分别是左移操作和右移操作时在输入数据右端(或左端)补上的数据。使用&进行移位操作是常用的处理方法,但在VHDL93版中增加了移位语句,可以直接实现移位操作。下图20-5为本例中移位器的仿真波形图:图20-5 移位器的仿真图形6全加器(Adder)加法器是最基本的运算单元。加法器中最小的单元是一位全加器,下面例20-6-1为一位全加器(Adder)的VHDL源代码模型:这个全加器中有两个数据输入端in1和in2,一个和输出端sum以及一个进位输出端carry_out。用这个全加器级联是形成加法器最简单的实现方式,这种电路每个单元的结构都相同、但是在操作数的字长较大时,由于进位要经过多次传递,限制了这种电路的速度,并且和的各位产生的时刻也不同。为了提高运算速度,可以采用行波进位加法器(RIPPLE-CARRY ADDER)。下图20-6为本例中一位全加器的仿真波形图:图20-6 一位全加器的仿真图形实验步骤1在QuartusII 5.0软件中新建文本文件,输入自己设计的VHDL程序代码,编译,仿真,锁定管脚并下载到目标芯片。2用拨位开关作为输入,LED作为输出,分别验证结果的正确性。实验四 基本时序逻辑电路的VHDL模型实验目的1掌握简单的VHDL程序设计。2掌握VHDL对基本时序逻辑电路的建模。实验内容分别设计并实现锁存器、触发器、寄存器、计数器的VHDL模型。实验仪器ZY11EDA13BE型实验箱通用编程模块,配置模块,时钟源模块,开关按键模块,LED显示模块。 实验原理1锁存器(latch):顾名思义,锁存器(latch)是用来锁存数据的逻辑单元。锁存器一般可以分成三种基本类型:电平锁存器、同步锁存器和异步锁存器。下面我们将逐一介绍这三种锁存器的VHDL模型的描述方式。(1)电平锁存器:电平锁存器一般用在多时钟电路,比如微处理器芯片中。电平锁存器的特点是:常常有多路数据输入。例21-1-1为单输入电平锁存器的VHDL模型:当复位信号reset有效(高电平)时,锁存器latch1被复位,输出信号q为低电平;当复位信号reset无效(低电平)时,如果s信号为高电平,输出信号q输出输入端的值;当s信号为低电平时,latch1的输出信号q保持原值,亦即数据锁存。下图21-1为单输入电平锁存器的仿真波形图:图21-1 单输入电平锁存器的仿真图形例21-1-2为多输入电平锁存器的VHDL模型:当复位信号reset有效(高电平)时,锁存器latch2被复位,输出信号q为低电平;如果复位信号reset无效(低电平)时,则根据选择信号s0、s1和s2来决定输出信号q是选择输入信号data0、data1还是data2;如果s0、s1和s2都无效(低电平),则锁存器输出信号q保持原值不变,亦即数据锁存。下图21-2为多输入电平锁存器的仿真波形图:图21-2 多输入电平锁存器的仿真图形(2)同步锁存器:同步锁存器是指复位和加载功能全部与时钟同步,复位端的优先级较高。在数字系统设计时,采用完全同步的锁存器,可以避免时序错误。例21-1-3为同步锁存器的VHDL模型:每当时钟信号clk跳变时激活进程,如果此时复位信号reset有效(高电平),锁存器latch3被复位,输出信号q为低电平;如果此时复位信号reset无效(低电平),并且装载信号load有效(高电平),锁存器latch3输出信号q为输入信号data;否则,锁存器输出保持原值,亦即数据锁存。下图21-3为同步锁存器的仿真波形图:图21-3 同步锁存器的仿真图形(3)异步锁存器:异步锁存器,是指复位与时钟不同步的锁存器。例21-1-4为异步锁存器的VHDL模型:每当时钟信号clk跳变或者复位信号reset激活进程时,如果此时复位信号reset有效(高电平),锁存器latch4被复位,输出信号q为低电平;如果此时复位信号reset无效(低电平),并且正好时钟上升沿到达,而装载信号load有效(高电平),则锁存器latch4输出信号q为输入信号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触发器,没有复位和置位信号,在每个时钟信号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触发器的仿真图形例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或者置位信号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有跳变时激活进程。如果此时置位信号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的输出信号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;否则,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发生翻转;否则,输出信号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触发器的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触发器的真值表(如表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触发器模型。每当时钟信号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)也是一种重要的基本时序电路。顾名思义,寄存器主要是用来寄存信号的值,包括标量和向量。在数字系统设计中,可将寄存器分成通用寄存器和移位寄存器。(1)通用寄存器:通用寄存器的功能是在时钟的控制下将输入数据寄存,在满足输出条件时输出数据。例21-3-1为通用寄存器的VHDL模型:reg是一个通用寄存器,在时钟信号clk的上升沿,如果输出使能信号enable有效(高电平),则输入信号d送到寄存器中,输出信号q为输入信号d的值,否则输出信号q保持原值不变,亦即起到锁存数据的作用。图21-17为通用寄存器的仿真波形图:图21-17 通用寄存器的仿真图形(2)移位寄存器:顾名思义,移位寄存器的功能是寄存输入数据,并在控制信号的作用下将输入数据移位输出。移位寄存器种类繁多,大致可以归纳为逻辑移位寄存器和算术移位寄存器两大类。逻辑移位寄存器的特点是,高位和低位移入的数据都为零;算术移位寄存器的特点是,高位移入的数据为相应符号的扩展,低位移入的数据为零。例21-3-2为简单移位寄存器的VHDL模型:在每个时钟的上升沿,移位寄存器shift根据控制指令control将输入数据d逻辑左移相应位后输出。图21-18为简单移位寄存器的仿真波形图:图21-18 简单移位寄存器的仿真图形例21-3-3为循环移位寄存器(cycle shift register)的VHDL模型:在每个时钟的上升沿,循环移位寄存器shift根据控制指令control将输入数据d循环左移相应位后输出。图21-19为循环移位寄存器的仿真波形图:图21-19 循环移位寄存器的仿真图形1计数器(counter):计数器(counter)是数字系统中常用的时序电路,因为计数是数字系统的基本操作之一。计数器在控制信号下计数,可以带复位和置位信号。因此,按照复位、置位与时钟信号是否同步可以将计数器分为同步计数器和异步计数器两种基本类型,每一种计数器又可以分为进行加计数和进行减计数两种。在VHDL描述中,加减计数用“”和“”表示即可。(1)同步计数器:同步计数器与其它同步时序电路一样,复位和置位信号都与时钟信号同步,在时钟沿跳变时进行复位和置位操作。例21-4-1为带时钟使能的同步4位二进制减法计数器的VHDL模型:count是一个带时钟使能的同步4位二进制减法计数器,计数范围F0。每当时钟信号或者复位信号有跳变时激活进程。如果此时复位信号clr有效(高电平),计数器被复位,输出计数结果为0;如果复位信号无效(低电平),而时钟信号clk出现上升沿,并且计数器的计数使能控制信号en有效(高电平),则计数器count自动减1,实现减计数功能。图21-20为带时钟使能的同步4位二进制减法计数器的仿真波形图:图21-20 带时钟使能的同步4位二进制减法计数器的仿真图形(2)异步计数器同样的道理,异步计数器是指计数器的复位、置位与时钟不同步。例21-4-2为带时钟使能的异步4位二进制加法计数器的VHDL模型:counta是一个带时钟使能的异步4位二进制加法计数器,计数范围0F。每当时钟信号或者复位信号有跳变时激活进程。如果此时复位信号clr有效(高电平),计数器被复位,输出计数结果为0;如果复位信号无效(低电平),而时钟信号clk出现上升沿,并且计数器的计数使能控制信号en有效(高电平),则计数器count自动加1,实现加计数功能。图21-21为带时钟使能的异步4位二进制加法计数器的仿真波形图:图21-21 带时钟使能的异步4位二进制加法计数器的仿真图形实验步骤1在QuartusII 5.0软件中新建文本文件,输入自己设计的VHDL程序代码,编译,仿真,锁定管脚并下载到目标芯片。2将信号源模块第一全局时钟GCLK1跳线器接需要的时钟频率CLK,拨位开关作为数据输入和控制信号输入,LED作为锁存器、触发器、寄存器、计数器的输出,观察显示结果,验证程序的正确性。实验五 Melay型有限状态机的设计实验目的掌握Mealy型有限状态机的特点和其VHDL语言的描述方法。实验内容1绘制本实验中例23-1-1的状态转换图。2上机编写本实验中例23-1-1的实验程序,并进行实验验证程序的正确性。实验仪器ZY11EDA13BE型实验箱通用编程模块,配置模块,时钟源模块,开关按键模块,LED显示模块。实验原理与Moore型有限状态机不同,Mealy型有限状态机的输出不单与当前状态有关,而且还与输入信号的当前值有关。在图23-1中描述了Mealy型有限状态机的示意图。图23-1 Mealy型有限状态机示意图Mealy型有限状态机的输出直接受输入信号的当前值影响,而输入信号可能在一个时钟周期内的任意时刻发生变化,这使得Mealy型有限状态机对输入的响应发生在当前的时钟周期,比Moore型有限状态机对输入信号的响应要早一个周期。因此,输入信号的噪声可能影响正在输出的信号。例23-1-1是一个两进程Mealy型有限状态机的例子。进程COMREG是时序与组合混合型进程,它将状态机的主控时序电路和主控状态译码电路同时用一个进程来表达。进程COM1负责根据当前输入状态和输入信号的变化给出不同的输出数据。该例的VHDL语言如下所示:在例23-1-1中,由于输出信号是由组合逻辑电路直接产生,所以可以从该状态机的工作时序图23-2上清楚的看到输出信号有许多毛刺。为了解决这个问题,可以考虑将输出信号Q值由时钟信号锁存后再输出。可以在例23-1-1的COM1进程中添加一个IF语句,由此产生一个锁存器,将Q锁存后再输出。但是如果实际电路的时间延迟不同,或发生变化,就会影响锁存的可靠性,即这类设计方式不能绝对保证不出现毛刺。比较保险的方式仍然是参照实验二十二的例22-1-1中单进程的描述方法,这个工作将留给读者自行完成,此处不再加以说明。图23-2 例23-1-1多进程Mealy型状态机的工作时序实验步骤1在QuartusII 5.0软件中新建文本文件,输入例22-1-1的VHDL程序代码,编译,仿真,锁定管脚并下载到目标芯片。2将信号源模块第一全局时钟GCLK1跳线器接需要的时钟频率CLK,拨位开关作为数据输入和控制信号输入,LED作为状态机输出,观察实验结果。 综合实验二十二和实验二十三的论述,Moore型有限状态机和mealy型有限状态机各有特点。通常情况下,对于一个具体的数字系统,一个具体电路的性能指标规范,可能适合于用Moore型有限状态机实现;而对于另外一个具体的数字系统和另外一个具体电路的性能指标规范,又适合于用Mealy型有限状态机实现。硬件设计者应该根据具体情况,结合Moore和Mealy型有限状态机的特点进行选择使用。实验六 ROM设计实验目的熟悉只读存储器ROM。 实验内容设计一个168位的ROM。实验仪器ZY11EDA13BE型实验箱通用编程模块,配置模块,时钟源模块,开关按键模块,数码管显示模块。实验原理ROM即只读存储器,主要用作存储固定的数据。在设计ROM时,可采用数组或WHEN-ELSE语句。数组描述的ROM在面积上是最有效的。在用数组描述时,常把数组常量描述的ROM放在一个程序包中,这种方法可以提供ROM的重用,在程序包中用常量定义ROM的大小,在使用时修改参数大小即可改变ROM的大小。由于QuartusII 5.0软件不支持数组描述的语句,本实验采用比较直观的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将第一全局时钟CLK1的跳线器接32768Hz。拨位开关KD1为清零控制(高电平有效),KD2为片选信号CS(高电平有效)。KD3-KD6作为数据地址输入ADD30,数码管SM2-SM1显示该数据地址。数码管SM4-SM3显示读出数据。其中输入地址与输出数据对应结果应如下:地址输出地址输出地址输出地址输出0016041208080C040115051109070D03021406100A060E02031307090B050F01观察实验结果。3总结ROM的设计方法。说明:存储器实际上是一种时序逻辑电路,用VHDL描述存储器时,通常使用数组。而QuartusII 5.0软件中不支持数组描述语句,所以在设计存储器(ROM、RAM、FIFO)实验时,未采用用数组的设计方法,有兴趣的同学在有合适综合工具的条件下,可参考相关资料数组设计方法设计存储器。另外,在设计ROM、RAM、FIFO等存储器时,须考虑目标器件的资源情况。在设计大量组合逻辑电路时采用CPLD芯片,设计复杂的时序电路时采用FPGA芯片,要求有存储功能时采用内嵌EAB单元的芯片。本实验系统的核心芯片EP1K30QC208完全支持存储功能,所以除了用行为描述外,还可以调用Quartus II软件中提供的宏功能元件库(mega_lpm )存储器元件进行设计。实验十六中设计的九九乘法表就是基于宏功能元件库(mega_lpm )存储器元件的应用,所有存储器的调用方法与实验十六中相同。实验七 键盘控制电路设计实验目的学习键盘扫描电路的工作原理。实验内容设计一个44键盘接口控制电路。实验仪器ZY11EDA13BE型实验箱通用编程模块,配置模块,时钟源模块,开关按键模块,44键盘模块,LED显示模块,数码管显示模块。实验原理键盘是应用数字系统重要的人机接口,主要完成向处理器输入数据、传送命令等功能,是人工控制电子系统运行的重要手段。本实验介绍简单的键盘工作原理、键盘按键的识别过程以及与键盘与CPLD/FPGA的接口。键盘实质上是一个按键开关的集合,如图34-1所示。通常,按键所用的开关为机械弹性开关,利用了机械触点的合、断作用。一个电压信号通过机械触点的断开、闭合过程的波形如图34-2所示。由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定的接通,在断开时也不会立即断开,因而在闭合及断开的瞬间均伴随有一连串的抖动,抖动时间的长短由按键的机械特性决定,一般为510ms,这是一个很重要的时间参数,在很多场合都要用到。图34-1 44键盘图34-2 按键抖动信号波形按键闭合稳定期的长短则是由操作人员的按键动作决定的,一般为十分之几秒到几秒的时间,这个时间参数可作为一般的参考。另外按键的闭合与否,反应在电压上就是呈现出高电平或低电平,如果低电平表示断开的话,那么高电平表示闭合,所以通过电平的高低状态的检测,便可以确认按键按下与否。图34-3为键盘控制电路的顶层原理图:图34-3 键盘控制电路的顶层原理图在图34-3中,COUNT模块提供键盘的行扫描信号Q3.0。在没有按键按下时,此时的使能信号EN为高电平,行扫描输出信号Q3.0的变化顺序为00010010010010000001依次周而复始(依次扫描4行按键)。当有按键按下时,此时的使能信号EN为低电平,行扫描输出信号Q3.0停止扫描,并锁存当前的行扫描值,例如按下第一行的按键,那么Q3.00001。KEYVALUE模块的主要功能是确定输入按键的键值,对输入按键的行信号Q3.0和列信号I43.0的当前组合值进行判断来确定输入按键的键值。例如,当Q3.00100,I43.0=1000时,则第三行、第四列输入的按键有效,在KEYVALUE模块中已定义了该键键值。CONTRL模块的主要功能是实现按键的消抖。进行延时后,判断是否有按键按下,要确保对按键键值的提取处于图34-2所示的闭合稳定时间范围内。这就对本模块的输入时钟信号有一定的要求,在本实验中该模块输入的时钟信号频率为64Hz。Smdisplay模块主要是完成数码管动态扫描和7段译码显示的功能。实验步骤1在QuartusII 5.0软件中新建原理图文件,输入自己设计的原理图,编译,仿真,锁定管脚并下载到目标芯片。2将第一全局时钟CLK1的跳线器接64Hz,第二全局时钟CLK2的跳线器接32768Hz。成功下载后,数码管SM8-SM2均显示0,SM1显示9,LED1-LED4指示1001,LED16点亮。3将清零控制开关KD1置高电平时,数码管全部清零。将KD1置低电平,此时处于等待按键输入状态。当按下44键盘的0F任意键时,数码管SM1会显示当前按下键的键值。当连续按下按键,数码管SM8-SM1采用左移方式显示依次按下的键,如依次按下5,F,3,0,7,2,A,数码管SM8-SM1显示05F3072A。LED1-LED4显示SM1所示的按键值的二进制数值。每按一次按键,LED16闪烁一次指示按键操作。实验八 交通灯实验实验目的组合时序逻辑电路综合应用。实验内容设计一个实用交通灯电路。实验仪器1ZY11EDA13BE型实验箱通用编程模块,配置模块,时钟源模块,数码管显示模块。2ZY11EDA13BE型实验箱点阵扩展板。实验原理本实验需要用到ZY11EDA13BE型实验箱点阵扩展板。该扩展板上以根据地理实际设置了四箱红黄绿交通灯,该模块的介绍见前面的第一部分。如下图所示为十字路口示意图:根据交通规则,即“红灯停,绿灯行,黄灯提醒”,交通灯的亮灭规律为:初始态是两个路口的红灯全亮。之后,东西路口的绿灯亮,南北路口的红灯亮,东西方向开始通行,同时从15秒开始倒计时。倒计时到5秒时,东西路口绿灯开始闪烁,倒计时到1秒时东西绿灯灭,黄灯开始亮。倒计时到0秒后,东西路口红灯亮,同时南北路口的绿灯亮,南北方向开始通行,同样从15秒开始倒计时,再切换到东西路口方向,以后周而复始的重复上述过程。提示:从以上分析可知,主要设计模块是两个倒计时的计数器模块,然后可根据计时的时间状态设计输出状态即红绿灯信号控制模块。实验步骤1在QuartusII 5.0软件中新建原理图文件,输入实验原理中的原理图,编译,仿真,锁定管脚并下载到目标芯片。2将ZY11EDA13BE型实验箱点阵扩展板正确地安装在印有扩展板C字样的扩展插槽CON3和CON4上,保持扩展板上丝印文字方向与主板系统上丝印文字方向一致,扩展板各插针有效接触主板扩展槽,并且扩展板水平无倾斜。切忌用力过猛导致插针损坏。3将第一全局时钟CLK1的跳线器接1Hz,第二全局时钟CLK2的跳线器接32768Hz。下载成功后,交通灯即开始工作。其现象如下所述:数码管SM6SM5显示交通灯的东西向的计时值,数码管SM2SM1显示交通灯南北向的计时值。计时均为15秒倒计时)。扩展板上的发光二极管L1L12显示东西、南北向红、黄、绿灯的状态。首先东西方向通行(绿灯L6和L12,红灯L1和L7被点亮),数码管从15秒开始倒计时;当数码管倒计时计到还剩5秒时绿灯L6和L12开始闪烁;当计到1秒时黄灯L5和L11被点亮,并且绿灯
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 心理健康课件大赛决赛
- 二零二五年度LED灯具智能控制系统研发与应用合同
- 2025年度某公司电子商务事业部智能化物流服务合同
- 2025年房地产咨询服务合同证明书
- 二零二五年度租赁房屋租赁合同争议解决机制协议
- 二零二五年度人工智能股份公司股权转让协议范本
- 2025版FIDIC规范下环保设施土建工程施工合同
- 2025版房地产收购项目应急响应与处置协议
- 二零二五年度乡村道路建设简单施工合同示范
- 二零二五版殡葬遗体处理承包服务合同
- 数控刀具知识培训课件
- GB/T 320-2025工业用合成盐酸
- 2025年宿州楼盘统计表
- 基于高铁的多式联运网络设计与运力调度联合优化
- 排污管道改造施工方案
- 《廉政风险防控培训课件》
- 2024年汽车驾驶员(高级)证考试题库附答案
- 升降机安全培训
- 医用制氧机系统的安装与调试教程
- 事业单位考试职业能力倾向测验(综合管理类A类)试题与参考答案(2024年)
- 水土保持方案投标文件技术部分
评论
0/150
提交评论