EDA实验报告.docx

上传人:b****6 文档编号:8652595 上传时间:2023-02-01 格式:DOCX 页数:18 大小:353.38KB
下载 相关 举报
EDA实验报告.docx_第1页
第1页 / 共18页
EDA实验报告.docx_第2页
第2页 / 共18页
EDA实验报告.docx_第3页
第3页 / 共18页
EDA实验报告.docx_第4页
第4页 / 共18页
EDA实验报告.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

EDA实验报告.docx

《EDA实验报告.docx》由会员分享,可在线阅读,更多相关《EDA实验报告.docx(18页珍藏版)》请在冰豆网上搜索。

EDA实验报告.docx

EDA实验报告

实验一:

QUARTUSII软件使用及

组合电路设计仿真

 

实验目的:

学习QUARTUSII软件的使用,掌握软件工程的建立,VHDL源文件的设计和波形仿真等基本内容。

实验内容:

1.四选一多路选择器的设计

基本功能及原理:

选择器常用于信号的切换,四选一选择器常用于信号的切换,四选一选择器可以用于4路信号的切换。

四选一选择器有四个输入端a,b,c,d,两个信号选择端s(0)和s

(1)及一个信号输出端y。

当s输入不同的选择信号时,就可以使a,b,c,d中某一个相应的输入信号与输出y端接通。

逻辑符号如下:

程序设计:

软件编译:

在编辑器中输入并保存了以上四选一选择器的VHDL源程序后就可以对它进行编译了,编译的最终目的是为了生成可以进行仿真、定时分析及下载到可编程器件的相关文件。

仿真分析:

仿真结果如下图所示

分析:

由仿真图可以得到以下结论:

当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进制的,为了满足16进制数的译码显示,最方便的方法就是利用VHDL译码程序在FPGA或CPLD中实现。

本项实验很容易实现这一目的。

输出信号的7位分别接到数码管的7个段,本实验中用的数码管为共阳极的,接有低电平的段发亮。

数码管的图形如下

七段译码器的逻辑符号:

程序设计:

软件编译:

在编辑器中输入并保存了以上七段译码器的VHDL源程序后就可以对它进行编译了,编译的最终目的是为了生成可以进行仿真、定时分析及下载到可编程器件的相关文件

仿真分析:

仿真结果如下图所示:

分析:

由仿真的结果可以得到以下结论:

当a=0(0000)时led7=1000000此时数码管显示0;

