学习情境五:数字钟设计 EDA技术目化教程 [电子教案].pptVIP

学习情境五:数字钟设计 EDA技术目化教程 [电子教案].ppt

  1. 1、本文档共54页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
学习情境五:数字钟设计 EDA技术目化教程 [电子教案]

学习情境五:数字钟设计 一.项目目的 掌握六十进制,二十四进制计数器的设计方法 掌握混合设计方法 掌握多位共阳数码管动态扫描显示驱动及编码 掌握 基于FPGA的层次化设计方法 学习 VHDL 基本单元电路的综合设计应用 3. 实施步骤 1、根据系统设计要求,采用自顶向下设计方法,由秒计数模块、分计数模块、时计数模块、整点报时模块、动态扫描显示模块和 7 段译码模块六部分组成。画出系统的原理框图,并说明系统中各主要组成部分的功能。 2、选用Quartus II工具,运用VHDL编写各个模块的 VHDL 源程序。 3、根据选用的软件编译、仿真各底层模块文件。 4、根据选用的软件及选用的硬件芯片编好用于硬件验证的管脚锁定文件。 5、记录系统仿真、硬件测试结果。 6、记录实验过程中出现的问题及解决办法。 三.硬件要求 主芯片 Altera EP1K30QC208-2; 6 位 七 段共阳极数码管动态扫描显示; 三个按键开关(复位,调小时,调分钟); 时钟利用开发板现成时钟源; 利用开发板电源。 四.相关知识点 2.电子钟设计原理: 在同一 FPGA 芯片上集成如下电路模块: (1)时钟计数: 秒……60 进制 BCD 码计数。 分……60 进制 BCD 码计数。 时……24 进制 BCD 码计数。 同时整个计数器有复位、调时、调分功能。 (2)6 位 8 段共阳极数码管动态扫描显示时、分、秒: 按提供的 8421BCD 码,经译码电路后成为 8 段数码管的字形显示驱动信号 a,b,c,d,e,f,g。 扫 描 电 路 通 过 可 调 时 钟 输 出 片 选 驱 动 信 号 , 片 选 地 址 为SEL[2..0] 。 由SEL[2..0] 和LED[6..0](a,b,c,d,e,f,g)、DP 决定了 8 位中的那一位显示和显示什么字形。SEL[2..0]变化的快慢取决于扫描频率的快慢。 3.层次化设计、混合设计、元件例化 元件例化语句格式: COMPONENT 元件名 GENERIC(类属表); PORT (端口名表); END COMPONENT 元件名; 元件名 PORT MAP( [端口名=] 连接端口名,…); 定义元件语句 元件例化语句 PORT MAP 是端口映射语句,用来说明例化元件与当前实体端口的连接关系。表示这种连接关系有两种方式,一种是名字关联方式,一种是位置关联方式,这两种方式也可以混合使用。 在名字关联方式下,例化元件的端口名和当前实体的端口名之间用关联符“=”连接;在位置关联方式下,例化元件的端口名和关联符都可省去,只要列出当前系统中的端口名就可以了,但端口名的排列必须与例化元件端口定义中的端口名一一对应。 五.参考 1.原理图 如图所示(模块化设计) 模块说明: 各模块都是 VHDL 语言编写。 秒计数及时钟控制模块。SECOND.VHD 分计数及时钟控制模块。MINUTE.VHD 时计数及时钟控制模块。HOUR.VHD 动态扫描显示模块。SELTIME.VHD 7 段译码模块;DELED.VHD signal carry_out1 : std_logic; signal carry_out2 : std_logic; begin p1: process(reset,clk) begin if reset=0 then count=0000; counter=0000; elsif(clkevent and clk=1) then if (counter5) then if (count=9) then count=0000; ②模块符号如图5.3所示。 图5.3 秒模块 ③仿真: 秒模块仿真如图5.4所示。 图5.4 秒模块仿真波形 signal carry_out2 : std_logic; begin p1: process(reset,clk) begin if reset=0 then count=0000; counter=0000; elsif(clkevent and clk=1) then if (counter5) then if (count=9) then count=0000; counter=counter + 1; else count=count+1; end if; carry_out1=0;

文档评论(0)

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

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

1亿VIP精品文档

相关文档