基于FPGA的乐曲演奏电路设计.doc

上传人:h**** 文档编号:130661 上传时间:2018-07-09 格式:DOC 页数:36 大小:999KB
下载 相关 举报
基于FPGA的乐曲演奏电路设计.doc_第1页
第1页 / 共36页
基于FPGA的乐曲演奏电路设计.doc_第2页
第2页 / 共36页
基于FPGA的乐曲演奏电路设计.doc_第3页
第3页 / 共36页
基于FPGA的乐曲演奏电路设计.doc_第4页
第4页 / 共36页
基于FPGA的乐曲演奏电路设计.doc_第5页
第5页 / 共36页
点击查看更多>>
资源描述

1、扬州大 学本科生毕业设计 - 1 - 草鱼 基于 FPGA的乐曲演奏电路设计 草鱼 草鱼 摘要 草鱼 设计了一种基于 FPGA的电子琴 , 鲤鱼 该电子琴由用 VHDL硬件描述语言设计的核心部件和适当的外围电路构成 , 鲤鱼 可从琴键上进行演奏也可自动进行乐曲演奏 。 草鱼草鱼 基于 FPGA(现场可编程门阵列 )芯片 , 鲤鱼 利用 VHDL语言 , 鲤鱼 介绍了一种通用乐曲演奏电路的设计 , 鲤鱼 可实现多个八度音阶的乐曲演奏 , 鲤鱼 与简谱的对应关系简单 , 鲤鱼 编程方便 , 鲤鱼 占用资源少 ,鲤鱼 通用性好 , 鲤鱼 可作为 IP 草鱼 core模块引用 , 鲤鱼 构成复杂的 S

2、OPC系统 草鱼 关键词 : p ork电子琴 ; pork现场可编程门阵列 ( FPGA) ; pork智力产权核( IP 草鱼 core) ; pork超高速集成电路硬件描述语言 (VHDL); p ork乐曲 草鱼 草鱼 草鱼 草鱼 草鱼 Abstract草鱼 An 草鱼 electronic 草鱼 piano 草鱼 is 草鱼 designed 草鱼 based 草鱼 on 草鱼 FPGA, 鲤鱼 which 草鱼 consists 草鱼 of 草鱼 core 草鱼 paris 草鱼 that 草鱼designed 草鱼 by 草鱼 using 草鱼 VHDL 草鱼 hardware

3、草鱼 description 草鱼 languages, 鲤鱼 as 草鱼 well 草鱼 as 草鱼 some 草鱼 periphery 草鱼circuits.The 草鱼 musical 草鱼 perform 草鱼 ance 草鱼 can 草鱼 be 草鱼 donenot 草鱼 only 草鱼 by 草鱼 keys 草鱼 but 草鱼 also 草鱼 with 草鱼automatic 草鱼 type 草鱼 in 草鱼 the 草鱼 electronic 草鱼 piano 草鱼 Based 草鱼 on 草鱼 FPGA, 鲤鱼 by 草鱼 VHDL 草鱼 language, 鲤鱼 this 草

4、 鱼 paper 草鱼 introduces 草鱼 a 草鱼 universal 草鱼 music 草鱼 circuit 草鱼design, 鲤鱼 it 草鱼 can 草鱼 play 草鱼 high, 鲤鱼 middle 草鱼 and 草鱼 low 草鱼 multiple 草鱼 tonality, 鲤鱼 simple 草鱼 corresponding 草鱼 relation 草鱼 with 草鱼 simple 草鱼 musical 草鱼 notation, 鲤鱼 which 草鱼 programs 草鱼 easily 草鱼 using 草鱼 little 草鱼 resource It 草鱼 c

5、an 草鱼 be 草鱼used 草鱼 universally 草鱼 for 草鱼 IP 草鱼 core 草鱼 in 草鱼 making 草鱼 complicated 草鱼 SOPC 草鱼 system 草鱼 Key 草鱼 words: porkelectronic 草鱼 piano; porkField 草鱼 Programmable 草鱼 Gate 草鱼 Array( FPGA) ; porkIntelligence 草鱼 Property 草鱼 core(IP 草鱼 core) 草鱼 ; porkVery-High-Speed 草鱼 Integrated 草鱼 Circuit 草鱼 Har

