共工科技

跨时钟数据传输(跨时钟数据传递使用的基本方法)

本篇目录:

跨时钟域设计

该信号从一个时钟域进入到另一个时钟域,由于Td存在传输延时,DA1和DA2到达CLK_B的时间不同,导致一级触发器的触发时钟沿不同,最后导致Fsm1_en和Fsm2_en也存在相位差。这种情况就是多个信号聚合成一个信号。

不同的时钟域之间信号通信时需要进行同步处理,这样可以防止新时钟域中第一级触发器的亚稳态信号对下级逻辑造成影响。

跨时钟数据传输(跨时钟数据传递使用的基本方法)-图1

一般情况下,设计过程中需要尽量使用同步电路,避免异步电路和跨时钟域的情况。在无法避免的情况下,也因采取一些措施去尽量减少亚稳态的产生几率。

) 采用两级D触发器缓存,把“xreq”信号同步到接收器的时钟域“yclk”上,得到“yreq2”信号,当采样到yreq2有效后,将数据锁存到系统y的总线上,同时接收器发出“yack”信号(相应信号)。

习惯上是用那支黑笔接地. 电子线路中的接地不一定就是与大地相连,(也有与机壳相联)它是公共参考点。相对于NPN管的电路来说,负极是地.相对于地点,比这点电位高,就是+多少V。比这点电位低,就是-多少V。

跨时钟数据传输(跨时钟数据传递使用的基本方法)-图2

(1)晶振大小根据你的设计而定,十几兆到几十兆不一定,看你的设计要求多少;(2)FPGA往往每个BANK上都有时钟输入,两个晶振应该是连在不同的输入管脚上,可能你的系统要有跨时钟域的问题。

FPGA设计中跨时钟域信号同步方法(读书笔记)

输入信号是一个脉冲的跨时钟同步方案,这个方案由一个电平翻转电路、一个基本同步器、一个用于延迟的触发器以及一个异或门输出组成。

在同一时钟域中,可以采用时序约束来满足建立时间(Tsu)和保持时间(Th)。对于异步信号,在输出稳定前可能会出现毛刺、振荡、不固定的电压值,还会有亚稳态的传播。

跨时钟数据传输(跨时钟数据传递使用的基本方法)-图3

因此, 在FPGA设计中最好的时钟方案是: 由专用的全局时钟输入引脚驱动单个主时钟去控制设计项目中的每一个触发器。同步设计时, 全局时钟输入一般都接在器件的时钟端, 否则会使其性能受到影响。

多级缓存处理俗称“打几拍”,打两拍意味着使用二级缓存,这种方法常见于单比特数据异步电路,比如复位电路中常见的异步复位同步释放。时钟同步之脉冲检测法[2]也是一种多级缓存处理手段。

在同步设计中,最有效且目前应用最广泛的低功耗设计方法便是时钟控制——动态地禁止时钟在特定区域翻转。在FPGA中常用的实现方法包括使用触发器上的 时钟使能引脚 或者 全局时钟mux (BUFGMUX for Xilinx)。

将FPGA的时钟输出到其他电路板?是为了同步数据采集吗?一般不推荐将FPGA时钟引出的,买个时钟驱动芯片分路输出更好。

FPGA设计中跨时钟域常见的问题(读书笔记)

1、从摘要中可以了解到这篇文章主要写了(1)亚稳态现象的出现(2)四种跨时钟域同步方案(3)评估分析(4)优化设计 可以理解为因为有跨时域的设计,在设计中容易出现亚稳态现象,所以要做好跨时钟域同步。

2、由于在FPGA设计中采用统一的系统时钟,也就是利用从全局时钟管脚输入的时钟。在一个FPGA设计中会用到多个时钟,每个时钟在FPGA内部形成一个时钟域。

3、在同步设计中,最有效且目前应用最广泛的低功耗设计方法便是时钟控制——动态地禁止时钟在特定区域翻转。在FPGA中常用的实现方法包括使用触发器上的 时钟使能引脚 或者 全局时钟mux (BUFGMUX for Xilinx)。

4、亚稳态常见于异步电路。异步复位电路是常见例子,由于复位信号与时钟信号不同步,所以无法保证复位信号的移除时间和恢复时间满足要求,可能导致复位失败。跨时钟域数据传输时,由于两个时钟域信号变化不同步,也可能产生亚稳态。

5、就是整个基于FPGA的数字电路的系统主时钟的频率。全同步的数字电路设计,一般使用一个全局时钟,作为驱动所有时序逻辑的主时钟。但如果设计比较复杂,可能会引入多个主时钟,即多时钟域的设计。

6、你这个问题牵涉到信号跨时钟域的问题,不同时钟域的信号要正确采样,都需要同步处理后再采样。输入din信号和FPGA的25M时钟不是同一个时钟域,那你就要对输入信号进行同步处理。

亚稳态及跨时钟域的处理办法

不同的时钟域之间信号通信时需要进行同步处理,这样可以防止新时钟域中第一级触发器的亚稳态信号对下级逻辑造成影响。

) 采用两级D触发器缓存,把“xreq”信号同步到接收器的时钟域“yclk”上,得到“yreq2”信号,当采样到yreq2有效后,将数据锁存到系统y的总线上,同时接收器发出“yack”信号(相应信号)。

可以理解为因为有跨时域的设计,在设计中容易出现亚稳态现象,所以要做好跨时钟域同步。然后重点看这几种方案。

在同一时钟域中,可以采用时序约束来满足建立时间(Tsu)和保持时间(Th)。对于异步信号,在输出稳定前可能会出现毛刺、振荡、不固定的电压值,还会有亚稳态的传播。

两级触发器相连的方法,主要还是用于处理单比特,回答1:没有一定的说法,只能说大多数情况下稳定,因为一个触发器就导致了一个时钟周期的延时。两级相连本身主要还是将异步输入。

到此,以上就是小编对于跨时钟数据传递使用的基本方法的问题就介绍到这了,希望介绍的几点解答对大家有用,有任何问题和不懂的,欢迎各位老师在评论区讨论,给我留言。

分享:
扫描分享到社交APP
上一篇
下一篇