EDA技术实验报告资料(共30页).doc

上传人:飞****2 文档编号:5437536 上传时间:2022-01-07 格式:DOC 页数:30 大小:6.15MB
返回 下载 相关 举报
EDA技术实验报告资料(共30页).doc_第1页
第1页 / 共30页
EDA技术实验报告资料(共30页).doc_第2页
第2页 / 共30页
点击查看更多>>
资源描述

《EDA技术实验报告资料(共30页).doc》由会员分享,可在线阅读,更多相关《EDA技术实验报告资料(共30页).doc(30页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、精选优质文档-倾情为你奉上福建农林大学金山学院信息工程类实验报告课程名称:EDA技术姓 名:系:信息与机电工程系专 业:电子信息工程年 级:学 号:指导教师:职 称:年 月 日 实验项目列表序号实验项目名称成绩指导教师1实验一Quartus II 9.0软件的使用2实验二 用文本输入法设计2选1多路选择器3实验三 用文本输入法设计7段数码显示译码器4实验四 用原理图输入法设计8位全加器5实验五 乐曲硬件演奏电路的设计67891011121314151617181920专心-专注-专业实验一 Quartus II 9.0软件的使用1实验目的和要求 本实验为验证性实验,其目的是熟悉Quartus

2、II 9.0软件的使用,学会利用Quartus II 9.0软件来完成整个EDA开发的流程。2实验原理利用VHDL完成电路设计后,必须借助EDA工具中的综合器、适配器、时序仿真器和编程器等工具进行相应的处理后,才能使此项设计在FPGA上完成硬件实现,并得到硬件测试,从而使VHDL设计得到最终的验证。Quartus II是Altera提供的FPGA/CPLD开发集成环境,包括模块化的编译器,能满足各种特定设计的需要,同时也支持第三方的仿真工具。3主要仪器设备(实验用的软硬件环境)实验的硬件环境是:微机一台GW48 EDA实验开发系统一套电源线一根十芯JTAG口线一根USB下载线一根USB下载器一

3、个实验的软件环境是:Quartus II 9.0软件4操作方法与实验步骤利用Quartus II 9.0软件实现EDA的基本设计流程:创建工程、编辑文本输入设计文件、编译前设置、全程编译、功能仿真。利用Quartus II 9.0软件实现引脚锁定和编译文件下载。利用Quartus II 9.0软件实现原理图输入设计文件的编辑和产生相应的原理图符号元件。5实验内容及实验数据记录1)新建工程(文本输入法)2)新建工程(原理图输入法)3)编译工程选择如上菜单栏中的选项或者可通过Processing-Start Complacation进行编译工程。4)时序仿真选择如上菜单栏中的选项或者可通过Proc

4、essing-Start Complacation进行编译工程。5)下载程序Tools-Programmer6实验数据处理与分析1)任何一项设计都是一项工程(实验三中半加器、一位全加器以及8位全加器的设计都应该新建工程,不可在同一个工程中进行设计),不同的设计项目最好放在不同的文件夹中,而同一工程的所有文件都必须放在同一文件夹中。2)新建一个文件夹时应特别注意文件夹名不能用中文,最好也不要用数字。2)编译工程结果将提示是否有错误或是警告,错误需要修改,警告则根据具体情况进行修改。(常见警告一个是未定义的引脚模式-改为输入高电阻模式,另一个则是引脚未锁定,可在下载程序前再进行锁定)3)时序仿真时

5、候步骤:A、File-new file-vector waveform file:新建波形文件B、在波形文件下,右键单击选择Insert node or bus.进行节点的添加C、Assignments-Setting-Simulator Setting:选择功能仿真functionalD、电击仿真按钮进行仿真分析。时序仿真时候注意点:l 设置仿真时间区域。对于时序仿真来说,将仿真时间轴设置在一个合理的短时间区域上十分重要。(由后续试验验证了此结论)通常设置的时间范围在数十微妙之间:选择Edit-End Timel 文件后缀名:.vwf4)下载程序前应连接好下载线,开启电源,确保连线可用(我的

6、电脑-)管理-设备管理器-串行通信端口);其次在打开窗口中单击Hardware Setup,选择对应项;最后单击START进行下载,右上角有相关的下载进度提示,当提示为100%时候表示下载成功。7质疑、建议、问题讨论通过本次实验,对QuartusII9.0软件有了初步的认识,在实验的基础上基本掌握了利用QuartusII9.0软件实现EDA的基本设计流程:创建工程、编辑文本输入设计文件、编译前设置、全程编译、功能仿真等。实验二 用文本输入法设计2选1多路选择器1实验目的和要求本实验为综合性实验,综合了简单组合电路逻辑、QuartusII的使用方法、多层次电路设计、仿真和硬件测试等内容。其目的是

