《EDA实验报告.pdf》由会员分享,可在线阅读,更多相关《EDA实验报告.pdf(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 实验一:QUARTUS II 软件使用及 组合电路设计仿真 实验目的:学习 QUARTUS II 软件的使用,掌握软件工程的建立,VHDL源文件的设计和波形仿真等根本内容。实验内容:1.四选一多路选择器的设计 根本功能及原理:选择器常用于信号的切换,四选一选择器常用于信号的切换,四选一选择器可以用于 4 路信号的切换。四选一选择器有四个输入端a,b,c,d,两个信号选择端 s(0)和 s(1)及一个信号输出端 y。当 s 输入不同的选择信号时,就可以使 a,b,c,d 中某一个相应的输入信号与输出 y 端接通。逻辑符号如下:程序设计:软件编译:在编辑器中输入并保存了以上四选一选择器的 VHD
2、L 源程序后就可以对它进行编译了,编译的最终目的是为了生成可以进行仿真、定时分析及下载到可编程器件的相关文件。仿真分析:仿真结果如下列图所示 分析:由仿真图可以得到以下结论:当 s=0(00)时 y=a;当 s=1(01)时 y=b;当 s=2(10)时 y=c;当 s=3(11)时 y=d。符合我们最开始设想的功能设计,这说明源程序正确。2.七段译码器程序设计 根本功能及原理:七段译码器是用来显示数字的,7 段数码是纯组合电路,通常的小规模专用 IC,如 74 或 4000 系列的器件只能作十进制 BCD 码译码,然而数字系统中的数据处理和运算都是 2 进制的,所以输出表达都是16 进制的,
3、为了满足 16 进制数的译码显示,最方便的方法就是利用VHDL 译码程序在 FPGA 或 CPLD 中实现。本项实验很容易实现这一目的。输出信号的 7 位分别接到数码管的 7 个段,本实验中用的数码管为共阳极的,接有低电平的段发亮。数码管的图形如下 七段译码器的逻辑符号:程序设计:软件编译:在编辑器中输入并保存了以上七段译码器的 VHDL 源程序后就可以对它进行编译了,编译的最终目的是为了生成可以进行仿真、定时分析及下载到可编程器件的相关文件。仿真分析:仿真结果如下列图所示:分析:由仿真的结果可以得到以下结论:当 a=0(0000)时 led7=1000000 此时数码管显示 0;当 a=1(
4、0001)时 led7=1111001 此时数码管显示 1;当 a=2(0010)时 led7=0100100 此时数码管显示 2;当 a=3(0011)时 led7=0110000 此时数码管显示 3;当 a=4(0100)时 led7=0011001 此时数码管显示 4;当 a=5(0101)时 led7=0010010 此时数码管显示 5;当 a=6(0110)时 led7=0000010 此时数码管显示 6;当 a=7(0111)时 led7=1111000 此时数码管显示 7;当 a=8(1000)时 led7=0000000 此时数码管显示 8;当 a=9(1001)时 led7=
5、0010000 此时数码管显示 9;当 a=10(1010)时 led7=0001000 此时数码管显示 A;当 a=11(1011)时 led7=0000011 此时数码管显示 B;当 a=12(1100)时 led7=1000110 此时数码管显示 C;当 a=13(1101)时 led7=0100001 此时数码管显示 D;当 a=14(1110)时 led7=0000110 此时数码管显示 E;当 a=15(1111)时 led7=0001110 此时数码管显示 F;这完全符合我们最开始的功能设计,所以可以说明源 VHDL 程序是正确的。实验心得:通过这次实验,我根本掌握了 QUART
6、US II 软件的使用,也掌握了软件工程的建立,VHDL 源文件的设计和波形仿真等根本内容。在实验中,我发现 EDA 这门课十分有趣,从一个器件的功能设计到程序设计,再到编译成功,最后得到仿真的结果,这其中的每一步都需要认真分析,一遍又一遍的编译,修改。当然,中间出现过错误,但我依然不放弃,一点一点的修改,验证,最终终于出现了正确的仿真结果,虽然有一些毛刺,但是总的来说,不影响整体的结果。实验二:计数器设计与显示 实验目的:1熟悉利用 QUARTUS II 中的原理图输入法设计组合电路,掌握层次化的设计方法;2学习计数器设计,多层次设计方法和总线数据输入方式的 仿真,并进行电路板下载演示验证。
7、实验内容:1.完成计数器设计 根本功能及原理:本实验要设计一个含有异步清零和计数使能的 4 位二进制加减可控计数器,即有一个清零端和使能端,当清零端为 1 时异步清零,即所有输出值都为 0,当使能端为 0 时,计数器停止工作,当使能端为 1 时,正常工作,由时钟控制。另外,还应该有一个控制端,当控制端为 0 时,进行减法运算,当控制端为 1 时,进行加法运算。输出端有输出值和进位端,当进行加法运算时,输出值递增,当减法运算时,输出值递减,同时进位端进行相应的变化。4 位二进制加减计数器的逻辑符号:程序设计:软件编译:在编辑器中输入并保存了以上 4 位二进制加减计数器的 VHDL 源程序后就可以
8、对它进行编译了,编译的最终目的是为了生成可以进行仿真、定时分析及下载到可编程器件的相关文件。仿真分析:仿真结果如下:分析:由仿真图可以得到以下结论:当 enable 端为 0 时,所有数值都为 0,当 enable 端为 1 时,计数器正常工作;当 reset 端为 1 时,异步清零,所有输出数值为 0,当 reset端为 0 时,正常工作;当 updown 端为 0 时,进行减法运算,当 updown为 1 时,进行加法运算;另外,当程序进行减法运算时,出现借位时,co 为 1,其余为 0,当进行加法运算时,出现进位时,co 为 1,其余为 0。图中所有的功能与我们设计的完全一样,所以说明源
9、程序正确。2.50M 分频器的设计 根本功能及原理:50M 分频器的作用主要是控制后面的数码管显示的快慢。即一个模为 50M 的计数器,由时钟控制,分频器所有的端口根本和上述 4 位二进制加减计数器的端口一样,原理也根本相同。分频器的进位端 co用来控制加减计数器的时钟,将两个器件连接起来。50M 分频器的逻辑符号如下:程序设计:软件编译:在编辑器中输入并保存了以上 50M 分频器的 VHDL 源程序后就可以对它进行编译了,编译的最终目的是为了生成可以进行仿真、定时分析及下载到可编程器件的相关文件。仿真分析:结果如下:上图为仿真图的一局部,由于整个图太大,所以显示一局部即可,其余局部如图以上图
10、规律一直递增,直到 50M 为止,然后再重复,如此循环。上图是局部输出的显示,由于整个图太大,所以只显示局部,其余局部如图递增。分析:由仿真图可以看出,当 reset 为 0,enable 为 1 时因为本实验中计数器的模值太大,为了尽可能多的观察出图形,可让 reset 一直为 0,enable 一直为 1,即一直正常工作,输出值由 0 一直递增到 50M,构成一个加法计数器,与我们设计的功能一致。3.七段译码器程序设计 根本功能及原理:七段译码器是用来显示数字的,7 段数码是纯组合电路,通常的小规模专用 IC,如 74 或 4000 系列的器件只能作十进制 BCD 码译码,然而数字系统中的
11、数据处理和运算都是 2 进制的,所以输出表达都是16 进制的,为了满足 16 进制数的译码显示,最方便的方法就是利用VHDL 译码程序在 FPGA 或 CPLD 中实现。本项实验很容易实现这一目的。输出信号的 7 位分别接到数码管的 7 个段,本实验中用的数码管为共阳极的,接有低电平的段发亮。七段译码器的逻辑符号:程序设计:软件编译:在编辑器中输入并保存了以上七段译码器的 VHDL 源程序后就可以对它进行编译了,编译的最终目的是为了生成可以进行仿真、定时分析及下载到可编程器件的相关文件。仿真分析:仿真结果如下列图所示:分析:具体分析与实验一中七段译码器的分析相同,在此不再赘述。计数器和译码器连
12、接电路的顶层文件原理图:原理图连接好之后就可以进行引脚的锁定,然后将整个程序下载到已经安装好的电路板上,即可进行仿真演示。实验心得:经过本次试验,我学到了很多。首先,我加强了对 QUARTUS II 软件的掌握;其次,我掌握了电路图的顶层文件原理图的连接,学会了如何把自己设计的程序正确的转化为器件,然后正确的连接起来,形成一个整体的功能器件;最后,我学会了如何安装以及如何正确的把完整的程序下载到电路板上,并进行演示验证。实验三:大作业设计 循环彩灯控制器 实验目的:综合应用数字电路的各种设计方法,完成一个较为复杂的电路设计。实验内容:流水灯循环彩灯的设计 设计任务:设计一个循环彩灯控制器,该控
13、制器可控制 10 个发光二极管循环点亮,间隔点亮或者闪烁等花型。要求至少三种以上花型,并用按键控制花型之间的转换,用数码管显示花型的序号。根本原理:该控制器由两局部组成,一局部是一个 50M 的分频器,其主要用来控制花色变化的快慢;另一局部是一个彩灯控制器,该彩灯控制器可由两个开关控制花型的序号,10 个输出分别控制 10 个发光二极管的亮暗,当输出为 1 时,该发光二极管亮,输出为 0 时,该二极管灭。将分频器的 co 端用来控制彩灯控制器的时钟,将两个器件连接起来。1.分频器的设计 50M 分频器与实验二中的分频器一样,这里不再赘述。2.彩灯控制器的设计 根本原理:该彩灯控制器由时钟控制,
14、reset 异步清零,enable 当做使能端,由两个开关 do(0-1)来控制选择不同的花型,10 个输出端 lig(0-9)来控制 10 个 LED 灯的亮灭。因为用了两个开关来控制花型,所以一共有 4 种花色。彩灯控制器的逻辑符号:程序设计:3.七段译码器的设计 七段译码器是用来显示不同花型的序号的,其设计与实验一中的设计一样,这里不再赘述。循环彩灯控制器的原理图:仿真波形如下:第一种花型:第二种花型:第三种花型:第四种花型:仿真分析:将以上仿真波形图和源程序比照,我们可以看到,仿真出来的波形和我们设计的功能一致,这说明源 VHDL 程序是正确的。实验心得:本次试验是在没有老师指导的情况下自己完成的,我在参考了网上的程序的情况下,最终成功的设计并正确的演示出了循环彩灯的不同花型。通过本次试验,我真正的体会到了 DEA 这门课的乐趣,也发现它对我们的学习和生活带来很大的方便。