ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:81.86KB ,
资源ID:14229011      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-14229011.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(EDA课设电子琴设计说明.docx)为本站会员(b****6)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

EDA课设电子琴设计说明.docx

1、EDA课设电子琴设计说明理工大学电子线路EDA课程设计课程设计任务书学生: - 专业班级:电子科学与技术0903班 指导教师: 成军 工作单位: 信息工程学院 题 目: 简易电子琴设计初始条件:QUARTUS 软件, 微机, EDA-IV型实验箱。课题要求:结合所学的知识,利用QUARTUS采用VHDL语言设计乐曲演奏电路,可以演奏8个音符:1、2、3、4、5、6、7、1。 课题容:时间安排:1、2011年6月11日集中,听老师作课设安排与报告格式要求说明。2、2012年6月12日至6月16日,选好课题,学习相关资料,开始课设。3、2012年6月17日至6月19日,进行硬件调试。4、2012年

2、6月20至6月21日,撰写实验报告。5、2012年6月22日,检查硬件,进行答辩,提交设计报告。设计一个简易的八音符电子琴,可以通过按键输入来控制蜂鸣器输出不同音调。指导教师签名: 2012年 月 日 系主任(或责任教师)签名: 2012年 月 日理工大学电子线路EDA课程设计摘要. 3Abstract . 4绪论. 51设计简介. 61.1 课程设计的目的. 61.2 课程设计的容. 62.VHDL简介. 72.1 VHDL的特点. 72.2VHDL特点. 82.3VHDL设计流程 . 83程序过程. 93.1设计总体模块. 93.2模块原理及程序. 94波形仿真. 125总结体会. 13参

3、考文献. 14附录 源程序. 15理工大学电子线路EDA课程设计摘要随着基于CPLD的EDA技术的发展和应用领域的扩大与深入,EDA技术在电子信息、通信、自动控制用计算机等领域的重要性日益突出。作为一个学电子信息专业的学生,我们必须不断地了解更多的新产品信息,这就更加要求我们对EDA有个全面的认识。本程序设计的是简易电子琴的设计。采用EDA作为开发工具,VHDL语言为硬件描述语言,QUARTUS作为程序运行平台,所开发的程序通过调试运行、波形仿真验证,初步实现了设计目标。本程序使用的硬件描述语言VHDL,可以大大降低了硬件数字系统设计的入门级别,让人感觉就是C语言的近亲。通过老师的指导和自己的

4、学习完成了预想的功能。关键词:电子琴 ;quartus;EDA;VHDL语言理工大学电子线路EDA课程设计AbstractWith the expansion and deepening of CPLD EDA technology development and applications, EDA technology in the electronic information, communication, automatic control computers and other areas of importance have become increasingly prominent

5、. As an electronic information of professional students, we must continue to learn more about the new product information, it is even more we have a comprehensive understanding of EDA. The program design is the design of simple keyboard. Using EDA as a development tool, VHDL language for hardware de

6、scription language, QUARTUS run as a program platform, the development of program debugging and running, the waveform simulation, the initial realization of the design goals. This program uses the hardware description language VHDL, can greatly reduce the entry level of the hardware design of digita

7、l systems, and close relatives of people feel is the C language. Through the guidance of their teachers and their own learning to complete the desired function.Keywords: electronic organ; the quartus; the EDA; VHDL language理工大学电子线路EDA课程设计绪论EDA是电子设计自动化(Electronic Design Automation)的缩写。EDA技术就是依赖功能强大的计

8、算机,在EDA工具软件平台上,对以硬件描述语言HDL(Hardware Description Language)为系统逻辑描述手段完成的设计文件,自动地完成逻辑编译、化简、分割、综合、布局布线以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能。EDA技术使设计者的工作仅局限于利用软件的方式来完成对系统硬件功能的实现,可以说EDA技术的产生与发展是电子设计技术的一个巨大进步。EDA技术融合了众多电子设计技术和计算机辅助技术,使得它在现代电子学方面的应用越来越广泛,也成为电子、电气类大学生必须熟练掌握的一种设计工具。硬件描述性语言HDL是EDA技术的重要组成部分,常见HDL的有VHDL、HD

9、L、ABEL、Verilog、AHDL、SystemC等。其中VHDL、Verilog在现在的EDA设计中使用的最多,也拥有了几乎所有主流EDA工具的支持,而相对于其他语言VHDL更加完善。VHDL是英文全名是VHSIC(Very High Speed Integrated Circuit) Hardware Description Language,是硬件描述语言的业界标准之一。它作为一个规语言和建模语言,具有与具体硬件电路无关及设计平台无关的特性,而且还有很强的电路行为描述和建模能力,能从多个层次的数字系统进行建模和描述,从而大大简化了硬件设计的任务,提高了设计效率和可靠性。理工大学电子线