7、熟悉QuartusII的VHDL文本设计流程全过程。2实验原理2选1多路选择器真值表sabyLLLLHHHLLHHH3主要仪器设备(实验用的软硬件环境)实验的硬件环境是:微机一台GW48 EDA实验开发系统一套电源线一根十芯JTAG口线一根USB下载线一根USB下载器一个实验的软件环境是:Quartus II 9.0软件4操作方法与实验步骤首先利用QuartusII完成2选1多路选择器的文本编辑输入(mux21a.vhd)和仿真测试等步骤,然后进行仿真。最后在实验系统上进行硬件测试,实际验证本项实验的功能。将设计好的2选1多路多路选择器看成是一个元件mux21a,利用元件例化语句描述下图,并将

8、此文件放在同一目录E:muxfile中。5实验内容及实验数据记录(1)程序设计ENTITY mux21a IS PORT ( a, b, s: IN BIT; y : OUT BIT );END ENTITY mux21a;ARCHITECTURE one OF mux21a IS BEGIN PROCESS (a,b,s) BEGIN IF s = 0 THEN y = a ; ELSE y LED7S LED7S LED7S LED7S LED7S LED7S LED7S LED7S LED7S LED7S LED7S LED7S LED7S LED7S LED7S LED7S NULL

9、; END CASE ; END PROCESS ; END ;(2)时序编译1)时序编译出错2)修改后正确(3)仿真波形图(4)硬件测试流程及其结果1)显示出现乱码 2)正确显示07 6实验数据处理与分析(1)程序分析1)程序定义74位的输入端口A和7位的输出端口LED7S。2)输入和输出的对应关系如下:INPUTOUTPUT000000001100102001130100401015011060111710008100191010A1011B1100C1101D1110E1111F(2)仿真分析由时序仿真的结果可以观察发现符合预期结果。(3)硬件测试分析引脚锁定:选择模式6NODE Pin

10、ALED7S键8(A3)键7(A2)键6(A1)键5(A0)LED7S(0-7)Pin36353433105、103、99、98、97、96、85硬件显示不规则数字原因:LED7S数码管引脚锁定反向,改正后可正常显示07如上所示,其中引脚8无法控制实现最终结果。修改为其他引脚仍不可显示正常结果(目前原因未知)7质疑、建议、问题讨论1)不管是工程的建立或者是时序仿真以及下载调试中的每一个步骤都要完成,本次实验中就由于少了一个步骤而提示编译出错。2)硬件测试过程中键8为什么无法控制显示?是硬件问题还是软件问题?根据检查结果,软件引脚配置没有问题,猜测可能是硬件上出现一些问题。实验四 用原理图输入方

11、法设计8位全加器1实验目的和要求 本实验为综合性实验,综合了简单组合电路逻辑、QuartusII的原理图输入方法、 层次化设计的方法等内容。其目的是通过一个8位全加器的设计熟悉EDA软件进行电子线路设计的详细流程。学会对实验板上的FPGA/CPLD进行编程下载,硬件验证自己的设计项目。2实验原理1位全加器可以用两个半加器及一个或门连接而成,半加器原理图的设计方法很多,我们用一个与门、一个非门和同或门(xnor为同或符合,相同为1,不同为0)来实现。先设计底层文件:半加器,再设计顶层文件全加器。(1) 半加器的设计: 半加器表达式:进位:co=a and b 和:so=a xnor ( not

12、b ) 半加器原理图如下:(2) 全加器的设计:全加器原理图如下:(3) 8位全加器的设计:8位全加器原理图如下:3主要仪器设备(实验用的软硬件环境)实验的硬件环境是:微机一台GW48 EDA实验开发系统一套电源线一根十芯JTAG口线一根USB下载线一根USB下载器一个实验的软件环境是:Quartus II 9.0软件4操作方法与实验步骤按照以上介绍的方法与流程,完成半加器和全加器的设计,包括原理图输入、编译、综合、适配、仿真、实验板上的硬件测试,并将此全加器电路设置成一个硬件符号入库。建立一个更高的原理图设计层次,利用以上获得的1位全加器构成8位全加器,并完成编译、综合、适配、仿真、硬件测试

