欢迎来到深圳中鲁粤科技有限公司网站!

收藏本页 | 常见问答 | 在线留言 | 网站地图

科技资讯

日本加野麦克斯Kanomax
专注某某行业十余年
咨询热线13800000000

热门关键词:示例页面

科技资讯

qq账号购买平台低价_机领网_快手免费涨1000粉丝软件

文章分类:文章中心人气:49 次访问时间:2024-05-19 02:05

自助下单地址(拼多多砍价,ks/qq/dy赞等业务):点我进入

欢迎FPGA工程师加入官方微信技术群

抽象的:

跨时钟域和亚稳态

通过同步时钟传输控制信号

时钟同源,周期间非整数倍的跨时钟域

跨异步时钟域传输控制信号

01

跨时钟域和亚稳态

一般来说,跨时钟域是指模块之间存在数据交互,但模块之间不是由同一个时钟驱动,如下图所示:

左边的模块1由clk1驱动,属于clk1的时钟域; 右侧模块2由clk2驱动,属于clk2的时钟域。 当clk1的频率高于clk2的频率时,称模块1(相对于模块2)为快时钟域,模块2为慢时钟域。 根据clk1和clk2是否为同步时钟,上述跨时钟域可以分为跨同步时钟域(clk1和clk2为同步时钟)和跨异步时钟域(clk1和clk2不是同步时钟)。 根据信号是控制信号还是数据信号,可以分为跨时钟域的控制信号传输和数据信号传输。

在跨时钟域的信号传输过程中,可能会出现亚稳态。 这时需要一个同步器进行同步,以降低亚稳态传播的概率; 注意这里的同步器只能降低亚稳态。 传播的概率,如果产生亚稳态,亚稳态恢复稳定后的能级不一定是正确的能级。 如果稳定后的层级不对,很可能导致后面的逻辑出错。 需要强调的是; 当然,一般情况下(我这里说的是一般情况)亚稳态是很少出现的,不然后面的逻辑就挂了?

根据以上内容可以看出,可能需要一个跨时钟域的同步器来抑制亚稳态向下传播的概率。 根据不同的情况需要不同的同步器。 大致情况如下:

·同步时钟域下控制信号从快时钟域到慢时钟域的传输;

从慢时钟域到块时钟域的控制信号跨同步时钟域传输;

数据信号从快时钟域跨同步时钟域传输到慢时钟域;

数据信号从慢时钟域跨同步时钟域传输到块时钟域;

·控制信号从快时钟域跨异步时钟域传输到慢时钟域;

将控制信号从慢时钟域传输到块时钟域,跨越异步时钟域;

数据信号从快时钟域跨异步时钟域传输到慢时钟域;

数据信号从慢时钟域跨异步时钟域传输到块时钟域;

看着这八种,心虚了,不过先剧透一下。 在数据传输中(主要是多位数据传输),无论是交叉同步还是交叉异步,主要(注意是主要)是使用比较大的同步隔离器来隔离和缓冲数据,比如先进先出和内存; 因此,一般将它们分为控制信号(通常为1位信号)和数据来设计同步器。 我们最后会讲到跨时钟域的数据传输。 今天主要组织控制信号跨时钟域的传输。

这里我们更新一下传统同步时钟的概念:如果系统中多个时钟的边沿之间有固定的相对时间差(或固定相位),则它们是同步时钟。 它们可以由不同的时钟源产生,但它们之间的相位通过锁相环是固定的,所以它们是同步时钟。 它们可能由同一个时钟源产生,但经过分频后,它们之间的相位随着初始相位和时间的变化而变化。 这种时钟可以称为同步时钟,但是从这个传统的概念出发,这是一个异步时钟(这和我上面的博客不一样,注意),在处理中是作为异步时钟来处理的。 好了,说了这么多,我们还是按照钟表的分类来说说吧。

02

通过同步时钟传输控制信号

光耦信号隔离电路_信号隔离器代理_路由器 ap隔离 没信号

(1) 两个同频同相的同步时钟:

波形如下所示:

这两个时钟可以看做同一个时钟,即单时钟设计,允许一个时钟周期传输数据,所以只要满足一般同步电路设计要求(满足建立时间和保持时间,控制信号的传输延迟应该在一定范围内),不会有亚稳态,不会有数据丢失,一般不需要同步器。

(2)两个同频不同相的同步时钟

波形如下所示:

这个固定的相位可以看作是时钟的偏移量,允许的传输时间小于一个时钟周期,但是只要在clk1的控制下翻转控制信号的输出,所以只要一般要求同步设计的满足(要满足建立时间和保持时间,控制信号的传输延迟必须在一定范围内),时序可以满足,不会出现亚稳态,不会有数据丢失,所以一般不需要同步器。

(3) 频率不同,但存在整数倍关系

假设没有初始相位差(或者即使初始相位差固定,后期可以修复),clk1的时钟频率是clk2的3倍。

当从快时钟域跨越到慢时钟域时(即控制信号从clk1的模块传输到clk2的模块),波形如下:

如果clk1在第二个上升沿发送信号,只要控制信号在clk1的3个周期内到达,就不会出现亚稳态; ...如果clk1在第四个上升沿发送信号,则需要 如果控制信号在clk1的一个周期内到达,则不会出现亚稳态。 因此,只要控制信号从发送时钟域到达目的时钟域的时间小于clk1的时钟周期,就不需要同步器; 一般来说,控制信号是trigger-triggered和trigger-captured,一般满足这种关系,如下图:

