EDA技术综合设计实训-数字日历电路的设计精选.docx

EDA技术综合设计实训-数字日历电路的设计精选.docx

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
EDA技术综合设计实训-数字日历电路的设计精选

成 绩批阅教师日 期桂林电子科技大学 实训报告2016-2017学年第二学期学 院 海洋信息工程学院 课 程 EDA技术综合设计实训 姓 名 学 号 指导老师 * * 日 期 2017年6月9日 实训题目:数字日历电路的设计1 概述1.1 设计要求1.1.1设计任务 设计并制作一台数字日历。1.1.2 性能指标要求① 用EDA实训仪的I/O设备和PLD芯片实现数字日历的设计。② 数字日历能够显示年、月、日、时、分和秒。③ 用EDA实训仪上的8只八段数码管分两屏分别显示年、月、日和时、分、秒,即在一定时间段内显示年、月、日(如),然后在另一时间段内显示时、分、秒(如),两个时间段能自动倒换。④ 数字日历具有复位和校准年、月、日、时、分、秒的按钮,但校年和校时同用一个按钮,即在显示年、月、日时用此按钮校年,在显示时、分、秒时则用此按钮校时,依此类推。1.2 总体设计基本原理及框图1.2.1 基本原理 日历主要由五个模块组成,包括年月日模块(nyr217)、时分秒计时器模块(jsq)、时分秒与年月日8秒切换控制模块(contr)、年月日与时分秒显示模块(xianshi)、校时选择模块(mux_4)。校时选择模块(mux_4)采用3个公用按钮j1、j2、和j3完成时分秒或年月日的校时,年月日与时分秒显示模块(xianshi)用8只七段数码管分时完成时分秒或年月日的显示。设计电路的时分秒计时器模块(jsq)用于完成一天的24小时计时;年月日模块(nyr217)接收计时器模块送来的“天”脉冲进行计数,得到日月年的显示结果,控制模块(contr)产生控制信号k,控制数码显示器显示年月日,还是时分秒,或者自动轮流显示;校时选择模块(mux_4)在k信号的控制下,选择将j1、j2和j3这3个校时按钮产生的信号是送到计时器模块的校秒、校分和校时输入端,还是送到年月日模块的校天、校月、校年输入端;年月日与时分秒显示模块(mux_16)在k信号的控制下,选择是将计时器模块的时、分、秒状态信号,还是将年月日模块的年、月、日状态信号送到数码管显示器显示。1.2.2 总体框图 2 系统软件设计分析2.1时分秒计时器模块(jsq)时分秒计时器模块(jsq)程序如下:module jsq(clk,clrn,js,jf,jm,qs,qf,qm,cout);input clk,clrn,js,jf,jm;output reg[7:0] qs,qf,qm;output reg cout;reg clkf,clks;always@(posedge clk^jm or negedge clrn)begin if(~clrn) qm=0; else begin if(qm==h60) qm=0; else qm=qm+1; if(qm[3:0]==ha) begin qm[3:0]=0; qm[7:4]=qm[7:4]+1; end if(qm==h60) begin qm=0;clkf=1;end else clkf=0; end endalways@(posedge clkf^jf or negedge clrn)begin if(~clrn) qf=0; else begin if(qf==h59) qf=0; else qf=qf+1; if(qf[3:0]==ha) begin qf[3:0]=0; qf[7:4]=qf[7:4]+1; end if(qf==h59) begin qf=0;clks=1;end else clks=0; end endalways@(posedge clks^js or negedge clrn)begin if(~clrn) qs=0; else begin if(qs==h23) qs=0; else qs=qs+1; if(qs[3:0]==ha) begin qs[3:0]=0; qs[7:4]=qs[7:4]+1; end if(qs==h23) begin qs=0;cout=1;end else cout=0; end endendmodule 该模块完成基于Verilog HDL的六十进制计数和二十四进制计数合成的设计,将它生成一个元件符号,作为万年历设计的基本元件。2.2年月日模块(nyr217)年月日模块(nyr217)程序如下module nyr2017(clrn,clk,jn,jy,jr,qn,qy,qr); inputclrn,clk,jn,jy,jr; output[15:0]qn; output[7:0] qy,qr; reg[15:0] qn; reg[7:0]qy,qr; reg clkn,clky; reg[7:0] date; reg

文档评论(0)

feixiang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档