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

数字电子钟设计Verilog代码Quartus 康芯开发板

09/20 11:20
763
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-2410251S054J0.doc

共1个文件

名称:数字电子钟设计Verilog代码Quartus  康芯开发板

软件:Quartus

语言:Verilog

代码功能:

EDA课程设计任务书

一、设计题目

数字电子钟Verilog设计

二、设计背景

钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、定时启闭电路定时开关烘箱、通断动力设备,甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。

三、设计内容及要求

设计内容:

设计一个电子钟,要求可以显示时、分、秒,用户可以设置时间

设计具体包含的模块内容如下:

要求:

1)根据系统设计要求,采用自顶向下的方法,划分系统主要模块,画出整体设计原理框图。

2)根据工作原理、用硬件描述语言对设计内容实现,列出设计程序清单,给出仿真波形图和调试中存在问题及解决方法。

3)设计内容下载至目标芯片,在EDA的GW48型实验箱进行功能验证。

4)谈谈该课题的课程设计中遇到的问题,获得哪些技能和体会,以及建设性意见。

四、设计步骤和安排:

(1)题目安排;图书馆查相关资料;

(2)设计原理研究,总体设计;

(3)各主要模块的VHDL设计。各模块的设计仿真分析。

(4)完成系统顶层文件设计,系统总体功能的仿真分析。

(5)将设计内容进行硬件配置,在GW48实验箱上进行调试。

(6)撰写课程设计报告、答辩并提交报告。

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

本代码已在康芯开发板验证,康芯开发板如下,其他开发板可以修改管脚适配:

康芯开发板.png

演示视频:

设计文档:

Clock_Gen模块仿真

Fenping模块仿真

LCD_Driver模块仿真

time_set模块仿真

部分代码展示:

// Clock_Gen.v
/****************为LCD_Drvier模块产生500Hz的时钟信号**************/
module Clock_Gen(clk_in,rst,clk_LCD);
input   clk_in,rst;                //rst为全局复位信号高电平有效)             
output  clk_LCD;  
wire    clk_counter;
reg     [11:0]  cnt;                  //对时钟进行计数分频
wire    clk_equ;
reg     [9:0] count;
reg     clk_BUF;
parameter       counter = 19;     //多少分频
/********************************************************************************
** 模块名称:分频器
** 功能描述:通过计数器实现分频功能.
********************************************************************************/
 
always@(posedge clk_in)
begin
if(!rst)                            //低电平复位
cnt <= 12'd0;
else if(clk_equ)
cnt <= 12'd0;
else
    cnt <= cnt+1'b1;
end
assign clk_equ = (cnt==counter);
assign clk_counter = clk_equ;
              
always @(posedge clk_counter or negedge rst)
begin                                   //利用计数器分频产生500Hz时钟
    if(!rst)
        begin
        clk_BUF <= 1'b0;
        count <= 10'b0;
        end
    else
begin  
        if(count == 10'd1000)
            begin
            clk_BUF <= ~clk_BUF;
            count <= 10'b0;
            end    
        else
            begin
            clk_BUF <= clk_BUF;     //clk_BUF为500Hz的时钟信号
            count <= count + 1'b1;
            end
    end

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

  • 2-2410251S054J0.doc
    下载

相关推荐