eda课程设计专题实践

2023-06-06

第一篇:eda课程设计专题实践

EDA课程设计论文

目录

一、 摘要

二、 概述

2.1目的与要求 2.2实验仪器与设备 2.3实验注意事项 2.4设计环境

三、 实验内容

四、4位加法器设计实现过程

4.1元件选择

4.2编辑半加器的原理图 4.3编译设计图形文件 4.4生成元件符号 4.5功能仿真设计文件 ① 建立波形文件 ② 输入信号节点

③ 设置波形参量

④ 设定仿真时间宽度 ⑤ 加入输入信号 ⑥ 波形文件存盘 ⑦ 进行仿真

4.6 1位全加器的实现过程 4.7 四位加法器实现过程

五、 收获与心得体会

一、 摘要

随着电子技术和计算机技术的飞速发展,电子线路的设计工作也日益显得重要。经过人工设计、制作实验板、调试再修改的多次循环才定型的传统产品设计方法必然被计算机辅助设计所取代,因为这种费时费力又费资源的设计调试方法既增加了产品开发的成本,又受到实验工作场地及仪器设备的限制。

20世纪90年代,国际上电子和计算机技术较先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。在电子技术设计领域,可编程逻辑器件(如CPLD、FPGA)的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。

EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。

利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程的计算机上自动处理完成。

现在对EDA的概念或范畴用得很宽。包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。目前EDA技术已在各大公司、企事业单位和科研教学部门广泛使用。例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术。

二、概述

2.1目的与要求

1、学习MAX+plusⅡ工具软件的基本功能和使用方法。

2、学习使用原理图输入法设计半加器,掌握原理图输入法的操作步骤。

3、初步掌握设计电路原理图的编辑、编译、仿真等操作方法。 每次实验前,学生须仔细阅读本实验指导书的相关内容:

1)明确实验目的和实验内容; 2)明确实验原理与步骤;

3)复习与实验内容有关的理论知识;

4)预习仪器设备的使用方法、操作规程及注意事项。

2.2实验仪器与设备

1、PC机

2、MAX+plus II 软件

2.3实验注意事项

1.实验开始前,应先检查本人的计算机是否安装相关软件,了解其软件的使用方法和要求。

2.实验时每个同学应单独设计程序、操作、记录实验结果等,使每个同学受到全面训练。

3.测量数据或观察现象要认真细致,实事求是。使用计算机要符合操作规程,切勿随便重启频繁开关计算机。。

4.未经许可,不得动用其它人的仪器设备或计算机等物。

5.实验结束后,实验记录交指导教师查看并认为无误后,离开机房。最后,应清理计算机,备份编写程序。

6.爱护公物,发生仪器设备等损坏事故时,应及时报告指导教师,按有关实验管理规定处理。

7.自觉遵守学校和实验室管理的其它有关规定。

2.4设计环境

QuartusII design

于system-on-a-programmable-chip (SOPC)的设计环境。 QuartusII design 提

供完善的 timing closure 和 LogicLock™ 基于块的设计流程。QuartusII design是唯一一个包括以timing closure 和 基于块的设计流为基本特征的programmable logic device (PLD)的软件。 Quartus II 设计软件改进了性能、提升了功能性、解决了潜在的设计延迟等,在工业领域率先提供FPGA与mask-programmed devices开发的统一工作流程。

Altera Quartus II 作为一种可编程逻辑的设计环境, 由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。

三、 实验内容

以Altera公司的MAX+plus II为工具软件,采用原理图输入法设计半加器h_adder,生成元件符号,并仿真验证设计结果。

四、4位加法器设计实现过程

4.1元件选择

在MAX+plus II工具软件的元件库中已经有与门、或门、与非门和异或门等元件,在设计中可直接调用这些元件,实现电路设计。

图1 半加器原理图

在元件选择对话框的符号库“Symbol Libraries”栏目中,用鼠标双击基本元件库文件夹“d:maxplus2max2libprim”后,在符号文件“Symbol Files”栏目中列出了该库的基本元件的元件名,例如and2(二输入端的与门)、xor(异或门)、VCC(电源)、input(输入)和output(输出)等。在元件选择对话框的符号名“Symbol Name”栏目内直接输入xor,或者在“Symbol Files”栏目中,用

鼠标双击“xor”元件名,即可得到异或门的元件符号。用上述同样的方法也可以得到其他元件符号。

4.2编辑半加器的原理图

半加器逻辑电路图如图1所示,它由1个异或门和1个与门构成,a、b是输入端,SO是和输出端,CO是向高位的进位输出端。