信号隔离器代理_光耦信号隔离电路_路由器 ap隔离 没信号

但是需要注意的是,这是从快到慢的,慢时钟域可能采样不到控制信号而丢失控制信号。 也就是说,我的控制信号是从clk1运行到clk2,并保持一个时钟(clk1)周期,但是你的clk2的时钟沿还没来。 当clk2的上升沿到来时,我的控制信号已经更新(或无效),信号在时钟clk2的上升沿之前被clk1采集。 ,如果当时不发送,控制信号就会丢失,如下:

当信号在第二个时钟沿发送时,只持续一个时钟周期,所以clk2无法捕捉到(这是功能性错误,不仅仅是时序上的亚稳态); 只有在第四个时钟沿发送控制信号时,clk2才能捕获它。 因此,我们需要将这个控制信号的周期延迟到clk1周期的三倍,可以通过计数器或者状态机来实现。 扩展后的波形如下:

可以看出,此时无论上述时间是否发送数据,clk2都可以捕获。

因此,一般情况下不需要同步器,但需要将快时钟域的控制信号延长适当的时间(根据时钟之间的倍数关系确定,控制信号的长度必须≥周期capture clock的,一般为1.5倍,上图仅为1倍),避免慢时钟域信号丢失。

重点

当慢时钟转入快时钟域时(即控制信号从clk2的模块传输到clk1的模块),波形如下图所示:

显然,快时钟可以对慢时钟的控制信号进行采样,采样3次后,输出为:

Clock2的控制信号达到clk2周期的三倍。 如果只需要一个clk周期控制信号,可以通过上升沿检测电路来实现。 输出波形如下:

03

时钟同源信号隔离器代理,周期之间的关系不是整数倍

当两个时钟都来源于同一个时钟时,经过锁相环分频后,产生两个时钟时钟,一个时钟是另一个时钟的非整数倍,相位随时间变化。 在这种情况下,我们可以将这两个时钟视为同步时钟或异步时钟; 在传统设计中,此类时钟将被视为异步时钟。 我们来看看是否要为这样的时钟处理添加一个同步器。

如果时钟源的时钟频率为clk,经过PLL后,产生一个时钟clk1和一个时钟clk2:

假设 clk1 是快时钟,clk2 是慢时钟。 由于控制信号只在两个时钟域的触发器之间传输,触发器之间没有逻辑,所以控制信号从发送触发器到捕获触发器的时间非常小,假设t ps,当发送沿和捕获沿之间的间隔大于tps时,不会产生亚稳态(理论情况,不考虑时钟偏斜和翻转等因素)。 当clk1的频率不是clk2的整数倍时,它们的相位随时间变化。 知道了clk1和clk2的频率后,就可以知道clk1和clk2理论上的相位关系了信号隔离器代理,那么就会有以下几种情况:(其实也分为加不加同步器)

画风粗狂请海涵

(1)(无论是跨时钟域快到慢还是慢到快)两个时钟之间存在一个最小相位差,最小相位差大于t。 如下:

这里这种情况下,时钟的最小和最小相位差为T>t,即控制信号不会违反捕获寄存器的设置时间和时序。 需要注意的是,这是从快时钟域到慢时钟域的控制信号传输。 为了防止信号丢失,需要将控制信号延长一定长度。

慢时钟到时钟的波形没有画出来,但主要是符合两个时钟的最小相位差(不管是快到慢还是慢到快),最小相位差大于t,并且不会违反设置时间和保持时间。 ,基本上不会出现亚稳态。 所以在这种情况下,不需要同步器。

(2)(无论是跨时钟域快到慢还是慢到快)在两个时钟中,发送沿到接收沿的相位很窄,小于t,即setup time和hold违反了捕获寄存器的时间,但是下一次发送沿到接收沿的相位非常大(没有违反捕获寄存器的建立时间和保持时间),如下图:

在相位小的地方,稳定时间不足,造成亚稳态。 这个时候就要用到我们的同步器了。 下面隆重推出我们的同步器——双D触发器。 其电路图如下:

需要注意的是,中间不能有任何组合逻辑,电路图和pair的时序关系如下(代码没写,电路简单):

再次强调,双D触发器(触发器链)只能抑制亚稳态下行传输(或降低其下行传输的概率),不一定同步正确控制信号的值,不同于亚稳态稳定值的是上图中一级触发器的亚稳态稳定值,刚好是高电平,所以二级触发器的输出值-采样后的触发器为高电平。 如果上图中初级触发器的亚稳态稳定值为低电平,则次级触发器采样后的输出值为低电平,即输出错误的控制信号。

(3) 相邻两个时钟的发送边沿和接收边沿的相位差很小,如下图所示:

这种情况基本上可以说是异步时钟域之间控制信号的传输。 在这种情况下,必须添加触发器链同步器以抑制亚稳态向下传播。 和前面的情况一样,从慢到快,只有亚稳态的问题; 而从快传输到慢传输,不仅存在抑制亚稳态向下传播的问题,还存在控制信号丢失的问题,这里需要扩展控制信号的长度或采取其他措施(描述之后)。

01

跨异步时钟域传输控制信号

实际上,跨越异步时钟域的波形与前面的3.(3)类似,只是两个时钟域的时钟是完全不相关的时钟。 在这种情况下,我们可以采用与前面类似的方法:首先,触发器链必须抑制亚稳态的传输,然后是快时钟到慢时钟的问题,即采样问题短脉冲的控制信号,除了扩展控制信号外,我们还可以使用其他方法,我们来梳理一下:

热销产品