verilog_hdl_简易乐曲设计_第1页
verilog_hdl_简易乐曲设计_第2页
verilog_hdl_简易乐曲设计_第3页
verilog_hdl_简易乐曲设计_第4页
verilog_hdl_简易乐曲设计_第5页
已阅读5页,还剩7页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

EDA技术课程设计题目EDA技术及其应用简易电子琴设计姓名院系电子信息工程学系专业通信工程班级091班级学号指导教师2012年1月成绩指导教师日期谢海海简易电子琴设计2EDA技术课程设计报告简易电子琴的设计(电子信息工程学系指导教师)摘要在现代的电子设计中,EDA技术已经成为一种普遍的工具,它在电子信息、通信、自动控制用计算机等领域的重要性日益突出。本课程设计主要采用EDA技术设计一个简易的八音符电子琴,它采用EDA作为开发工具,VERILOGHDL语言为硬件描述语言,MAXPLUSII作为程序运行平台,所开发的程序通过调试运行、波形仿真验证,初步实现了设计目标。本程序使用的硬件描述语言VERILOGHDL,既能进行面向综合的电路设计,又可用于电路的模拟仿真,能够在多层次上对所设计的系统加以描述,易学易用,语言功能强。关键词课程设计;EDA;VERILOGHDL;电子琴1课程设计的目的系统实现是用硬件描述语言VERILOG按模块化方式进行设计,然后进行编程、时序仿真、电路功能验证,奏出美妙的乐曲。巩固和运用所学课程,理论联系实际,提高分析、解决计算机技术实际问题的独立工作能力,通过对一个简易的八音符电子琴的设计,进一步加深对计算机原理以及数字电路应用技术方面的了解与认识,进一步熟悉数字电路系统设计、制作与调试的方法和步骤。巩固所学课堂知识,理论联系实际,提高分析、解决计算机技术实际问题的独立工作能力。2课程设计的要求(1)设计一个简易的八音符电子琴,它可通过按键输入来控制音响。(2)演奏时可以选择是手动演奏(由键盘输入)还是自动演奏已存入的乐曲。(3)能够自动演奏多首乐曲,且每首乐曲可重复演奏。EDA技术EDA是电子设计自动化(ELECTRONICDESIGNAUTOMATION)缩写,是90年代初从CAD(计算机辅助设计)、CAM(计算机辅助制造)、CAT(计算机辅助测试)和CAE(计算机辅助工程)的概念发展而来的。EDA技术是以计算机为工具,根据硬件描述语言HDL(HARDWAREDESCRIPTIONLANGUAGE)完成的设计文件,自动地完成逻辑编译、化简、分割、综合及优化、布局布线、仿真以及对于特定目标芯片的适配编译和编程下载等工作。典型的EDA工具中必须包含两个特殊的软件包,即综合器和适配器。综合器的功能就是将设计者在EDA平台上完成的针对某个系统项目的HDL、原理图或状态图形描述,针对给定的硬件系统组件,进行编译、优化、转换和综合,最终获得我们欲实现功能的描述文件。综合器在工作前,必须给定所要实现的硬件结构参数,它的功能就是将软件描述与给定的硬件结构用一定的方式联系起来。也就是说,综合器是软件描述与硬件实现的一座桥梁。综合过程就是将电路的高谢海海简易电子琴设计3级语言描述转换低级的、可与目标器件FPGA/CPLD相映射的网表文件。适配器的功能是将由综合器产生的王表文件配置与指定的目标器件中,产生最终的下载文件,如JED文件。适配所选定的目标器件(FPGA/CPLD芯片)必须属于在综合器中已指定的目标器件系列。硬件描述语言VERILOGHDL硬件描述语言HDL是EDA技术中的重要组成部分,常用的硬件描述语言有VERILOGHDL、VHDL、SYSTEMVERILOG、SYSTEMC、ABELHDL和AHDL等,而VERILOGHDL和VHDL是当前最流行的并成为IEEE标准的硬件描述语言。VERILOGHDL是目前应用最为广泛的硬件描述语言,并被IEEE采纳为IEEE10641995、IEEE10642001、IEEE10642003标准。VERILOGHDL可以用来进行各种层次的逻辑设计,也可以进行数字系统的逻辑综合、仿真验证和时序分析。VERILOGHDL适合算法级(ALGORITHM)、寄存器传输级(RTL)、逻辑级(LOGIC)、门级(GATE)和开关级(TRANSISTOR)等各个层次的电路设计和描述。VERILOGHDL和VHDL都是用于电路设计的硬件描述语言,并且都已成为IEEE标准。VERILOGHDL早在1983年就已经推出,至今已有20多年的应用历史,因而VERILOGHDL拥有广泛的设计群体,其设计资源比VHDL丰富。41、HDL的特点1、HDL具有强大的功能,覆盖面广,描述能力强。HDL支持门级电路的描述,也支持寄存器传输级电路的描述,还支持以行为算法描述为对象的电路的描述。2、HDL有良好的可读性。它可以被计算机接受,也容易被读者理解。用HDL书写的源文件,既是程序又是文档,既是工程技术人员之间交换信息的文件,又可作为合同签约者之间的文件。3、HDL具有良好的可移植性。作为一种已被IEEE承认的工业标准,HDL事实上已成为通用的硬件描述语言,可以在各种不同的设计环境和系统平台中使用。4、使用HDL可以延长设计的生命周期。用HDL描述的硬件电路与工艺无关,不会因工艺而过时。与工艺有关的参数可以通过HDL提供的属性加以描述,工艺改变时,只需要修改相应程序中属性参数即可。HDL支持对大规模设计的分解和已有设计的再利用。HDL可以描述复杂的电路系统,支持对大规模设计的分解,由多人、多项目组来共同承担和完成。标准化的规则和风格,为设计的再利用提供了有力的支持。5、HDL有利于保护知识产权。用HDL设计的专用集成电路(ASIC),在设计文件下载到集成电路时可以采用一定保密措施,使其不易被破译和窃取。5VERILOGHDL设计流程图谢海海简易电子琴设计4图1VERILOGHDL设计流程图6VERILOGHDL语言应用61设计要求定义在从事设计进行编写VERILOGHDL代码之前,必须先对你的设计目的和要求有一个明确的认识。确定要实现的功能、对所需的信号建立时间、时钟/输出时间、最大系统工作频率、关键的路径等这些要求,要有一个明确的定义,然后对比设计,再选择适当的设计方式和相应的器件结构,进行设计的综合。62用VERILOGHDL语言进行设计描述1、应决定设计方式,设计方式一般说来有三种自顶向下设计,自底向上设阶层的生成,而后一种方式将描述的电路当作单模块电路来进行的。自顶向下的处理方式要求将你的设计划分成不同的功能元件,每个元件具有专门定义的输入和输出,并执行专门的逻辑功能。首先生成一个由各功能元件相互连接形成的顶层模块来做成一个网表,然后再设计其中的各个元件。而自底向上的处理方法正好相反。平坦式设计则是指所有功能元件均在同一层和同一图中详细进行的。2、编写设计代码。编写VERILOGHDL语言的代码与编写其它计算机程序语言的代码有很大的不同,你必须清醒地认识到你正在设计硬件,编写的VERILOGHDL代码必须能够综合到采用可编程逻辑器件来实现的数字逻辑之中。懂得EDA工具中仿真软件和综合软件的大致工作过程,将有助于编写出优秀的代码。63用VERILOGHDL仿真器对VERILOGHDL原代码进行功能仿真谢海海简易电子琴设计5对于大型设计,采用VERILOGHDL仿真软件对其进行仿真可以节省时间,可以在设计的早期阶段检测到设计中的错误,从而进行修正,以便尽可能地减少对设计日程计划的影响。因为对于大型设计,其综合优化、配置往往要花费好几个小时,在综合之前对原代码仿真,就可以大大减少设计重复和修正错误的次数和时间。但对于小型设计,则往往不需要先对VHDL原代码进行仿真。64对VERILOGVHDL原代码进行综合优化处理选择目标器件、输入约束条件后,VERILOGHDL综合优化软件工具将对VERILOGHDL原代码进行处理,产生一个优化了的网络表,并可以进行粗略的时序仿真。综合优化软件工具大致的处理过程如下首先检测语法和语意错误然后进行综合处理,对CPLD器件而言,将得到一组工艺专用逻辑方程,对FPGA器件而言,将得到一个工艺专用网表最后进行优化处理,对CPLD的优化通常包括将逻辑化简为乘积项的最小和式,降低任何给定的达式所需的逻辑块输入数,这些方程进一步通过器件专用优化来实现资源配置。对FPGA的优化通常也需要用乘积项的和式来表达逻辑,方程系统可基于器件专用资源和驱动优化目标指引来实现因式分解,分解的因子可用来对实现的有效性进行评估,其准则可用来决定是对方程序系统进行不同的因式分解还是保持现有的因子。准则通常是指分享共同因子的能力,即可以被暂存,以便于和任何新生成的因子相比较。7设计方案根据系统设计要求,系统设计采用自顶向下的设计方法,系统的整体组装设计原理图如图1所示,它由乐曲自动演奏模块、音调发生模块和数控分频模块三部分组成。图2系统的整体组装设计原理图8分组模块的原理1)乐曲自动演奏模块乐曲自动演奏模块(AUTOV)的作用是产生8位发声控制输入信号/当进行自动演奏时,由存储在此模块中的8位二进制数作为发声控制输入,从而自动演奏乐曲。谢海海简易电子琴设计6乐曲演奏的原理是这样的组成乐曲的每个音符的频率值(音调)及其持续的时间(音长)是乐曲能连续演奏所需的两个基本数据,因此只要控制输出到扬声器的激励信号频率的高低和持续的时间,就可以使扬声器发出连续的乐曲声。图3乐曲自动演奏模块仿真图当AUTO为“0”时,由存储在此模块中的8位二进制数作为发声控制输入,可自动演奏乐曲。(3)数控分频模块数控分频模块是对时基脉冲进行分频,得到与1、2、3、4、5、6、7七个音符相对应的频率。图4数控分频模块的仿真图数控分频模块对时基脉冲进行分频,得到与1、2、3、4、5、6、7七个音符对应频率。该图输入系统时钟信号CLK1初值为0(各输出值都是在时钟信号的下降沿有效),音符分频系数TONE1为00100000即1290HZ,驱动扬声器的音频信号SPKS输出为1。(4)顶层设计顶层模块由乐曲自动演奏(AUTO),音调发生器(TONE)和数控分频器(FENPIN)三个模块组成。设置一个自动演奏/键盘输入切换AUTO,即当AUTO“0”时,选择自动演奏音乐存储器里面的乐曲,AUTO“1”时,选择键盘输入的信号。输入系统时钟信号CLK32MHZ初值为0,自动演奏信号HANDTOAUTO初值为0,键盘输入信号INDEX1为00000000;输出音符信号CODE1则为0110000,高低音节信号HIGH1变为1,即高音,音频信号SPKOUT即输出0,输出为1时CODE1变为0110100,这时出现10NS的延时。在仿真时由于系统各方面原因影响,出现延时属于正常现象。也许是能力不够,再加上临近期末时间较为紧迫,顶层设计没能做出来,程序在编译过程中出错,可是知识范围太窄,没能找出错误所在,导致顶层的模块没能完成,因此也没有仿真的图形出来。9结束语谢海海简易电子琴设计7到现在为止,简易电子琴的设计基本上告一段落,虽然由于自身问题没能很好地完成设计的要求,但是在设计的过程中,我受益匪浅,自身的知识能力得到了锻炼的同时还对专业的认识有了进一步的加强。通过几天的课程设计,我对数据库软件EDA技术、VERILOGHDL、等系列知识都有了一定的了解。使用EDA技术开发页面的能力也有了很大提高。这个程序设计让我学会一种新的语言,对数字系统结构也有了更进一步的了解和认识,对我以后的学习有很大的帮助。通过这次的设计,我也认识到自己的缺点和不足,如对专业理论知识了解不够透彻,不能很好地将之运用于实践中,虽然在暑期的电子设计大赛中有过动手能力的增强训练,但是对于我们电子专业的学生,实践能力是占非常大的比重的,因此在接下来的日子里,提高自己的实践能力是重点,而且必须加深对专业知识的理解。参考文献1曹昕燕、周凤臣、聂春燕EDA技术实验与课程设计清华大学出版社2王金明数字系统设计与VERILOGHDL电子工业出版社附录附录1乐曲自动演奏源程序清单MODULEAUTOCLK,AUTO,CLK2,INDEX2,INDEX0INPUTCLKINPUTAUTOOUTPUTCLK2REGCLK2INPUT70INDEX2OUTPUT70INDEX0REG70INDEX0REG40COUNT0ALWAYSCLKORAUTOBEGINPULSE0REG30COUNTIFAUTO1B1BEGINCOUNT0CLK21B0ENDELSEIFCLK1B1BEGINCOUNTCOUNT1IFCOUNT4BEGINCLK21B1ENDELSEIFCOUNT8BEGINCLK21B0COUNT0ENDENDENDALWAYSCLK2BEGINMUSICIFCLK21B1BEGINIFCOUNT031BEGINCOUNT00ENDELSEBEGINCOUNT0COUNT01ENDEND谢海海简易电子琴设计8ENDALWAYSCOUNT0ORAUTOORINDEX2BEGINCOM1IFAUTO1B0BEGINCASECOUNT00BEGININDEX08B00000100END1BEGININDEX08B00000100END2BEGININDEX08B00000100END3BEGININDEX08B00000100END4BEGININDEX08B00010000END5BEGININDEX08B00010000END6BEGININDEX08B00010000END7BEGININDEX08B00100000END8BEGININDEX08B10000000END9BEGININDEX08B10000000END10BEGININDEX08B10000000END11BEGININDEX08B00000100END12BEGININDEX08B00000010END13BEGININDEX08B00000010END14BEGININDEX08B00000001END15BEGININDEX08B00000001END16BEGININDEX08B00010000END17BEGININDEX08B00010000END18BEGININDEX08B00001000END19BEGININDEX08B00001000END20BEGININDEX08B00001000END谢海海简易电子琴设计921BEGININDEX08B00000100END22BEGININDEX08B00000010END23BEGININDEX08B00000010END24BEGININDEX08B00010000END25BEGININDEX08B00010000END26BEGININDEX08B00001000END27BEGININDEX08B00001000END28BEGININDEX08B00000100END29BEGININDEX08B00000100END30BEGININDEX08B00000010END31BEGININDEX08B00000010ENDDEFAULTBEGINENDENDCASEENDELSEBEGININDEX0INDEX2ENDENDENDMODULE附录2音调发生源程序清单MODULETONE_AINDEX,CODE,HIGH,TONE0INPUT70INDEXOUTPUT60CODEREG60CODEOUTPUTHIGHREGHIGHOUTPUT100TONE0REG100TONE0ALWAYSINDEXBEGINSEARCHCASEINDEX8B00000001BEGINTONE0773CODE7B1001111HIGH1B1END8B00000010BEGINTONE0912CODE7B0010010HIGH1B1END8B00000100BEGINTONE01036CODE7B0000110HIGH1B1谢海海简易电子琴设计2END8B00001000BEGINTONE01116CODE7B1001100HIGH1B1END8B00010000BEGINTONE0119

温馨提示

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

评论

0/150

提交评论