13、。5实验内容及实验数据记录1)半加法器原理图及生成的器件 2)全加法器原理图 3)8位加法器原理图4)半加器时序仿真5)全加器时序仿真6)8bit加法器仿真7)编译结果8) 硬件测试结果6实验数据处理与分析(1)原理分析l 半加器表达式:进位:co=a and b 和:so=a xnor ( not b )l 8位二进制加法器可以由8个全加器通过级联的方式构成。根据全加器级联的原理,实验用VHDL先设计一个半加器,由半加器组成一位全加器,然后再利用一位全加器采用元件例化的方式实现加法器。l 半加器可以有多种表达方式,实验使用逻辑门元件(电路原理图)构建了半加器电路实现了半加器。l 由电路设计可

14、见一位全加器可以由两个半加器和一个或门连接而成。(2) 仿真分析由仿真结果可以观察得到如下结果:l 半加器仿真结果INPUTOUTPUTABCSum0000010110011110由分析结果可以得到sum是有a,b相加后得到的,但未有进位。当ain,bin都为0时,so为0;当ain,bin中有一个为1时,so为1,而这之前co都是为0,表明未进位。当ain,bin都为1时,此时so为0,co为1,表明已进位。l 全加器仿真结果INPUTOUTPUTABCinSumCout0000001010100101100100100011101010111111当cin=0的情况下和半加器的结果是一样的

15、,当cin=1时,若ain=0时,count=0;若ain=1时,count=1;由此可见半加器和全加器的设计是正确的。l 8bit仿真结果由仿真结果可以观察发现符合预期结果。(3) 硬件测试分析引脚锁定:选择电路模式1Node NameIN(a)IN(b)OUT-SumOUT-C键1键2键3键4D6D5D8Pin4、3、2、110、7、6、534、33、32、1138、37、36、3550、49、48、4742、41、40、3984由上图可以观察发现当输入为11和22时候输出得到33,输入为10和1时候得到输出11,同样可以验证其他运算结果。7质疑、建议、问题讨论该实验在结果测试中出现了一些

16、问题,如图中所示结果正确。而当两位加数的任意一个的低位为1时,会出现和的结果少加1的情况。如21+14即会出现和为34,而当使21变为22时结果便会正确显示。该问题未得到解决。在测试时还应当注意结果溢出的问题,因此要选择合适的测试数据。 实验五 乐曲硬件演奏电路的设计1实验目的和要求本实验为设计性实验。将VHDL硬件描述语言,简单组合电路逻辑QuartusII的使用等知识应用到实际硬件电路设计中。其目的是学会在EDA软件平台中利用VHDL硬件描述语言设计电路.设计要求利用数控分频器设计乐曲硬件演奏电路。2实验原理与利用微处理器(CPU或MCU)来实现乐曲演奏相比,以纯硬件完成乐曲演奏电路的逻辑

17、要复杂得多,如果不借助于功能强大的EDA工具和硬件描述语言,仅凭传统的数字逻辑技术,即使最简单的演奏电路也难以实现。本实验设计项目是“梁祝”乐曲演奏电路的实现。我们知道,组成乐曲的每个音符的发音频率值及其持续的时间是乐曲能连续演奏所需的两个基本要素,问题是如何来获取这两个要素所对应的数值以及通过纯硬件的手段来利用这些数值实现所希望乐曲的演奏效果。乐曲硬件演奏电路的顶层文件原理图如图5-1所示,主系统由3个模块组成: NoteTabs.vhd、ToneTaba.vhd和Speakera.vhd。其中,模块U1(NoteTabs)类似于弹琴的人的手指;模块U2(ToneTaba)类似于琴键;模块U

18、3(Speakera)类似于琴弦或音调发声器。图5-1 乐曲硬件演奏电路的顶层文件原理图下面介绍图5-1的工作原理: 1、音符的频率可以由图4-1中的Speakera获得,这是一个数控分频器。由其clk端输入一具有较高频率(这里是12MHz)的信号,通过Speakera分频后由SPKOUT输出,由于直接从数控分频器中出来的输出信号是脉宽极窄的脉冲式信号,为了有利于驱动扬声器,需另加一个D触发器以均衡其占空比,但这时的频率将是原来的1/2。Speakera对clk输入信号的分频比由11位预置数Tone10.0决定。SPKOUT的输出频率将决定每一音符的音调,这样,分频计数器的预置值Tone10.

