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

CDC跨时钟域信号处理

浩雨4年前 (2022-08-17)FPGA6093

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

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

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

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跨时钟域信号处理” 的相关文章

Intel FPGA初级考试模拟试题 四套含答案

Intel FPGA初级考试模拟试题 四套含答案

*1.下列对异步信号进行同步的描述错误的是(使用锁存器)。采用保持寄存器加握手信号的方法特殊的具体应用电路结构,根据应用的不同而不同使用锁存器异步 FIFO *2.FPGA 的可编程是主要基于什么结构(查找表(LUT))。查找表(LUT)ROM 可编程PAL 可编程与或阵列可编程解析:FP...

Verilog实现串并转换

Verilog实现串并转换

项目文件:SIPO.zip//------------------------------------------------------// File Name        : SIPO.v// Author       &n...

多路选择器

多路选择器

多路选择器:在多路数据传送过程中,能够根据需要将其中任意一路选出来的电路。二选一多路选择器 --- 模块框图in_1:输入信号in_2:输入信号sel:控制选择信号out:输出信号二选一多路选择器 --- 波形图in_1、in_2、sel 的波形是随机的。out 的波形根据控制选通信号而定。当 se...

全加器(层次化设计)

全加器(层次化设计)

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

时序约束(TCL脚本)

时序约束(TCL脚本)

get_ports的使用方法如下:# 获取所有端口 get_ports *   # 获取名称中包含data的端口 get_ports *data*   # 获取所有输出端口 get_ports -filter {DIRECTION == OUT}   # 获取所有输入端口 all...

避免Latch产生

避免Latch产生

Latch简介:                Latch其实就是锁存器,是一种在异步电路系统中,对输入信号电平敏感的单元,用来存储信息。        锁存器在数据未锁存时,输出端的信号随输入信号变化,就像信号通过一个缓冲器,一旦锁存信号有效,则数据被锁存,输入信号不起作用。因此,锁存器也被称为透...