• 方案介绍
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

可校准数字时钟设计Verilog代码Quartus仿真

10/01 08:13
313
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-241026202931D2.doc

共1个文件

名称:可校准数字时钟设计Verilog代码Quartus仿真

软件:Quartus

语言:Verilog

代码功能:

可校准数字时钟设计

1、功能要求

1.设计一个数字时钟·通过6个数码管分别显示小时、分钟和秒。

2.通过三个按键设置当前时间,一个按键用于暂停和重启,一个按键用于选择六个数码管中的一个:一个按键用于修改数码管的值。按键要做消抖处理。

3.通过串口设置当前时间(选做)。

2、总体设计思路

说明系统的总体设计框架、主要组成模块及模块间时序关系

3、设计步骤

详细给出每个模块的功能、设计方法和源代码,给出整体测试验证结果(仿真、SgnaTap或实测结果),并对结果进行分析说明

4、设计中遇到的主要问题及解决方法

FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com

演示视频:

设计文档:

1. 设计思路

本设计使用自顶向下的设计思想,采样分模块设计,分为顶层模块、分频模块。按键消抖模块、计时控制模块、数码管显示模块。其中顶层模块将分频模块、按键消抖模块、计时控制模块、数码管显示模块通过模块例化的方式进行连接。分频模块实现50MHz分频到1Hz的功能,按键消抖模块实现按键的消抖处理,计时控制模块通过3个按键控制校时和正常计时,数码管显示模块将时分秒显示到数码管。

2. 工程文件

3. 程序文件

4. 程序编译

5. RTL图

6. Testbench

7. 仿真图

整体仿真图

按键消抖模块

分频模块

计时控制模块

数码管显示模块

部分代码展示:

//数码管显示模块
module?display(
input?clk,
????input?[3:0]?hour_10,//时十位
????input?[3:0]?hour_1,//时个位
????input?[3:0]?minute_10,//分十位
????input?[3:0]?minute_1,//分个位
????input?[3:0]?second_10,//秒十位
????input?[3:0]?second_1,//秒个位
output??reg?[7:0]?HEX0,//数码管-低亮
output??reg?[7:0]?HEX1,//数码管-低亮
output??reg?[7:0]?HEX2,//数码管-低亮
output??reg?[7:0]?HEX3,//数码管-低亮
output??reg?[7:0]?HEX4,//数码管-低亮
output??reg?[7:0]?HEX5?//数码管-低亮
);
////////////////////////////////////////////////////段选输出///////////////////////////////////////////
always?@(posedge?clk)
begin
case?(second_1)??//数字显示码
8'd0:?HEX0<=?8'b1100_0000;
8'd1:?HEX0<=?8'b1111_1001;
8'd2:?HEX0<=?8'b1010_0100;
8'd3:?HEX0<=?8'b1011_0000;
8'd4:?HEX0<=?8'b1001_1001;
8'd5:?HEX0<=?8'b1001_0010;
8'd6:?HEX0<=?8'b1000_0010;
8'd7:?HEX0<=?8'b1111_1000;
8'd8:?HEX0<=?8'b1000_0000;
8'd9:?HEX0<=?8'b1001_0000;
default:;
endcase
end
always?@(posedge?clk)
begin
case?(second_10)??//数字显示码
8'd0:?HEX1<=?8'b1100_0000;
8'd1:?HEX1<=?8'b1111_1001;
8'd2:?HEX1<=?8'b1010_0100;
8'd3:?HEX1<=?8'b1011_0000;
8'd4:?HEX1<=?8'b1001_1001;
8'd5:?HEX1<=?8'b1001_0010;
8'd6:?HEX1<=?8'b1000_0010;
8'd7:?HEX1<=?8'b1111_1000;
8'd8:?HEX1<=?8'b1000_0000;
8'd9:?HEX1<=?8'b1001_0000;
default:;
endcase
end
always?@(posedge?clk)
begin

点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=1266

  • 2-241026202931D2.doc
    下载

相关推荐