6、dware 草鱼 Description 草鱼Language(VHDL); por kmusic草鱼 草鱼 目 草鱼 录 草鱼 1.简易电子琴与音乐发生器设计的介绍 4草鱼 1.1 草鱼 简易电子琴设计介绍 4草鱼 1.2 草鱼 音乐发生器设计介绍 4草鱼 2. 草鱼 FPGA功能与使用简介 6草鱼 2.1 草鱼 FPGA简介 6草鱼 2.1.1 草鱼 FPGA的产生 6草鱼 2.1.2 草鱼 FPGA的基本结构 7草鱼 2.1.3 草鱼 MAX+PLUSII 7草鱼 2.2 草鱼 硬件描述语言 VHDL10 草鱼 2.2.1 草鱼 VHDL语言的优点 10草鱼 2.2.2 草鱼 利用 VH

7、DL语言设计数字系统的特点 11 草鱼 2.2.3 草鱼 VHDL语言的基本结构 13草鱼 扬州大 学本科生毕业设计 - 2 - 2.2.4 草鱼 VHDL的设计流程 15 草鱼 3. 草鱼 简易电子琴设计及程序 16草鱼 3.1 草鱼 简易电子琴设计总体框图 16 草鱼 3.2 草鱼 模 块设计 16 草鱼 3.2.1 草鱼 模块 QIN设计 16草鱼 3.2.2 草鱼 模块 FANA设计 17 草鱼 4. 草鱼 音乐发生器设计及程序 20 草鱼 4.1 草鱼 使用的乐谱 20 草鱼 4.2 草鱼 音乐发生器设计及程序 20草鱼 4.2.1 草鱼 音乐发生器总框图 20 草鱼 4.2.2 草

8、鱼 可变分频器设计 20草鱼 4.2.3 草鱼 到计时模块设计 31 草鱼 5. 草鱼 仿真 34草鱼 5.1 草鱼 概述 34草鱼 5.2 草鱼 仿真验证与实现 3 4草鱼 5.2.1 草鱼 电子琴电路的仿真 35草鱼 5.2.2 草鱼 音乐发生器仿真 3 5草鱼 6. 草鱼 结论 37草鱼 7. 草鱼 致谢 38草鱼 8参考文献 39草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 1.简易电子琴与音乐发生器设计的介绍 草鱼 1.1简易电子琴设计介绍 草鱼 电子琴因其操作简单 , 鲤鱼 且能模拟各种传统乐器的音色 , 鲤鱼 而深受消费者喜爱 。 草鱼 基于

9、可编程逻辑器件 FPGA(FieldProgrammable 草鱼 Logical 草鱼 Device)芯片 , 鲤鱼 利用 VHDL硬件描述语言设计系统核心部件 , 鲤鱼 再配以适当的外围电路 , 鲤鱼 可从琴键上进行演奏也可自动进行乐曲演奏 , 鲤鱼可模拟传统乐器笛 、 p ork风琴 、 pork小号 、 pork单簧 、 pork双簧等音色 。 草鱼草鱼 1.2音乐发 生器设计介绍 草鱼 音乐发生器广泛用于自动答录装置 、 pork手机铃声 、 pork集团电话及智能仪器仪表设备实现方法有以下几种 : pork购买专用音乐电路片 , 鲤鱼 特点是价格便宜 , 鲤鱼 多用于玩具无法更改乐

10、曲 ,扬州大 学本科生毕业设计 - 3 - 鲤鱼 也无法编程 ; pork 草鱼 录音重放电路 , 鲤鱼 如 ISD系列录放电路可通过麦克风人工录音 , 鲤鱼 分段放音 , 鲤鱼 成本稍高 ; pork利用微处理器来实现乐曲演奏 , 鲤鱼 需要占用微处理器的资源较多 (要占用 D A和定时器等 ), 鲤鱼 大多数情况无法采用这种方法 ; pork 草鱼 以纯硬件完成乐曲演奏 , 鲤鱼 随着FPGA集成 度的提高 , 鲤鱼 价格下降 , 鲤鱼 EDA设计工具更新换代 , 鲤鱼 功能日益强大 , 鲤鱼 操作方便实用 ,鲤鱼 以及 IP 草鱼 core概念日益普及与流行 , 鲤鱼 使这种方案的应用领

11、域越来越多它的突出优点是 :pork第一 , 鲤鱼 仅占用 FPGA中很少的资源 , 鲤鱼 因此成本低 , 鲤鱼 甚至不增加成本这是因为某个产品选定某型号 FPGA芯片 , 鲤鱼 只用了其中一部分资源 , 鲤鱼 还有相当一部分资源闲置没用 ; pork第二 , 鲤鱼更改乐曲非常方便 ; p ork第三 , 鲤鱼 可作为 IP 草鱼 core实现设计重用 。 草鱼 草鱼 乐曲演奏电路的实现 , 鲤鱼 其工作原理是这样的 : pork我们知道 , 鲤鱼 组成乐曲的每个音符的发音频率值及其持续的时间是乐曲能连续演奏所需的两个基本要素 , 鲤鱼 问题是如何来获取这两个要素所对应的数值以及通过纯硬件的手

