2021年整理FPGA数字钟.pptxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数字钟设计 一、实验目的: 通过设计实例,深入理解自顶向下设计方法,系统设计规范、系统设计、模 块设计和系统仿真与实现各阶段的设计内容,初步掌握规范的数字系统设计方法 并实践。 二、实验要求: 1、系统概述:设计一个用 LED 7 段显示器显示的 24 小时制数字钟。 2、系统目标: (1)用 8 个 LED 显示时间,如 9 点 25 分 10 秒显示为,09-25-10。 设置 2 个按键,按键 SET 用于工作模式选择,按键 UP 用于设置数值。 (可选) 按 SET 键循环设置工作模式为:正常显示-时设置-分设置-秒设 置。在设置工作模式时,被设置相应数字按 1 秒速率闪烁,其它数字不变。 在设置工作模式时,按 UP 键一次,被设置相应数字增加 1,加到最大 值后再加返回 0,如小时加到 23 后再加就返回 0,分和秒加到 59 后再加返回 0 。 3、系统设计依据: 外部输入时钟为 40MHZ,通过分频产生秒脉冲信号,用模 60 计数器对其计 数产生分脉冲信号,对分脉冲用模 60 计数器对其计数产生时脉冲信号,再用模 24 计数器对时脉冲计数,即可实现一天 24 小时的时间信号,通过 7 段 LED 数码 管显示出来则为基本数字钟,校时电路通过两个外部异步按键对“时”、“分”、 “秒”显示数字进行校对调整。 4、系统实现要求: 要求用 Mars-EP1C3-EDA 实验平台。芯片与封装选择:本设计用 EP1C3T FPGA 实现,144 脚封装,输入输出为 LVTTL 电平。 5、系统验证及测试要求: 用 Mars-EP1C3-EDA 实验平台搭建模拟测试平台测试,测试验证数字钟实 现设计目标。 三、系统设计关键技术;;3; Clock_cnt;5;h_set:时设置使能信号; ;d_out[0];为了减小仿真时间和难度,把分频值改小进行仿真。设置 clk 周期为 2ns。 设置对clk 进行 4 分频产生 scan_clk; 设置对scan_clk 进行 3 分频产生key_clk; 设置对key_clk 进行 5 分频产生s_clk。;(2)功能仿真;Normal;(2)、功能仿真 ;Hour=0;min=0; sec=0;ctl=3d0;hour=0;min=0; sec=0;Sel=3d0;有图可知,“正常显示”状态下,不管 up_en 是否按下,时、分、秒的计数 都正确。 ②“时设置”:设置 h_set=1,m_set=0,s_set=0;;d_col=8b1111_1110;显???原理:用 1ms 的扫描信号循环控制数码的某一位有效,在相应为有效时 输出数据经译码后驱动数码管,比如:d_col=8’b1111_1110,8 位数码管的最低 位有效,此时将秒的低四位数据(s_data[3:0])译码,驱动数码管,若此时 s_data[3:0]=4’d9=4’b1001,数码管此时将显示“9”。 数码管译码表:;七、系统功能仿真 计数初始设置:设置系统复位后时间初值为“23—45—09”; 分频设置:设置clk 周期为 2ns。设置对clk 进行 5 分频产生 scan_clk;设置 对 scan_clk 进行 5 分频产生key_clk;设置对key_clk 进行 4 分频产生 s_clk。 (1)正常显示模式;八、系统综合实现及静态时序分析 ;19;20;end endmodule 测试代码: `timescale 1ns/1ns module freq_div_tb; reg rst_n,clk; wire key_clk,scan_clk,s_clk; always #1 clk=~clk; initial begin clk=0; rst_n=0; #3 rst_n=1; #200_000 $stop; end freq_div freq_div(clk, rst_n, scan_clk, s_clk, key_clk); endmodule Key_ctl 模块:;22;23;24;25;26;27;28;29

文档评论(0)

moxideshijie2012 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档