10、路EDA课程设计1设计简介1.1 课程设计的目的巩固和运用所学课程,理论联系实际,提高分析、解决计算机技术实际问题的独立工作能力,通过对一个简易的八音符电子琴的设计,进一步加深对计算机原理以及数字电路应用技术方面的了解与认识,进一步熟悉数字电路系统设计、制作与调试的方法和步骤。巩固所学课堂知识,理论联系实际,提高分析、解决计算机技术实际问题的独立工作能力。为了进一步了解计算机组成原理与系统结构,深入学习EDA技术,用VHDL语言去控制将会使我们对本专业知识可以更好地掌握。1.2 课程设计的容设计一个简易的八音符电子琴,它可通过按键输入来控制音响。当按下不同按键时,蜂鸣器发出不同频率声响,来实现

11、简易电子琴功能。理工大学电子线路EDA课程设计2.VHDL简介2.1 VHDL的特点VHDL语言功能强大、设计灵活。VHDL语言可以用简洁明确的源代码来描述复杂的逻辑控制,它具有多层次的设计描述功能,层层细化,最后可直接生成电路级描述。VHDL支持同步电路、异步电路和随机电路的设计,这是其他硬件描述语言虽不能比拟的。VHDL还支持多种设计方法,既支持自底向上的设计,又支持自顶向下的设计;既支持模块化设计,又支持层次化设计。由于VHDL已经成为IEEE标准所规定的硬件描述性语言,目前大多数EDA工具几乎都支持VHDL。因为VHDL易读和结构化且易于修改设计所以在硬件电路设计过程中, VHDL语言

12、得到广泛应用。VHDL语言独立于器件的设计与工艺无关。因而设计人员用VHDL进行设计时,不需要考虑选择器件得问题,就可以集中精力进行设计的优化。当设计描述完成后,可以用多种不同的器件结构来实现其功能。VHDL语言易于共享和复用。VHDL采用基于库(Library)的设计方法,可以建立各种可再次利用的模块。这些模块可以预先设计或使用以前设计中的存档模块,将这些模块存放到库中,就可以在以后的设计中进行复用,可以使设计成果在设计人员之间进行交流和共享,减少硬件电路设计。VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。VHDL语句的行为

13、描述能力和程序结构决定了它具有支持大规模设计的分解和已有设计的再利用功能。这个特点很好的符合了市场需求。对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动的把VHDL描述的设计转变成门级网表。总之,由于VHDL语言有的这些优良的特点,它被广泛的应用在电子线路和电子系统的设计中。理工大学电子线路EDA课程设计2.2VHDL优点(1) 与其他的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了他成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。(2) VHDL丰富的仿真语句和库函数,使

14、得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。(3) VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。符合市场需求的大规模系统高效,高速的完成必须有多人甚至多个代发组共同并行工作才能实现。(4)对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动的把VHDL描述设计转变成门级网表。(4) VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。2.3VHDL设计流程(1) 设计输入根据电路设计所提出的要求,将程序输入到VHDL

15、编辑器中去编辑。(2) 功能级模拟用VHDL,模拟器对编辑后的程序进行模拟,如果达不到设计要求,则可以重新修改程序,直到通过功能模拟。(3) 逻辑综合与优化 将通过功能模拟的程序放到VHDL编译器中,进行逻辑综合与优化。(4) 门级模拟对电路用VHDL。仿真器仿真。可对门级电路的延时、定时状态、驱动能力等进行仿真。如不符合要求,可重复步骤(3),再门级模拟,直到符合要求止。(5) 版图生成 用相应的软件处理后,就可以拿去制版。理工大学电子线路EDA课程设计3程序过程3.1设计总体模块图3-1电子琴总体模块Clk为实验板时钟输入,key7.0分别对应八个按键输入,buz为输出端,连接蜂鸣器。3.

16、2模块原理及程序1、2、3、4、5、6、7、1分别对应的频率分别为2616HZ、2936HZ、3295HZ、 3490HZ、3920HZ、4399HZ、4940HZ、5232HZ。在程序里可以对20M时钟频率进行分频来得到所需频率而发出不同音调。20M时钟要得到上面所需频率需要进行分频,分频系数分别为3822、3405、3034、2865、2551、2273、2024、1911,可以令时钟计数一定次数后反向从而达到分频的效果得到所需不同音调对应的频率。程序中定义8个常数来作为计数对应值:constant duo : std_logic_vector(12 downto 0) :=10; con