19、0 与SPKOUT的输出频率,就有了对应关系。例如在TONETABA模块中若取Tone10.0=1036,将发音符为3音的信号频率。 2、音符的持续时间须根据乐曲的速度及每个音符的节拍数来确定,图5-1中模块ToneTaba 的功能首先是为Speakera提供决定所发音符的分频预置数,而此数在Speakera输入口停留的时间即为此音符的节拍值。模块ToneTaba 是乐曲简谱码对应的分频预置数查表电路,其中设置了“梁祝”乐曲全部音符所对应的分频预置数,共13个,每一音符的停留时间由音乐节拍和音调发生器模块NoteTabs的clk的输入频率决定,在此为4Hz。这13个值的输出由对应于ToneTa

20、ba 的4位输入值Index3.0确定,而Index3.0 最多有16种可选值。输向ToneTaba中Index3.0的值ToneIndex3.0的输出值与持续的时间由模块NoteTabs决定。3、在NoteTabs 中设置了一个8位二进制计数器(计数最大值为138),作为音符数据ROM的地址发生器。这个计数器的计数频率选为4Hz,即每一计数值的停留时间为0.25秒,恰为当全音符设为1秒时,四四拍的4分音符持续时间。例如,NoteTabs 在以下的VHDL逻辑描述中,“梁祝”乐曲的第一个音符为“3”,此音在逻辑中停留了4个时钟节拍,即1秒时间,相应地,所对应的“3”音符分频预置值为1036,在

21、Speakera 的输入端停留了1秒。随着NoteTabs 中的计数器按4Hz的时钟速率作加法计数时,即随地址值递增时,音符数据ROM 中的音符数据将从ROM中通过ToneIndex3.0端口输向ToneTaba模块,“梁祝”乐曲就开始连续自然地演奏起来了。3主要仪器设备(实验用的软硬件环境)实验的硬件环境是:微机一台GW48 EDA实验开发系统一套电源线一根十芯JTAG口线一根USB下载线一根USB下载器一个实验的软件环境是:Quartus II 9.0软件4操作方法与实验步骤首先给出该电路的各个基本模块,再利用QuartusII完成各个模块的文本编辑输入和仿真测试等步骤。完成此项设计,并在

22、EDA实验系统上的FPGA目标器件中实现之。5实验内容及实验数据记录1)输入NoteTabs.vhdl,编译、仿真,给出时序波形2)输入ToneTaba.vhdl,编译、仿真,给出时序波形3)输入Speakera.vhdl,编译、仿真,给出时序波形4) 建立硬件演奏电路顶层文件songer.vhdl,将以上4个vhdl文件拷贝进顶层文件所在目录,用元件例化语句和层次化设计方法,完成乐曲硬件演奏电路的设计,编译、仿真,给出时序波形,引脚锁定并下载进FPGA进行硬件测试Node NameCLK_8HzCLK_12MHzCODE3.0HIGH1SPKOUTPin179242414039111295)

23、VHDL文本输入法时序仿真波形l 错误波形l 调试后得到正确波形2)硬件测试结果可以听到不同的蜂鸣器声音,改变CLK的选择项可以变换声音的频率。6 实验数据处理与分析1) VHDL语句功能l - 硬件乐曲演奏电路顶层设计LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;ENTITY Songer IS PORT ( CLK12MHZ : IN STD_LOGIC; -音调频率信号 CLK8HZ : IN STD_LOGIC; -节拍频率信号 CODE1 : OUT STD_LOGIC_VECTOR (3 DOWNTO 0);- 简谱码输出显示 HIGH1 :

24、OUT STD_LOGIC; -高8度指示 SPKOUT : OUT STD_LOGIC );-声音输出 END;ARCHITECTURE one OF Songer IS COMPONENT NoteTabs PORT ( clk : IN STD_LOGIC; ToneIndex : OUT STD_LOGIC_VECTOR (3 DOWNTO 0) ); END COMPONENT; COMPONENT ToneTaba PORT ( Index : IN STD_LOGIC_VECTOR (3 DOWNTO 0) ; CODE : OUT STD_LOGIC_VECTOR (3 DOW

25、NTO 0) ; HIGH : OUT STD_LOGIC; Tone : OUT STD_LOGIC_VECTOR (10 DOWNTO 0) ); END COMPONENT; COMPONENT Speakera PORT ( clk : IN STD_LOGIC; Tone : IN STD_LOGIC_VECTOR (10 DOWNTO 0); SpkS : OUT STD_LOGIC ); END COMPONENT; SIGNAL Tone : STD_LOGIC_VECTOR (10 DOWNTO 0); SIGNAL ToneIndex : STD_LOGIC_VECTOR

