基于FPGA电子琴设计.docx

上传人:scccc 文档编号:13730391 上传时间:2022-01-22 格式:DOCX 页数:30 大小:145.10KB
返回 下载 相关 举报
基于FPGA电子琴设计.docx_第1页
第1页 / 共30页
基于FPGA电子琴设计.docx_第2页
第2页 / 共30页
基于FPGA电子琴设计.docx_第3页
第3页 / 共30页
基于FPGA电子琴设计.docx_第4页
第4页 / 共30页
基于FPGA电子琴设计.docx_第5页
第5页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《基于FPGA电子琴设计.docx》由会员分享,可在线阅读,更多相关《基于FPGA电子琴设计.docx(30页珍藏版)》请在三一文库上搜索。

1、南京师范大学物理科学与 技术学 院科研基金论文姓 名: xxxxxx班 级:班级通信工程设计题目: 基于FPGA勺PS/2键盘控制电子琴指导教师:宁晨二0一一年六月摘要文中介绍了电子琴系统的整体设计,并基于超高速硬件描述语言 VHDL在Altera公司的Cyclone II系歹U的EP2c8Q208CN片上编程实现.电子琴系统的设计包含四个模块,分别是控制输入电路、FPGA显示电路 和扬声器电路。其中FPGA莫块的设计是整个电子琴系统设计的核心内容。四个模块的有机组合完成了电子琴自动演奏的功能。文中还详细介绍了 FPGA功能模块的原理及其工作时序仿真图。本产品的特点是成本较低,性能稳定,精度高

2、,有一定的开发价值。Design of Electronics_orgon system based on FPGAAbstract: It will introduce the integrate design electronics_orgon system based on FPGA. The design will be achieved in the 2sc2005pq208 chipof Xilinx corporation with the VHDL(Very High-speed Description-Language)The design of Electronics_or

3、gon System consist of 4 parts, they are controlinput circuit 、 FPGA display circuit and speaker circuit. The program design of FPGAs the core of the system design. Four parts combined to achieve the automatic play electronics_orgon system. the article 川uminates the detail of the basic law of FPGA mo

4、dule and it s working timing characteristics. Since the most specialty of the product is it s low cost high precision, it s worth developing. Keyword:FPGA VHDL Electronics_orgon systemAutomatic play目 录摘要2目录3第一章 系统设计 4第一节 设计要求 4基本部分发挥部分第二节设计思路4第三节整体设计方案4万案一万案一万案二第四节比较方案第二章FPG陶介6第一节 FPGAT景6第二节 FPGA勺基本

5、原6MHZ_generator模块的原理NoteTabs模块的原理ToneTab破块的原理Speakera模块的原理第三节FPGA勺基本特点 7第四节FPGAS本结构8第三章单元电路设计 9第一节顶层模块(top)的设计9第二节自动演奏模块(automusic)的设计9第三节音调发生模块(tone)的设计9第四节数控分频模块(speaker)的设计9第四章 PS2键盘控制电子琴程序 10第一节VHD印言简介11第二节软件设计11第五章参考文献12第六章附录 13第一章 系统设计第一节 设计要求基本部分设计一二十一音电子琴,由键盘输入来控制其对应的音响。发挥部分设计一乐曲自动演奏器,由用户自己编