在元件选择对话框的符号名“Symbol Name”栏目内直接输入xor,或者在“Symbol Files”栏目中,用鼠标双击“xor”元件名,即可得到异或门的元件符号。用上述同样的方法也可以得到与门及输入端和输出端的元件符号。用鼠标双击输入或输出元件中原来的名称,使其变黑后就可以进行名称修改,用这种方法把两个输入端的名称分别更改为“a”和“b”,把两个输出端的名称分别更改为“SO”和“CO”,然后按照图1所示的半加器逻辑电路的连接方式,用鼠标将相应的输入端和输出端及电路内部连线连接好,并以“h_adder.gdf”(注意后缀是.gdf)为文件名,存在自己建立的工程目录d:myedamygdf内。进行存盘操作时,系统在弹出的存盘操作对话框中,自动保留了上一次存盘时的文件名和文件目录,不要随意单击“OK”按钮结束存盘,一定要填入正确的文件名并选择正确的工程目录后,才能单击“OK”按钮存盘,这是上机实验时最容易忽略和出错的地方。

4.3编译设计图形文件

设计好的图形文件一定要通过MAX+plus II的编译。在MAX+plus II集成环境下,执行“MAX+plus”菜单下的“Compiler”命令,在弹出的编译对话框中单击“Start”按钮,即可对h_adder.gdf文件进行编译。

在编译中,MAX+plus II自动完成编译网表提取(Compiler Netlist Extractor)、数据库建立(Database Builder)、逻辑综合(Logic Synthesizer)、逻辑分割(Partitioner)、适配(Fitter)、延时网表提取(Timing SNF Extractor)和编程文件汇编(Assembler)等操作,并检查设计文件是否正确。存在错误的设计文件是不能将编译过程进行到底的,此时计算机会中断编译,并在编译(Compiler)对话框中指出错误类型和个数。

4.4生成元件符号

在MAX+plus II集成环境下,执行“File”菜单下的“Create Default Symbol”

命令,将通过编译的GDF文件生成一个元件符号,并保存在工程目录中。这个元件符号可以被其他图形设计文件调用,实现多层次的系统电路设计。

4.5功能仿真设计文件

仿真,也称为模拟(Simulation);是对电路设计的一种间接的检测方法。对电路设计的逻辑行为和功能进行模拟检测,可以获得许多设计错误及改进方面的信息。对于大型系统的设计,能进行可靠、快速、全面的仿真尤为重要。

① 建立波形文件

进行仿真时需要先建立仿真文件。在Max+p1us II环境执行“File”的“New”命令,再选择弹出的对话框中的Waveform Editor fi1e项,波形编辑窗口即被打开。

② 输入信号节点

在波形编辑方式下,执行“Node”的“Nodes from SNF”命令,弹出输入节点“Enter Nodes from SNF”对话框,在对话框中首先单击“List”按钮,这时在对话框左边的“Available Nodes&Groups” (可利用的节点与组)框中将列出该设计项目的全部信号节点。若在仿真中只需要观察部分信号的波形,则首先用鼠标将选中的信号名点黑,然后单击对话框中间的“=>”按钮,选中的信号即进入到对话框右边的“Selected Nodes&Groups”(被选择的节点与组)框中。如果需要删除“被选择的节点与组”框中的节点信号,也可以用鼠标将其名称点黑,然后单击对话框中间的“<="按钮。节点信号选择完毕后,单击“OK”按钮即可。

③ 设置波形参量

在波形编辑对话框中调入了半加器的所有节点信号后,还需要为半加器输入信号a和b设定必要的测试电平等相关的仿真参数。如果希望能够任意设置输入电平位置或设置输入时钟信号的周期,可以在Options选项中,取消网格对齐Snap to Grid的选择(取消钩)。

④ 设定仿真时间宽度

在仿真对话框,默认的仿真时间域是1μS。如果希望有足够长的时间观察仿真结果,可以选择“File”命令菜单中的“End Time”选项,在弹出的“End Time”对证框中,填入适当的仿真时间域(如5μS)即可。

⑤ 加入输入信号

为输入信号a和b设定测试电平的方法及相关操作如教材图2.1.3所示,利用必要的功能键为a和b加上适当的电平,以便仿真后能测试so和co输出信号。

⑥ 波形文件存盘

以“h_adder.scf”(注意后缀是.scf)为文件名,存在自己建立的工程目录d:myedamygdf内。在波形文件存盘时,系统将本设计电路的波形文件名自动设置为“h_adder.scf”,因此可以直接单击确定按钮。

⑦ 进行仿真

4.6 1位全加器的实现过程

1位全加器可以用两个半加器及一个或门连接而成。其原理图如图2所示。 在Quartus7.2图形编辑方式下,在用户目录中找到自己设计的半加器元件h_adder,并把它调入原理图编辑框中(调入两个),另外从d:maxplus2max2libprim元件库中调出一个两输入端的或门,并加入相应的输入和输出元件,按照图1所示电路连线,得到1位全加器电路的设计结果。电路中的a和b是两个1位二进制加数输入,cin是低位来的进位输入,sum是和输出,cout是向高位进位输出。

