EDA实验报告1Word文档下载推荐.docx
- 文档编号:7013314
- 上传时间:2023-05-07
- 格式:DOCX
- 页数:15
- 大小:314.80KB
EDA实验报告1Word文档下载推荐.docx
《EDA实验报告1Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《EDA实验报告1Word文档下载推荐.docx(15页珍藏版)》请在冰点文库上搜索。
elsif(qout="
)then
3、验证最后仿真的得到的波形图是否和图5-31时序仿真的波形图是否一致;
功能图如下:
在预置信号无效,使能信号有效的情况下,当时钟的上升沿到来时,可以画出状态转换图如下:
在VHDL文件输入完毕后,进行部分编译和全编译,在编译成功后进行功能仿真和时序仿真。
程序编译通过,编译报告如下图所示。
在编译成功后,进行功能仿真和时序仿真。
功能仿真设置:
功能仿真结果:
实验结果分析:
通过功能仿真得到的时序图与课本所给的并无差异,说明本例确实能够实现模十计数器,并且通过模十计数器的输出驱动7段译码器,可以显示相应的输出。
时序仿真设置:
时序仿真结果:
实验结果分析:
通过时序仿真得到的波形图和功能仿真得到的波形图,形状和特点并无二致,只是由于在时序仿真中,考虑了电路的延时,所以有些地方会出现毛刺。
但是模十计数器的基本功能并未受到影响。
4、根据三-八译码器真值表完成VHDL程序的设计并仿真。
输入
输出
D2
D1
D0
Q7
Q6
Q5
Q4
Q3
Q2
Q1
Q0
1
表13-8译码器真值表
根据3-8线译码器的真值表可以写出相应的VHDL语言的程序实现。
编程思路如下:
仿照上例,编写3-8译码器。
根据真值表,设置三个输入信号和8个输出信号,不含使能端。
根据输入信号的不同取值设置相应的输出信号,即可实现3-8译码器的功能。
在编译通过后,进行功能仿真和时序仿真,检验实验结果是否符合要求。
三-八译码器功能仿真注意事项:
因为需要考察电路输入的所有状态,因此需要输入分别有000、001、010、011、100、101、110、111八个状态,在仿真通道文件中
选择d
界面旁边的赋值选项此时高亮显示表示可用,选中C,在弹出的对话框中进行设置。
设置完成后,进行仿真。
编译成功,编译报告如下图所示:
通过以上的功能分析得到的波形图,可以看出输出信号随着输入信号的变化做相应变化。
输入信号的值是几,输出信号中第几位就输出为高,其余为低。
实现了3-8译码器的功能,且输出为高有效。
通过以上的时序仿真,可以看出该程序实现了3-8译码器的功能。
输出信号根据输入信号的值的大小相应位为高,其余位为低。
只是相比于功能仿真,由于电路的延时作用,时序仿真得到的波形图会有毛刺出现。
5.实验注意事项:
关于7段译码器的说明:
在实验1中使用了一个7段译码器,其由7个发光二极管构成,二极管的负极接到对应引脚,正极接高电平构成共阳极的7段数码管。
如下如所示:
显示0时,a,b,c,d,e,f管脚接低电平,g管脚接高电平点亮的二极管会显示数字0。
如图所示:
三、实验代码
附实验代码:
模十计数器代码如下:
libraryIEEE;
useIEEE.std_logic_1164.all;
useIEEE.STD_LOGIC_ARITH.ALL;
useIEEE.STD_LOGIC_UNSIGNED.ALL;
entitycount10is
port(clk,load,en:
instd_logic;
data_in:
instd_logic_vector(3downto0);
seg:
outstd_logic_vector(6downto0));
endcount10;
architecturebehaofcount10is
signalqout:
signalq_temp:
std_logic_vector(3downto0);
begin
process(clk,load)
begin
if(load='
1'
q_temp<
=data_in;
elsif(clk'
eventandclk='
if(en='
0'
qout<
=qout;
elsif(qout="
="
0000"
;
else
=qout+1;
endif;
endprocess;
process(q_temp)
caseq_tempis
when"
=>
seg<
1000000"
0001"
1111001"
0010"
0100100"
0011"
0110000"
0100"
0011001"
0101"
0010010"
0110"
0000010"
0111"
1111000"
1000"
0000000"
0010000"
whenothers=>
0001000"
endcase;
endbeha;
3-8线译码器的程序如下:
useIEEE.STD_LOGIC_1164.ALL;
ENTITYcount38IS
PORT(d:
INSTD_LOGIC_vector(2downto0);
q:
outstd_logic_vector(7downto0)
);
ENDcount38;
ARCHITECTUREdec_behavofcount38is
signalsel:
std_logic_vector(2downto0);
sel<
=d;
withselselect
q<
="
00000001"
when"
000"
"
00000010"
001"
00000100"
010"
00001000"
011"
00010000"
100"
00100000"
101"
01000000"
110"
10000000"
111"
ZZZZZZZZ"
whenothers;
enddec_behav;
四、实验心得体会
这是第一次接触QuartusII软件,虽然上过了有关的理论课,但是在真正使用之前还是觉得很陌生。
但是本次实验的开始,老师让大家验证课本上的例子。
按照课本一步一步的操作,让我很快对这个软件熟悉了起来,掌握了该软件的基本操作步骤。
而且,首先针对课本上的例子进行功能仿真和时序仿真,通过实例,我对功能仿真和时序仿真有了非常直观的认识,通过仿真可以验证程序是否实现了要求的特定功能。
在验证完课本上的例子之后,又自己写了一个比较简单的3-8线译码器的程序,并对它进行仿真。
通过对第一个实例的学习,我可以仿照第一个实例写出3-8译码器的程序,并且进行功能仿真和时序仿真。
总之,通过本次实验老师设置的两个循序渐进的目标,我掌握了QuartusII软件的使用方法,并且可以利用VHDL语言写一些简单的程序。
通过本次实验,我深深地体会到软件仿真的方便,在今后的学习和实验中,我会不断学习有关知识,提高自己的专业知识和学习能力,利用软件简化自己的任务。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 实验 报告
![提示](https://static.bingdoc.com/images/bang_tan.gif)