17、stant lai : std_logic_vector(12 downto 0) := 01;constant mi : std_logic_vector(12 downto 0) := 10; constant fa : std_logic_vector(12 downto 0) := 01; constant suo : std_logic_vector(12 downto 0) := 11; constant la : std_logic_vector(12 downto 0) := 01; constant xi : std_logic_vector(12 downto 0) :=

18、00;理工大学电子线路EDA课程设计constant duo1 : std_logic_vector(12 downto 0) := 11; 8个按键分别对应8个频率的脉冲,当一个按键按下去后此时该按键对应引脚输入高电平,故可利用“01000000”这种形式来表示哪个按键按下,而不同按键对应不同频率输出。对应关系分别为:“10000000”对应1的频率;“01000000”对应2的频率;“00100000”对应3的频率;“00010000”对应4的频率;“00001000”对应5的频率;“00000100”对应6的频率;“00000010”对应7的频率;“00000001”对应1的频率;故可用

19、以下程序来实现不同按键对应不同频率的要求:when10000000=if(clk1 /= duo)thenclk1=clk1+01; else clk1=00; buzzif(clk1 /= lai)then clk1=clk1+01; else clk1=00; buzzif(clk1 /= mi)then clk1=clk1+01; else clk1=00; buzzif(clk1 /= fa)then clk1=clk1+01; else clk1=00; buzzif(clk1 /= suo)then clk1=clk1+01; else clk1=00; buzzif(clk1 /

20、= la)then clk1=clk1+01; else clk1=00; buzzif(clk1 /= xi)then clk1=clk1+01; else clk1=00; buzzif(clk1 /= duo1)then clk1=clk1+01; else clk1=00; buzznull;理工大学电子线路EDA课程设计4波形仿真图4-1 波形仿真图由仿真波形可以看到,当按键输入不同值时,蜂鸣器也将发出不同频率声响。理工大学电子线路EDA课程设计5总结体会经过努力,简易电子琴的设计基本上完成了。在整个设计过程中,包括前期中期和后期,我都有着许多不同的体会:1) 这个设计的基本是接触一

21、门新的语言并加以应用,对于我来说,没有想到的是入手的速度比我的预料快,在以前编程的基础上,从接触到开始动手编程的时间得到了很大的缩短。知识的接收速度在很大的程度上决定了动手的时间。2) VHDL的编程与C语言的编程有着本质的不同,然而以往形成的旧编程习惯在VHDL编程中依然起着很大的作用。一通百通,不是没有道理的。对于学习新的知识并予以应用的信心,显得更足了。3) VHDL的设计关键是电路逻辑设计,而一个程序的关键是总体设计。对于硬件设计接触不多的我们清楚这一点也许不无好处。4)通过这个程序设计让我学会一种新的语言,对数字系统结构也有了更进一步的了解和认识,对我以后的学习有很大的帮助。希望其他

22、人在看再做类似设计时有所借鉴。通过几天的课程设计,我对数据库软件EDA技术、VHDL、等系列知识都有了一定的了解。使用EDA技术开发页面的能力也有了很大提高。理工大学电子线路EDA课程设计参考文献1松 黄继业. EDA技术与VHDL(第二版).:清华大学,2005.72康华光.电子技术基础.:高等教育.2006.13付家才. EDA工程实践技术.:化学工业,2007.14汉泽西. EDA技术及其应用.:航空航天大学,2004.55刚.EDA技术简明教程.:大学,2004.66章彬宏 周正林.EDA应用技术.:理工大学,2007.77艳萍 高振斌 志平.EDA实用技术及应用.:国防工业,2006

23、.1理工大学电子线路EDA课程设计附录 源程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity music isport(clk:in std_logic;key:in std_logic_vector(7 downto 0);buz:out std_logic);end music;architecture beh of music issignal clk1:std_logic_vector(12 downto 0);con

24、stant duo : std_logic_vector(12 downto 0) :=10; constant lai : std_logic_vector(12 downto 0) := 01; constant mi : std_logic_vector(12 downto 0) := 10; constant fa : std_logic_vector(12 downto 0) := 11; constant suo : std_logic_vector(12 downto 0) := 10; constant la : std_logic_vector(12 downto 0) := 01; constant xi : std_logic_vector(12 downto 0) := 00; constant duo1 : std_logic_vector(12 downto 0) := 11; signal buzz:std_logic;signal key_out:std_logic_vector(7 downto 0);beginbuz=buzz;key_out=key;process(clk)beginif clkev

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2