集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 902|回复: 3

FPGA设计经验之边沿检测

[复制链接]
月影星痕 发表于 2020-10-14 17:22:56 | 显示全部楼层 |阅读模式
在同步电路设计中,边沿检测是必不可少的!
  例如:在一个时钟频率16MHz的同步串行总线接收电路里,串行总线波特率为1Mbps。在串行总线的发送端是在同步时钟(1MHz)的上升沿输出数据,在接收端在同步时钟的下降沿对输入数据进行接收采样。在这个接收电路里检测同步时钟的下降沿是必不可少的。假设主时钟-clk,同步时钟-rck,同步数据-data。
  有些人在边沿检测的时候就喜欢这样做:
        
  但是大家忽略了一种情况,就是clk与rck之间比没有必然的同步关系,当rck的下降沿刚好略滞后于clk的上升沿(大概几个ns),这样就会使高电平 保持时间不足,就会发现在本时钟上升沿时还是rck_dly=‘1’ and rck=‘1’,而在下一个时钟的上升沿来的时候,就会出现rck_dly=‘0’ and rck=‘0’,所以就不会有rck_dly=‘1’ and rck=‘0’的情况出现!! 从而导致丢失数据。
  如果用下面的方法就可以避免上面的情况,并且可以做到正确无误地接收数据:
      
  至于以上电路为什么就可以克服上面出现的情况,就留给大家分析了。
  不得不承认后一种方法所耗的资源要比前一种方法多(一个触发器),但是就可以大大提高可靠性,这绝对是物有所值!!
雷磊 发表于 2020-10-15 16:34:06 | 显示全部楼层
FPGA设计经验之边沿检测
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2025-6-16 16:02 , Processed in 0.078663 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表