图2 1位全加器原理图

按以上步骤进行仿真,仿真图如下:

1位全加器仿真图

4.7 四位加法器实现过程

在一位全加器的基础上设计四位全加器,其原理图如图所示

图3 四位加法器原理图

按以上操作进行仿真,仿真图如:

五、 收获与心得体会

本次的EDA课程设计历时一星期,时间虽短,但通过一个星期的实践,使我对EDA技术有了更进一步的了解。同时,大致懂得了一个课题制作的具体流程和实施方法。另外,课程设计对QuartusⅡ软件的使用要求较高,从而使我能较为熟练的运用此软件。在设计时,采用模块化的设计思路使得问题变的简单明了,大大缩短了时间,降低了发生错误的机侓,也便于修改和更新。

课程设计中,需要找很多资料,在当今的信息化环境中,虽然资料很多,但需要仔细斟酌才能找到所要的。这次的课程设计很好的锻炼了这种能力。此外,与同学和老师的交流必不可少,我从中也学到了不少东西。

课程设计是一次很好的锻炼机会,我从中学的很多知识对将来的学习和工作都有很大的帮助,十分感谢学校能提供这样一个机会。

第二篇:EDA课程设计感想

这是一次综合性很强的实验,从最初的模型规划,到具体功能的实现,再到电路的连接,直至最后的电路调试,每一个环节都让我加深了对实际问题的思考,同时也让我动手能力有了很大的提高。

这次最大的收获就是学会了很系统地去解决一个实际问题,学会了巧妙运用模块化的思想。在整个电路设计与实现中,最成功的地方就是有条理地将功能细化,分成一个一个小的功能来实现。没做好一个小功能实现的电路,就将其集成为一块具有此功能的芯片,这样,在之后的电路连接中就只要将这块芯片接入即可,最后就这样一级一级地将电路集成,最后生成的电子钟电路就只是一块芯片,只要加一些其他外部控制开关与显示电路就能实现此多功能电子钟的各功能。

在这个过程中,我更深刻地体会从分立元件到中下规模集成电路再到大规模集成电路的组成过程。同时也更加深入地了解了Quarterii这一软件的更多的功能。更重要的是在此过程中,我学会了独立思考,遇到问题一步一步去研究与解决解决,对于电路出现的问题不急于拆线,而是一部分一部分地对其应有的功能进行调试,对问题进行各个击破。总而言之,这次实验让我觉得受益匪浅,不再觉得学无所用。实验所解决的问题与生活紧密相连,从而将平时学书本上的理论与实践很好地结合起来,最终当做出成品时,有很大的成就感。

七.遇到的问题及解决方案

1.编译通过后,下载到硬件上之后,发现程序并没有预期的效果。如显示乱序而没有规律等等,当加入适当的选通信号或者脉冲后发现问题得到了解决。所以必须在实践中不断地修改以得到正确的结论。

2.高电平有效还是低电平有效,这是一个非常容易忽视的问题,有时就知道这个端口要控制信号但不考虑好什么电平有效,造成错误,使得使能端或者清零端的出现错误控制信号。并且到底是脉冲控制,还是边沿控制一定要清楚。在实验时候可以避免一些不必要的麻烦。

3.引脚重复使用也是一个问题,有时候输出信号必须输出到一个特定的引脚。而输出来自两路信号,这时候必须加入一个选择器件选择输出信号输出。

在实际调试的时候我们必须耐心思考,遇到问题针对问题出现的原因认真思考以解决问题。 ---------------------

这次的课程设计对于我来说是毕业前的一次演练,从抽题到画出流程图,再到写出程序,不停的编不停的改不停的查资料……直至最后完成,搭档和我都非常的努力,一有问题大家都坐在一起讨论,一起努力,一起攻克问题。我想我们享受的就是这个过程,而不仅仅只是结果。通过这次的设计,我知道了,在任何问题面前,只要我们努力,只要我们勇敢,我想,他们都不是问题,都不是困难。最后感谢搭档的努力和合作,感谢老师的指导。 ---------------

这次EDA课程设计历时两个星期,在整整两个星期的日子里,可以说是苦多于甜,但是可以学的到很多很多的东西,同时不仅可以巩固以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次设计,进一步加深了对EDA的了解,让我对它有了更加浓厚的兴趣。特别是当每一个子模块编写调试成功时,心里特别的开心。但是在编写顶层文件的程序时,遇到了不少问题,特别是各元件之间的连接,以及信号的定义,总是有错误,在细心的检查下,终于找出了错误和警告,排除困难后,程序编译就通过了,心里终于舒了一口气。在波形仿真时,也遇到了一点困难,想要的结果不能在波形上得到正确的显示:在设定输入的时钟信号后,数字秒表开始计数,但是始终看不到秒和小时的循环计数。后来,在数十次的调试之后,才发现是因为输入的时钟信号对于器件的延迟时间来说太短了。经过屡次调试,终于找到了比较合适的输入数值:时钟周期设置在1zzxu.cne的值需要设置的长一点:500us左右,这样就可以观察到完整的仿真结果。