12、段来利用这些数值实现所希望乐曲的演奏效果 。草鱼草鱼 我们知道 , 鲤鱼 组成乐曲的每个音符的发音频率值及其持续的时间是乐曲能连续演奏所需的2个基本要素 , 鲤鱼 首先让我们来了解音符与频率的关系 。 草鱼 乐曲的 12平均率规定 : pork每 2个八度音 (如简谱中的中音 1与高音 1)之间的频率相差 1倍 。 草鱼 在 2个八度音之间 , 鲤鱼 又可分为 12个半音 , 鲤鱼 每 2个半音的频率比为 212 。 草鱼 另外 , 鲤鱼 音符 A(简谱中的低音 6)的频率为 440 草鱼 Hz, 鲤鱼 音符 B到 C之间 、 p orkE到 F之间为半音 , 鲤鱼 其余为全音 。 草鱼 由此

13、可以计算出简谱中从低音 1至高音 1之间每个音符的频率 , 鲤鱼 如表 1所示 。 草鱼 草鱼 草鱼 表 1-1 草鱼 草鱼 音高频率对照表 1 2 3 4 5 6 7 低音 131 147 165 175 196 221 248 中音 262 294 330 350 393 441 496 高音 525 589 661 700 786 882 990 草鱼 产生各音符所需的频率可用一分频器实现 , 鲤鱼 由于各音符对应的频率多为非整数 , 鲤鱼 而分频系数又不能为小数 , 鲤鱼 故必须将计算得到的分频数四舍五人取整 。 草鱼 若分频器时钟频率过低 ,鲤鱼 则由于分频系数过小 , 鲤鱼 草鱼

14、四舍五人取整后的误差较大 ; pork若时钟频率过高 , 鲤鱼 虽然误差变小 ,鲤鱼 但会增加分频器的分频级数 。 草鱼 实际的设计应综合考虑两方面的因素 , 鲤鱼 在尽量减小频率误差的前提下取合适的时钟频率 。 草鱼 本文设计的乐曲发生器选取 4MHz 的基准频率 。 草鱼 若无 4 草鱼MHz 的时钟频率 , 鲤鱼 则可以先分频得到 4 草 鱼MHz 或换一个新的基准频率 。 草鱼 实际上 , 鲤鱼 只要各个音符间的相对频率关系不变 , 鲤鱼 演奏出的乐曲听起来都不会“走调” 。 草鱼草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 扬州大 学本科生毕业设计 - 4 - 草鱼 草鱼 草鱼 草

15、鱼 草鱼 草鱼 2 FPGA 功能与使用简介 草鱼 2.1 草鱼 FPGA 简介 草鱼 FPGA 是英文 Field 草鱼 Programmable 草鱼 Gate 草鱼 Array 的缩写 , 鲤鱼 即现场可编程门阵列 , 鲤鱼 它是在PAL、 porkGAL、 porkEPLD 等可编程器件的基础上进一步发展的产物 。 草鱼 它是作为专用集成电路( ASIC)领域 中的一种半定制电路而出现的 , 鲤鱼 既解决了定制电路的不足 , 鲤鱼 又克服了原有可编程器件门电路数有限的缺点 。 草鱼 草鱼 2.1.1FPGA 的产生 草鱼 当今社会是数字社会 , 鲤鱼 数字集成电路应用非常广泛 , 鲤鱼

16、 其发展从电子管 、 pork晶体管 、 pork小规模集成 SSI、 porkMSI、 porkLSI、 porkVLSI(几万门以上)到超大规模集成电路 ULSI 和超位集成电路GSI, 鲤鱼 其规模几乎平均每一到两年翻一番 。 草鱼 集成电路的发展大大促进了 EDA 的发展 , 鲤鱼先进的 EDA 已从传统的 “ 自下而上 ” 的设计方法改变为 “ 自上而下 ” 的设 计方法 。 草鱼ASIC(Application 草鱼 Specific 草鱼 Integrated 草鱼 Circuit)的设计与制造 , 鲤鱼 已不再完全由半导体厂商独立承担 , 鲤鱼 系统设计师在实验室里就可以设计出

