网站大量收购闲置独家精品文档,联系QQ:2885784924

优秀毕业论文——基于FPGA的数字钟设计.docx

优秀毕业论文——基于FPGA的数字钟设计.docx

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

PAGE

PAGE10

江 苏 科 技 大 学

实 验 报 告

实验名称:基于FPGA的数字钟设计学院:电子信息工程学院专业:电子与通信工程学号:149****** 姓名:*** 指导老师:**

日 期:2014.11.18

一.数字钟总体设计方案:

设计目的

①正确显示时、分、秒;

②可手动校时,能分别进行时、分的校正;

③清零功能;

设计思路

数字钟的设计模块包括:分频器模块、“时、分、秒”计数器模块、和译码显示模块。每一个功能模块作为一个实体单独进行设计,最后再用VHDL的例化语句将各个模块进行整合,生成顶层实体top。该数字钟可以实现3个功能:计时功能、设置时间功能和清零功能。

二.数字钟各具体模块

分频器(fengp)模块

本系统共需3种频率时钟信号(10MHz、1Hz、1KHz)。为减少输入引脚,本系统采用分频模块,只需由外部提供10MHz基准时钟信号,其余两种频率时钟信号由分频模块得到。

分频器管脚

分频器代码:

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

entityfengpisport(clk0:instd_logic;

clk_1Hz,clk_1kHz:outstd_logic);

endentity;

architectureoneoffengpis

signalq1Hz:integerrange0to9999999;signalq1kHz:integerrange0to9999;begin

process(clk0)begin

ifclk0eventandclk0=1then

ifq1Hz5000000-1thenclk_1Hz=0;q1Hz=q1Hz+1;elsifq1Hz1thenq1Hz=0;

else clk_1Hz=1;q1Hz=q1Hz+1;endif;

ifq1kHz5000-1thenclk_1kHz=0;q1kHz=q1kHz+1;elsifq1kHz=10000-1thenq1kHz=0;

else clk_1kHz=1;q1kHz=q1kHz+1;endif;

endif;

endprocess;end;

60(count60)进制计数校时模块

本模块要实现的功能是:正常计时、校时、校分在每个状态下都会

产生不同控制信号实现相应的功能。

60进制计数器管脚图

60进制计数器代码:libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

entitycount60isport(clk,set:instd_logic;

CLR:instd_logic:=0;co:outstd_logic;

h,l:bufferstd_logic_vector(3downto0));endentity;

architectureoneofcount60issignalco1,set1:std_logic;begin

set1=set;

co=(set1orco1);process(clk,CLR)begin

ifCLR=1thenh=0000;l=0000;

else

ifclkeventandclk=1then

--ifstart=1then

--h=d(7downto4);

--l=d(3downto0);

if(h=0101andl=1001)thenco1=1;l=0000;h=0000;

else

ifl1001thenl=l+1;

else

l=0000;

ifh0101thenh=h+1;

endif;endif;

co1=0;

endif;endif;

endif;endprocess;end;

24(count24)进制计数器模块

24进制计数器管脚图

24进制计数器时代码:

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

entitycount24isport(clk:instd_logic;

CLR:instd_logic:=0;

--d:instd_logic_vector(7downto0)

co:outstd_logi

文档评论(0)

159****1944 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档