电子线路(EDA)实验指导书_第1页
电子线路(EDA)实验指导书_第2页
电子线路(EDA)实验指导书_第3页
电子线路(EDA)实验指导书_第4页
电子线路(EDA)实验指导书_第5页
已阅读5页,还剩31页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一部分 实验开发系统硬件介绍一、概述EL-EDA系列实验箱是针对数字电路设计CPLD/FPGA及模拟电路设计实验开发的系统,IV、V型为数、模混合可编程器件实验开发系统。由于可编程器件的设计灵活性,其系统更能满足本科电类专业的EDA实验教学、课程设计、毕业设计及大学生电子设计竞赛等。二、配套软件Max+plus II 10.1基础版 (商业版见报价单及相关资料说明) 1.运行环境 Win95/98/2000 2.层次化设计 支持 3.原理图输入 支持 4.文本输入支持 5.AHDL输入 支持 6.VHDL输入 支持7.原理图设计宏库 基本库 8.仿真和时序分析 支持9.逻辑综合 支持 10.

2、 硬件编程/下载 支持 11.支持芯片 Max7000全系列(如7000A、7000B、7000E、7000S等)和Max9000系列等Flex6000、8000、10K(如10K系列的10K10、20、30、50、10K100等)、10KE系列等三、系统硬件组成:(一)EDA-IV型实验箱结构组成EDA-IV实验箱的组成:CPLD适配器板、模拟可编程器件单元、8段数码显示单元、点阵显示单元、拨码开关单元、按键单元、可调时钟源(clock)、单片机单元、功能扩展区域、存储器单元(2864)、逻辑电平单元、JTAG下载接口、LED显示单元、D/A转换单元、电压比较器单、模拟量输出单元(蜂鸣器)、

3、信号源、电源单元结构。EDA-IV实验箱组成框图如图1-1所示: 图1-1 EDA-IV型实验箱结构框图1 CPLD/FPGA适配器板:配置是的可编程逻辑器件是EPF10k20或MAX7128接口板。使用的下载接口是数字芯片的下载接口(DIGITAL JTAG),主要用于CPLD/FPGA芯片的数据下载。2扫描驱动类接口:1) 8位八段数码管显示输出系统的显示采用8位8段共阴极数码管(高电平有效),其8位段驱动接口:a、b、c、d、e、f、g、Dp;8位位驱动采用3-8译码器产生,对应的接口为:SEL0SEL2,悬空为高电平,其具体的对应关系如1-1表所示:表1-1 LED数码管显示接口及对应

4、的显示状态接口序号数码管SEL2SEL1SEL0状态111第1位亮110第2位亮101第3位亮100第4位亮011第5位亮010第6位亮001第7位亮0xX第8位亮2)16×16位发光二极管(LED)点阵E2PROM(2864),用来保存字符数据信息,接口序号为:数据线:D0D7;地址线:A0A11;片选线:/CE;读有效信号线:/OE;写有效信号线:/WE。16×16点阵显示,各驱动接口为:第一行到第十六行对应的为L0L15,第一列到第十六列驱动采用3-8译码,对应的接口为SEL0SEL3。具体对应关系见表1-2:表1-2 点阵显示接口对应关系表SEL3SEL2SEL1S

5、EL0点亮列号1111第1列1110第2列1101第3列1100第4列1011第5列1010第6列1001第7列1000第8列0111第9列0110第10列0101第11列0100第12列0011第13列0010第14列0001第15列0000第16列3通用数字式接口1)12个按键开关。2)18个拨码开关。3)16个红色发光二极管。4模拟器件及接口1)扬声器(高电平TTL驱动)。2)AD558数/模转换(8位,05V电压输出)。有两种输出方式。第一种,将短路子接在左侧的两个铜柱上,D/A转换输出到D/AOUT区域的个孔输出;第二种,将短路子接在右侧的两个铜柱上,D/A转换输出接到LM358的同

6、相输入端。3) LM358单电源二运放。与AD558配合,将AD558的输出接到LM358的同相输入端,作为他的同相输入信号;在LM358的右上角,有TEST IN输入9个插孔,它是LM358的反相输入端。5模拟信号源模块Diff IN:需差分转换信号输入口;Diff OUT+:差分信号正极性输出端口,为Diff IN差分后的信号;Diff OUT-:差分信号负极性输出端口,为Diff IN差分后的信号;Mux IN1:需叠加信号1输入口;Mux IN2:需叠加信号2输入口;Mux OUT:叠加信号输出端口,为Mux IN1与Mux IN2相加后的信号;SIN_OUT 312KHz:正弦信号3