17、合适的 ASIC 芯片 , 鲤鱼 并且立即投入实际应用中 , 鲤鱼 这都得益于可编程逻辑器件 PLD( Programmable 草鱼 Logic 草鱼 Device)的出现 。 草鱼 现在应用最广泛的 PLD 主要是现场可编程门阵列 FPGA(Field 草鱼 Programmable 草鱼 Gate 草鱼 Array)、 pork复杂可编程逻辑器件 CPLD(Complex 草鱼 Programmable 草鱼 Logic 草鱼 Device)、 pork可擦除可编程逻辑器件 EPLD( Erasable 草鱼 Programmable 草鱼 Logic 草鱼 Device) 。 草鱼 草

18、鱼 FPGA 器件集成度高 、 pork体积小 , 鲤鱼 具有通过用户编程实现专门应用的功能 , 鲤鱼 特别适合于产品的样机开发和小批量生产 。 草鱼 现场可编程门阵列 FPGA 是一种新型的高密度 PLD, 鲤鱼 采用CMOS SRAM 工艺制作 , 鲤鱼 与门阵列 PLD 不同 , 鲤鱼 其内部由许多独立的可编程逻辑模块( CLB)组成 , 鲤鱼 逻辑块之间可以灵活地相互连接 。 草鱼 现场可编程门阵列 FGPA 的结构一般分为三部分 : pork可编程逻辑块 、 pork可编程 I/O 模块和可编程内部连线 。 草鱼 CLB 的功能很强 , 鲤鱼不仅能够实现逻辑函数 , 鲤鱼 还可以配置

19、成 RAM 等复杂的形式 , 鲤鱼 配置数据存放在片内的扬州大 学本科生毕业设计 - 5 - SRAM 或者熔丝图上 。 草鱼 基于 SRAM 的 FPGA 器件工作前需要从芯片外部加载配置数据 ,鲤鱼 配置后的数据可以存储在片外的 EPROM 上或者计算机上 。 草鱼 草鱼 现场可编程门阵列 FPGA 允许电路设计者利用基于计算机的开发平台 , 鲤鱼 经过设计输入 、pork仿真 、 pork测 试和校验 , 鲤鱼 直接达到预期的结果 。 草鱼 使用 FPGA 器件可以大大缩短系统的研制周期 , 鲤鱼 减少资金的投入 。 草鱼 更吸引人的是 , 鲤鱼 采用 FPGA 器件可以将原来的电路板级

20、产品集成为芯片级产品 , 鲤鱼 从而降低了功耗 , 鲤鱼 提高了可靠性 , 鲤鱼 同时还可以很方便地对设计进行在线修改 。 草鱼 因此 , 鲤鱼 FPGA 的出现受到了电子设计师的普遍欢迎 , 鲤鱼 发展十分迅速 。 草鱼草鱼 2.1.2 草鱼 FPGA 的基本结构 草鱼 FPGA 采用了逻辑单元阵列 LCA( Logic 草鱼 Cell 草鱼 Array)这样一个新概念 , 鲤鱼 内部包括可配置逻辑模块 CLB( Configurable 草鱼 Logic 草鱼 Block) 、 pork输出输入模块 IOB( Input 草鱼 Output 草鱼 Block)和内部连线( Intercon

21、nect)三个部分 。 草鱼 FPGA 的基本特点主要有 : pork 草鱼 草鱼 草鱼 草鱼 草鱼 1)采用 FPGA 设计 ASIC 电路 , 鲤鱼 用户不需要投片生产 , 鲤鱼 就能得到合用的芯片 。 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 2) FPGA 可做其它全定制或半定制 ASIC 电路的中试样片 。 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 3) FPGA 内部有丰富的触发器和 I O 引脚 。 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 4) FPGA 是 ASIC 电路中设计周期最短 、 pork开发费用最低 、 pork风险最小的器件之一 。 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 5)

22、 FPGA 采用高速 CHMOS 工艺 , 鲤鱼 功耗低 , 鲤鱼 可以与 CMOS、 porkTTL 电平兼容 。 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 可以说 , 鲤鱼 FPGA 芯片是小批量系统提高系统集成度 、 pork可靠性的最佳选择之一 。 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 FPGA 是由存放在片内 RAM 中的程序来设置其工作状态的 , 鲤鱼 因此 , 鲤鱼 工作 时需要对片内的 RAM 进行编程 。 草鱼 用户可以根据不同的配置模式 , 鲤鱼 采用不同的编程方式 。 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 加电时 , 鲤鱼 FPGA 芯片将 EPROM 中数

