EDA技术Verilog HDL语言完成数字钟设计
数字钟单元电路设计
Quartus Ⅱ安装包
链接:https://pan.baidu.com/s/12NbAX8J6XBZ7SQAxSj4H_A
提取码:cokm
主要内容:
1.数字钟系统具有时钟、清零和校准输入信号;
2.在系统时钟信号(1Hz)作用下,能显示时、分、秒;
3.时/分/秒计数器为24进制/60进制/60进制;
4.系统可以对时、分校准。校准信号有两个,一为校准时钟输入,一为校准控制输入;
5.系统具有整点报时功能。当时间为59’58’‘、59’59’'时,系统报时各响一声(低音),持续0.5秒;整点系统响一声(高音),持续1秒;
6.采用原理图输入方式设计数字钟单元电路顶层文件 ;下载测试。
分频
module fenpin(CP,CPout);
input CP;
output CPout;
reg CPout;
reg [31:0]Cout;
reg CP_En;
always @(posedge CP)
begin
Cout<=(Cout == 32'd50000)?32'd0:(Cout+32'd1);
CP_En<=(Cout == 32'd50000)?1'd1:1'd0;
CPout<=CP_En;
end
endmodule
控制器
module kongzhiqi(CPout,CP,S1,S2,RET,Hour,Minute,Second,sound);
input CPout,CP,S1,S2,RET;
output [5:0] Hour;
output [5:0] Minute;
output [5:0] Second;
output sound;
reg [5:0] Hour;
reg [5:0] Minute;
reg [5:0] Second;
reg R1;
reg R2,R8,sound;
reg [10:0] Cout;
reg [31:0] C1;
reg Clk_En;
reg clk_2000;
reg cp_n;
reg c_1hz,c_2hz,c_1000hz;
reg i;integer n2=25000000;
integer h2=25000000;always@(posedge CP)beginC1<=(C1==32'd25000)?32'd0:(C1+32'd1);cp_n<=(Cout==32'd25000)?1'd1:1'd0;clk_2000<=cp_n;end always@(posedge CP)
if(h2<n2/2-1)h2=h2+1;
else
beginc_2hz=~c_2hz;h2=0;
endalways@(posedge c_2hz)
beginif(!i)i=1;else i=0;
endalways @(posedge CPout)beginif(S1==0)beginR1=1;endif(S2==0)beginR2=1;endif(RET==0)beginR8=1;endCout=(Cout==32'd1000)?32'd0:(Cout + 32'd1);Clk_En=(Cout==32'd1000)?1'd1:1'd0;if(Clk_En)beginif(R1==1)beginif(Hour<24)Hour=Hour+1;if(Hour==24)beginHour=0;endR1=0;endif(R2==1)beginif(Minute<60)Minute=Minute+1;if(Minute==60)beginMinute=0;if(Hour<24)Hour=Hour+1;if(Hour==24)beginHour=0;endendR2=0;endif(Second<60)Second= Second+1;if(Second==60)beginSecond=0;if(Minute<60)Minute= Minute+1;if(Minute==60)beginMinute=0;if(Hour<24)Hour=Hour+1;if(Hour==24)beginHour=0;endendendif(R8==1)//清零beginHour=0;Minute=0;Second=0;R8=0;endendend
always@(Minute,Second)beginif((Minute==59)&&(Second==58 )&& (i==1)) sound=c_2hz;
else if((Minute==59)&&(Second==58 )&&( i==0) )sound=0;
else if((Minute==59)&&(Second==59 )&& (i==1) )sound=c_2hz;
else if((Minute==59)&&(Second==59 )&& (i==0) )sound=0;//if((Minute==59)&&(Second>57))//整点倒计时// sound=c_2hz;else if((Minute==0)&&(Second==0))sound=~clk_2000;else sound=0;end
endmodule
显示
module xianshi(CPout,Hour,Minute,Second,SEL,LEDAG);
input CPout;
input [5:0] Hour,Minute,Second;
output SEL;
output [6:0]LEDAG;
reg [2:0] SEL;
reg [6:0] Led;
reg [3:0] shi1,ge1,shi2,ge2,shi3,ge3;
always @(posedge CPout )
beginshi1=Hour/10;ge1=Hour%10;shi2=Minute/10;ge2=Minute%10;shi3=Second/10;ge3=Second%10;//if(SEL==3'b110)//8if(SEL==3'b111)//1//判断位选SEL的值,并将此位,上的值输出到数码管case(shi1)4'b0000:Led=7'b0111_111;4'b0001:Led=7'b0000_110;4'b0010:Led=7'b1011_011;4'b0011:Led=7'b1001_111; 4'b0100:Led=7'b1100_110; 4'b0101:Led=7'b1101_101;4'b0110:Led=7'b1111_101;4'b0111:Led=7'b0000_111; 4'b1000:Led=7'b1111_111;4'b1001:Led=7'b1101_111;default:Led=7'b0000_000;endcase//if(SEL==3'b101)//7if(SEL==3'b000)//2case(ge1)4'b0000:Led=7'b0111_111;4'b0001:Led=7'b0000_110;4'b0010:Led=7'b1011_011;4'b0011:Led=7'b1001_111; 4'b0100:Led=7'b1100_110; 4'b0101:Led=7'b1101_101;4'b0110:Led=7'b1111_101;4'b0111:Led=7'b0000_111; 4'b1000:Led=7'b1111_111;4'b1001:Led=7'b1101_111;default:Led=7'b0000_000;endcaseif(SEL==3'b100) Led=7'b1000_000;//if(SEL==3'b011)//5if(SEL==3'b010)//4case(shi2)4'b0000:Led=7'b0111_111;4'b0001:Led=7'b0000_110;4'b0010:Led=7'b1011_011;4'b0011:Led=7'b1001_111; 4'b0100:Led=7'b1100_110; 4'b0101:Led=7'b1101_101;4'b0110:Led=7'b1111_101;4'b0111:Led=7'b0000_111; 4'b1000:Led=7'b1111_111;4'b1001:Led=7'b1101_111;default:Led=7'b0000_000;endcase//if(SEL==3'b010)//4if(SEL==3'b011)//5case(ge2)4'b0000:Led=7'b0111_111;4'b0001:Led=7'b0000_110;4'b0010:Led=7'b1011_011;4'b0011:Led=7'b1001_111; 4'b0100:Led=7'b1100_110; 4'b0101:Led=7'b1101_101;4'b0110:Led=7'b1111_101;4'b0111:Led=7'b0000_111; 4'b1000:Led=7'b1111_111;4'b1001:Led=7'b1101_111;default:Led=7'b0000_000;endcaseif(SEL==3'b001) Led=7'b1000_000;//if(SEL==3'b000)//2if(SEL==3'b101)//7case(shi3)4'b0000:Led=7'b0111_111;4'b0001:Led=7'b0000_110;4'b0010:Led=7'b1011_011;4'b0011:Led=7'b1001_111; 4'b0100:Led=7'b1100_110; 4'b0101:Led=7'b1101_101;4'b0110:Led=7'b1111_101;4'b0111:Led=7'b0000_111; 4'b1000:Led=7'b1111_111;4'b1001:Led=7'b1101_111;default:Led=7'b0000_000;endcase//if(SEL==3'b111)//1if(SEL==3'b110)//8case(ge3)4'b0000:Led=7'b0111_111;4'b0001:Led=7'b0000_110;4'b0010:Led=7'b1011_011;4'b0011:Led=7'b1001_111; 4'b0100:Led=7'b1100_110; 4'b0101:Led=7'b1101_101;4'b0110:Led=7'b1111_101;4'b0111:Led=7'b0000_111; 4'b1000:Led=7'b1111_111;4'b1001:Led=7'b1101_111;default:Led=7'b0000_000;endcaseSEL= SEL + 3'd1;
endassign LEDAG=Led;
endmodule
顶层原理图
管脚锁定图
EDA技术Verilog HDL语言完成数字钟设计相关推荐
- 数字时钟计数器(Verilog HDL语言描述)(仿真和综合)
目录 前言 主题 Verilog HDL设计代码 测试代码 仿真波形 ISE中综合 RTL Schematic Technology Schematic 前言 数字时钟计数器和我的前一篇博文:级联模6 ...
- spwm控制算法c语言实现,采用Verilog HDL语言与DDS技术实现SPWM控制算法的FPGA设计
其部分程序代码如下: case(state1) A: //初始化状态 begin ADDRES1<=addr1; //时分复用第一路地址 READ_EN<=1′b1; //读使能开 NEX ...
- 《Verilog HDL与FPGA数字系统设计》书籍试读体验
文章目录 前言 第一部分:数字系统基础 第二部分:数字系统设计实践 第三部分:可编程片上系统 总结 前言 最近参加一个面包板社区的图书试读活动:<Verilog HDL与FPGA数字系统设计&g ...
- Verilog HDL 语言基础
目录 前言 一.Verilog HDL模块基本结构 1.模块声明&端口定义&数据类型声明 二.数据类型 1.信号状态 2.整数 2.1.标准形式 2.2.补充 3.实数 4.字符串 三 ...
- Verilog HDL语言要素
Verilog HDL语言要素 Verilog HDL的基本要素,包括标识符.空白符.注释.数值和字符串.数据类型及运算符等. 标识符 Verilog HDL中的标识符(identifier)可以是任 ...
- Verilog HDL 语言基础语法
模块的结构 (1)Verilog的基本设计单元是"模块"(block). (2)一个模块由两部分组成,一部分描述接口,另一部分描述逻辑功能. (3)每个Verilog程序包括4个主 ...
- 【硬件木马项目】第一篇:数据处理之Verilog HDL语言
本项目数据为门级网表数据,来源于Trust-Hub数据集,有若干个基准电路,这些门级网表电路的编写语言为Verilog HDL语言. 本文主要首先提及一下Verilog HDL语言的基本语法,然后以几 ...
- 有限状态机设计实例之空调控制器(Verilog HDL语言描述)(仿真与综合)(附用Edraw(亿图)画状态转移图)
目录 前言 空调控制器 简介 状态转移图如下: Verilog HDL语言描述 测试文件 仿真图 ISE综合 RTL Schematic Technology Schematic 前言 关于工具的使用 ...
- 模24的8421BCD码计数器(Verilog HDL语言描述)(仿真与综合)
目录 前言 原理 Verilog HDL程序设计 测试代码 仿真波形图 ISE综合后 RTL Schematic Technology Schematic 前言 本博文用Verilog HDL语言描述 ...
最新文章
- nanoflann库
- 深度 | 智慧•城市,基于国际视野下的思考
- 硬盘显示容量和实际容量不符合_SSD小讲堂丨实力科普固态硬盘实际容量为何比标称小...
- 助力深度学习!阿里开源可插拔 GPU 共享调度工具
- Sqoop1使用手册
- Leetcode--621. 任务调度器
- c++ 实现录音并且指定到文件_搜狗发布四款AI录音笔,4大核心功能开启AI录音新时代...
- css3 object-fit详解
- 无线路由器天线上绑几个电池,真的会增强发射信号吗?
- 字符串定义操作(C语言)
- ai-人工智能的本质和未来_带有人工智能的动画电子设备-带来难以想象的结果...
- 短视频从业者实操资料大全(含代运营案例+报价单+合同协议 +分镜头脚本+管理运营)共180份
- win10红警2黑屏_Windows10黑屏常见情况及解决办法
- SqlServer2008操作总结
- oracle 取前行,【企业信息化研究所】TF-SWUFE Oracle Club抵着寒风前行—甲骨文俱乐部第九周分享会...
- 查看树莓派I2C设备是否正常
- LeetCode常用算法模式大厂面试题整理
- sd卡突然所有文件都无法删除,在手机中会提示‘无法删除’,并且无法格式化,并且无法写入文件,
- 自己如何创业,参业初创公司,看领头人,看他的人品、决心和能力 .
- Given a binary search tree with its preorder traversal sequence { 8, 2, 15, 10, 12, 21 }.…
热门文章
- 毕业设计 Spring Boot的垃圾分类管理系统(含源码+论文)
- 新手适合什么样的自媒体平台?这些平台的运营教程是什么?
- WiFi共享精灵与猎豹免费WiFi简单对比以后 小编有话说
- 北大青鸟的班主任好当吗_身为北大青鸟职英班主任是一种怎样的体验
- 西门子S7-200PLC的地址分配
- Linux和Windows系统环境查看磁盘使用情况—DU
- 李嘉诚先生的家训与格言[转自江南春的blog]
- JavaArray数组 day_07 20221/7/24
- excel公式实现变量名蛇形转驼峰
- 安科瑞照明控制系统在延安市人民医院的设计与应用