7、12KHz输出端口;6模拟可编程器件 Lattice公司的Pac10、20、80芯片组,可做模拟可编程器件系统实验。7. 单片机接口模块本单片机为开放性设计,可自由下载程序,对整个系统无任何影响。可以实现CPLD/FPGA与单片机的接口实验,以及高级的FPGA开发,其对应的接口为:P0口:D0D7;P1口:P10P17;P2口:P20P27;复位信号输出:RESETP3口分别对应为:/RD、/WR、RXD、TXD、T0、T1、INT0、INT1其他接口为:ALE、PSENRESET复位端口提供一高电平脉冲。8. 可调数字信号源时钟信号源可产生从1.2Hz20MHz之间的任意频率。该电路采用全数

8、字化设计,提供的最高方波频率为20MHz,最低频率为1.2Hz,并且频率可以在这个范围内随意组合变化。整个信号源共有六个输出口(CLK0CLK5),每个输出口输出的频率各不相同,通过JP1JP11这11组跳线来完成设置的,其中: CLK0输出口的频率通过JP7(CLK0)来设置的,这样输出的时钟频率种类为20MHz、10MHz、5MHz、2.5MHz、1.25MHz;CLK1输出口的频率通过JP1(F_SEL1)及JP8(CLK1)来设置,输出频率对应的关系为:FCLK1=20MHz×F_SEL1×CLK1CLK2输出口的频率通过JP1(F_SEL1)、JP2(F_SEL2

9、)及JP9(CLK2)来设置,输出频率对应的关系为:FCLK2=20MHz×F_SEL1×F_SEL2×CLK2CLK3输出口的频率通过JP1(F_SEL1)、JP2(F_SEL2)、JP3(F_SEL3)及JP10(CLK3)来设置,输出频率对应的关系为:FCLK3=20MHz×F_SEL1×F_SEL2×F_SEL3×CLK3CLK4输出口的频率通过JP1(F_SEL1)、JP2(F_SEL2)、JP3(F_SEL3)、JP4(F_SEL4)及JP11(CLK4)来设置,输出频率对应的关系为:FCLK4=20MHz

10、15;F_SEL1×F_SEL2×F_SEL3×F_SEL4×CLK4CLK5输出口的频率通过JP1(F_SEL1)、JP2(F_SEL2)、JP3(F_SEL3)、JP4(F_SEL4)、JP5(F_SEL5)及JP6(CLK5)来设置,输出频率对应的关系为:FCLK5=20MHz×F_SEL1×F_SEL2×F_SEL3×F_SEL4×F_SEL5×CLK5例如:要得到1.2Hz的信号,短路子的设置如下: JP1 F_SEL1:1/16 JP2 F_SEL2:1/16JP3 F_SEL3:1

11、/16JP4 F_SEL4:1/16JP5 F_SEL5:1/16JP6 CLK5:1/16 1.2Hz信号由CLK5输出。9其它1)E2 PROM 28642)连线若干。3)可扩展区域(类似面包板)。4)可变电阻器,产生可变的模拟电压量(05V)。5)JTAG下载编程接口。EDA-IV实验箱的参考电路图如图1-2所示。图1-2 EDA-IV型实验箱参考电路图第二部分 软件介绍一、软件简介及安装(一)软件简介Max+plus II教学版软件是免费的,你需要到Altera公司的网页去申请一个授权号(软件安装部分有详细说明)。其正式(商业)版需要到Altera公司的中国代理购买,它带有一个软件狗,

12、需置于计算机并行口上。开放版支持仿真和时序分析、VHDL语言设计。(二)软件的安装 该软件运行在Windows95/98/2000操作系统下。软件的安装步骤如下:1. 将光盘插入PC机光驱,假定您的光驱号为E:, 2. 运行E:maxplusII10.0fullsetup.exe文件;3. 运行setup.exe文件后如图2-1所示;图2-1 安装启动界面 4. 按Next,并选择Yes接受协议,出现图2-2;图2-2 安装设计界面图2-3 安装路径选择界面 5. 单击Browse按钮,选择安装路径(假设为d:),如图2-3所示,按下Next,直到安装完成。这时该软件自动在d:生成maxplu