23、据读入片内编程 RAM 中 , 鲤鱼 配置完成后 , 鲤鱼 FPGA 进入工作状态 。 草鱼 掉电后 , 鲤鱼 FPGA 恢复成白片 , 鲤鱼 内部逻辑关系消失 , 鲤鱼 因此 , 鲤鱼 FPGA 能够反复使用 。草鱼 FPGA 的编程无须专用的 FPGA 编程器 , 鲤鱼 只须用通用的 EPROM、 porkPROM 编程器即可 。 草鱼 当需要修改 FPGA 功能时 , 鲤鱼 只需换一片 EPROM 即可 。 草鱼 这样 , 鲤鱼 同一片 FPGA, 鲤鱼 不同的编程数据 , 鲤鱼 可以产生不同的电路功能 。 草鱼 因此 , 鲤鱼 FPGA 的使用非常灵活 。 草鱼 草鱼 草鱼 草鱼 草鱼

24、 草鱼 草鱼 FPGA 有多种配置模式 : pork并行主模式为一片 FPGA 加一片 EPROM 的方式 ; pork主从模式可以支持一片 PROM 编程多片 FPGA; pork串行模式可以采用串行 PROM 编程 FPGA; pork外设模式可以将 FPGA 作为微处理器的外设 , 鲤鱼 由微处理器对其编程 。 草鱼 草鱼 2.1.3 草鱼 MAX+PLUSII 草鱼 MAX+PLUSII 是 Altera 公司提供的 FPGA/CPLD 开发集成环境 , 鲤鱼 界面友好 、 pork使用便捷 , 鲤鱼扬州大 学本科生毕业设计 - 6 - 被誉为业界最易用易学的 EDA 软件 。 草鱼

25、在 MAX+PLUSII 上可以完成设计输入元件适配 、 pork时序仿真和功能仿真 、 pork编程下载整个流程 , 鲤鱼 支持原理图 、 porkVHDL 和 Verilog 语言文本文件以及波形与 EDIF 等格式的文件作为设计输入 。 草鱼 它提供了一种与结构无关的设计环境 , 鲤鱼使设计者能方便地进行设计输入 、 p ork快速处理和器件编程 。 草鱼草鱼 MAX+PLUSII 支持主流的第三方 EDA 工具 , 鲤鱼 如 Synopsys、 porkCadence、 porkSynplicity、 porkMentor、pork 草鱼 Viewlogic、 porkExemplar

26、 和 Model 草鱼 Technology 等 。 草鱼 MAX+PLUSII 支持 APEX20K 系列之外的所有 Altera 草鱼 FPG/CPLD 大规模逻辑器件 。 草鱼草鱼 MAX+PLUSII 功能简介 草鱼 1原理图输入( Graphic 草鱼 editor) 草鱼 草鱼 草鱼 草鱼 MAX+PLUSII 软件具有图形输入能力 , 鲤鱼 用户可以方便地使用图形编辑器输入电路图 , 鲤鱼 图中的元器件可以调用元件库中元器件 , 鲤鱼 除调用库中的元件外 , 鲤鱼 还可 以调用该软件中的符号功能形成的功能块 。 草鱼草鱼 2硬件描述语言输入( Text 草鱼 Editor) 草鱼

27、 草鱼 草鱼 草鱼 草鱼 MAX+PLUSII 软件中有一个集成的文本编辑器 , 鲤鱼 该编辑器支持 VHDL, 鲤鱼 AHDL 和Verilog 硬件描述语言的输入 , 鲤鱼 同时还有一个语言模块使输入程序语言更加方便 , 鲤鱼 该软件可以对这些程序语言进行编译并形成可以下载配置数据 。 草鱼草鱼 3波形编辑器( Waveform 草鱼 Editor) 草鱼 在进行逻辑电路的行为仿真时 , 鲤鱼 需要在所设计电路的输入端加入一定的波形 , 鲤鱼 波形编辑器可以生成和编辑仿真用的波形( *.SCF 文件) , 鲤鱼 使用该编辑器的工具条可以容易方便地生成波形和编辑波形 。 草鱼草鱼 还可以使用

28、输入的波形( *.WDF 文件)经过编译生成逻辑模块 , 鲤鱼 相当于已知一个芯片的输入输出波形 , 鲤鱼 但不知是何种芯片 , 鲤鱼 使用该软件功能可以解决这个问题 , 鲤鱼 设计出一个输入和输出波形相同 CPLD 电路 。 草鱼草鱼 草鱼 4管脚(底层)编辑窗口( Floorplan 草鱼 Editor) 草鱼 该窗口用于将已设计好逻辑电路的输入输出节点赋予实际芯片的引脚 , 鲤鱼 通过鼠标的拖拉 , 鲤鱼 方便地定义管脚 。 草鱼草 鱼 草鱼 5自动错误定位 草鱼 在编译源文件的过程中 , 鲤鱼 若源文件有错误 , 鲤鱼 MAX+PLUSII 软件可以自动指出错误类型和错误所在的位置 。