当a=1(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=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程序是正确的。

实验心得:

通过这次实验,我基本掌握了QUARTUSII软件的使用,也掌握了软件工程的建立,VHDL源文件的设计和波形仿真等基本内容。

在实验中,我发现EDA这门课十分有趣,从一个器件的功能设计到程序设计,再到编译成功,最后得到仿真的结果,这其中的每一步都需要认真分析,一遍又一遍的编译,修改。

当然,中间出现过错误,但我依然不放弃,一点一点的修改,验证,最终终于出现了正确的仿真结果,虽然有一些毛刺,但是总的来说,不影响整体的结果。

 

 

 

实验二:

计数器设计与显示

 

实验目的:

(1)熟悉利用QUARTUSII中的原理图输入法设计组合电路,

掌握层次化的设计方法;

(2)学习计数器设计,多层次设计方法和总线数据输入方式的

仿真,并进行电路板下载演示验证。

实验内容:

1.完成计数器设计

基本功能及原理:

本实验要设计一个含有异步清零和计数使能的4位二进制加减可控计数器,即有一个清零端和使能端,当清零端为1时异步清零,即所有输出值都为0,当使能端为0时,计数器停止工作,当使能端为1时,正常工作,由时钟控制。

另外,还应该有一个控制端,当控制端为0时,进行减法运算,当控制端为1时,进行加法运算。

输出端有输出值和进位端,当进行加法运算时,输出值递增,当减法运算时,输出值递减,同时进位端进行相应的变化。

4位二进制加减计数器的逻辑符号:

程序设计:

 

软件编译:

在编辑器中输入并保存了以上4位二进制加减计数器的VHDL源程序后就可以对它进行编译了,编译的最终目的是为了生成可以进行仿真、定时分析及下载到可编程器件的相关文件。

仿真分析:

仿真结果如下:

分析:

由仿真图可以得到以下结论:

当enable端为0时,所有数值都为0,当enable端为1时,计数器正常工作;当reset端为1时,异步清零,所有输出数值为0,当reset端为0时,正常工作;当updown端为0时,进行减法运算,当updown为1时,进行加法运算;另外,当程序进行减法运算时,出现借位时,co为1,其余为0,当进行加法运算时,出现进位时,co为1,其余为0。

图中所有的功能与我们设计的完全一样,所以说明源程序正确。

2.50M分频器的设计

基本功能及原理:

50M分频器的作用主要是控制后面的数码管显示的快慢。

即一个模为50M的计数器,由时钟控制,分频器所有的端口基本和上述4位二进制加减计数器的端口一样,原理也基本相同。

分频器的进位端(co)用来控制加减计数器的时钟,将两个器件连接起来。

50M分频器的逻辑符号如下:

程序设计:

软件编译:

在编辑器中输入并保存了以上50M分频器的VHDL源程序后就可以对它进行编译了,编译的最终目的是为了生成可以进行仿真、定时分析及下载到可编程器件的相关文件。

仿真分析:

结果如下:

上图为仿真图的一部分,由于整个图太大,所以显示一部分即可,其余部分如图以上图规律一直递增,直到50M为止,然后再重复,如此循环。

上图是部分输出的显示,由于整个图太大,所以只显示部分,其余部分如图递增。

分析:

由仿真图可以看出,当reset为0,enable为1时(因为本实验中计数器的模值太大,为了尽可能多的观察出图形,可让reset一直为0,enable一直为1,即一直正常工作),输出值由0一直递增到50M,构成一个加法计数器,与我们设计的功能一致。

3.七段译码器程序设计

基本功能及原理:

七段译码器是用来显示数字的,7段数码是纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码,然而数字系统中的数据处理和运算都是2进制的,所以输出表达都是16进制的,为了满足16进制数的译码显示,最方便的方法就是利用VHDL译码程序在FPGA或CPLD中实现。

本项实验很容易实现这一目的。

输出信号的7位分别接到数码管的7个段,本实验中用的数码管为共阳极的,接有低电平的段发亮。

七段译码器的逻辑符号:

程序设计:

软件编译:

在编辑器中输入并保存了以上七段译码器的VHDL源程序后就可以对它进行编译了,编译的最终目的是为了生成可以进行仿真、定时分析及下载到可编程器件的相关文件。

仿真分析:

仿真结果如下图所示:

分析:

具体分析与实验一中七段译码器的分析相同,在此不再赘述。

计数器和译码器连接电路的顶层文件原理图:

原理图连接好之后就可以进行引脚的锁定,然后将整个程序下载到已经安装好的电路板上,即可进行仿真演示。

 

实验心得:

经过本次试验,我学到了很多。

首先,我加强了对QUARTUSII软件的掌握;其次,我掌握了电路图的顶层文件原理图的连接,学会了如何把自己设计的程序正确的转化为器件,然后正确的连接起来,形成一个整体的功能器件;最后,我学会了如何安装以及如何正确的把完整的程序下载到电路板上,并进行演示验证。

 

实验三:

大作业设计

(循环彩灯控制器)

 

实验目的:

综合应用数字电路的各种设计方法,完成一个较为复杂的电路设计。

实验内容:

流水灯(循环彩灯)的设计

设计任务:

设计一个循环彩灯控制器,该控制器可控制10个发光二极管循环点亮,间隔点亮或者闪烁等花型。

要求至少三种以上花型,并用按键控制花型之间的转换,用数码管显示花型的序号。

基本原理:

该控制器由两部分组成,一部分是一个50M的分频器,其主要用来控制花色变化的快慢;另一部分是一个彩灯控制器,该彩灯控制器可由两个开关控制花型的序号,10个输出分别控制10个发光二极管的亮暗,当输出为1时,该发光二极管亮,输出为0时,该二极管灭。

将分频器的co端用来控制彩灯控制器的时钟,将两个器件连接起来。

1.分频器的设计

50M分频器与实验二中的分频器一样,这里不再赘述。

2.彩灯控制器的设计

基本原理:

该彩灯控制器由时钟控制,reset异步清零,enable当做使能端,由两个开关do(0-1)来控制选择不同的花型,10个输出端lig(0-9)来控制10个LED灯的亮灭。

因为用了两个开关来控制花型,所以一共有4种花色。

彩灯控制器的逻辑符号:

程序设计:

3.七段译码器的设计

七段译码器是用来显示不同花型的序号的,其设计与实验一中的设计一样,这里不再赘述。

循环彩灯控制器的原理图:

仿真波形如下:

第一种花型:

第二种花型:

第三种花型:

第四种花型:

仿真分析:

将以上仿真波形图和源程序对比,我们可以看到,仿真出来的波形和我们设计的功能一致,这说明源VHDL程序是正确的。

实验心得:

本次试验是在没有老师指导的情况下自己完成的,我在参考了网上的程序的情况下,最终成功的设计并正确的演示出了循环彩灯的不同花型。

通过本次试验,我真正的体会到了DEA这门课的乐趣,也发现它对我们的学习和生活带来很大的方便。

 

注:

资料可能无法思考和涵盖全面,最好仔细浏览后下载使用,感谢您的关注!

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 工学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1