实例教学五 分频器 CPLD FPGA可编程逻辑器件.ppt

实例教学五 分频器 CPLD FPGA可编程逻辑器件.ppt

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

分频器 的VHDL设计 桂林师范高等专科学校 羊日飞 分频器(Divider) 分频器可以用来降低信号的频率,是数字系统中常用的时序电路。 在数字系统中,常常需要各种频率的时钟信号,获得的方法一般是对晶振的时钟进行分频(降频)。 二分频器 输出信号的频率是输入信号频率的1/2,由于周期是频率的倒数,所以周期是输入信号的2倍。 分频器的应用 51单片机的定时/计数器结构 二分频电路的VHDL代码编写 ——库引用 引用IEEE库 引用IEEE库中的std_logic_1164程序包 二分频电路的VHDL代码编写 ——实体 分频器电路的外特性: 有1个高频时钟信号输入端 clk; 有1个低频时钟信号输出端 q; 实体名: clk_div 二分频电路的VHDL代码编写 ——结构体 二分频电路的 行为/功能描述 二分频电路的VHDL代码编写 ——结构体 时钟信号的上升沿如何描述? 二分频电路的VHDL代码编写 ——结构体 “当时钟信号上升沿到来时,…”如何描述? 二分频电路的VHDL代码编写 ——结构体 使用 if 语句进行描述 实体定义中的端口说明 端口名:是赋于每个外部引脚的名称。 信号模式:用来说明数据、信号通过该端口的方向。有四种: (1)IN(输入) (2)OUT (输出) (3)INOUT (双向) (4)BUFFER (缓冲) IN(输入) 信号从外部经该端口输入至实体; 单向端口; OUT(输出) 从实体输出至外部; 单向端口; BUFFER(缓冲) 可以从实体输出至外部; 也可以从端口回读该输出值; 不可以从外部输入至实体; 单向端口; 二分频电路的VHDL代码编写 ——结构体(完整代码) 二分频电路的VHDL代码 ——综合结果 二分频电路的VHDL代码 ——仿真结果 任意倍数的分频器如何实现 可以利用一个计数器来实现。 计数输入脉冲的个数,当输入脉冲的个数达到所要分频的倍数时,翻转输出波形。 8分频电路的VHDL代码编写 ——从计数器的VHDL入手 8分频电路的VHDL代码编写 ——从计数器的VHDL入手 8分频电路的VHDL代码编写 ——从计数器的VHDL入手 LED闪烁电路的实现 时钟信号输入 板上6MHz有源晶振 * * 二分频、四分频、八分频 输入脉冲 输出脉冲 ÷2 library ieee; use ieee.std_logic_1164.all entity clk_div is port( clk: in std_logic; q: buffer std_logic; ); end clk_div; 端口的 信号模式 architecture clk_div_stru of clk_div is begin end clk_div_stru; 输出信号只在输入信号的上升沿到来时变化,其余时间保持原有状态不变; 输出信号在输入信号的上升沿到来时变化,新的状态为上升沿到来时刻的状态取反; 思考 观察输出信号的变化规律,找出与输入信号的联系 用自然语言描述出来 复习 复习 process(clk) begin if clk’event and clk=‘1’ then end if; end process; 输出信号只在输入信号的上升沿到来时变化,其余时间保持原有状态不变; 输出信号在输入信号的上升沿到来时变化,新的状态为上升沿到来时刻的状态取反; process(clk) begin if clk’event and clk=‘1’ then q= not q; end if; end process; 讨论q的信号模式 entity entity entity Q D architecture clk_div_stru of clk_div is begin process( clk) begin if clk’event and clock=‘1’ then q= not q ; end if; end process; end clk_div_stru; 输出信号只在输入信号的上升沿到来时变化,其余时间保持原有状态不变; 输出信号在输入信号的上升沿到来时变化,新的状态为上升沿到来时刻的状态取反; entity counter is port( reset: in std_logic; clock: in std_logic; Q: out std

文档评论(0)

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

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

1亿VIP精品文档

相关文档