29、 草鱼草鱼 草鱼 6逻辑综合与适配 草鱼 扬州大 学本科生毕业设计 - 7 - 该微软件在编译过程中 , 鲤鱼 通过逻辑综合( Logic 草鱼 Synthesizer)和适配( Fitter)模块 , 鲤鱼 可以把最简单的逻辑表达式自动的吻合在合适的器件中 。 草鱼草鱼 草鱼 7设计规则检查 草鱼 选取 CompileProcessingDesign 草鱼 Doctor 菜单 , 鲤鱼 将调出规则检查医生 , 鲤鱼 该医生可以按照 3种规则检查 各个设计文件 , 鲤鱼 以保证设计的可靠性 。 草鱼 一旦选择该菜单 , 鲤鱼 在编译窗口将显示出医生 , 鲤鱼 用鼠标点击医生 , 鲤鱼 该医生可

30、以告诉你程序文件的健康情况 。 草鱼草鱼 8多器件划分( Partitioner) 草鱼 如果设计不能完全装入一个器件 , 鲤鱼 编译器中的多器件划分 Partitioner 模块 , 鲤鱼 可自动的将一个设计分成几个部分并分别装入几个器件中 , 鲤鱼 并保证器件之间的连线最少 。 草鱼草鱼 9编程文件的产生 草鱼 编译器中的装配程序( Assembler)将编译好的程序创建一个或多个编程目标文件 :porkEPROM 配置文件 ( *.POF) 、 porkSRAM 文件( *.SCF) 、 porkJEDEC 文件( *.JED) 、 pork十六进制文件( *.HEX) 、 por k文

31、本文件( *.TTF)和串行 BIT 流文件( *.SBF)等 。 草鱼 草鱼草鱼 10仿真 草鱼 当设计文件被编译好 , 鲤鱼 并在波形编辑器中将输入波形编辑完毕后 , 鲤鱼 就可以进行行为仿真了 , 鲤鱼 通过仿真可以检验设计的逻辑关系是否正确 。 草鱼草鱼 11分析时间( Analyzer 草鱼 Timing) 草鱼 该功能可以分析各个信号到输出端的时间延迟 , 鲤鱼 可以给出延迟矩阵和最高工作频率 。 草鱼草鱼 12器件编程 草鱼 当设计全部完成后 , 鲤鱼 就可以 草鱼 将形成的目标文件下载到芯片中 , 鲤鱼 实际验证设计的准确性 。草鱼草鱼 二 MAX+PLUSII 设计流程 草鱼

32、 MAX+PLUSII 软件设计流程如图 2-1 所示 , 鲤鱼 由以下几部分组成 。 草鱼草鱼 草鱼 扬州大 学本科生毕业设计 - 8 - 草鱼 图 2-1 草鱼 草鱼 MAX+PLUSII 软件设计流程图 草鱼 ( 1)设计输入 : pork可以采用原理图输入 、 porkHDL 语言描述 、 porkEDIF 网表输入及波形输入等几种方式 。 草鱼草鱼 ( 2)编译 : pork先 根据设计要求设定编译参数和编译策略 , 鲤鱼 如器件的选择 、 pork逻辑综合方式的选择等 。 草鱼 然后根据设定的参数和策略对设计项目进行网表提取 、 pork逻辑综合和器件适配 ,鲤鱼 并产生报告文件

33、、 pork延时信息文件及编程文件 , 鲤鱼 供分析仿真和编程使用 。 草鱼草鱼 ( 3)仿真 : pork仿真包括功能仿真 、 pork时序仿真和定时分析 , 鲤鱼 可以利用软件的仿真功能来验证设计项目的逻辑功能是否正确 。 草鱼草鱼 ( 4)编程与验证 : pork用经过仿真确认后的编程文件通过编程器( Programmer)将设计下载到实际芯片中 , 鲤鱼 最后测试芯 片在系统中的实际运行性能 。 草鱼草鱼 在设计过程中 , 鲤鱼 如果出现错误 , 鲤鱼 则需重新回到设计输入阶段 , 鲤鱼 改正错误或调整电路后重复上述过程 。 草鱼草鱼 2.2 草鱼 硬件描述语言 VHDL 草鱼 VHD