26、(3 DOWNTO 0); BEGINu1 : NoteTabs PORT MAP (clk=CLK8HZ, ToneIndex=ToneIndex);u2 : ToneTaba PORT MAP (Index=ToneIndex,Tone=Tone,CODE=CODE1,HIGH=HIGH1);u3 : Speakera PORT MAP(clk=CLK12MHZ,Tone=Tone, SpkS=SPKOUT );END;说明:用vhdl文本输入法和元件例化语句完成硬件演奏电路顶层文件,SpkOut是经SpkS的最终的输出,决定所发出的每一音符的音调。音符不同,SpkOut的脉宽也不同,通过

27、扬声器发出的声音也不同,因而可以演奏音乐,得到预期的效果。l -数控分频器设计LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY Speakera IS PORT ( clk : IN STD_LOGIC; Tone : IN STD_LOGIC_VECTOR (10 DOWNTO 0); SpkS : OUT STD_LOGIC );END;ARCHITECTURE one OF Speakera IS SIGNAL PreCLK, FullSpkS : STD_LOGIC;BEGI

28、NDivideCLK : PROCESS(clk) VARIABLE Count4 : STD_LOGIC_VECTOR (3 DOWNTO 0) ; BEGIN PreCLK 11 THEN PreCLK = 1; Count4 := 0000; ELSIF clkEVENT AND clk = 1 THEN Count4 := Count4 + 1; END IF; END PROCESS;GenSpkS : PROCESS(PreCLK, Tone)- 11位可预置计数器 VARIABLE Count11 : STD_LOGIC_VECTOR (10 DOWNTO 0);BEGIN IF

29、 PreCLKEVENT AND PreCLK = 1 THEN IF Count11 = 16#7FF# THEN Count11 := Tone ; FullSpkS = 1; ELSE Count11 := Count11 + 1; FullSpkS = 0; END IF; END IF; END PROCESS; DelaySpkS : PROCESS(FullSpkS)-将输出再2分频,展宽脉冲,使扬声器有足够功率发音 VARIABLE Count2 : STD_LOGIC;BEGIN IF FullSpkSEVENT AND FullSpkS = 1 THEN Count2 :=

30、 NOT Count2; IF Count2 = 1 THEN SpkS = 1; ELSE SpkS Tone= ; CODE=0000; HIGH Tone= ; CODE=0001; HIGH Tone= ; CODE=0010; HIGH Tone= ; CODE=0011; HIGH Tone= ; CODE=0101; HIGH Tone= ; CODE=0110; HIGH Tone= ; CODE=0111; HIGH Tone= ; CODE=0001; HIGH Tone= ; CODE=0010; HIGH Tone= ; CODE=0011; HIGH Tone= ;

31、CODE=0101; HIGH Tone= ; CODE=0110; HIGH Tone= ; CODE=0001; HIGH NULL; END CASE; END PROCESS;END;说明:完成ToneTaba.vhdl的设计,此模块给数控分频模块提供每个音符所对应的分频预置数,即计数初值。由分频预置数查表电路模块的仿真波形可知,由Index3.0译码输出分频预置数,并通过Tone10.0输出给Speakera模块。与演奏发音相对应的简谱码由CODE通过数码管输出显示,HIGH1显示高八度音。l -音符数据ROM的地址发生器设计LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY NoteTabs IS PORT ( clk : IN STD_LOGIC; ToneIndex : OUT STD_LOGIC_VECTOR (3 DOWNTO 0) );END;ARCHITECTURE one OF NoteTabs ISCOMPONENT MUSIC -

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

当前位置:首页 > 应用文书 > 教育教学

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com