电子设计自动化(eda)实验指导书bdbd.docx
《电子设计自动化(eda)实验指导书bdbd.docx》由会员分享,可在线阅读,更多相关《电子设计自动化(eda)实验指导书bdbd.docx(49页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
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触
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子设计 自动化 eda 实验 指导书 bdbd
限制150内