其次,在连接各个模块的时候一定要注意各个输入、输出引脚的线宽,因为每个线宽是不一

样的,只要让各个线宽互相匹配,才能得出正确的结果,否则,出现任何一点小的误差就会导致整个文件系统的编译出现错误提示,在器件的选择上也有一定的技巧,只有选择了合适当前电路所适合的器件,编译才能得到完满成功。

通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。

总的来说,这次设计的数字秒表还是比较成功的,在设计中遇到了很多问题,最后在老师的辛勤的指导下,终于游逆而解,有点小小的成就感,终于觉得平时所学的知识有了实用的价值,达到了理论与实际相结合的目的,不仅学到了不少知识,而且锻炼了自己的能力,使自己对以后的路有了更加清楚的认识,同时,对未来有了更多的信心。最后,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!

第三篇:EDA数字钟课程设计

课 程 设 计 报 告

设计题目:用VHDL语言实现数字钟的设计

班 级:电子1002班 学 号:20102625 姓 名:于晓 指导教师:李世平、李宁 设计时间:2012年12月

数字钟是一种用数字电路技术实现时、分、秒计时的钟表。本设计主要是实现数字钟的功能,程序用VHDL语言编写,整体采用TOP-TO-DOWN设计思路,具有基本的显示年月日时分秒和星期的功能,此外还有整点报时功能。该数字钟的实现程序分为顶层模块、年月模块、日模块、时分秒定时模块、数码管显示模块、分频模块、星期模块,此外还有一个库。该程序主要是用了元件例化的方法,此外还有进程等重要语句。

没有脉冲时,显示时分秒,set按钮产生第一个脉冲时,显示年月日,第2个脉冲到来时可预置年份,第3个脉冲到来时可预置月份,依次第

4、

5、

6、

7、8个脉冲到来时分别可预置日期、时、分、秒、星期,第 9个脉冲到来时设置星期后预置结束,正常工作,显示的是时分秒和星期。调整设置通过Up来控制,UP为高电平,upclk有脉冲到达时,预置位加1,否则减1。当整点到达时,报时器会鸣响,然后手动按键停止报时。

关键词:数字钟,VHDL,元件例化,数码管

1、 课程设计目的

掌握利用可编程逻辑器件和EDA设计工具进行电子系统设计的方法

2、 课程设计内容及要求

设计实现一个具有带预置数的数字钟,具有显示年月日时分秒的功能。用6个数码管显示时分秒,set按钮产生第一个脉冲时,显示切换年月日,第2个脉冲到来时可预置年份,第3个脉冲到来时可预置月份,依次第

4、

5、

6、7个脉冲到来时分别可预置日期、时、分、秒,第 8个脉冲到来后预置结束,正常工作,显示的是时分秒。Up为高电平时,upclk有脉冲到达时,预置位加1.否则减1,还可以在此基础上增加其它功能。

3、 VHDL程序设计

3.1整体设计思路

本设计采用top-down 模式设计,分模块进行,各功能都使用元件例化方式设计,主要有LED显示模块、时分秒定时模块、日期模块、年月模块、分频模块、星期模块,此外还创建了一个程序包,用来实现年月日、时分秒的加减调整。主要运用了过程语句、元件例化语句、信号赋值语句、和顺序语句

图3-1-1 整体结构图

图3-1-2 顶层模块引脚图

3.2各模块设计思路

3.2.1 普通计数器(时、分、秒、月、年计数器)设计

时钟模块通过调用程序包的时分秒加减过程语句实现两个六十进制,一个二十四进制,秒的进位信号作为分的计数时钟信号,分的进位信号作为时的时钟信号。时的进位信号通过管脚映射到日期模块的计数时钟信号。

定时功能在时分秒模块中,是由分计数器在到达59时产生一个脉冲,让speaker产生高电位鸣响。

年月模块主要实现月份的十二进制计数器,和100进制的年份计数器。月份的计数信号由日期模块的进位信号传递过来,年份的时钟信号由月份的进位信号产生。

图3-2-1 时分秒引脚图 图3-2-2 年月引脚图 3.2.2 可变进制计数器(天计数器)模块设计