34、L 的英文全名是 Very-High-Speed 草鱼 Integrated 草鱼 Circuit 草鱼 HardwareDescription 草鱼Language,诞生于 1982 年 。 草鱼 1987 年底 , 鲤鱼 VHDL 被 IEEE 和美国国防部确认为标准硬件描述语言 草鱼 。 草鱼 自 IEEE 公布了 VHDL 的标准版本 , 鲤鱼 IEEE-1076( 简称 87 版 )之后 , 鲤鱼 各 EDA 公司相继推出了自己的 VHDL 设计环境 , 鲤鱼 或宣布自己的设计工具可以和 VHDL 接口 。 草鱼 此后 VHDL在电子设计领域得到了广泛的接受 , 鲤鱼 并逐步取代了原

35、有的非标准的硬件描述语言 。 草鱼 1993年 , 鲤鱼 IEEE 对 VHDL 进行了修订 , 鲤鱼 从更高的抽象层次和系统描述能力上扩展 VHDL 的内容 ,鲤鱼 公布了新版本的 VHDL, 鲤鱼 即 IEEE 标准的 1076-1993 版本 , 鲤鱼 (简称 93 版) 。 草鱼 现在 , 鲤鱼 VHDL 和Verilog 作为 IEEE 的工业标准硬件描述语言 , 鲤鱼 又得到众多 EDA 公司的支持 , 鲤鱼 在电子工程设计输入 编译 仿真与定时分析 编程 系统测试 修改设计 扬州大 学本科生毕业设计 - 9 - 领域 , 鲤鱼 已成为事实上的通用硬件描述语言 。 草鱼 有专家认为

36、 , 鲤鱼 在新的世纪中 , 鲤鱼 VHDL 于 Verilog语言将承担起大部分的数字系统设计任务 。 草鱼草鱼 2.2.1 草鱼 VHDL 语言的优点 草鱼 草鱼 传统的硬件电路设计方法是采用自下而上的设计方法 , 鲤鱼 即根据系统对硬件的要求 , 鲤鱼 详细编制技术规格书 , 鲤鱼 并画出系统控制流图 ; pork然后根据技术规格书和系统控制流图 , 鲤鱼 对系统的功能进行细化 , 鲤鱼 合理地划分功能模块 , 鲤鱼 并画出系统的功能框图 ; pork接着就进行各功能模块的细化和电路设计 ; pork各功能模 块电路设计 、 pork调试完成后 , 鲤鱼 将各功能模块的硬件电路连接起来再

37、进行系统的调试 , 鲤鱼 最后完成整个系统的硬件设计 。 草鱼 采用传统方法设计数字系统 , 鲤鱼 特别是当电路系统非常庞大时 , 鲤鱼 设计者必须具备较好的设计经验 , 鲤鱼 而且繁杂多样的原理图的阅读和修改也给设计者带来诸多的不便 。 草鱼 为了提高开发的效率 , 鲤鱼 增加已有开发成果的可继承性以及缩短开发周期 , 鲤鱼 各 ASIC 研制和生产厂家相继开发了具有自己特色的电路硬件描述语言( Hardware 草鱼 Description 草鱼 Language, 鲤鱼 简称 HDL) 。 草鱼 但这些 硬件描述语言差异很大 , 鲤鱼 各自只能在自己的特定设计环境中使用 , 鲤鱼 这给设

38、计者之间的相互交流带来了极大的困难 。 草鱼 因此 , 鲤鱼 开发一种强大的 、 pork标准化的硬件描述语言作为可相互交流的设计环境已势在必行 。 草鱼 于是 , 鲤鱼 美国于 1981 年提出了一种新的 、 pork标准化的 HDL, 鲤鱼 称之为 VHSIC( Very 草鱼 High 草鱼 Speed 草鱼 Integrated 草鱼 Circuit) 草鱼 Hardware 草鱼 Description 草鱼 Language, 鲤鱼 简称VHDL。 草鱼 这是一种用形式化方法来描述数字电路和 设计数字逻辑系统的语言 。 草鱼 设计者可以利用这种语言来描述自己的设计思想 , 鲤鱼 然

39、后利用电子设计自动化工具进行仿真 , 鲤鱼 再自动综合到门级电路 , 鲤鱼 最后用 PLD 实现其功能 。 草鱼 草鱼 综合起来讲 , 鲤鱼 VHDL 语言具有如下优点 : pork草鱼 覆盖面广 , 鲤鱼 描述能力强 , 鲤鱼 是一个多层次的硬件描述语言 。 草鱼 在 VHDL 语言中 , 鲤鱼 设计的原始描述可以非常简练 , 鲤鱼 经过层层加强后 , 鲤鱼 最终可成为直接付诸生产的电路或版图参数描述 。草鱼 草鱼 具有良好的可读性 , 鲤鱼 即容易被计算机接受 , 鲤鱼 也容易被读者理解 。 草鱼 草鱼 使用期长 , 鲤鱼 不 会因工艺变化而使描述过时 。 草鱼 因为 VHDL 的硬件描述

