西电eda大作业
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
EDA实验报告
班级:021211班
指导老师:杨明磊
实验一:QUARTUS II软件使用及组合电路设计
仿真
一、实验目的:
学习QUARTUS II软件的使用,掌握软件工程的建立、VHDL源文件的设计和波形仿真等基本内容;
二、实验内容:
1.四选一多路选择器的设计
首先利用QuartusⅡ完成4选1多路选择器的文本编辑输入(mux41a.vhd)和仿真测试等步骤,给出仿真波形。
(1)、功能及原理
原理:数据选择器又称为多路转换器或多路开关,它是数字系统中常用的一种典型电路。其主要功能是从多路数据中选择其中一路信号发送出去。所以它是一个多输入、单输出的组合逻辑电路。
功能:当选择控制端s10=00时,输出a
y=;s10=01时,输出b
y=;s10=10时,输出c
y=;s10=11时,输出d
y=。
(2)、逻辑器件符号
(3)、VHDL语言
(4)、波形仿真
(5)、仿真分析
由波形可知:当s10=00时,y的波形与a相同;
当s10=01时,y的波形与b相同;
当s10=10时,y的波形与c相同;
当s10=11时,y的波形与d相同;
与所要实现的功能相符,源程序正确。
2、七段译码器程序设计仿真
(1)、功能及原理
7段数码是纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码,然而数字系统中的数据处理和运算都是2进制的,所以输出表达都是16进制的,为了满足16进制数的译码显示,最方便的方法就是利
用VHDL译码程序在FPGA或CPLD中实现。实验中的数码管为共阳极,接有低电平的段发亮。例如当LED7S输出为 "0010010" 时,数码管的7个段:g、f、e、d、c、b、a分别接0、0、1、0、0、1、0,于是数码管显示“5”。
(2)、逻辑器件符号
(3)、VHDL语言
(4)、波形仿真
(5)、仿真分析
由仿真波形可以直观看到,当A=“0000”时,led7s=1000000,数码管显示为0;A=“0001”时,led7s=1111001,数码管显示为1;....依此可验证波形仿真结果完全符合预期,源程序正确。
三、实验心得
在第一次上机实验中,我们通过对EDA设计软件QuartusⅡ使用,初步学会了它的使用方法。在实验中我们编写程序,编译,进行时序仿真以验证程序对错等。在完成VHDL的编辑以后,进行编译,结果出现了很多错误,在细心的检查之下,最终将VHDL描述修改成功并且通过了编译,在编译过程中我了解到很多在书本上没有理解的知识。总的来说,通过上机实验,我激发了对EDA学习的兴趣,也对这门课程有了更深的理解,对EDA设计软件Quarter Ⅱ的使用也更加熟练。
实验二计数器设计与显示
一、实验目的
(1)、熟悉利用QUARTUS II中的原理图输入法设计组合电路,掌握层次化设计的方法;
(2)、学习计数器设计、多层次设计方法和总线数据输入方式的仿真,并进行电路板下载演示验证。
二、实验内容
1、完成计数器设计(4位二进制加减可控计数器)
(1)、功能及原理
含有异步清零和计数使能的4位二进制加减可控计数器:
清零端reset:低电平有效,异步清零,即reset=0时,无论时钟处于什么状态,输出立即置零。
使能端enable:高电平有效,即enable=1时,计数器开始计数;enable=0时,计数器停止计数。
加减控制端updown:当updown=0时,为减法计数器;当updown=1时,为加法计数器。
(2)、逻辑器件符号
(3)、VHDL语言
(4)、波形仿真
updown=1时,为加法计数:
updown=0时,为减法计数:
(5)、仿真分析
由以上两个波形很容易看出,enable=1时,计数器开始计数;reset=0时,计数器置零;updown=0时,减法计数;updown=1时,加法计数;co为进位端。符合设计初衷。
2、50M分频器的设计
(1)、功能及原理
50M分频器的作用主要是控制后面的数码管显示的快慢。即一个模为50M的计数器,由时钟控制,分频器的基本原理与上述计数器基本相同。分频器的进位端co用来控制加减计数器的时钟,将两个器件连接起来。
(2)、逻辑器件符号
(3)、VHDL语言
(4)、波形仿真
(5)、仿真分析
由波形仿真可以看出,enable=1时,由0开始计数,由于计数器模值较大,故只显示了一部分波形,计数范围由0到50M。
3、七段译码器程序设计
在实验一中已给出具体程序及仿真结果,不再赘述。
4、计数器显示译码设计与下载
以前面设计的七段译码器decl7s和计数器为底层元件,完成“计数器显示译码”的顶层文件设计。
计数器和译码器连接电路的顶层文件原理图如下:
原理图连接好之后就可以进行引脚的锁定,然后将整个程序下载到已经安装好的电路板上,即可进行仿真演示。
三、实验心得
实验三:大作业设计
(循环彩灯)
一、实验目的:
综合应用数字电路的各种设计方法,完成一个较为复杂的电路设计;二、设计目标
设计一个循环彩灯控制器,该控制器可控制10个发光二极管循环点亮、间隔点亮或者闪烁等花型。要求至少设计三种以上花型,用按键控制花型之间的转换,并用数码管显示当前花型。
三、设计原理
四、设计流程
1、分频器的设计
所用50M分频器在实验二中已有具体说明,不再赘述。
2、彩灯控制器的设计
(1)、功能及原理
清零端reset:高电平有效,异步清零。即当reset=1时,灯全灭。
使能端enable:enable=1时,彩灯工作。
花样控制端s10:s10取不同的值来控制花样的转换。
led10s:控制10个led灯的亮灭。
(2)、逻辑器件符号
(3)、VHDL语言