实验六数字秒表的设计Word格式文档下载.docx
《实验六数字秒表的设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《实验六数字秒表的设计Word格式文档下载.docx(7页珍藏版)》请在冰豆网上搜索。
成绩
一、实验目的
熟悉QuartusⅡ的VHDL文本设计流程全过程,学习简单组合电路的设计、多层次电路设计、仿真和硬件测试。
二、实验设备
GW48系列SOPC/EDA实验开发系统实验箱一台计算机一台
三、实验原理
设计思想:
每当满999时进1,而再当满59时再进1,再满时向前进1,这次的实验会用到7个7段数码管,采用显示译码方式在数码管上显示出各位记数值。
NOTE:
采用电路模式0,CLK使用1HZ的clock0。
四、设计原理及步骤
1、利用QuartusⅡ完成十进制和六进制的文本输入并进行波形仿真。
六进制源程序:
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYCNT6IS
PORT(clk,rst,en:
INSTD_LOGIC;
dout:
OUTSTD_LOGIC_VECTOR(3DOWNTO0);
cout:
OUTSTD_LOGIC);
ENDCNT6;
ARCHITECTUREbehavOFCNT6IS
BEGIN
PROCESS(clk,rst,en)
VARIABLEQ:
STD_LOGIC_VECTOR(3DOWNTO0);
IFrst='
0'
THENQ:
=(OTHERS=>
'
);
ELSIFclk'
EVENTANDclk='
1'
THEN
IFen='
IFQ<
5THENQ:
=Q+1;
ELSEQ:
ENDIF;
IFQ=0THENcout<
='
;
ELSEcout<
dout<
=Q;
ENDPROCESS;
ENDbehav;
图1
六进制时序仿真的波形图
图2
六进制RTL图
十进制源程序:
ENTITYCNT10IS
ENDCNT10;
ARCHITECTUREbehavOFCNT10IS
9THENQ:
图3十进制时序仿真的波形图
图4
十进制RTL图
2、将十进制和六进制放在同一文件夹下面,并在此文件夹下面再写一程序(调用十进制和六进制做成数字秒表)。
源程序:
ENTITYd_stopIS
PORT(CLK,EN,RST:
INSTD_LOGIC;
COUT,COUT1,COUT2:
OUTSTD_LOGIC;
L0,L1,L2,L3,L4,L5,L6:
OUTSTD_LOGIC_VECTOR(3DOWNTO0)
END;
ARCHITECTUREBHVOFd_stopIS
SIGNAL
Q0,Q1,Q2,Q3,Q4,Q5,Q6
:
STD_LOGIC;
COMPONENTCNT6
PORT(
clk,rst,en:
OUTSTD_LOGIC
);
ENDCOMPONENT;
COMPONENTCNT10
Ua:
CNT10PORTMAP(CLK=>
clk,RST=>
rst,EN=>
en,dout=>
L0,cout=>
Q0);
Ub:
Q0,RST=>
L1,cout=>
Q1);
Uc:
Q1,RST=>
L2,cout=>
Q2);
COUT1<
=Q0ANDQ1ANDQ2;
U0:
CNT10PORTMAP(clk=>
Q2,RST=>
L3,cout=>
Q3);
U1:
CNT6PORTMAP(CLK=>
Q3,RST=>
L4,cout=>
Q4);
COUT2<
=Q0ANDQ1ANDQ2ANDQ3ANDQ4;
U2:
Q4,RST=>
L5,cout=>
Q5);
U3:
Q5,RST=>
L6,cout=>
Q6);
COUT<
=Q0ANDQ1ANDQ2ANDQ3ANDQ4
ANDQ5ANDQ6;
图5时序仿真的波形图
图6
RTL图
图7
引脚锁定图
图8实验电路模式0
说明:
Clk锁定clock5,en锁定键8,rst锁定键7,L0_L7锁定数码管1到数码管7.
五、实验结论及体会
本次试验说简单又有一点点的难度,这就要看我们的元件列化语句的掌握情况了,因为这个实验前面的十进制呵呵六进制都是我们写过多遍的,还好我的元件列化语句还是算可以的,所以在写程序上面没多大的难度。
这次试验出现了一点点的问题那就是引脚锁定的时候锁键3和键4的时候时序仿真图会出现错误,错误是在7的时候进位了,但是锁键7和键8却不会出现这样的错误。
这就使我难办了啊,最后老师给我的答案是引脚的扩展功能的影响。
看来我们锁引脚的时候还得注意一下引脚的扩展功能啊。
试验最主要的就是细心和耐心,当我们拥有这两点之后我们将会过关斩将,不畏困难。