不同月中的天的数量是不同的,例如“大月”就有31“天”, “小月”有30“天”,平年“二月”有28“天”,而闰年“二月”有29“天”。所以天计数器应该具备进制可变的性能。日期模块主要分为三个部分,预置日期加,预置日期减和产生进位信号,使月份增加。平闰年的判断是通过年月模块传输过来年份信号(两个4位的BCD码),如果高位的信号为“xxx0”且低位的信号为“xx00”(如20,84等),或高位为“xxx1”且低位为“xx10”(如32等)则判断为闰年。这种方法的包含了一百年中的所有闰年的情况。然后判断大月小月可以判断月份来确定30进制还是31进制。进位信号也是分为大月、小月、平年闰年来确定是否产生。

图3-2-3 日模块引脚图

3.2.3 LED显示模块

主要通过接受setpin的控制信号来选择显示的内容,把不同的信号赋给输出的端口,从而实现时分秒,年月日的切换。 3.2.4 星期模块

通过七进制计数器实现,同时带有预置的功能,不能同年月调整联动,但是能单独调整。

图3-2-4 星期模块引脚图

4、 仿真与分析

4.1 日模块

4.1.1 年份为2000年,月份为2月,有29天,初值设为2000年2月28日,仿真中日为:

28、

29、

1、

2、„

4.1.2 年份为1999年,月份为2月,有28天,初值设为1999年2月28日,仿真中日为:

28、

1、

2、„

4.1.3 年份为2000年,月份为3月,有31天,初值设为2000年3月30日,仿真中日为:30、

31、

1、

2、„

4.1.4 年份为2000年,月份为4月,有30天,初值设为2000年4月30日,仿真中日为:30、

1、

2、„

4.2 年月模块

初值设为1999年12月,lock为1时,显示年月,lock为3时,预置月,lock为2时,预置年

4.3 时分秒定时模块

lock为0时,显示时分秒,lock为5时,预置时,lock为6时,预置分,lock为7时,预置秒。当分到达59时,整点报时器响,speaker高电位,随着手动清零,恢复原位。

4.4 星期模块

初值设为星期1,仿真中显示为:

1、

2、

3、

4、

5、

6、

7、

1、„

4.5 分频模块

4.6 顶层设计模块

5、 课程设计总结

本次课程设计历时两天半,经过自己不断的努力完成了数字钟的设计,程序代码的编写调试及仿真。以前只是看书或者编一些很小的程序用来仿真,觉得没怎么难,但当进行此次课程设计真正处理一个较大程序时,问题便都显现出来。虽然在这个过程中遇到了很多的问题,但是最终都得到了很好的解决。

我此次设计的程序是在课本原有数字钟程序的基础上进行添加更改得来的,最初在运行原有程序时很顺利,但是随着加的东西越来越多,程序中出现的问题也就越来越多。很多同学都觉得在已有程序上再添加东西看似简单,实则很容易混乱,理不清头绪,而且这个原有程序是用进程所写,比较麻烦。虽然这样容易出现问题,不过我觉得这是一个锻炼的好机会。、

在处理分频模块时,最开始按照老师的要求设置了频率,但是当运行时,发现根本出不来,后来与同学讨论后,发现频率过大,后来改为八分频,使得分频

模块能够使用。在一开始加星期模块时,没怎么考虑,可是当加进去后才发现,星期模块不能与其他模块很好的相连,不能很好的做到与“日模块”相合,后来虽有改动,但最终没能改成功。在加定时器功能时,一开始单独为定时器列了一个模块,所写的程序也很复杂,错误百出,最后程序改好后,仿真却出不来。后来经过同学的提点,就把程序改简单了,单纯的来个脉冲就出现高电平,但后来仿真发现高电平一直在高位,没法给脉冲,最后没办法便手动脉冲。与顶层模块连接后,又发现分满59的脉冲没给,因为我的时分秒全都放在了一起,只能将定时模块挪到时分秒模块中,这样反而使得整个工程简单了一些。

在各个模块都能仿真成功后,顶层模块的程序与仿真却出现了很多问题。首先是顶层模块程序有很多警告,例如“second_waver”没有用到之类的,后来在改动的过程中,便把内变量换为了外变量,但是有些原来的警告没有了,但是新的警告又出现了,原本能够连好的U3与U4 模块均不能正常连接,后来与同学自习查找,才终于将错误找出,由于粗心大意误动了一些元件例化时的变量,使得时间拜拜浪费。最后在仿真的时候,仿真结果出不来,经过与同学商量在每个程序中都给年月日等变量均付了初值,才让仿真出来。

此次课程设计虽然只有短短的两天半的时间,但是经过前期的查找资料,后来的实验室实际操作,再到现在的报告总结,我收获了很多。其实完成一个设计,编程只是很小的一部分,最主要的在于查找资料以及调试程序,此次设计我在查找资料方面做的不是很充分,以至于设计的面很小,而且在遇到问题后不能很快的找出,以后一定要做好准备工作。此次课程设计中遇到的问题看似不大,但都是很好的问题,对我以后的设计有很大的帮助,一定会牢牢记住。

