




已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
福建农林大学金山学院信息工程类实验报告课程名称:EDA技术姓 名:吴耀明系:信息与机电工程系专 业:电子信息工程专业年 级:2010级学 号:100201089指导教师:蔡剑卿职 称:讲师2013年 05月03日 实验项目列表序号实验项目名称成绩指导教师1实验一Quartus II 9.0软件的使用蔡剑卿2实验二 用文本输入法设计2选1多路选择器蔡剑卿3实验三 用文本输入法设计7段数码显示译码器蔡剑卿4实验四 用原理图输入法设计8位全加器蔡剑卿5实验五 乐曲硬件演奏电路的设计蔡剑卿67891011121314151617181920福建农林大学金山学院信息工程类实验报告系: 信息与机电工程系 专业: 电子信息工程 年级: 2010级 姓名: 吴耀明 学号: 100201089 实验课程: EDA技术 实验室号:_田实405 实验设备号: 实验时间: 2013年4月13日指导教师签字: 成绩: 实验一 Quartus II 9.0软件的使用1实验目的和要求 本实验为验证性实验,其目的是熟悉Quartus II 9.0软件的使用,学会利用Quartus II 9.0软件来完成整个EDA开发的流程。2实验原理利用VHDL完成电路设计后,必须借助EDA工具中的综合器、适配器、时序仿真器和编程器等工具进行相应的处理后,才能使此项设计在FPGA上完成硬件实现,并得到硬件测试,从而使VHDL设计得到最终的验证。Quartus II是Altera提供的FPGA/CPLD开发集成环境,包括模块化的编译器,能满足各种特定设计的需要,同时也支持第三方的仿真工具。3主要仪器设备(实验用的软硬件环境)实验的硬件环境是:微机一台GW48 EDA实验开发系统一套电源线一根十芯JTAG口线一根USB下载线一根USB下载器一个实验的软件环境是:Quartus II 9.0软件4操作方法与实验步骤利用Quartus II 9.0软件实现EDA的基本设计流程:创建工程、编辑文本输入设计文件、编译前设置、全程编译、功能仿真。利用Quartus II 9.0软件实现引脚锁定和编译文件下载。利用Quartus II 9.0软件实现原理图输入设计文件的编辑和产生相应的原理图符号元件。5实验内容及实验数据记录打开软件快捷工具栏菜单栏资源管理窗口工作区编译及综合的进度栏信息栏所建工程的保存路径新建工程(filenew Project Wizard)1 工程名称:顶层模块名(芯片级设计为实体名),要求与工程名称相同如果有已经存在的文件就在该过程中添加,软件将直接将用户所添加的文件添加到工程中。工程名称2添加已有文件(没有已有文件的直接跳过next)3 选择芯片型号(我们选择MAX3000A系列下的EPM3256AQC208-10芯片)选择芯片快速搜索所需的芯片所选的芯片的系列型号4 选择仿真,综合工具(第一次实验全部利用quartus做,三项都选None,然后next)选择时序分析仪选择第三方仿真工具,如果使用Quartus内部仿真工具则选择none选择第三方综合工具,如果使用Quartus内部综合工具则选择none5 工程建立完成(点finish)工程建立完成,该窗口显示所建立工程所有的芯片,其他第三方EDA工具选择情况,以及模块名等等信息。添加文件(filenew VHDL file),新建完成之后要先保存。我们选择VHDL file设计文件格式既选择VHDL文本输入形式编写程序3-8译码器的VHDL描述源文件如下:library ieee;use ieee.std_logic_1164.all;entity decoder3_8 is port( A:in std_logic_vector(2 downto 0); EN:in std_logic; Y:out std_logic_vector(7 downto 0);end decoder3_8;architecture example_1 of decoder3_8 is signal sel:std_logic_vector(3 downto 0); begin sel=A & EN; with sel select Y Simulator Settings下拉Function)Functional表示功能仿真,既不包括时序信息,timinng表示时序仿真。加入线及寄存器的延时信息2 建立一个波形文件:(newVector Waveform File)添加波形文件作为信号输出文件,以便观察信号的输出情况然后导入引脚(双击Name下面空白区域Node Finderlist点击):(以实现一个与门和或门为例,3-8译码器与以下的设计步骤类似)点击产生端口列表点击如下图添加信号双击弹出右边的对话框 接下来设置激励信号(单击选择TimingMultiplied by 1)我们自定义的输入信号设置输入信号周期设置仿真的开始及结束时间设置b信号源的时候类同设置a信号源,最后一步改为Multiplied by 2然后要先生成仿真需要的网表(工具栏processingGenerate Functional Simulation Netlist)接下来开始仿真(仿真前要将波形文件保存,点击工具栏开始仿真):由a,b 两个信号经过我们设计的模块产生的结果观察波形,刚好符合我们的逻辑。功能仿真通过。下载(点击(Programmer),再点击Hardware Setup配置下载电缆,单击弹出窗口的“Add Hardware”按钮,选择并口下载ByteBlasterMV or ByteBlasterMV,单击“Close”按钮完成设置。CPLD器件生成的下载文件后缀名为.pof,点击下图所示方框,选中下载文件,然后直接点击start按钮开始下载)点击该按钮开始下载下载进度条下载是该选项必须打勾6质疑、建议、问题讨论实验过程中逐步执行,以确保进行实验时发生中断。福建农林大学金山学院信息工程类实验报告系: 信息与机电工程系 专业: 电子信息工程 年级: 2010级 姓名: 吴耀明 学号: 100201089 实验课程: EDA技术 实验室号:_田实405 实验设备号: 实验时间: 2013年4月13日 指导教师签字: 成绩: 实验二 用文本输入法设计2选1多路选择器1实验目的和要求本实验为综合性实验,综合了简单组合电路逻辑、QuartusII的使用方法、多层次电路设计、仿真和硬件测试等内容。其目的是熟悉QuartusII的VHDL文本设计流程全过程。2实验原理2选1多路选择器真值表sabyLLLLHHHLLHHH3主要仪器设备(实验用的软硬件环境)实验的硬件环境是:微机一台GW48 EDA实验开发系统一套电源线一根十芯JTAG口线一根USB下载线一根USB下载器一个实验的软件环境是:Quartus II 9.0软件4操作方法与实验步骤首先利用QuartusII完成2选1多路选择器的文本编辑输入(mux21a.vhd)和仿真测试等步骤,然后进行仿真。最后在实验系统上进行硬件测试,实际验证本项实验的功能。将设计好的2选1多路多路选择器看成是一个元件mux21a,利用元件例化语句描述下图,并将此文件放在同一目录E:muxfile中。5实验内容及实验数据记录用vhdl语言设计2选1多路选择器程序设计如下:library ieee;use ieee.std_logic_1164.all;entity mux21a isport (a,b,s:in bit;y: out bit);end entity mux21a;architecture one of mux21a is beginy=a when s=0 else b;end architecture one全程编译后软件提示0错误,3警告,可以继续下面仿真操作。程序分析:这是一个2选1多路选择器,a和b分别为两个数字输入端的端口名,s为通道选择控制信号输入端的端口名,y为输出端的端口名。时序仿真及分析:时序仿真输入图:时序仿真输出图:6实验数据处理与分析由上面两图可以得知:当s=0时,y口输出a,当s=1时,y口输出b下载和硬件测试:引脚锁定图:程序下载完成后,选择实验电路模式5,通过短路帽选择clock0接256Hz信号,clock2接8Hz信号。通过键一控制s,当键一进行切换时,明显能听到扬声器发出两种不同音调的声音。7质疑、建议、问题讨论仿真结果出现延时,应该将a,b,s的周期增大些,且要保证单位为us,刚开始做实验内容(一)时,文件夹名字与程序中所用的实体名不一致,导致程序运行时无法找到文件夹,无法正常工作,经更改后,正常运行,同时文件夹名字不用汉字和数字,以免出错。每次修改过程都应该注意保存,才能将修改的结果反映到所输出的波形中,刚开始常常忘记福建农林大学金山学院信息工程类实验报告系: 信息与机电工程系 专业: 电子信息工程 年级: 2010级 姓名: 吴耀明 学号: 100201089 实验课程: EDA技术 实验室号:_田实405 实验设备号: 实验时间: 2013年4月13日 指导教师签字: 成绩: 实验三 用文本输入法设计7段数码显示译码器1实验目的和要求本实验为综合性实验,综合了简单组合电路逻辑,QuartusII的使用方法,多层次电路设计、仿真和硬件测试等内容。其目的是熟悉QuartusII的VHDL文本设计流程全过程。2实验原理7段数码是纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码,然而数字系统中的数据处理和运算都是2进制的,所以输出表达都是16进制的,为了满足16进制数的译码显示,最方便的方法就是利用译码程序在FPGA/CPLD中来实现。7段数码显示译码器的输出信号LED7S的7位分别接共阴7段数码管的7个段,高位在左,低位在右。例如当LED7S输出为“1101101”时,数码管的7个段:g、f、e、d、c、b、a分别接1、1、0、1、1、0、1;接有高电平的段发亮,于是数码管显示“5”。注意,这里没有考虑表示小数点的发光管,如果要考虑,需要增加段h,此时实体说明中的LED7S:OUT STD_LOGIC_VECTOR(6 DOWNTO 0)应改为(7 DOWNTO 0)。3主要仪器设备(实验用的软硬件环境)实验的硬件环境是:微机一台GW48 EDA实验开发系统一套电源线一根十芯JTAG口线一根USB下载线一根USB下载器一个实验的软件环境是:Quartus II 9.0软件4操作方法与实验步骤利用QuartusII完成7段数码显示译码器的文本编辑输入(decl7s.vhd)和仿真测试等步骤,最后在实验系统上进行硬件测试,实际验证本项实验的功能。5实验内容及实验数据记录程序代码:module LED(IN,led7); / 7段数码显示译码器顶层设计描述input3:0 IN; /定义四位二进制输入变量INoutput3:0 led7;reg6:0 led7; /定义寄存器变量用作内部元件间连线always (IN) /过程语句IN为敏感变量begincase(IN)4b0000:led7=7b0111111; /如果输入为0000则led=7b0111111,数码管显示为14b0001:led7=7b0000110; /描述同上4b0010:led7=7b1011011; /。4b0011:led7=7b1001111; /。4b0100:led7=7b1100110; /。4b0101:led7=7b1101101; /。4b0110:led7=7b1111101; /。4b0111:led7=7b0000111; /。4b1000:led7=7b1111111; /。4b1001:led7=7b1101111; /。default:led7=7b0111111; /。endcase /结束caseend /结束beginendmodule /模块结束仿真测试结果6实验数据处理与分析根据指示灯显示结果,按照2进制排列对应相应的数值。7质疑、建议、问题讨论通过本次试验的上机操作运行,让我切实感受到了EDA只是在实际生活中的广泛应用,作为初学者,初次上机我感到自己知识的匮乏,有许多地方我还都不能独立地进行操作,必须依赖老师的讲解,不过结果还是好的,经过两节课的努力,我和同组的同学还是成功的模拟并仿真了七段数码显示器,并成功地在EDA6000试验箱上进行了检验验证。 本次试验过后我会充分的总结自己的不足之处,加强自己弱势方面的学习,用心学好EDA教科书上的知识,并抽时间在课外进行深入地学习,相信下次试验情况会有很大程度的改观福建农林大学金山学院信息工程类实验报告系: 信息与机电工程系 专业: 电子信息工程 年级: 2010级 姓名: 吴耀明 学号: 100201089 实验课程: EDA技术 实验室号:_田实405 实验设备号: 实验时间: 2013年4月20日 指导教师签字: 成绩: 实验四 用原理图输入方法设计8位全加器1实验目的和要求 本实验为综合性实验,综合了简单组合电路逻辑、QuartusII的原理图输入方法、 层次化设计的方法等内容。其目的是通过一个8位全加器的设计熟悉EDA软件进行电子线路设计的详细流程。学会对实验板上的FPGA/CPLD进行编程下载,硬件验证自己的设计项目。2实验原理1位全加器可以用两个半加器及一个或门连接而成,半加器原理图的设计方法很多,我们用一个与门、一个非门和同或门(xnor为同或符合,相同为1,不同为0)来实现。先设计底层文件:半加器,再设计顶层文件全加器。(1) 半加器的设计: 半加器表达式:进位:co=a and b 和:so=a xnor ( not b ) 半加器原理图如下:(2) 全加器的设计:全加器原理图如下:3主要仪器设备(实验用的软硬件环境)实验的硬件环境是:微机一台GW48 EDA实验开发系统一套电源线一根十芯JTAG口线一根USB下载线一根USB下载器一个实验的软件环境是:Quartus II 9.0软件4操作方法与实验步骤按照以上介绍的方法与流程,完成半加器和全加器的设计,包括原理图输入、编译、综合、适配、仿真、实验板上的硬件测试,并将此全加器电路设置成一个硬件符号入库。建立一个更高的原理图设计层次,利用以上获得的1位全加器构成8位全加器,并完成编译、综合、适配、仿真、硬件测试。5实验内容及实验数据记录1.按照上述介绍的方法与流程,完成半加器和全加器的设计,包括原理图输入、编译、综合、适配、仿真、实验板上的硬件测试,并将此全加器电路设置成一个硬件符号入库。键1、键2、键3(PIO0/1/2)分别接ain、bin、cin;发光管D2、D1(PIO9/8)分别接sum和cout。2.建立一个更高层次的原理图设计,利用以上获得的1位全加器构成8位全加器,并完成编译、综合、适配、仿真和硬件测试。在E:/EDA/下建立一个新的文件夹为ADDER8。本设计的思路是先设计1个1位半加器,因此建立新建文件夹E:/EDA/ ADDER8/h_adder;要利用1位的半加器构造1位的全加器,因此建立新建文件夹E:/EDA/ ADDER8/f_adder;要利用1位的全加器构造8位的全加器,因此建立新建文件夹E:/EDA/ ADDER8/adder8;(1)、用原理图输入法构造1位半加器打开QuartusII软件,选择新建一个原理图文件,进入原理图编辑窗。在空白编辑窗的地方电击鼠标右键,选择加入模块。此图电击OK,为加入输入引脚。以同样的方法加入其它模块,如下图所示。对其连线。连线时注意,若信号为1位,则用导线进行连接,若信号为多位,则用总线进行连接。注意连线时,最后连好的线平滑,无x等标识方能表明线正确连接。连好后更改输入输出引脚。保存到E:/EDA/ ADDER8/h_adder路径下,文件名为h_adder。建立相应的工程文件,并编译。编译成功后转换为原理图模块。仿真波形:(2)、用原理图输入法构造1位全加器把1位半加器的模块和原理图拷入文件夹E:/EDA/ ADDER8/f_adder。用两个1位半加器构造1位全加器,以同样的步骤和方式建立1位全加器的原理图,如下图所示。加入半加器时,点击NAME下方空白框右边的浏览,找到E:/EDA/ ADDER8/f_adder里的h_adder模块加入,注意路径位置。连线正确后,修改相应的引脚,最后保存到E:/EDA/ ADDER8/f_adder路径下文件名为f_adder。建立其工程文件,因为此文件用到1位半加器,建立工程文件时注意要把1位半加器的原理图加入工程,编译才能通过。编译通过后转换为模块。仿真波形:(3)、用原理图输入法构造8位全加器 把1位半加器和1位全加器的原理图和模块共四个文件拷入E:/EDA/ ADDER8/adder8,用1个1 位半加器和7个1位全加器构造8位全加器。调入1位半加器和1位全加器的模块,连线构成如下图所示的8位全加器的原理图。并更改相应的输入输出引脚。其中a7a6a5a4a3a2a1a0为加数,b7b6b5b4b3b2b1b0为被加数,输出的和为num7.num0,输出的进位为count。原理图建好后保存为E:/EDA/ ADDER8/adder8路径下的adder8,并建立相应的工程文件,因为此文件用到1位半加器和1位全加器,建立工程文件时注意要把1位半加器和1位全加器的原理图加入工程,编译才能通过。编译通过后,进行引脚锁定。选取模式1的电路实现此功能。键2、键1输入8位加数;键4、键3输入8位被加数;数码6/5显示加和;D8显示进位cout。查出对应的PIO口和对应芯片的引脚。保存引脚信息后重新编译,把引脚信息加入工程。6实验数据处理与分析连好实验箱,打开电源,下载到实验箱上。选择实验箱上的模式1,从键2、键1输入加数,从数码管2、1上可看到相应的输入;从键4、键3输入被加数,从数码管4、3上可看到相应的输入;从数码管6、5上可看到两数相加后的和,从D8显示进位情况。引脚锁定:输入加数:a7a6a5a4a3a2a1a0对应的引脚PIN240,239,238,237,236,235,234,233输出被加数:b7b6b5b4b3b2b1b0对应的引脚PIN12,8,7,6,4,3,2,1两加数和:s7s6s5s4s3s2s1s0对应的引脚PIN136,135,134,133,132,128,41,21进位:COUT对应的引脚PIN1607质疑、建议、问题讨论实验连接电路图易出错,需要认真连接相应的接口。有的接口存在接触不良的情况,当运行出错时首先检查线路接口问题。福建农林大学金山学院信息工程类实验报告系: 信息与机电工程系 专业: 电子信息工程 年级: 2010级 姓名: 吴耀明 学号: 100201089 实验课程: EDA技术 实验室号:_田实405 实验设备号: 实验时间: 2013年4月20日 指导教师签字: 成绩: 实验五 乐曲硬件演奏电路的设计1实验目的和要求本实验为设计性实验。将VHDL硬件描述语言,简单组合电路逻辑QuartusII的使用等知识应用到实际硬件电路设计中。其目的是学会在EDA软件平台中利用VHDL硬件描述语言设计电路.设计要求利用数控分频器设计乐曲硬件演奏电路。2实验原理与利用微处理器(CPU或MCU)来实现乐曲演奏相比,以纯硬件完成乐曲演奏电路的逻辑要复杂得多,如果不借助于功能强大的EDA工具和硬件描述语言,仅凭传统的数字逻辑技术,即使最简单的演奏电路也难以实现。本实验设计项目是“梁祝”乐曲演奏电路的实现。我们知道,组成乐曲的每个音符的发音频率值及其持续的时间是乐曲能连续演奏所需的两个基本要素,问题是如何来获取这两个要素所对应的数值以及通过纯硬件的手段来利用这些数值实现所希望乐曲的演奏效果。乐曲硬件演奏电路的顶层文件原理图如图5-1所示,主系统由3个模块组成: NoteTabs.vhd、ToneTaba.vhd和Speakera.vhd。其中,模块U1(NoteTabs)类似于弹琴的人的手指;模块U2(ToneTaba)类似于琴键;模块U3(Speakera)类似于琴弦或音调发声器。图5-1 乐曲硬件演奏电路的顶层文件原理图下面介绍图5-1的工作原理: 1、音符的频率可以由图4-1中的Speakera获得,这是一个数控分频器。由其clk端输入一具有较高频率(这里是12MHz)的信号,通过Speakera分频后由SPKOUT输出,由于直接从数控分频器中出来的输出信号是脉宽极窄的脉冲式信号,为了有利于驱动扬声器,需另加一个D触发器以均衡其占空比,但这时的频率将是原来的1/2。Speakera对clk输入信号的分频比由11位预置数Tone10.0决定。SPKOUT的输出频率将决定每一音符的音调,这样,分频计数器的预置值Tone10.0 与SPKOUT的输出频率,就有了对应关系。例如在TONETABA模块中若取Tone10.0=1036,将发音符为3音的信号频率。 2、音符的持续时间须根据乐曲的速度及每个音符的节拍数来确定,图5-1中模块ToneTaba 的功能首先是为Speakera提供决定所发音符的分频预置数,而此数在Speakera输入口停留的时间即为此音符的节拍值。模块ToneTaba 是乐曲简谱码对应的分频预置数查表电路,其中设置了“梁祝”乐曲全部音符所对应的分频预置数,共13个,每一音符的停留时间由音乐节拍和音调发生器模块NoteTabs的clk的输入频率决定,在此为4Hz。这13个值的输出由对应于ToneTaba 的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,在Speakera 的输入端停留了1秒。随着NoteTabs 中的计数器按4Hz的时钟速率作加法计数时,即随地址值递增时,音符数据ROM 中的音符数据将从ROM中通过ToneIndex3.0端口输向ToneTaba模块,“梁祝”乐曲就开始连续自然地演奏起来了。3主要仪器设备(实验用的软硬件环境)实验的硬件环境是:微机一台GW48 EDA实验开发系统一套电源线一根十芯JTAG口线一根USB下载线一根USB下载器一个实验的软件环境是:Quartus II 9.0软件4操作方法与实验步骤首先给出该电路的各个基本模块,再利用QuartusII完成各个模块的文本编辑输入和仿真测试等步骤。完成此项设计,并在EDA实验系统上的FPGA目标器件中实现之。5实验内容及实验数据记录定制下面的NoteTabs模块中的音符数据ROM“music”。该ROM中的音符数据已列出。注意该例数据表中的数据位宽、深度和数据的表达类型。此外,为了节省篇幅,例中的数据都横排了,实用中应该以每一分号为一行来展开,否则会出错。根据给出的乐曲硬件演奏电路顶层文件原理图及其各模块的VHDL描述,在QuartusII上完成全部设计,包括编辑、编译、综合和仿真操作等。给出仿真波形,并作出详细说明这个实验中采用层次化的设计思路,因此我们把此乐曲硬件演奏电路分为3个主要模块,即音乐发生器NoteTabs模块,音符译码电路Tonetaba模块,数控分频Speakera模块。分好层次之后,编写每个模块的程序,分别生成项目符号,最后把生成的个项目符号用原理图的方式连接起来,然后编译、下载即可。由图例表示如下:NoteTabsTonetabaSpeakera输入 输出(乐曲)此实验设计中,我主要负责音乐发生器NoteTabs模块(ROM的定制过程)和最后的连接原理图部分。 在QuartusII主窗口Tools菜单中选择MegawizardPlug-In Manager命令,选择Create a new custom megafunction项。单击next按钮后,选择好后cyclone和VHDL语言后,产生对话框如下:如上所示就完成了,LPM_ROM的定制流程,完成了music1模块的定制工作,其产生的music1的VHDL语言程序如下:LIBRARY ieee;USE ieee.std_logic_1164.all;LIBRARY altera_mf;USE altera_mf.altera_mf_components.all;ENTITY music1 ISPORT(address: IN STD_LOGIC_VECTOR (7 DOWNTO 0);clock: IN STD_LOGIC ;q: OUT STD_LOGIC_VECTOR (3 DOWNTO 0);END music1;ARCHITECTURE SYN OF music1 ISSIGNAL sub_wire0: STD_LOGIC_VECTOR (3 DOWNTO 0);COMPONENT altsyncramGENERIC (intended_device_family: STRING;width_a: NATURAL;widthad_a: NATURAL;numwords_a: NATURAL;operation_mode: STRING;outdata_reg_a: STRING;address_aclr_a: STRING;outdata_aclr_a: STRING;width_byteena_a: NATURAL;init_file: STRING;lpm_hint: STRING;lpm_type: STRING);PORT (clock0: IN STD_LOGIC ;address_a: IN STD_LOGIC_VECTOR (7 DOWNTO 0);q_a: OUT STD_LOGIC_VECTOR (3 DOWNTO 0);END COMPONENT;BEGINq Cyclone,width_a = 4,widthad_a = 8,numwords_a = 256,operation_mode = ROM,outdata_reg_a = CLOCK0,address_aclr_a = NONE,outdata_aclr_a = NONE,width_byteena_a = 1,init_file = data.mif,lpm_hint = ENABLE_RUNTIME_MOD=NO,lpm_type = altsyncram)PORT MAP (clock0 = clock,address_a = address,q_a = sub_wire0);END SYN;在定制ROM的过程中,由于需要存入122个音符数据,选择ROM的数据位宽为8,地址为为8(共计256个字),ROM的类型选择为Auto。根据友谊天长地久的音乐简谱,以及简谱中的低、中、高和额节拍与发生频率的关系等等,化成个音符数字有122个,存入ROM中。在数据文件编辑窗中,在mif格式表格中填入友谊天长地久的122个音符数据,并以十进制填入,最后保存数据文件名为data.mif,存入原路径中。2、音乐节拍发生器NoteTabs的VHDL设计其源程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY NoteTabs ISPORT(clk4hz:IN STD_LOGIC; Index2:IN STD_LOGIC_VECTOR(3 DOWNTO 0); Tone:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END NoteTabs;ARCHITECTURE one OF NoteTabs ISCOMPONENT MUSIC1PORT (address:IN STD_LOGIC_VECTOR(7 DOWNTO 0); clock:IN STD_LOGIC; q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END COMPONENT;SIGNAL Counter:STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL INDEX1:STD_LOGIC_VECTOR(3 DOWNTO 0);Begin CNT8:PROCESS(clk4hz,Counter)BEGIN IF Counter=122 THEN Counter=00000000; ELSIF(clk4hzEVENT AND clk4hz=1) THEN CounterCounter,clock=clk4hz,q=Index1);ToneTone=1111111111111;CODE=0000;HIGHTone=0110000010001;CODE=0101;HIGHTone=0111000111110;CODE=0110;HIGHTone=1000100010001;CODE=0001;HIGHTone=1001010110010;CODE=0010;HIGHTone=1010000100101;CODE=0011;HIGHTone=1011000001000;CODE=0101;HIGHTone=1011100011110;CODE=0110;HIGHTone=1100010001000;CODE=0001;HIGHTone=1111111111111;CODE=0000;HIGH=0;END CASE;END PROCESS;END;在源程序中,Index3.0是音乐节拍发生器输出地音符数据;Tone12.0是为数控分频模块提供音符频率的初始值,此处有一个音符译码输出CODE3.0和音高指示信号HIGH可以通过数码管和LED来显示乐曲演奏时对应得音符和高低音。将以上设计的音符译码电路设置成可调用的原件,以被高层使用,其生成项目符号为:4、数控分频模块(speakera)设计,其程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_11
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030化学肥料产业行业发展研究与产业战略规划分析评估报告
- 乡土传统乐器规程
- 2025至2030人体工程学游戏椅行业项目调研及市场前景预测评估报告
- 信息安全管理规范制度建设总结
- 油井施工操作细则
- 构建现代职业教育体系规程
- 农产品市场供需关系与价格波动
- 岗位胜任力评估与工作绩效提升效果评估研究实施
- 通过线上广告宣传提高产品曝光
- 农产品种植化生产合同
- 木粉尘防爆安全培训课件
- GB/T 46142-2025智慧城市基础设施智慧交通快速响应矩阵码应用指南
- 场景速写课件讲解
- 2025广东惠州惠城区招聘社区工作站工作人员66人笔试备考题库及答案解析
- 2025年秋二年级上册数学人教版教学计划含教学进度表
- 餐饮四个人合伙合同协议
- 人体十二经络系统解析
- 影像科培训课件
- 2025年巷道掘砌工(技师)职业技能鉴定理论考试题库(含答案)
- 2025年交通安全宣传周知识竞赛考试题库及答案(含各题型)
- 2025年广东中考历史试卷真题解读及答案讲评课件
评论
0/150
提交评论