名称:数字电子钟设计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
本代码已在康芯开发板验证,康芯开发板如下,其他开发板可以修改管脚适配:
演示视频:
设计文档:
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
763