VHDL数字秒表Word文件下载.docx
《VHDL数字秒表Word文件下载.docx》由会员分享,可在线阅读,更多相关《VHDL数字秒表Word文件下载.docx(8页珍藏版)》请在冰豆网上搜索。
可以利用原件例化语句将各模块联系起
状态信号(计数的使能信号EN),两片的CLK端同时接计数输入信号。
具体思路:
通过分频器将10M晶振所提供的信号进行10000分频,生成脉冲作为计时信号,经计数器累加计数实现数字秒表计数的功能。
设计采用七位LED数码管显示分、秒,需要5个10计数器和2个6计数器。
使用按键开关可实现开始/结束计时操作以及复位清零操作。
设计
整个系统设计是采用自顶向下分析,自底向上设计。
将数字秒表系统的整体分解为各个模块电路。
1.顶层电路设计
在顶层设计中,要对内部分各功能块的连接关系和对外的接口关系进行描述,而功能块实际的逻辑功能和具体的实现形式则由下一层模块来描述。
数字秒表原理图
顶层电路图
根据数字秒表的原理图来进行顶层文件的设计。
此次设计中使用了总线,从而简化了顶层电路图的绘制。
2时钟分频电路模块
在基于EDA技术的数字电路系统设计中,分频电路应用十分广泛。
常常用分频电路来得到数字系统中各种不同频率的控制信号。
所谓分频电路,就是将一个给定的频率较高的数字输入信号经过适当处理后,产生一个或数个频率较低的数字输出信号。
本设计需要一个计时范围为0.001s-59分59.999秒的秒表,首先输入一个频率为10MHZ时钟信号源,由CLK输入,经其进行10000分频后获得一个比较精确的1000Hz计时脉冲,即周期为1/1000秒的计时脉冲,由CLR_CNT输出。
分频器符号
3十进制计数控制模块
计数是一种最简单基本的运算,计数器就是实现这种运算的逻辑电路,计数器在数字系统中主要是对脉冲的个数进行计数,以实现测量、计数和控制的功能,同时兼有分频功能。
此次设计中为程序方便没有将按键控制功能单独设为一个模块,而是将其添加到了普通十进制计数器程序中,将两者综合生成十进制计数控制模块。
十进制计数控制模块符号
CLK为时钟信号输入端、RST为复位信号输入端、EN为使能控制信号输入端、DOUT[3..0]为十进制计数数据输出端、COUT为进位信号输出端。
4六进制计数控制模块
六进制计数器与十进制计数器类似,同样此处为程序方便没有将按键控制功能单独设为一个模块,而是将其添加到了普通六进制计数器程序中,将两者综合生成六进制计数控制模块。
六进制计数控制模块符号
CLK为时钟信号输入端、RST为复位信号输入端、EN为使能控制信号输入端、DOUT[3..0]为六进制计数数据输出端、COUT为进位信号输出端。
三软件设计与仿真
3.1时钟分频电路模块
程序
libraryieee;
useieee.std_logic_1164.all;
entityCLKGENis
port(clki:
instd_logic;
clko:
outstd_logic);
endCLKGEN;
architecturebehavofCLKGENis
signalq:
integerrange0to9999;
begin
process(clki,q)
begin
ifclki'
eventandclki='
1'
then
q<
=q+1;
endif;
ifq=1then
clko<
='
0'
;
else
endprocess;
endbehav;
时钟分频电路模块仿真
时钟分频电路模块仿真结果
3.2六进制计数控制模块
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='
THENQ:
=(OTHERS=>
'
);
ELSIFCLK'
EVENTANDCLK='
THEN
IFEN='
IFQ<
5THEN
Q:
=Q+1;
ELSE
ENDIF;
ELSE
Q:
=Q;
ENDIF;
ENDIF;
IFQ="
0101"
THENCOUT<
ELSECOUT<
DOUT<
ENDPROCESS;
ENDbehav;
六进制计数控制模块仿真
六进制计数控制模块仿真结果
3.3十进制计数控制模块
ENTITYCNT10IS
ENDCNT10;
ARCHITECTUREbehavOFCNT10IS
9THEN
1001"
十进制计数控制模块仿真
十进制计数控制模块仿真结果