信号从快时钟域到慢时钟域过渡时,慢时钟可能无法对快时钟变化太快的信号进行采样。
之前的同步器法对两个时钟间的关系有要求,结绳法适用于任何时钟域之间的过渡。
结绳法的原理是将快时钟信号的脉冲周期延长,等到慢时钟周期采样后再“解绳”,还原为原来的脉冲周期宽度。
一、数据驱动结绳
利用数据的边沿做时钟,可将脉冲延长,直到采集到数据,然后复位。
这里需要注意的是,clkB域需要等待三个clkB才会在最后一个寄存器输出并完成输入端的复位。所以如果Din_clkA变化较快,即持续时间小于三个clkB(Din_clkA的频率大于clkB的1/3),那么Din_clkA的变化将无法采样到。
这种方案适合采样数据较少的控制信号。
二、数据SR结绳
利用数据作为异步复位、置位信号。
将触发器的输出展宽为单时钟周期的脉冲
三、握手协议结绳
其时序图如下:
结绳法可以解决快时钟向慢时钟过渡的问题,适用范围广,但是实现较为复杂,且效率不高。