最后,此次课程设计的完成很大程度上取决于老师和同学对我的指导与帮助,这更能说明,一个较大设计的完成及实现,不是仅限于自身,我们要学会与别人交流沟通,才能做到更好。

6、 参考文献

[1]李景华,杜玉远.可编程逻辑器件与EDA技术.沈阳:东北大学出版社,2000 [2] 姜如东,VHDL语言程序设计及应用,北京邮电大学出版社

[3] 康华光.电子技术基础(数字部分)[M].北 京:高等教育出版社,2001.

[4] [5]

第四篇:EDA课程设计 电子琴

简易电子琴的设计和实现

----结题报告

学号:110342241

姓名:章译文

一.设计要求

1.能发出1234567基本音。

2.能自动播放《偶像万万岁》和《梁祝》。 3.能在数码管上显示弹奏时的音名。

二.设计原理分析

1.音阶的获得

系统要求要求用7个按键控制发声,我们用7个键盘来控制产生低音(或中音)段的7个音阶频率。所有的音名频率都是通过一个基准频率经过分频得到的。但部分分频过大的音频直接输出给扬声器,频率信号脉冲的占空比会非常窄,不能驱动扬声器工作。于是,我们设计了一个“带有预置数的计数器”来简化整个设计过程。将原频率分频成期望值的2倍频率信号。再通过二分频,驱动扬声器工作。

简易电子琴控制流程图

2.MUSICAL_NOTE内部电路

MUSICAL_NOTE内部电路

使用MUSICAL_NOTE电路,实现初值可变的计数器,并对音阶实现二分频,使电子琴实现正常发音。

按键播放部分电路

3.自动播放功能的实现

自动播放部分电路

Hebing.mif文件(偶像万万岁&梁祝)

歌曲长度为352位,利用三个74261设计0~352的计数器,自动寻址,将音频导入lpm_rom,与MUSICAL_NOTE相互作用,实现自动播放。

按键除颤电路原理图

作为机械开关的键盘,在按键操作时,机械触点的弹性及电压跳动等原因,再触点闭合或者开启的瞬间会出现电压的抖动,如果不进行处理就会造成误操作。按键去抖动的关键在于提取稳定的低电平状态,滤去前沿后沿的抖动毛刺。 4.在数码管上显示弹奏时的音名

显示部分电路图

Display内部电路

电路中的74161是16进制的计数器,它的低三位接到3—8译码器模块74138的地址输入端,这样就可以实现74138的8个输出端轮流输出低电平,恰好用来控制“位码”DIG7~DIG0。LPM_MUX是QuartusⅡ中的宏模块,用来实现多位的“多选一”,它的数据位数可以以及数据的数量可以任意设定。

电路中使用了与非门,实现发音与现实同时实现,在此要注意的是,因为使用了与非门,静态字符现实数码管管脚的设定值应该与原值相反。

三.设计原理图

简易电子琴原理图

根据以上分析,将三个模块组合,便得到了简易电子琴的整体设计。在整体设计的过程中,要注意三个模块之间的关系,使其能够相互作用,正常发音和显示。

四.实验总结 在这三天的实验过程中,通过对于实验目的的分析,有目标的查找资料,研读教材,在分清楚模块的基础上,写下了实验计划,规划好时间,确定每天要做的事。在实验的第一天,实现了按键发音,同时,也基本弄清楚了自动播放的原理,有了设计思路,第二天上午,完成了自动循环播放的功能,下午在同学的帮助下,确定了数码管显示的基本思路,通过对于以前知识的复习和查找,成功实现了数码管的显示功能。

在实验的过程中,也遇到很多的困难。在自动播放的时候,由于没有修改hebing.mif的进制,音乐总不能正常播放。还有就是在数码管显示的时候,一开始没有弄清与非门的作用,显示的数字总是反着的。后来经过冷静的分析,在老师和同学的帮助下,成功完成了电子琴的设计,实现了所有的功能。当然,设计也还有很多可以完善和改进的地方,在以后的学习过程中,我会更加用心,多做,多思考。

这次课程设计,我受益匪浅,这种认真研读,查找资料,动手操作的学习方式,应该贯彻到每一门课程的学习,也应该贯彻到我们的生活中。一直保持这样的方式,不管做什么事,都会取得很好的结果。

第五篇:eda课程设计心得体会

写心得体会是困扰很多人的问题,心中有很多想法,想说却不知道怎么写下来。下面本栏目搜集了eda课程设计心得体会,欢迎查看,希望帮助到大家。

eda课程设计心得体会一