40、与工艺无关 , 鲤鱼 当工艺改变时 , 鲤鱼 只需修改相应程序中的属性参数即可 。 草鱼 草鱼 支持大规模设计的分解和已有设计的再利用 。 草鱼 一个大规模的设计不可能由一个人独立完成 , 鲤鱼 必须由多人共同承担 , 鲤鱼 VHDL 为设计的分解和设计的再利用提供了有力的支持 。 草鱼草鱼 2.2.2 草鱼 利用 VHDL 语言设计数字系统的特点 草鱼 当电路系统采用 VHDL 语言设计其硬件时 , 鲤鱼 与传统的电路设计方法相比较 , 鲤鱼 具有如下的扬州大 学本科生毕业设计 - 10 - 特点 : p ork草鱼 采用自上而下的设计方法 。 草鱼 草鱼 即从系统总体 要求出发 , 鲤鱼

41、自上而下地逐步将设计的内容细化 , 鲤鱼 最后完成系统硬件的整体设计 。 草鱼 在设计的过程中 , 鲤鱼 对系统自上而下分成三个层次进行设计 : pork草鱼 第一层次是行为描述 。 草鱼 所谓行为描述 , 鲤鱼 实质上就是对整个系统的数学模型的描述 。 草鱼 一般来说 , 鲤鱼 对系统进行行为描述的目的是试图在系统设计的初始阶段 , 鲤鱼 通过对系统行为描述的仿真来发现设计中存在的问题 。 草鱼 在行为描述阶段 , 鲤鱼 并不真正考虑其实际的操作和算法用何种方法来实现 , 鲤鱼 而是考虑系统的结构及其工作的过程是否能到达系统设计的要求 。草鱼 草鱼 第二层次是 RTL 方式描述 。 草鱼 这

42、一层次称为寄存器传输描述(又称数据流描述) 。 草鱼 如前所述 , 鲤鱼 用行为方式描述的系统结构的程序 , 鲤鱼 其抽象程度高 , 鲤鱼 是很难直接映射到具体逻辑元件结构的 。 草鱼 要想得到硬件的具体实现 , 鲤鱼 必须将行为方式描述的 VHDL 语言程序改写为 RTL方式描述的 VHDL 语言程序 。 草鱼 也就是说 , 鲤鱼 系统采用 RTL 方式描述 , 鲤鱼 才能导出系统的逻辑表达式 , 鲤鱼 才能进行逻辑综合 。 草鱼 草鱼 第三层次是逻辑综合 。 草鱼 即利用逻辑综合工具 , 鲤鱼 将 RTL 方式描述的程序转换成用基本逻辑元件表示的文件(门级网络表) 。 草鱼 此时 , 鲤鱼

43、 如果需要 , 鲤鱼 可将逻辑综合的结果以逻辑原理图的方式输出 。 草鱼 此后可对综合的结果在门电路级上进行仿真 , 鲤鱼 并检查其时序关系 。 草鱼 草鱼 应用逻辑综合工具产生的门级网络表 , 鲤鱼 将其转换成 PLD 的编程码点 , 鲤鱼 即可利用 PLD 实现硬件电路的设计 。 草鱼 草鱼 由自上而下的设计过程可知 , 鲤鱼 从总体行为设计开始到最终的逻辑综合 , 鲤鱼 每一步都要进行仿真检查 , 鲤鱼 这样有利于尽早发现设计中存在的问题 , 鲤鱼 从而可以大大缩短系统的设计周期 。草鱼 草鱼 系统可大量采用 PLD 芯片 。 草鱼 草鱼 由于目前众多制造 PLD 芯片的厂家 , 鲤鱼 其工具软件均 支持 VHDL 语言的编程 。 草鱼 所以利用 VHDL语言设计数字系统时 , 鲤鱼 可以根据硬件电路的设计需要 , 鲤鱼 自行利用 PLD 设计自用的 ASIC芯片 , 鲤鱼 而无须受通用元器件的限制 。 草鱼 草鱼 三采用系统早期仿真 。 草鱼 草鱼 从自上而下的设计过程中可以看到 , 鲤鱼 在系统设计过程中要进行三级仿真 , 鲤鱼 即行为层次仿真 、 porkRTL 层次仿真和门级层次仿真 。 草鱼 这三级仿真贯穿系统设计的全过程 , 鲤鱼 从而可以在系统设计的早期发现设计中存在的问题 , 鲤鱼 大大缩短系统设计的周期 , 鲤鱼 节约大量的人力和物

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

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。