13、s2等文件夹。 6. 将光盘里随机附送的LICENSE.DAT文件拷贝至安装后的D:maxplus2软件包根目录下即可。注意:license.dat文件来自于Altera网站授权或代理商授权。7. 点击windows程序组下的alteramaxplusII 10.0 图标,启动本软件,如下图2-4所示。注意:第一次启动软件会有几个对话窗口,提示没有安装License文件或软件狗,并附有其公司网址及如何申请license授权文件等详细说明。图2-4 软件启动界面8. 选择并点击Optionslicense setup菜单,如下图2-5所示:图2-5 license安装界面单击license se

14、tup,使用Browse浏览指出license.dat文件所在路径。即:当初拷贝license.dat文件后的路径d:maxplus2license.dat,如图2-6所示。图2-6 指定授权文件界面9. 点击OK按钮确认即可,至此成功地完成了整个软件的安装。注意:本安装过程以其10.1版本为例介绍的,其它版本安装过程类似。(三)、试验指导样例程序的简单说明: 1. 必须将光盘中的E:testalteratest1test9所有子目录完整的拷贝至硬盘某目录下,并去掉包括隐含文件在内的所有文件的只读属性,否则将不能正常使用。 2. 实验一的所有相关文件在:TESTALTERAtest1目录下.

15、实验二的所有相关文件在E:TESTALTERAtest2目录下. 依此类推。3. 每一个实验的源文件文件.gdf文件(原理图)、.tdf文件(AHDL语言)、.vhd文件(VHDL语言)。其余都是系统生成的临时文件。如果系统在编译中出现不可预料的错误(这种情况很少发生),建议将所有临时文件都删去,然后重新启动软件包。二、软件使用举例(一) 软件设计流程如图2-7所示。(二) 软件使用的以实验一MaxplusII开发环境入门为例做说明。图2-7 CPLD/FPGA设计流程第三部分 数字实验部分(CPLD/FPGA)实验一 MaxplusII开发环境入门一、实验目的:1、 了解MaxplusII软

16、件及基本操作(以3-8译码器为例)2、 熟悉图形编辑器Graphic Editor File的设计输入3、 掌握电路的编译和适配4、 掌握电路仿真与时序分析二、实验步骤(一) 设计输入1、 软件启动。进入Altera软件包,打开MAX+plus II 10.1软件,如图3-1-1所示。图3-1-1 进入MAX+plus II 10. 1界面2、 新建文件File/New。点击下图3-1-2主菜单中的空白图标,进入新建文件状态。或弹出设计输入选择窗口,如图3-1-3所示。 图3-1-2 工具栏图3-1-3 新建文件对话框3、 选择图形编辑器输入方式Graphic Editor File,单击OK

17、按钮,打开原理图编辑器,进入原理图设计输入。原理图编辑状态如图3-1-4所示:图3-1-4 新建图形文件4、 设计的输入(放置元件、标记输入/输出端口、器件连线、保存原理图、设置此项目为当前文件)。以3/8线译码器为例说明:D0=A*B*CD1=A*B*CD2=A*B*CD3=A*B*CD4=A*B*CD5=A*B*CD6=A*B*CD7=A*B*C从逻辑功能来看,由输入端口INPUT、反相器(3个)、3输入与门(8个)、输出端口OUTPUT组成。1)放置一个器件在原理图上a在原理图的空白处双击鼠标左键,出现窗口,如图3-1-6,也可单击鼠标右键,出现窗口如图3-1-5,选择“Enter sy

18、mbol.”,出现窗口,如图3-1-6,进入器件选择输入窗口。图3-1-5 放置元件图3-1-6 选择器件窗口 b 在“symbol name”提示处(光标处)输入元件名称或用鼠标双击库文件(在提示窗”Symbol Libraries”里的各个文件),在提示窗“Symbol Files”中双击元件或选中元件按下OK即可将该器件放置到原理图中。c 如果安放相同元件,只要按住Ctrl键,同时用鼠标拖动该元件复制即可。d 一个完整的电路包括:输入端口INPUT、电路元器件集合、输出端口OUTPUT。e 下图3-1-7为3-8译码器元件安放结果。图3-1-7 3-8译码器的元件布局2)添加连线到器件的

