当前位置:首页 > FPGA > 正文内容

CDC跨时钟域信号处理

浩雨3年前 (2022-08-17)FPGA4118

保证时序电路的时序要求:

建立时间:在有效的时钟沿到来之前,输入端的输入信号需要保持稳定不变的最小时间

保持时间:在有效的时钟沿到来之后,输入端的输入信号需要保持稳定不变的最小时间

image.png

CDC问题1:亚稳态

亚稳态原因:

image.png

亚稳态解决方法:对于单信号来说,使用 Double FF来进行信号同步

image.png

CDC问题2:数据收敛

数据收敛的原因:

image.png

image.png

数据收敛解决方法1:对信号进行格雷码编码(格雷码特点:相邻的两个编码之间,只有一位是不同的,而其他的相同)

image.png


对于无法使用格雷码编码的信号组,可以使用握手协议,来处理跨异步时钟域的问题

image.png

image.png

数据收敛解决方法2:FIFO

image.png


CDC问题3:数据丢失

数据丢失原因:输入端信号不能保持足够的时间 使得接收端不能采样到数据 导致数据丢失

image.png

数据丢失解决方法:延长输入信号

image.png

CDC问题4:多路扇出

多路扇出的原因:

image.png

多路扇出解决方法:将信号同步之后再多路扇出

image.png

CDC问题5:异步复位

恢复(recovery)时间 和 移除(removal)时间 的概念:

恢复时间:在有效的时钟沿到来之前,触发器的异步复位信号释放时 所要提前释放的最小时间

移除时间:在有效的时钟沿到来之后,触发器的异步复位信号释放时 所要保持不变的最小时间

image.png

异步复位信号释放时 不满足恢复时间和移除时间 就造成了异步复位问题的发生。


异步复位解决方法:异步复位信号同步电路

image.png

扫描二维码推送至手机访问。

版权声明:本文由我的FPGA发布,如需转载请注明出处。

本文链接:https://myfpga.cn/index.php/post/262.html

分享给朋友:

“CDC跨时钟域信号处理” 的相关文章

SOC 在线修改设备树和FPGA配置文件 并在线配置FPGA

SOC 在线修改设备树和FPGA配置文件 并在线配置FPGA

测试过的平台:     1、DE-10 Cyclone V开发板              ...

CDC 单脉冲信号处理

CDC 单脉冲信号处理

代码中的Sys_clk其实是没有用到的,项目文件:cdc_single.zip//------------------------------------------------------// File Name        : cdc.v// Autho...

点亮LED灯实验

点亮LED灯实验

设计流程:设计规划 -> 波形绘制 -> 代码编写 -> 代码编译 -> 逻辑仿真 -> 波形对比 -> 绑定管脚 -> 分析综合布局布线 -> 上板验证新建项目文件夹(led):Doc:放置文档资料(数据手册、波形图、文档、项目日志)Pri:放置工程...

3-8译码器

3-8译码器

译码:译码是编码的逆过程,在编码时,每一种二进制的代码,都赋予了特殊的含义,即都表示了一个确定的信号或者对象。把代码状态的特定含义翻译出来的过程叫做译码,实现译码操作的电路称为译码器。译码器:一类多输入多输出的组合逻辑电路器件,其可以分为:变量译码和显示译码两类3-8译码器 模块框图:输出信号定义为...

半加器

半加器

半加器:两个输入数据位相加,输出一个结果位和进位,没有进位输入的加法器电路。即两个一位二进制数的加法运算电路。半加器 模块框图:sum:结果位count:进位半加器 真值表:半加器 波形图:代码部分:选择器代码:在Src文件夹中新建 half_adder.v文件module half_adder...

全加器(层次化设计)

全加器(层次化设计)

该篇博客根据上一篇半加器的设计,再结合层次化的设计思想来实现一个全加器!层次化设计理论部分:数字电路中根据模块层次的不同有两种基本的结构设计方法:自底向上的设计方法 和 自顶向下的设计方法自底向上(Bottom-Up)        自底向上的设计是一种传统的设计方法,对设计进行逐次划分的过程是从存...