这次EDA课程设计历时两个星期,在整整两个星期的日子里,可以说是苦多于甜,但是可以学的到很多很多的东西,同时不仅可以巩固以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次设计,进一步加深了对EDA的了解,让我对它有了更加浓厚的兴趣。特别是当每一个子模块编写调试成功时,心里特别的开心。但是在编写顶层文件的程序时,遇到了不少问题,特别是各元件之间的连接,以及信号的定义,总是有错误,在细心的检查下,终于找出了错误和警告,排除困难后,程序编译就通过了,心里终于舒了一口气。在波形仿真时,也遇到了一点困难,想要的结果不能在波形上得到正确的显示:在设定输入的时钟信号后,数字秒表开始计数,但是始终看不到秒和小时的循环计数。后来,在数十次的调试之后,才发现是因为输入的时钟信号对于器件的延迟时间来说太短了。经过屡次调试,终于找到了比较合适的输入数值:时钟周期设置在15秒左右比较合适。另外,Endtime的值需要设置的长一点:500us左右,这样就可以观察到完整的仿真结果。

其次,在连接各个模块的时候一定要注意各个输入、输出引脚的线宽,因为每个线宽是不一样的,只要让各个线宽互相匹配,才能得出正确的结果,否则,出现任何一点小的误差就会导致整个文件系统的编译出现错误提示,在器件的选择上也有一定的技巧,只有选择了合适当前电路所适合的器件,编译才能得到完满成功。

通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。

总的来说,这次设计的数字秒表还是比较成功的,在设计中遇到了很多问题,最后在老师的辛勤的指导下,终于游逆而解,有点小小的成就感,终于觉得平时所学的知识有了实用的价值,达到了理论与实际相结合的目的,不仅学到了不少知识,而且锻炼了自己的能力,使自己对以后的路有了更加清楚的认识,同时,对未来有了更多的信心。最后,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!

eda课程设计心得体会二

短暂的一周实训已经过去了,对于我来说这一周的实训赋予了我太多实用的东西了,不仅让我更深层次的对课本的理论知识深入了理解,而且还让我对分析事物的逻辑思维能力得到了锻炼,提高了实际动手能力,下面谈一下就这一周实训中我自己的一些心得体会。

一周的实训已经过去了,我们在老师提供的实践平台上通过自己的实践学到了很多课本上学不到的宝贵东西,熟悉了对Quartus Ⅱ软件的一般项目的操作和学到了处理简单问题的基本方法,更重要的是掌握了VHDL语言的基本设计思路和方法,我想这些会对我今后的学习起到很大的助推作用。此外,还要在今后的课本理论知识学习过程中要一步一个脚印的扎实学习,灵活的掌握和运用专业理论知识这样才能在以后出去工作的实践过程中有所成果。

最后还要感谢学校为我们提供这样专业的实践平台还有X老师在一周实训以来的不断指导和同学的热情帮助。总的来说,这次实训我收获很大。

同时,感谢大专两年来所有的老师,是你们为我解惑受业,不仅教授我专业知识,更教会我做人的道理。

这次EDA实训让我感觉收获颇多,在这一周的实训中我们不仅巩固了以前学过的知识,而且还学到了怎样运用EDA设计三种波形的整个过程和思路,更加强了我们动手能力,同时也提高了我们的思考能力的锻炼,我们在写程序的同时还要学会要改程序,根据错误的地方去修改程序。

本文基于Verilog HDL的乒乓球游戏机设计,利用Verilog HDL语言编写程序实现其波形数据功能在分析了CPLD技术的基础上,利用CPLD开发工具对电路进行了设计和仿真,从分离器件到系统的分布,每一步都经过严格的波形仿真,以确保功能正常。

从整体上看来,实训课题的内容实现的功能都能实现,但也存在着不足和需要进一步改进的地方,为我今后的学习和工作奠下了坚实的基础。通过此次的实训课题,掌握了制作乒乓球游戏机技术的原理及设计要领,学习并掌握了可编程逻辑电路的设计,掌握了软件、CPLD元件的应用,受益匪浅, 非常感谢X老师这一学期来的指导与教诲,感谢老师在学习上给予的指导,老师平常的工作也很忙,但是在我们学习的过程中,重来没有耽搁过,我们遇到问题问他,他重来都是很有耐心,不管问的学生有多少,他都细心的为每个学生讲解,学生们遇到的不能解决的,他都配合同学极力解决。最后祝愿X老师身体健康,全家幸福。

通过这次课程设计,我进一步熟悉了Verilog HDL语言的结构,语言规则和语言类型。对编程软件的界面及操作有了更好的熟悉。在编程过程中,我们虽然碰到了很多困难和问题,到最后还是靠自己的努力与坚持独立的完成了任务。当遇到了自己无法解决的困难与问题的时候,要有耐心,要学会一步步的去找问题的根源,才能解决问题,还请教老师给予指导和帮助。这次实训给我最深的印象就是扩大自己的知识面,知道要培养哪些技能对我们的专业很重要。通过这次课程设计,培养了我们共同合作的能力。但是此次设计中参考了其他程序段实际思想,显示出我们在程序设计方面还有不足之处。