19、管脚上:把鼠标移到元件引脚附近,则鼠标光标自动由箭头变为十字,按住鼠标右键拖动,即可画出连线。3-8译码器原理图如图3-1-8所示。图3-1-8 3-8译码器原理图3)标记输入/输出端口属性分别双击输入端口的“PIN-NAME”,当变成黑色时,即可输入标记符并回车确认;输出端口标记方法类似。本译码器的3输入端分别标记为:A、B、C;其8输出端分别为:D0、D1、D2、D3、D4、D5、D6、D7。如图3-1-9所示。图3-1-9 管脚命名4)保存原理图单击保存按钮图标,对于新建文件,出现类似文件管理器的图框,请选择保存路径、文件名称保存原理图,原理图的扩展名为.gdf。为便于以后查看,请以自己

20、的汉语拼音缩写新建一个文件夹,存放自己编辑的文件。5)点击FileProjectset project to current file设置此项目为当前文件,如下图3-1-10所示。注意,此操作在你打开几个原有项目文件时尤为重要,否则容易出错。图3-1-10 设计当前工程图此时在软件窗口的顶层有路径指示,见下图3-1-11图3-1-11 当前路径指示至此,你已完成了一个电路的原理图设计输入的整个过程。(二) 电路的编译与适配1、 选择芯片型号选择当前项目文件欲设计实现的实际芯片进行编译适配,点击AssignDevice菜单选择芯片,如图3-1-12对话窗所示。如果此时不选择适配芯片的话,该软件将

21、自动把所有适合本电路的芯片一一进行编译适配,这将耗费你许多时间。该例程中我们选用CPLD芯片来实现,如用7000S系列的EPM7128SLC84-15芯片;同样也可以用FPGA芯片EPFl0K20 TC144-4来实现,你只需在下面的对话窗口中指出具体的芯片型号即可。图3-1-12 CPLD器件选择窗口2、编译适配启动MAX+plus II Compiler菜单,或点击主菜单下的快捷键,打开编译窗口。按Start开始编译,并显示编译结果,生成下载文件。如果编译时选择的芯片是CPLD,则生成 * pof文件;如果是FPGA芯片的话,则生成* sof文件,以备硬件下载编程时调用。同时生成 * rp

22、t报告文件,可详细查看编译结果。如有错误待修改后再进行编译适配,如图3-1-13所示。注意,此时在主菜单栏里的 Processing菜单下有许多编译时的选项,视实际情况选择设置。图3-1-13 编译窗口 如果说你设计的电路顺利地通过了编译,在电路不复杂的情况下,就可以对芯片进行编程下载,直到设计的硬件实现,至此你已经完成了一个EDA的设计与实现的整个过程。(三) 电路仿真与时序分析MaxplusII教学版软件支持电路的功能仿真(或称前仿真)和时序分析(或称后仿真)。众所周知,开发人员在进行电路设计时,非常希望有比较先进的高效的仿真工具出现,这将为设计者的设计过程节约很多时间和成本。由于EDA工

23、具拥有的强大的(在线)仿真功能,它迅速地得到了电子工程设计人员的青睐,这也是当今EDA(CPLD/FPGA)技术非常火爆的原因之一。下面就axplusII软件的仿真功能的基本应用作一初步介绍。1. 功能仿真前仿真a. 编译选择(MaxplusIICompiler、ProcessingFunctional SNF Extractor打勾功能仿真)。主菜单已改变如图3-1-14。 图3-1-14 选择仿真类型菜单b. 此时编译窗口改变如图3-1-15。这时下一步做的仿真是功能仿真。 图3-1-15 功能仿真c. 添加仿真激励信号波形(MaxplusIIWaveform editor、Enter n

24、odes from snf、end time、添加激励信号波形、Save、MaxplusIISimulator)。启动axplusIIavefrom editor菜单,进入波形编辑窗口,如图3-1-16。图3-1-16 波形编辑窗口d. 将鼠标移至空白处并单击右键,出现如图3-1-17所示对话窗口。图3-1-17 调入设计管脚e选择Enter nodes from snf选项并按左键确认,出现如图3-1-18所示对话框,单击和按钮,选择欲仿真的I/O管脚。图3-1-18 加入要仿真的管脚f单击OK按钮,列出仿真电路的输入、输出管脚图,如图3-1-19所示。在本电路中,3-8译码器的输出为灰色,

25、表示未仿真前其输出是未知的。图3-1-19 仿真前波形g调整管脚顺序,符合常规习惯,调整时只需选中某一管脚(如)并按住鼠标左键拖止相应位置即可完成。如图3-1-20所示。图3-1-20 调整管脚顺序h准备为电路输入端口添加激励波形,如下图3-1-21所示。选中欲添加信号的管脚,窗口左边的信号源即刻变成可操作状态,如箭头和圆括弧所示。根据实际电路要求选择信号源种类,在本电路中我们选择时钟信号就可以满足仿真要求。图3-1-21 编辑输入管脚波形i选择仿真时间:视电路实际要求确定仿真时间长短,如图3-1-22所示。在当前主菜单“File”的下拉菜单中选中“End Time”,出现如图3-1-22中箭

