EDA课程设计报告-多功能数字钟设计.doc
《EDA课程设计报告-多功能数字钟设计.doc》由会员分享,可在线阅读,更多相关《EDA课程设计报告-多功能数字钟设计.doc(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、湖北大学物电学院EDA课程设计报告(论文) 题目:多功能数字钟设计专业班级: 14微电子科学与工程姓 名: 黄山 时 间: 2016年12月20日 指导教师: 万美琳 卢仕 完成日期: 2015年 12月 20日 19多功能数字钟设计任务书1 设计目的与要求了解多功能数字钟的工作原理,加深利用EDA技术实现数字系统的理解2设计内容1,能正常走时,时分秒各占2个数码管,时分秒之间用小时个位和分钟个位所在数码管的小数点隔开;2,能用按键调时调分;3,能整点报时,到达整点时,蜂鸣器响一秒;4,拓展功能:秒表,闹钟,闹钟可调3编写设计报告写出设计的全过程,附上有关资料和图纸,有心得体会。4答辩在规定时
2、间内,完成叙述并回答问题。 目录 (四号仿宋_GB2312加粗居中)(空一行)1 引言 12 总体设计方案 12.1 设计思路 12.2总体设计框图 23设计原理分析 33.1分频器 43.2计时器和时间调节.43.3秒表模块53.4状态机模块63.5数码管显示模块73.6顶层模块83.7管脚绑定和顶层原理图94 总结与体会 11 多功能电子表 摘要: 本EDA课程主要利用QuartusII软件Verilog语言的基本运用设计一个多功能数字钟,进行试验设计和软件仿真调试,分别实现时分秒计时,闹钟闹铃,时分手动较时,时分秒清零,时间保持和整点报时等多种基本功能关键词: Verilog语言, 多功
3、能数字钟,数码管显示;1 引言 QuartusII是Altera公司的综合性PLD/FPGA开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程,解决了传统硬件电路连线麻烦,出错率高且不易修改,很难控制成本的缺点。利用软件电路设计连线方便,修改容易;电路结构清楚,功能一目了然2 总体设计方案2.1 设计思路 根据系统设计的要求,系统设计采用自顶层向下的设计方法,由时钟分频部分,计时部分,按键调时部分,数码管显示部
4、分,蜂鸣器四部分组成。这些模块在顶层原理图中相互连接作用蜂鸣器计时器2.2 总体设计框图 分频器数码管状态机晶振秒表3 设计原理分析3.1 分频器 分频模块:将20Mhz晶振分频为1hz,100hz,1000hz分别用于计数模块,秒表模块,状态机模块 module oclk(CLK,oclk,rst,clk_10,clk_100); input CLK,rst; output oclk,clk_10,clk_100; reg 32:0cnt,cnt1,cnt2; reg oclk,clk_10,clk_100; always(posedge CLK or negedge rst)beginif
5、(!rst)begincnt=0;oclk=0;endelse if(cnt10000-1)cnt=cnt+1;else begincnt=0;oclk=oclk;endendalways(posedge CLK or negedge rst)beginif(!rst)begincnt1=0;clk_10=0;endelseif(cnt1=10000000-1)cnt1=cnt1+1;elsebegincnt1=0; clk_10=clk_10;endendalways(posedge CLK or negedge rst)beginif(!rst)begincnt2=0;clk_100=0;
6、endelse if(cnt2100000-1)cnt2=cnt2+1;else begincnt2=0;clk_100=clk_100;endendendmodule3.2计时器和时间调节 计时模块:检测posedge clk_10 并进行计数,同时能调时调分,最后是整点报时部分 module cni(clk_10,rst,tiaoshi,tiaofen,ge,shi,bai,qian,wan,shiwan,bee); input clk_10,rst,tiaoshi,tiaofen; output reg3:0ge,shi,bai,qian,wan,shiwan,bee; always(p
7、osedge clk_10 or negedge rst) beginif(!rst)beginge=0;shi=0;bai=0;qian=0;wan=0;shiwan=0; end elsebeginif(!tiaofen)&(bai9)bai=bai+1;else begin if(!tiaofen)&(qian5)begin bai=0;qian=qian+1;end if(!tiaoshi)&(wan9) wan=wan+1;else begin if(!tiaoshi)&(shiwan2)begin wan=0;shiwan=shiwan+1;end else begin if(sh
8、iwan=2)&(wan=4) begin ge=0;shi=0;bai=0;qian=0;wan=0;shiwan=0;endif(ge9)ge=ge+1;else beginge=0;if(shi5)shi=shi+1;elsebegin shi=0; if(bai9)bai=bai+1; else begin bai=0; if(qian5)qian=qian+1;elsebeginqian=0; if(wan3) wan=wan+1; else begin wan=0; if(shiwan2) shiwan=shiwan+1; else shiwan=0; end end endend
9、 endendend endendendalways(posedge clk_10)beginif(ge=0)&(shi=0)&(bai=0)&(qian=0) bee=0; else bee=1;end endmodule3.3秒表模块 与计时部分类似,总体思想是调整进制和提高信号频率,如下module miaobiao(clk_100,tm,m6,m5,m4,m3,m2,m1);input tm,clk_100;output m6,m5,m4,m3,m2,m1;reg 3:0 m6,m5,m4,m3,m2,m1;always(posedge clk_100 )begin if (tm) b
10、egin m6=0; m5=0; m4=0; m3=0; m2=0; m1=0; endelsebegin if(m19) m1=m1+1; else begin m1=0; if(m29) m2=m2+1; else begin m2=0;if(m39) m3=m3+1;else begin m3=0; if(m49) m4=m4+1; else begin m4=0;if(m59)m5=m5+1;else begin m5=0; if(m69) m6=m6+1; else m6=0; end end end endendendendendmodule3.4状态机模块一般通过逻辑抽象,得出状
11、态转换图,状态化简,状态分配,用三段式写法入下module state(clk1k,rst,tm,num,wela,ge,shi,bai,qian,wan,shiwan,m6,m5,m4,m3,m2,m1); input clk1k,rst,tm,ge,shi,bai,qian,wan,shiwan,m6,m5,m4,m3,m2,m1; output num,wela;wire 3:0ge,shi,bai,qian,wan,shiwan,m6,m5,m4,m3,m2,m1;reg 3:0num;reg 5:0wela;reg 3:0current_state,next_state; param
12、eter3:0D1=1;parameter3:0D2=2;parameter3:0D3=3;parameter3:0D4=4;parameter3:0D5=5;parameter3:0D6=6;parameter3:0D01=7;parameter3:0D02=8;parameter3:0D03=9;parameter3:0D04=10;parameter3:0D05=11;parameter3:0D06=12;always(posedge clk1k or negedge rst) begin if(!rst) current_state=D1; else current_state=nex
13、t_state; end always(current_state ) begin if(tm=0) begin case(current_state) D1: begin num=m1; wela=6b111110; if(clk1k) next_state=D01; else next_state=D1;end D01: begin num=12; wela=6b1111101; if(clk1k) next_state=D2; else next_state=D01;end D2: begin num=m2; wela=6b111101; if(clk1k) next_state=D02
14、; else next_state=D2;endD02: begin num=12; wela=6b111011; if(clk1k) next_state=D3; else next_state=D02;endD3: begin num=m3; wela=6b111011; if(clk1k) next_state=D03; else next_state=D3;endD03: begin num=12; wela=6b110111; if(clk1k) next_state=D4; else next_state=D03;endD4: begin num=m4; wela=6b110111
15、; if(clk1k) next_state=D04; else next_state=D4;endD04: begin num=12; wela=6b101111; if(clk1k) next_state=D5; else next_state=D04;endD5: begin num=m5; wela=6b101111; if(clk1k) next_state=D6; else next_state=D05;endD05: begin num=12; wela=6b011111; if(clk1k) next_state=D6; else next_state=D05;endD6: b
16、egin num=m6; wela=6b011111; if(clk1k) next_state=D06; else next_state=D6;endD06: begin num=12; wela=6b111110; if(clk1k) next_state=D1; else next_state=D06;endendcase endelse begin case(current_state) D1:begin num=ge;wela=6b111110; if(clk1k) next_state=D01; else next_state=D1; end D01:begin num=15;we
17、la=6b111101; if(clk1k) next_state=D2; else next_state=D01; end D2:begin num=shi;wela=6b111101; if(clk1k) next_state=D02; elsenext_state=D2; endD02:begin num=15;wela=6b111011; if(clk1k) next_state=D3; else next_state=D02; endD3:begin num=bai;wela=6b111011; if(clk1k) next_state=D03; else next_state=D3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 课程设计 报告 多功能 数字 设计
限制150内