您所在位置: 网站首页 / VHDL时钟程序.doc / 文档详情
VHDL时钟程序.doc 立即下载
2025-01-03
约4.7千字
约5页
0
45KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

VHDL时钟程序.doc

VHDL时钟程序.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entityCounter_m_f_sis
	port
	(
		clk,reset:instd_logic;
		bcd_h_m	:outstd_logic_vector(3downto0);--秒钟个位输出
		bcd_l_m	:outstd_logic_vector(3downto0);--秒钟十位输出
		bcd_l_f	:outstd_logic_vector(3downto0);--分钟个位输出
		bcd_h_f	:outstd_logic_vector(3downto0);--分钟十位输出
		bcd_l_s	:outstd_logic_vector(3downto0);--时钟个位输出
		bcd_h_s	:outstd_logic_vector(3downto0);--时钟十位输出
		up:outstd_logic
	);
	endCounter_m_f_s;
	architecturebehavofCounter_m_f_sis
signalbcd_h_m_r:std_logic_vector(3downto0);--秒钟个位内部信号
signalbcd_l_m_r:std_logic_vector(3downto0);--秒钟十位内部信号
signalbcd_h_f_r:std_logic_vector(3downto0);--分钟个位内部信号
signalbcd_l_f_r:std_logic_vector(3downto0);--分钟十位内部信号
signalbcd_h_s_r:std_logic_vector(3downto0);--时钟个位内部信号
signalbcd_l_s_r:std_logic_vector(3downto0);--时钟个位内部信号
signalup_r1:std_logic;
signalup_r2:std_logic;
begin
U1:process(clk,reset)--秒钟
begin
ifreset='0'then
bcd_h_m_r<="0000";bcd_l_m_r<="0000";up_r1<='0';
else
ifclk'eventandclk='1'then
ifbcd_h_m_r="0101"andbcd_l_m_r="1001"then
bcd_h_m_r<="0000";--59秒,分钟进一
bcd_l_m_r<="0000";
up_r1<='1';
else
ifbcd_l_m_r(3downto0)="1001"then--秒的个位为9,十位进一,分钟不进为
bcd_l_m_r(3downto0)<="0000";
bcd_h_m_r(3downto0)<=bcd_h_m_r(3downto0)+1;
up_r1<='0';
else
bcd_l_m_r(3downto0)<=bcd_l_m_r(3downto0)+1;
up_r1<='0';
endif;
endif;
endif;
endif;
endprocess;
bcd_h_m<=bcd_h_m_r;
bcd_l_m<=bcd_l_m_r;

U2:process(up_r1,reset)--分钟
begin
ifreset='0'then
bcd_h_f_r<="0000";bcd_l_f_r<="0000";up_r2<='0';
else
ifup_r1'eventandup_r1='1'then
ifbcd_h_f_r="0101"andbcd_l_f_r="1001"then--59分,时钟进一
bcd_h_f_r<="0000";
bcd_l_f_r<="0000";
up_r2<='1';
else
ifbcd_l_f_r(3downto0)="1001"then--分的个位为9,十位进一,时钟不进位
bcd_l_f_r(3downto0)<="0000";
bcd_h_f_r(3downto0)<=bcd_h_f_r(3downto0)+1;
up_r2<='0';
else
bcd_l_f_r(3downto0)<=bcd_l_f_r(3downto0)+1;
up_r2<='0';
endif;
endif;
endif;
endif;
endprocess;
bcd_h_f<=bcd_h_f_r;
bcd_l_f<=bcd_l_f_r;

U3:process(up_r2,reset)——时钟
begin
ifreset='0'then
bcd_h_s_r<="0000";bcd_l_s_r<="0000";
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

VHDL时钟程序

文档大小:45KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用