- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于FPGA实现多功能数字钟
——电子系
071180094
王丛屹
摘要
本文利用Verilog HDL语言自顶向下的设计方法设计多功能数字钟,并通过ISE完成综合、仿真。此程序通过下载到FPGA 芯片后,可应用于实际的数字钟显示中,实现了基本的计时显示和设置,调整时间,闹钟设置的功能。
[关键词] FPGA;Verilog HDL;数字钟
一、多功能数字钟的设计
设计一个多功能数字时钟,具有时分、秒计数显示、闹钟功能。能够利用按键实现对闹钟时间的设定并在当前显示时间到时后能够进行闹钟提示。能够利用按键实现“较时”、“较分”功能,随时对数码管的显示进行校正和校对。数字中系统主要由系统时钟,三个功能按键(mode,turn,change),FPGA,数码管和蜂鸣器部分组成。
数码管
数码管
Clk
Clk
分频模块
计时模块
闹钟模块
显示模块
控制模块
蜂鸣器
图: 多功能数字钟总体设计模块
以下就各个模块说明其功能
分频模块
由于FPGA内部提供的时钟信号频率大约为50MHz,在这需要将它转化成1Hz的标准时钟信号供数字钟的计时显示;在此我采用了级联分频法。
RTL图如下:
代码如下:
//fenpin
module fenpin(clk,clk_1Hz,clk_100Hz,clk_1k);
output clk_1Hz,clk_100Hz,clk_1k;
input clk;
reg clk_1Hz=0,clk_3=0,clk_1=0,clk_2=0,clk_1k=0;
reg [6:0] cnt1=0,cnt2=0,cnt3=0,cnt4=0,cnt5=0;
wire clk_100Hz;
always @(posedge clk)
begin
if ( cnt1 156/2-1) /////////////////////////////////////////////156分频,生成1MHz信号
begin
cnt1 = cnt1 + 1;
end
else
begin
cnt1 = 0;
clk_1 = ~clk_1;
end
end
always @(posedge clk_1)
if ( cnt2 156/2-1) /////////////////////////////////////100分频,生成10000Hz信号
begin
cnt2 = cnt2 + 1;
end
else
begin
cnt2 = 0;
clk_2 = ~clk_2;
end
always @(posedge clk_2)
if ( cnt5 10/2-1) /////////////////////////////////////////10分频,生成1kHz标准信号
begin
cnt5= cnt5 + 1;
end
else
begin
cnt5= 0;
clk_1k= ~clk_1k;
end
always @(posedge clk_2)
if ( cnt3 100/2-1) //////////////////////////////////////////100分频,生成100Hz信号
begin
cnt3 = cnt3 + 1;
end
else
begin
cnt3 = 0;
clk_3 = ~clk_3;
end
assign clk_100Hz=clk_3;
always @(posedge clk_3)
if ( cnt4 100/2-1) /////////////////////////////////////////100分频,生成1Hz标准信号
begin
cnt4= cnt4 + 1;
e
文档评论(0)