6、制乐曲存入电子琴,电子琴可以完成自动演奏的功能。第二节 设计思路通过可编程逻辑器件(PLD和VHDL硬件描述引言来实现电子琴的基本部分和发挥部分的设计。对于基本部分,设计的主体是数控分频器,对输入的频率进行分频,得到各个音阶对应的频率最为输出。对于发挥部分,则在原设计的基础上,增加一个乐曲存储模块,代替了键盘输入,产生节拍控制( index 数据存留时间)和音阶选择信号,即在此模块中可存放一个乐曲曲谱真值表,由一个计数器来控制此真值表的输出,而由此计数器的计数时钟信号作为乐曲节拍控制信号, 从而可以设计出一个纯硬件的乐曲自动演奏电路。通过可编程逻辑器件(PLDD和VHDL硬件描述引言来实现电子

7、琴的基本部分和发挥部分的设计。对于基本部分,设计的主体是数控分频器,对输入的频率进行分频,得到各个音阶对应的频率最为输出。对于发挥部分,则在原设计的基础上,增加一个乐曲存储模块,代替了键盘输入,产生节拍控制( index 数据存留时间)和音阶选择信号,即在此模块中可存放一个乐曲曲谱真值表,由一个计数器来控制此真值表的输出,而由此计数器的计数时 钟信号作为乐曲节拍控制信号,从而可以设计出一个纯硬件的乐曲自动演奏 电路。第三节整体设计方案方案一:采用数字逻辑电路制作,用IC拼凑焊接实现,这种电路很直观,简单方 便。但应用数字逻辑电路制作的话,使用的器件较多,连接复杂,体积大, 功耗大。电路中焊点和

8、线路较多会,使成品的稳定度和精度大大降低。方案二:采用现场可编程逻辑器件(FPGA制作,利用EDAa件中的VHDLM件描 述语言编程进行控制,然后烧制实现.采用FPGA来设计的原理图如图所示. 它由控制输入电路、FPGA显示电路和扬声器电路组成。FPGA琴键(21扬声器心片音乐控制图 采用FPG破计的电子琴原理方框图控制输入电路主要是为用户设计的,起到一个输入控制的作用.FPGA是现 场可编程逻辑器件,也是本设计方案的核心内容,它是实现电子琴运作的主 要控制模块.由设计者把编好的VHDL程序烧制到现场可编程逻辑器件 FPGA 中,然后通过控制输入电路把乐谱输入到 FPGA产生不同的频率驱动扬声

9、器, 发出不同的乐谱.同时也把发出的乐谱符号通过显示器输出.方案三:单片机现在已经达到很成熟的阶段了 ,它的应用也十分广泛.采用单片 机来实现电子琴,它的原理方框图与用FPGA来实现的原理方框图类似,如图 所示.控制输入MCU(单片显示电扬声器图 采用单片机实现电子琴的原理方框图图和图的基本原理都相同,唯一不同的是一个是用FPG朦制作一个是用单片机来实现.采用单片机来实现电子琴,主要的核心是单片机的设计. 第四节 比较方案对于电子琴的设计,三个方案均可以实现,但是第一个方案中采用的是数 字逻辑电路来制作,该电路硬件所需的器材多,体积庞大,比较复杂,而且精 度和稳定度都不是很高.第二个方案采用的

10、是现场可编程逻辑器件来实现,它的优点是所有电路集成在一块芯片上,此方案所需的外围电路简单,这样它的体积就减少了,同时还提高了系统的稳定度。还可以用Modelsim软件进行仿真和调试等。设计人员可以充分利用VHDL1件描述语言方便的编程, 提高开发效率,缩短研发周期,降低研发成本;而且易于进行功能的扩展, 实现方法灵活,调试方便,修改容易.方案三也有它的优点,但同时也存在缺 点.它对设计者的要求比较高,设计者对软硬件必须十分熟悉.和方案二来比 它的实验仿真没有方案二简单直观,调试也有一定的难度.在外界环境相同 的条件下,方案三设计出来的产品精度和稳定度要比方案二稍微差一些.因此,电子琴的设计我们

11、选择方案二来实现。第二章 FPGA简介第一节FPGA背景目前以硬件描述语言(Verilog 或VHDL)所完成的电路设计,可以 经过简单的综合与布局,快速的烧录至FPGA上进行测试,是现代IC设计验证的技术主流。这些可编辑元件可以被用来实现一些基本的逻辑 门电路(比如AND OR XOR NOT或者更复杂一些的组合功能比如解 码器或数学方程式。 在大多数的FPGA里面,这些可编辑的元件里也包含 记忆元件例如触发器(Flip -flop )或者其他更加完整的记忆块。系统设计师 可以根据需要通过可编辑的连接把FPGAft部的逻辑块连接起来,就好像一个电路试验板被放在了一个芯片里。一个出厂后的成品F

12、PGA勺逻辑块和连接可以按照设计者而改变,所以FPGAM以完成所需要的逻辑功能。FPGA-般来说比ASIC (专用集成芯片)的速度要慢,无法完成复杂 的设计,而且消耗更多的电能。但是他们也有很多的优点比如可以快速 成品,可以被修改来改正程序中的错误和更便宜的造价。厂商也可能会 提供便宜的但是编辑能力差的FPGA因为这些芯片有比较差的可编辑能力,所以这些设计的开发是在普通的FPG2完成的,然后将设计转移到一个类似于ASIC的芯片上。另外一种方法是用CPLD(复杂可编程逻辑器件备)。第二节FPGA的基本原理 MHZ_generator模块的原理分频器钟频率,输出是每秒12MHz勺频率和8HZ的频率

13、。其内部实际 是一个计数器,根据所需要的要求的输入是一个标准时进行不同的分频设 计。本程序中已知标准频率为 32MHz要得至U 12MH下口 8HZ的频率,通过计算我们可以确定它的分频系数. MHZ_generator 模块的工作时序仿真图 ( 略),它的程序见附录NoteTabs 模块的原理NoteTabs 模块其实就是一个乐谱预置器, 可设置电子琴演奏的乐谱 . 原理很简单即来一个脉冲输出一个已设置好的乐谱. 假定预先设计的乐谱为 3 3 35 5 5 6 2 1 1 3 3 3 3 3 3 它的输出工作时序仿真图如图所示, 程序见附录 .图 NoteTabs 模块的工作原理仿真图Tone

14、Taba 模块的原理ToneTaba模块是一个音阶发生器,实质是译码电路,控制音调的预置数.乐谱信号是该模块的敏感信号, 输入的每一个乐谱都将被译成与之相对映的频率从Tone端口输出去控制Speakera模块,让Speakera模块发出不同的音调 .ToneTaba 模块在将乐谱译成相映的频率的同时会将乐谱的符号从codel 输出到显示部分, 并判断乐谱是高音还是低音, 再从 highl 端口输出去显示.在ToneTabam块的设计中tone的计算很重要,tone是根据产生该音阶频率所对应的分频比获得的 . 此值是通过查表和计算所到 , 查表我们可以知道每个乐谱符号的频率, 然后计算出要得到该

15、乐谱的频率所需的分频系数.例如音符1的发音,通过查表得它的频率是785Hz左右,我们要计算tone的值可由公式 :音符频率=振荡频率/(16#7FF#-tone 的值 )振荡频率是经过分频之后得到的,在此是1MHZ由公式可计算出tone的值为:773.Speakera 模块的原理模块 Speakera 中的主要电路是一个数控分频器, 它由一个初值可预置的加法计数器和两个分频器构成. 数控分频器的功能就是当输入端给定不同的输入时,将对输入的时钟信号有不同的分频比,Speakera模块中的数控分 频器就是用计数值可并行预置的加法计数器设计完成的,方法是将计数溢出位与预置数加载输入信号相接即可.当模

16、块Speakera由端口 tone获得一个 十进制数后,将以此值为计数器的预置数,对端口 CLK12MH输入的频率进行 分频,之后将输出再进行2分频,将脉冲展宽,以使扬声器有足够功率发音, 最后由SPKOUT扬声器输出发声.Speakera模块的工作时序仿真图如图所 示,程序见附录.注:为了能清晰的看到输入与输出的关系,第一次分频系数 设的是2,第二次分频系数设的是5,第三次是2.图Speakera模块的工作时序仿真图第三节FPGA的基本特点1)采用FPG般计ASIC电路(专用集成电路),用户不需要投片生产, 就能得到合用的芯片。2) FPGAI做其它全定制或半定制 ASIC电路的中试样片。3

17、) FPGM部有丰富的触发器和I/5I脚。4) FPG麋ASIC电路中设计周期最短、开发费用最低、风险最小的器 件之一。5) FPGA采用高速CHMOS艺,功耗低,可以与 CMOS TTL电平兼容。可以说,FPG好片是小批量系统提高系统集成度、可靠性的最佳选择之一。FPG麋由存放在片内RA忡的程序来设置其工作状态的,因此,工作 时需要对片内的RAMS行编程。用户可以根据不同的配置模式,采用不同的编程方式。加电时,FPG小片将EPROM数据读入片内编程 RA呻,配置完成后,FPGAS入工作状态。掉电后,FPG微复成白片,内部逻辑关系消失,因 此,FPGA?B够反复使用。FPGA勺编程无须专用的F

18、PG编程器,只须用通 用的EPROM PRO编程器即可。当需要修改FPGAJ能时,只需换一片EPROM 即可。这样,同一片FPGA不同的编程数据,可以产生不同的电路功能。 因此,FPGA勺使用非常灵活 第四节FPGA基本结构FPG旗有掩膜可编程门阵歹U的通用结构,它由逻辑功能块排成阵列组成, 并由可编程的互连资源连接这些逻辑功能块来实现不同的设计。下面以Xilinx公司的FPG砍例,分析其结构特点。FPGAJ殳由三种可编程电路和一个用于存放编程数据的静态存储器SRAM组成。这三种可编程电路是:可编程逻辑块(Configurable Logic Block ,CLB)、输入/输出模块(I/O B

19、lock , IOB)和互连资源(Interconnect Resource, IR)。FPGA勺基本结构如图所示,可编程逻辑块(CLB)是实现逻辑功能的基本 单元,它们通常规则地排列成一个阵列,散布于整个芯片;可编程输入/输出模块(IOB)主要完成芯片上的逻辑与外部封装脚的接口,它通常排列在芯 片的四周;可编程互连资源(IR)包括各种长度的连线线段和一些可编程连接 开关,它们将各个CLB之间或CLB IOB之间以及IOB之间连接起来,构成 特定功能的电路。FPGA勺功能由逻辑结构的配置数据决定。工作时,这些配置数据存放在 片内的SRAMg熔丝图上。基于SRAM勺FPGAIM牛,在工作前需要从

20、芯片外 部加载配置数据,配置数据可以存储在片外的EPRO或其他存储体上。用户可以控制加载过程,在现场修改器件的逻辑功能,即所谓的现场编程。第三章单元电路设计第一节顶层模块(top)的设计VHDL采用的是自顶向下的设计方式,顶层模块由乐曲自动演奏(automusic),音调发生器(tone)和数控分频器(speaker)三个模块组成。图2-1-1即是顶层设计原理图。其中乐曲演奏部分又包括了键盘编码。设置一个自动演奏/键盘输入切换auto,即当auto=101时,选择自动演奏音 乐存储器里面的乐曲,auto=111时,选择由键盘输入的信号,再对其进行编 码,输出的都是八位二进制数,对应音调发生器的

21、输入。图2-1-1顶层设计原理图 第二节自动演奏模块(doremi)的设计为了实现扩展部分的设计,便需要多加上一个音乐存储模块,该模块的作用是产生8位发声控制输入index , auto为0或1时可以选择自动演奏或 者键盘输入,如果auto为0,则而由存储在此模块中的8位二进制数来作为 发声控制输入,由此便可自动演奏乐曲。此模块的VHDL言中包括两个进程,首先是对基准脉冲进行分频得到 4Hz的脉冲,作为第二个进程的时钟信 号,它的目的是控制每个音阶之间的停顿时间,此处便是1/4=,第二个进程是音乐的存储,可根据需要编写不同的乐曲。第三节 音调发生器(note_tabs) 模块的设计音调发生器的

22、作用是产生获得音阶的分频预置值。 当 8 位发声控制输入 index 中的某一位为高电平时,则对应某一音阶的数值将以端口 tone 输出, 作为获得该音阶的分频预置值, 该值作为数控分频器的输入, 来对 4MHz 的脉冲进行分频,由此得到每个音阶相应的频率,例如输入index=00000010 , 即对应的按键是2, 产生的分频系数便是6809; 由 code输出对应该音阶简谱的显示数码;由 high 输出指示音阶高8 度的显示,低电平有效。第四节 数控分频模块(speaker )的设计数控分频模块的目的是对基准脉冲分频, 得到 1,2,3,4,5,6,7 七个音符对应频率。该模块的 VHDL

23、苗述中包含了三个进程。首先对 32MHZ1勺基准脉冲进行分频得到8MHz的脉冲,然后按照tonel输入的分频系数对4MHz勺脉 冲再次分频,得到的便是所需要的频率。而第三个进程的作用是在音调输出时再进行二分频,将脉冲展宽,以使扬声器有足够功率发音。第四章 PS2 键盘控制电子琴程序第一节 VHDL 硬件描述语言简介PLD的软件已发展得相当完善,利用 VHDLM件描述语言来实现程序的编制,这样硬件的功能描述可以完全在软件上实现。VHD医用于逻辑设计的硬件描述语言,成为IEEE标准。它作为描述硬件电路的语言,有以下特点:(1) VHDL的宽范围描述能力使它成为高层次设计的核心,将设计人员的工作重心

24、提高到了系统功能的实现与调试,而花较少的精力于物理实现。(2) VHDL可以用简洁明确的代码描述来进行复杂控制逻辑的设计,灵活且方便,而且也便于设计结果的交流、保存和重用。(3)VHDL勺设计不依赖于特定的器件,同一个HDL码可以综合成FPGA 或ASIC,方便了工艺的转换。(4) VHD展一个标准语言,为众多的 EDAT商支持,而且设计出来的 电路大多数并行运行,因此移植性好且速度快。采用VHD屏言设计复杂数字 电路的方法具有很多优点,其语言的设计技术齐全、方法灵活、支持广泛。它可以支持自顶向下(Top Down和基于库(Library_Based )的设计方法, 而且还支持同步电路、异步电

25、路、FPGAZ及其他随机电路的设计,具范围很 广,语言的语法比较严格,给阅读和使用都带来了极大的好处。第二节软件设计本设计采用 Xilinx 公司的EDAC件系统Foundation Series ISE 来完成。采用自顶向下的设计方法。图 3.2.1 为其软件流程图。软件设计采用结构化程序设计方法,功能模块各自独立,实际上在设计中将键盘输入和乐曲存储放在了一个自动演奏模块中, 软件设计的核心部分是数控分频器,键盘输入和乐曲储存都是提供给它相应的分频比。对输入的基准时钟进行多次分频,最终输出的就是想得到的音阶的频率。VHDL苗述语 言和仿真图详见附录。第五章 结束语本设计利用超高速硬件描述语言

26、 VHD戌现了电子琴的自动演奏和键盘输 入发音的简易功能,经过编程,综合,仿真,下载,芯片烧制,最终做出成品,测试情况良好,能够准确实现音阶的发音功能,可切换到自动演奏存储好的乐曲,可根据需要更改程序而实现不同的乐曲存储。在设计实验时,我本来想做一个电子琴,可是由于对基础知识不够纯熟,最终没有成功,这个硬件演奏电路是之后匆忙整的,有很多粗糙的地放,主要是参考了实验教材上的程序,实验过程中,犯了很多应该避免的小错误,比如在编写顶层连接文件时,只是单纯按照自己的想法和例题去编写,后来发现编译的结果有错 误。后来发现是因为管脚的名称和模块的名称一样或相近导致的,后来在老 师的指导下发现问题所在,从而

27、解决了问题。参考文献:1辛春艳.VHD底件描述语言.北京:国防工业出版社,20022甘历.VHD3用与开发实践.北京:科学出版社,20033 VHDL Language Reference Guide , Aide Inc . Henderson NV USA , 19994齐洪喜,陆颖.VHD此路设计实用教程.北京:清华大学出版社,20045 潘松,黄继业.EDA技术实用教程.北京:科学出版社,20026李冬梅.PLD器件与EDAK术【Ml .北京:北京光播学院出版社,2000年第一版7赵俊超.集成电路设计VHDLM程【Ml .北京:北京希望电子出版社,2002年第一版8赵曙光.郭万有.可编

28、程逻辑器件原理,开发与应用【Ml .西安:电子科技大学出 版社.2000年第一版9甘历.VHDL应用与开发实践【M .北京:科技出版社.2003年第一版10黄仁欣编着,EDAJJ术实用教程 清华大学出版社11 EDA/SOPCfc术实验讲义杭州康芯电子有限公司第六章 附录与利用微处理器(CPU或MCU实现乐曲演奏相比,以纯硬件完成乐曲演奏电路的逻辑要复杂得多,如果不借助于功能强大的EDAC具和硬件描述 语言,仅凭传统的数字逻辑技术,即使最简单的演奏电路也难以实现。如何 使用EDA工具设计电子系统是人们普遍关心的问题,本设计在美国ALTERA公司QUARTUS勺ED磁件平台上,使用层次化设计方法

29、,实现了乐曲发生 器的设计。乐曲选取梁祝中化蝶部分,其简谱如图 1所示。1、系统结构描述1 )本设计完全用VHD用言实现的主系统由顶层文件和三个底层模块组成,有, 和2)源代码1 .顶层文件- 顶层文件LIBRARY IEEE;USE SONGER ISPORT(CLK12MHZ:IN STD_LOGIC;CLK8HZ:IN STD_LOGIC;CODE1:OUT INTEGER RANGE 0 TO 15;HIGH1:OUT STD_LOGIC;SPKOUT: OUT STD_LOGIC);END ENTITY SONGER;ARCHITECTURE one OF SONGER ISCOMP

30、ONENT NOTETABSPORT(CLK:IN STD_LOGIC;TONEINDEX:OUT INTEGER RANGE 0 TO 15);END COMPONENT;COMPONENT TONETABAPORT( INDEX: IN INTEGER RANGE 0 TO 15;CODE: OUT INTEGER RANGE 0 TO 15;HIGH:OUT STD_LOGIC;TONE:OUT INTEGER RANGE 0 TO 16#7FF#);END COMPONENT;COMPONENT SPEAKERAPORT( CLK: IN STD_LOGIC;TONE:IN INTEG

31、ER RANGE 0 TO 16#7FF#;SPKS: OUT STD_LOGIC);END COMPONENT;SIGNAL TONE:INTEGER RANGE 0 TO 16#7FF#;SIGNAL TONEINDEX:INTEGER RANGE 0 TO 15;BEGINU1:NOTETABS PORT MAP(CLK=CLK8HZ,TONEINDEX=TONEINDEX);U2:TONETABAPORTMAP(INDEX=TONEINDEX,TONE=TONE,CODE=CODE1,HIGH=HIGH1);U3:SPEAKERA PORT MAP(CLK=CLK12MHZ,TONE=

32、TONE,SPKS=SPKOUT);END;2)底层文件用来查询音调频率LIBRARY IEEE;USE TONETABA ISPORT(INDEX: IN INTEGER RANGE 0 TO 15;CODE:OUT INTEGER RANGE 0 TO 15;- 定义错的输出引定义 high 输出HIGH:OUT STD_LOGIC;引脚定义tone输出TONE:OUT INTEGER RANGE 0 TO 16#7FF#);引脚END TONETABA;ARCHITECTURE one OF TONETABA ISBEGINSEARCH:PROCESS(INDEX)BEGINCASE I

33、NDEX IS -此项用来检索音调的频率,高八度和低八度共十六个音符WHEN 0 =TONE=2047;CODE=0;HIGHTONE=773;CODE=1;HIGHTONE=912;CODE=2;HIGHTONE =1036;CODE=3;HIGHTONE =1116;CODE=4;HIGHTONE =1197;CODE=5;HIGHTONE =1290;CODE=6;HIGHTONE =1372;CODE=7;HIGHTONE =1410;CODE=1;HIGHTONE =1480;CODE=2;HIGHTONE =1542;CODE=3;HIGHTONE =1590;CODE=4;HIG

34、HTONE =1622;CODE=5;HIGHTONE =1668;CODE=6;HIGHTONE =1692;CODE=7;HIGHTONE =1728;CODE=1;HIGH NULL;END CASE;END PROCESS;END;2. - 用来分频LIBRARY IEEE;USE SPEAKERA ISPORT(CLK:IN STD_LOGIC;TONE:IN INTEGER RANGE 0 TO 16#7FF#;SPKS:OUT STD_LOGIC);END SPEAKERA;ARCHITECTURE behav OF SPEAKERA ISSIGNAL PRECLK,FULLSP

35、KS:STD_LOGIC;BEGINDIVIDECLK:PROCESS(CLK)VARIABLE COUNT4:INTEGER RANGE 0 TO 15;BEGINPRECLK11 THEN PRECLK=1;COUNT4:=0;ELSIF CLKEVENT AND CLK=1 THEN COUNT4:=COUNT4+1;END IF;END PROCESS;GENSPKS:PROCESS(PRECLK,TONE)VARIABLE COUNT11:INTEGER RANGE 0 TO 16#7FF#;BEGINIF PRECLKEVENT AND PRECLK=1 THENIF COUNT1

36、1=16#7FF# THEN COUNT11:=TONE;FULLSPKS=1;ELSE COUNT11:=COUNT11+1;FULLSPKS=0;END IF;END IF;END PROCESS;DELAYSPKS:PROCESS(FULLSPKS)VARIABLE COUNT2:STD_LOGIC;BEGINIF FULLSPKSEVENT AND FULLSPKS=1 THEN COUNT2:=NOT COUNT2;IF COUNT2=1 THEN SPKS=1;ELSE SPKS=0;END IF;END IF;END PROCESS;END behav;3. - 用来存谱LIBR

37、ARY IEEE;USE NOTETABS ISPORT( CLK:IN STD_LOGIC;TONEINDEX:OUT INTEGER RANGE 0 TO 15);END NOTETABS;ARCHITECTURE one OF NOTETABS ISSIGNAL COUNTER:INTEGER RANGE 0 TO 138;BEGINCNT8:PROCESS(CLK)BEGINIF COUNTER=39 THEN COUNTER=0;ELSIF(CLKEVENT AND CLK=1)THEN COUNTERtoneindextoneindextoneindextoneindextonei

38、ndextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneinde

39、xtoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneind

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1