26、头所指的窗口,在提示窗“Time”中输入仿真结束时间,即可修改仿真时间。在本实验中,选择软件的默认时间1us就能观察到3-8译码器的8个输出状态。图3-1-22 仿真时间设置j为A、B、C三输入端口添加信号:先选中A输入端“”,然后再点击窗口左侧的时钟信号源图标“”添加激励波形,出现如图3-1-23对话窗口。图3-1-23 设计输入波形k在本例程中,我们选择初始电平为“0”,时钟周期倍数为“1”,(时钟周期倍数只能为1的整数倍)并按OK确认。上述操作已完成A输入端添加激励信号,点击全屏显示如图3-1-24所示。 图3-1-24 设计引脚A为时钟l根据电路要求编辑另外两路输入端口的激励信号波形,

27、在本实验中,3-8译码器的、三路信号的频率分别为1、2、4倍关系,相当于用波形输入真值表。按上述方法为B、C两路端口添加波形;然后单击左边全屏显示图标“”,三路激励信号的编辑结果如图3-1-25所示。图3-1-25 输入波形设置m保存激励信号编辑结果:使用FileSave或关闭当前波形编辑窗口时均出现如图3-1-26对话框,注意此时的文件名称不要随意改动,单击OK按钮保存激励信号波形。图3-1-26 保存波形编辑文件n电路仿真。打开MaxplusIISimulator菜单,或点击主菜单下的快捷键,弹出仿真对话窗口,如图3-1-27所示。图3-1-27 电路仿真窗口o确定仿真时间,End Tim

28、e 为“1”的整数倍。注意:如果在添加激励信号的时未设置结束时间的话,此时在仿真窗口中就不能修改End Time参数。在该例程中,使用的是默认时间,单击Start开始仿真,如有出错报告,请查找原因,一般是激励信号添加有误。本电路仿真结果报告中无错误、无警告,如图3-1-28所示。图3-1-28 仿真结束p. 观察电路仿真结果,请单击激励输出波形文件图标,如图3-1-29所示。图3-1-29 仿真结果窗口q. 由图可见,所设计的3-8译码器顺利地通过了仿真,设计完全正确。至此功能仿真结束。2. 时序仿真a. 选择编译。选择 MAX+plus II Compiler菜单,进入编译功能。此时主菜单已

29、改变如图3-1-30。点击主菜单“Processing”下拉菜单中“Timing SNF Extractor”。 编译完成后,下一步所做的仿真既是时序仿真。 图3-1-30 时序仿真窗口b时序仿真。打开MaxplusIISimulator菜单,弹出其对话窗口,如图3-1-31所示。点击“Start”开始时序仿真。 图3-1-31 时序仿真窗口c. 观察电路仿真结果,请单击激励输出波形文件图标,如下图3-1-32。仔细观查电路的时序,在空白处单击鼠标左键,出现测量标尺,然后将标尺拖至欲测量的地方,可查看延时情况,图3-1-32时序仿真表明激励输出有15.2个ns的延迟时间。至此电路的仿真功能介绍

30、完毕。 图3-1-32 仿真结果图3. 时序仿真步长和仿真时间的设置a. 在有的电路仿真时,可能需要修改仿真步长,在主菜单“Options”下拉菜单中选中“Grid Size”, 如图3-1-33。 图3-1-33 修改网格大小菜单b. 出现如图3-1-34窗口,在提示窗“Grid Size”对应的光标行修改数据,然后点击“OK”确认。图3-1-34 设置网格参数c. 激励波形的修改。如图3-1-35用鼠标点住某一处波形拖动,出现黑色的条,即被选中。此时可通过选择主窗口左边的波形键选择高低电平,如图3-1-36。 图3-1-35 设计激励信号窗口图3-1-36 选择波形的高低电平(四) 管脚的

