数字钟设计试验报告.docx
- 文档编号:14813303
- 上传时间:2023-06-27
- 格式:DOCX
- 页数:11
- 大小:18.80KB
数字钟设计试验报告.docx
《数字钟设计试验报告.docx》由会员分享,可在线阅读,更多相关《数字钟设计试验报告.docx(11页珍藏版)》请在冰点文库上搜索。
数字钟设计试验报告
数字电子技术
试验报告
试验名称:
数字钟设计实验
学院:
班级:
姓名:
学号:
一、实验要求
设计一个完整的数字钟,小时和分钟用数码管显示,秒用发光二极管闪烁显示,每秒闪烁一次。
如有可能,请增加校时功能。
(验收功能,看校表方法是否合理,走时是否精确)
二、试验方法和步骤
基于ise进行仿真
综合、实现、生成
编写约束文件
输入verilog程序
建立工程文件
三、问题分析和功能描述
数字钟程序用8421BCD计数,并行在一个模块中实现时钟的Verilog程序。
时钟主程序可以用一个模块实现,另外还有数码管动态显示、初始化、校时、计时和反馈模块。
数字时钟信号通过对通过对FPGA上集成的50MHz信号进行分频得到秒信号;秒计时到六十,秒清零分加一;分计时到六十,时加一分清零;时计时到24,时清零。
校时模块通过数码管对应的按钮进行,按下则加一。
四、实验内容
1、HDL源文件:
moduleCLock_top(
inputwireclk,
inputwireclr,
inputwireaddBtn0,
inputwireaddBtn1,
inputwireaddBtn2,
inputwireaddBtn3,
outputSecond_Flash,
output[6:
0]a_to_g,
output[3:
0]an
);
wire[3:
0]Second_L;
wire[3:
0]Second_H;
wire[3:
0]Minute_L;
wire[3:
0]Minute_H;
wire[3:
0]Hour_L;
wire[3:
0]Hour_H;
wirejinwei1;
wirejinwei2;
SecondPulseU0(
.clk(clk),
.clr(clr),
.sec(Second_Flash)
);
cnt60U1(
.clk(Second_Flash),
.clr(clr),
.cnt60_L(Second_L),
.cnt60_H(Second_H),
.carry(jinwei1)
);
cnt60U2(
.clk(jinwei1||addBtn0),
.clr(clr),
.cnt60_L(Minute_L),
.cnt60_H(Minute_H),
.carry(jinwei2)
);
cnt24U4(
.clk(jinwei2||addBtn2),
.clr(clr),
.cnt24_L(Hour_L),
.cnt24_H(Hour_H),
.carry(carry)
);
dispU3(
.clk(clk),
.LED0_num(Minute_L),
.LED1_num(Minute_H),
.LED2_num(Hour_L),
.LED3_num(Hour_H),
.a_to_g(a_to_g),
.an(an)
);
endmodule
moduleSecondPulse(
inputwireclk,
inputwireclr,
outputregsec
);
reg[26:
0]q1;
always@(posedgeclkorposedgeclr)
begin
if(clr==1)
q1<=0;
elseif(q1==25000000)
begin
q1<=0;
sec=~sec;
end
else
q1<=q1+1;
end
endmodule
modulecnt60(
inputwireclk,
inputwireclr,
outputreg[3:
0]cnt60_L,
outputreg[3:
0]cnt60_H,
outputregcarry
);
initialbegin
cnt60_L=0;
cnt60_H=0;
end
always@(posedgeclkorposedgeclr)
begin
if(clr==1)
begin
cnt60_L<=0;
cnt60_H<=0;
end
else
begin
carry<=0;
cnt60_L<=cnt60_L+1;
if(cnt60_L==9)
begin
cnt60_L<=0;
cnt60_H<=cnt60_H+1;
end
if(cnt60_H==5&&cnt60_L==9)
begin
cnt60_L<=0;
cnt60_H<=0;
carry<=1;
end
end
end
endmodule
modulecnt24(
inputwireclk,
inputwireclr,
outputreg[3:
0]cnt24_L,
outputreg[3:
0]cnt24_H,
outputregcarry
);
initialbegin
cnt24_L=0;
cnt24_H=0;
end
always@(posedgeclkorposedgeclr)
begin
if(clr==1)
begin
cnt24_L<=0;
cnt24_H<=0;
end
else
begin
carry<=0;
cnt24_L<=cnt24_L+1;
if(cnt24_L==9)
begin
cnt24_L<=0;
cnt24_H<=cnt24_H+1;
end
if(cnt24_H==2&&cnt24_L==3)
begin
cnt24_L<=0;
cnt24_H<=0;
carry<=1;
end
end
end
endmodule
moduledisp(
inputwireclk,
input[3:
0]LED0_num,
input[3:
0]LED1_num,
input[3:
0]LED2_num,
input[3:
0]LED3_num,
outputreg[6:
0]a_to_g,
outputreg[3:
0]an
);
reg[1:
0]s;
reg[3:
0]digit;
reg[16:
0]clkdiv;
always@(*)
begin
an=4'b1111;
s<=clkdiv[16:
15];
an[s]=0;
case(s)
0:
digit<=LED0_num[3:
0];
1:
digit<=LED1_num[3:
0];
2:
digit<=LED2_num[3:
0];
3:
digit<=LED3_num[3:
0];
default:
digit<=LED3_num[3:
0];
endcase
case(digit)
0:
a_to_g=7'b0000001;
1:
a_to_g=7'b1001111;
2:
a_to_g=7'b0010010;
3:
a_to_g=7'b0000110;
4:
a_to_g=7'b1001100;
5:
a_to_g=7'b0100100;
6:
a_to_g=7'b0100000;
7:
a_to_g=7'b0001111;
8:
a_to_g=7'b0000000;
9:
a_to_g=7'b0000100;
'hA:
a_to_g=7'b0001000;
'hB:
a_to_g=7'b1100000;
'hC:
a_to_g=7'b0110001;
'hD:
a_to_g=7'b1000010;
'hE:
a_to_g=7'b0110000;
'hF:
a_to_g=7'b0111000;
default:
a_to_g=7'b0000001;
endcase
end
always@(posedgeclk)
begin
clkdiv<=clkdiv+1;
end
endmodule
2、约束文件:
NET"a_to_g[0]"LOC=M12;
NET"a_to_g[1]"LOC=L13;
NET"a_to_g[2]"LOC=P12;
NET"a_to_g[3]"LOC=N11;
NET"a_to_g[4]"LOC=N14;
NET"a_to_g[5]"LOC=H12;
NET"a_to_g[6]"LOC=L14;
NET"an[3]"LOC=K14;
NET"an[2]"LOC=M13;
NET"an[1]"LOC=J12;
NET"an[0]"LOC=F12;
NET"clk"LOC=B8;
NET"clr"LOC=P11;
NET"Second_Flash"LOC=M5;
NET"addBtn3"LOC=A7;
NET"addBtn2"LOC=M4;
NET"addBtn1"LOC=C11;
NET"addBtn0"LOC=G12;
五、实验小结
1.对于本次能够成功地使用Verilog设计并仿真出多功能数字钟,感到非常满意。
2.本次多功能数字钟设计实验,从刚开始对Verilog语言非常陌生,到最后接近熟练地掌握Verilog语言的程度,期间花费不少时间和精力,同时也收获了很多,学会了使用Verilog语言编程仿真电路实验,掌握了可编程逻辑器件的应用开发技术,掌握了Verilog设计方法,即分模块分层次的设计方法。
3.本次多功能数字钟设计实验,对于Verilog语言的学习与应用,可以说是一次很好的锻炼机会,在设计过程中,汲取了诸多经验教训,深刻体会到一个小小的错误可能会给整个程序所带来的严重后果。
所以,在以后的学习及程序设计当中,我们一定要倍加小心,在程序出现不正常运行的情况下要耐心调试,尽量做到精益求精。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 设计 试验报告