- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
u20111353 自动化1105班 骆攀
华中科技大学
电子线路测试实验报告
题 目 : 数字钟设计
专 业 : 自动化1105班
实验组别 : 1 9
姓 名 :
学 号 : U201113653
指导老师 : 汪小燕
日 期 : 2013年6月
目录:
一、 实验目的 3
二、 实验要求 3
三、 实验仪器 3
四、 需求分析与系统设计说明 4
五、 功能仿真 21
六、 思考题 24
七、 实验收获与体会 25
八、 附录 25
实验目的
掌握可编程逻辑器件的应用开发技术,设计输入、编译、仿真和器件编程;
熟悉EDA软件使用;
掌握Verilog HDL设计方法;
分模块、分层次数字系统设计
实验要求
能显示小时、分钟、秒钟(小时以24进制,时、分用显示器,秒用 LED)
能调整小时、分钟的时间
复位
实验仪器
QUARTUS II软件 PC DEO实验板
需求分析与系统设计说明
数字钟由2个60进制计数器和1个24进制计数器和两个2选1数据选择器共5个模块构成,3个计数器公用一个时钟信号CP。2个选择器分别用于选择分计数器和时计数器的使能控制信号,对时间进行校正时,在控制器的作用下,使能信号接高电平,此时每来一个时钟信号,计数器加一计数,从而实现对小时和分钟的校正.正常计时时,使能信号来自低位计数器的输出,即秒计数器达到59秒时,产生输出信号使分计数器加1,分秒计数器同时计到最大值时即59分59秒时,产生输出信号使小时计数器加一。
主要模块如下:
顶层模块:
module time_counter(
input CLK,
input RESET,
input [2:0] SWITCH,
input GrimSelect,
input [1:0] KEY,
output [31:0] SEG,
output [7:0] LED
);
parameter FCLK = 50_000_000;//设定时钟频率
wire clk_1hz, clk_4hz, clk_10hz, clk_100hz;
wire add_cmd, sub_cmd;
wire carry_in_minute, carry_in_hour;
wire [2:0] mode;
wire grim_select;
wire [5:0] sec_value, min_value,hour_value;
wire [3:0] min_out_ones, min_out_tens, hour_out_ones, hour_out_tens;
wire [5:0] alarm_min, alarm_hour;
wire [3:0] alarm_min_ones, alarm_min_tens, alarm_hour_ones, alarm_hour_tens;
wire [6:0] stop_sec, stop_mill;
wire [3:0] stop_sec_ones, stop_sec_tens, stop_mill_ones, stop_mill_tens;
reg [3:0] led_in_1,led_in_2,led_in_3,led_in_4;
wire [7:0] led_out_1,led_out_2,led_out_3,led_out_4;
/*assign clk_1hz = CLK;
assign clk_4hz = CLK * 4;
assign clk_10hz = CLK * 10;
assign clk_100hz = CLK * 100;*/
assign mode = SWITCH;
assign grim_select = GrimSelect;
/************************************************/
/*开关模式选择/************************************************/
always @(posedge CLK)
begin
if(mode==3b000)
begin
led_in_1 = min_out_ones;
led_in_2 = min_out_tens;
led_in_3 = hour_out_ones;
led_in_4 = hour_out_tens;
end
else if(mode==3b001)
begin
led_in_1 = min_out_ones;
led_in_2 = min_out_
文档评论(0)