31、重新分配与定位1、启动MaxplusIIFloorplan Editor或快捷键 。出现如图3-1-37所示的芯片管脚自动分配画面(读者可在芯片的空白处试着双击鼠标左键,你能发现这样操作可在如图3-1-37芯片管脚分配图和如图3-1-38芯片内部的逻辑块之间进行切换)。Floorplan Editor显示的是该设计项目的管脚分配图。这是由软件自动分配的。用户可随意改变管脚分配,以方便与你的外设电路进行匹配。管脚编辑过程如下:图3-1-37 芯片管脚分配图图3-1-38 芯片内部逻辑块图2、 点击手动分配图标,所有管脚将出现在Unassigned Node窗口。如图3-1-39中箭头所示。图3-

32、1-39 编译后的管脚列在unassigned node窗口3、 用鼠标按住输入/输出端口,拖动进行分配。用鼠标按住某输入/输出端口,并拖到下面芯片的某一管脚上,松开鼠标左键,便可完成一个管脚的重新分配(读者可试着在管脚之间相互拖拽,你会觉得非常方便)。注意:芯片上有一些特定功能的管脚,如时钟端,清零端等,进行管脚编辑时一定要注意,一般管脚都放置在I/O口。注意:一定要重新编译。4、 或选用自动分配方式,点击软件窗口左侧图标,管脚会自动分配到器件的各个管脚。分配完成后请注意重新编译。用自动分配后,如果要修改,则要手工分配,点手工分配,所有的管脚重新回到“Unassigned Nodes &am

33、p;”窗口中。然后再一个一个的把管脚分配在器件上。然后重新编译。(五) 器件编程下载与硬件实现1. 实验箱电路板上的连线用连接线实现三位拨码开关提供三位译码器的输入信号A、B、C;用连接线实现LED灯表示译码器的输出D0.D7。A B C LED0 LED1 LED2 LED3 LED4 LED5 LED6 LED7 0 0 0 亮 灭 灭 灭 灭 灭 灭 灭1 0 0 灭 亮 灭 灭 灭 灭 灭 灭0 1 0 灭 灭 亮 灭 灭 灭 灭 灭1 1 0 灭 灭 灭 亮 灭 灭 灭 灭0 0 1 灭 灭 灭 灭 亮 灭 灭 灭1 0 1 灭 灭 灭 灭 灭 亮 灭 灭0 1 1 灭 灭 灭 灭

34、灭 灭 亮 灭1 1 1 灭 灭 灭 灭 灭 灭 灭 亮2. 器件的编程下载a. 启动MaxplusIIprogrammer或快捷键 。如是第一次启动将出现如图3-1-40所示的对话框,此时应填写硬件类型,在“Hardware type”提示窗中选择“byte blaster”,在“Parallel Port”提示窗中选择“Lpt1:0x378”,按下OK,如图3-1-41。图3-1-40 器件下载窗口图3-1-41 下载口选择b. 选中JTAGMulti-Device JTAG Chain菜单项,如图3-1-42所示。点击“Select Programming File”选择要下载的.Pof

35、文件(CPLD器件的下载文件后缀是.Pof,FPGA器件的下载文件后缀是.sof)。然后按Add加到文件列表中,如图3-1-43所示。如果不是当前要下载编程的文件的话,请使用Delete将其删除。然后点击OK。图3-1-42 下载文件选择窗口图3-1-43 添加下载文件c. 出现下图3-1-44的下载编程界面。单击Program按钮,进行下载编程(如是FPGA芯片,请点击Configure),如不能正确下载,请点击如图3-1-43的Detect jtag chain info按钮进行JTAG测试,查找原因,直至完成下载,最后按OK退出。至此,你已经完成了可编程器件的从设计到下载实现的整个过程。