在此次实训的过程中,我了解到了要加强培养动手能力,要明白理论与实践结合的重要性,只有理论知识也是不够的,只有把理论知识和实践相结合,才能真正提高我们的实际动手能力与独立思考的能力 。感谢学院给我们提供这次实训的机会,感谢X老师对我们的指导,他是为了教会我们如何运用所学的知识去解决实际的问题,此外,还得出一个结论:知识必须通过应用才能实现其价值!有些东西以为学会了,但真正到用的时候才发现是两回事,所以我认为只有到真正会用的时候才是真的学会了。

本次设计过程中得到我们老师的悉心指导。X老师多次询问设计进程,并为我们指点迷津,帮助我们理顺设计思路,精心点拨。X老师一丝不苟的作风,严谨求实的态度,踏踏实实的精神,不仅授我以文,并将积极影响我今后的学习和工作。

eda课程设计心得体会三

本学期末我们进行了EDA实训,我们组做的是四路智能抢答器,不过本次实训与以往最大的不同是在熟练并掌握Verilog硬件描述语言的基础上,运用Quartus软件,对其进行波形以及功能的仿真。我们组抢答器的设计要求是:可容纳四组参赛者,每组设置一个抢答按钮供抢答者使用,电路具有第一抢答信号的鉴别和锁存功能,系统具有计分、倒计时和倒计时锁存等电路,输入信号有:各组的抢答按钮A、B、C、D,系统清零信号CLR,系统时钟信号CLK,计分复位端RST,加分按钮端ADD,计时预置控制端LDN,计时使能端EN,计时预置数据调整按钮可以用如TA、TB表示;系统的输出信号有:四个组抢答成功与否的指示灯控制信号输出口可用如LEDA、LEDB、LEDC、LEDD表示,四个组抢答时的计时数码显示控制信号若干,抢答成功组别显示的控制信号若干,各组计分动态显示的控制信号若干。整个系统至少有三个主要模块:抢答鉴别模块、抢答计时模块、抢答计分模块。

实训的第一天我们组三个人就开始对抢答器的各部分源程序进行调试,由于刚开始对于quartus2软件用的不是很熟练,所以在第一天几乎上没有啥大的进展,一直都在改程序中的错误。在不停的重复的编译、改错。拿着EDA修改稿、资料书检查出错的地方,一边又一遍的校对分析其中的错误。

在实训中我们遇到了很多的问题。为了解决这些问题我和他们两个都在的想办法通过各种渠道寻找解决问题的方法。上网查资料、问同学、图书馆查资料、问老师、自己想办法,其实最有效的方法还是自己去想那样学到的东西才会更加的深刻记得时间也是最长的,他人的帮助当然是很好的,但只是暂时的要想真正的学到东西还是要靠自己去想办法。不能一有问题就希望要他人帮忙,一定自己先好好想想实在解决不了的再去问老师找同学。

由于在一开始的时候对quartus2软件的不熟悉耽误了很多的时间,在接下来的几天里遇到了不少的问题。刚开始的时候是源程序中的错误一直在那改,好不容易几个模块中的错误都一个个排除了,但当把他们放到一起时问题就又出现了。于是又开始了检查修改,可是弄了好长时间也没有弄明白,最后找了一个在实验室的同学说是顶层文件有问题。于是晚上又找了些关于顶层文件资料还有课本上的例子。最后对步骤已经有了很熟练的掌握,很快就完成了程序编译、仿真、下载到最后的调试。

纸上谈来终觉浅,绝知此事要躬行。在这短暂的两周实训中深深的感觉到了自己要学的东西实在是太多了,自己知道的是多么的有限,由于自身专业知识的欠缺导致了这次实训不是进行的很顺利,通过这次实训暴露了我们自身的诸多的不足之处,我们会引以为鉴,在以后的生活中更应该努力的学习。

虽然实训仅仅进行了两个星期就匆匆的结束了,但在这两个星期中收获还是很多的。实训的目的是要把学过的东西拿出来用这一个星期的实训中不仅用了而且对于quartus2软件的使用也更加的得心应手,这次实训提高了我们的动手能力、理论联系实际的能力、发现问题分析问题解决问题的能力。实训只要你认真做了都是对自己能力一次很大的提高。

本次设计过程中得到我们老师的悉心指导。X老师多次询问设计进程,并为我们指点迷津,帮助我们理顺设计思路,精心点拨,时刻在帮助着我们去提高自己。X老师一丝不苟的作风,严谨求实的态度,踏踏实实的精神,不仅是我学习的楷模,并将积极影响我今后的学习和工作。在此诚挚地向X老师致谢。

上一篇:epc工程总承包优缺点下一篇:erp生产总监实习报告