36、图3-1-44 下载文件窗口d. 结合电路功能,观察设计实现的正确结果。(六)用硬件描述性语言VHDL完成3-8译码器设计1、 新建文件2、 选择Text Editor file点击OK3、 生成设计项目文件,设置为当前项目4、 键入程序- A simple 3 to 8 decoder library ieee;use ieee.std_logic_1164.all;entity decoder isport ( inp: in std_logic_vector(2 downto 0); outp: out std_logic_vector(7 downto 0);end decoder;a

37、rchitecture behave of decoder is beginoutp(0) <= '1' when inp = "000" else '0'outp(1) <= '1' when inp = "001" else '0'outp(2) <= '1' when inp = "010" else '0'outp(3) <= '1' when inp = "011" el

38、se '0'outp(4) <= '1' when inp = "100" else '0'outp(5) <= '1' when inp = "101" else '0'outp(6) <= '1' when inp = "110" else '0'outp(7) <= '1' when inp = "111" else '0'end behave

39、;5、 保存为.vhd文件,然后进行编译适配即可。其它操作都与原理图设计输入相同。三、实验报告要求1. 在3/8译码器的图形输入法和语言输入法中,仿真中是否出现错误提示,具体的提示有哪些,你是如何改正的?实验二 全加器设计一、实验目的1. 设计并实现一个全加器;2. 掌握布尔方程的结构体编程方法;3. 掌握with select when结构体编程方法;4. 掌握when else 结构体编程方法;5. 掌握顺序语句if then else 和 case when结构体编程方法。二、实验原理全加器,如图3-2-1所示,其输入端有:数据输入端Ai、Bi;低位进位输入端Ci-1。其输出端有和Si和

40、向高位进位Ci。图3-2-1 全加器框图其逻辑功能是:低位进位输入两加数输入输出Ci-1AiBiSiCi0000000110010100110110010101011100111111用VHDL语言中描述一个全加器的方法有多种,例如:使用并行语句,布尔方程实现的结构体、 with select when结构体、 when else 结构体实现;使用顺序语句if then else 和 case when结构体实现。三、实验步骤1、使用并行语句布尔方程实现全加器;2、使用并行语句真值表with select when实现全加器;3、使用并行语句真值表when else 实现全加器;4、使用顺序语

41、句真值表if then else 实现全加器5、 使用顺序语句真值表case when实现全加器。三、实验报告要求1. 写出全加器使用并行语句布尔方程实现结构体的VHDL源程序;2. 写出全加器使用并行语句真值表with select when结构体的VHDL源程序;3. 写出全加器使用并行语句真值表when else 结构体的VHDL源程序;4. 写出全加器使用顺序语句真值表if then else结构体的VHDL源程序;5. 写出全加器使用顺序语句真值表case when结构体的VHDL源程序;6. 在全加器的VHDL语言各种语句编程中,仿真中是否出现错误提示,具体的提示有哪些,你是如何改

42、正的?实验三 触发器及计数器设计一、实验目的1. 掌握用VHDL语言设计时序电路。2. 用VHDL语言设计D锁存器。3. 用VHDL语言设计JK触发器。4. 用VHDL语言设计一个十进制可预置计数器。二、实验原理1. 锁存器。正跳沿触发的触发器的电路符号如下图所示。它是一个正边沿触发的D触发器,有一个数据输入端D,一个时钟输入端CLK和一个数据输出端Q。D锁存器的真值表如下表所示。从表中可以看到,D锁存器的输出端只有在正边沿脉冲过后,输入端D的数据才可以传递到输出端Q。一个D锁存器真值表见表3-3-1表3-3-1 D锁存器真值表序号数据输入端D时钟输入端CLK数据输出端Q1X0不变2X1不变3

43、00411图3-3-1 D锁存器的逻辑图2. JK触发器。带有复位/置位功能的触发器电路符号如下图所示。JK触发器的输入端有置位输入端SD(低电平有效),复位输入端RD(低电平有效),数据输入端J和K,时钟输入端CLK;输出端Q和反向输出端QB。JK触发器的真值表如表3-3-2所示。表3-3-2 JK触发器真值表序号输入输出SDRDCLKJKQQB101XXX10210XXX01300XXXXX41100Qn!Qn5110101611101071111翻翻8110XXQn!Qn9111XXQn!Qn图3-3-2 JK触发器的逻辑图3. 十进制可预置计数器。计数器是最常用的寄存器逻辑电路,从微处

44、理器的地址发生器到频率计都需要用到计数器。一般计数器分为两类:加法计数器和减法计数器。加法计数器每来一个脉冲计数值加1;减法计数器每来一个脉冲计数值减1。下面将用VHDL语言设计一个十进制可预置计数器。输入端有:时钟输入端CLK、清零输入端CLR、置数控制端LD、4个数据预置输入端D3D0、2个计数允许信号EP和ET;输出端有:4个计数输出端Q3Q0,进位输出端C。功能表如表3-3-3所示。表3-3-3十进制可预置计数器功能表功能输入输出CLRLDCLKEPETD3D2D1D0Q3Q2Q1Q0C复位01XXXD3D2D1D000000预置10XXD3D2D1D0D3D2D1D00计数1111X

45、XXX递增计数保持11X0XXXXX保持保持11XX0XXXX保持三、实验报告要求1. 写出D锁存器的VHDL源程序;2. 写出JK触发器的VHDL源程序;3. 写出十进制可预置计数器的VHDL源程序;4. 在本次实验时序逻辑电路的VHDL语言编程中,仿真中是否出现错误提示,具体的提示有哪些,你是如何改正的?5. 实验箱进行功能验证时是否正确,如不正确你是怎样解决的?实验四 扫描显示电路的驱动一、实验目的1. 了解EDA实验箱中七段数码管显示模块的工作原理。2. 用VHDL语言设计七段译码器,用VHDL语言设计一个八进制计数器3. 利用实验箱上的3/8线译码器实现数码管的位选。4. 掌握用VH

46、DL语言实现动态扫描显示电路的顶层连线。二、实验原理一个动态扫描电路由计数器、译码显示驱动器、3/8线译码器及7段数码管组成,如图3-4-1所示。四位拨码开关提供8421BCD码,经译码电路后成为8段数码管的字形显示驱动信号。(AG)扫描电路通过可调时钟输出片选地址SEL20。由SEL20和AG决定了8位中的哪一位显示和显示什么字形。SEL20变化的快慢决定了扫描频率的快慢。(注意:实验箱上已有3/8线译码器实现数码管位选功能)图3-4-1 动态扫描显示框图三、实验内容1. 用拨码开关产生8421BCD码,用CPLD产生字形编码电路和扫描驱动电路,然后进行仿真,观察波形,正确后进行设计实现,适

47、配化分配。调节时钟频率,感受“扫描”的过程,并观察字符亮度和显示刷新的效果。2. 编一个简单的从0F轮换显示十六进制数的电路。四、实验报告要求1. 写出七段译码器的VHDL源程序;2. 写出八进制计数器的VHDL源程序;3. 写出顶层连接的VHDL源程序;4. 在本次实验时序逻辑电路的VHDL语言编程中,仿真中是否出现错误提示,具体的提示有哪些,你是如何改正的?5. 实验箱进行功能验证时是否正确,如不正确你是怎样解决的?实验五 综合层次性实验交通灯设计实验一、实验目的1. 设计一个交通灯控制器;2. 显示十字路口东西南北两个方向的红、黄、绿的指示状态;3. 实现正常的倒计时功能,并用数码管显示

48、倒计时剩余时间。图3-5-1 十字交通路口交通灯图示二、实验原理交通信号灯的工作过程具体描述如下:东西向红黄绿灯工作状态完全相同,南北向红黄绿灯工作状态完全相同。东西向为主干道,绿灯亮的持续时间为60秒,并显示东西向绿灯亮的剩余时间;南北向为辅干道,绿灯亮的持续时间为35秒,并显示南北向绿灯亮的剩余时间;灯亮变化规律为绿变黄(3秒),黄变红,红变绿。如图3-5-1所示。三、算法描述建立交通灯控制器ASM(Algorithmic State Machine)表,其中三色灯分别表示红灯R,黄灯Y,绿灯G;东向e,南s,西w,北n;十字路口三色交通信号灯共有4种状态:状态S1:南北向行驶,Gn Gs

49、 Re Rw灯亮;35秒后转为状态S2;状态S2:南北向转为东西向行驶,Ys Yn Re Rw灯亮;3秒后转为状态S3;状态S3:东西向行驶,Ge Gw Rn Rs灯亮;60秒后转为状态S4;状态S4:东西向转为南北向行驶,Ye Yw Rs Rn灯亮;3秒后转为状态S1;复位后,进入状态S1。表3-5-1 交通灯控制器状态表状态各灯状态ReYeGeRsYsGsRwYwGwRnYnGnS1100001100001S2100010100010S3001100001100S4010100010100四、实验内容利用实验箱的红黄绿发光二极管代替相应颜色的交通灯;利用实验箱的七段数码管显示倒计时剩余时间;利用实验箱的拨码开关实现复位;利用实验箱的时钟源作为交通信号灯控制器。用VHDL语言实现交通灯控制器,用功能仿真的方法验证,通过观察有关波形确认电路设计是否正确。五、实验报告要求1. 写出交通灯控制器的VHDL源程序,用层次化设计方法设计该电路;2. 在本次实验时序逻辑电路的VHDL语言编程中,仿真中是否出现错误提示,具体的提示有哪些,你是如何改正的?3. 实验箱进行功能验证时是否正确,如不正确你是怎样解决的?实验六 综合层次性实验数字钟设计实验一、实验目的1. 设计一个多功能数字钟;2. 能实现时(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论