其他分享
首页 > 其他分享> > 处理多个时钟

处理多个时钟

作者:互联网

处理多个时钟

3.2 多时钟域

3.3 多时钟域设计的难题

3.4 多时钟设计的处理技术

相关信号命名时指明所属时钟域。

分块化设计

同步模块不需要做静态时序分析,但要保证满足保持时间要求。

跨时钟域

控制信号的传输

最常见的就是多级同步器

缺点是增加了电路的整体延时。

数据信号的传输

3.5 跨时钟域

跨同步时钟域类型

同频零相位差时钟

两时钟完全相同,视为单时钟。

同频恒定相位差时钟

传输信号宽度足够,能被采到即刻。

非同频可变相位差时钟

整数倍时钟
非整数倍时钟

3.6 握手信号方法

  1. 发送器X将数据放到数据总线上,并发出xreq信号,表示有效数据已经发送
  2. 把xreq信号同步到y时钟域
  3. 接收器y在识别到xreq同步后的信号yreq后,所存数据线上的信号
  4. 接收器发出确认信号yack,表示已接收。
  5. 接收信号yack同步到x时钟域成为xack
  6. 发送器识别到同步后的xack后,发送下一个数据。

传输单个数据延迟比较大

3.7 使用同步FIFO传输数据

判满:写操作使两个指针在下个时钟保持相等

判空:读操作使两个指针在下一个时钟相等

也可用计数器来对FIFO宽度进行计数,这种方法虽然原理简单,但是会增加额外的资源开销(比较器)来判断满和空。这最终会降低FIFO操作的最高频率。

3.8 异步FIFO

避免使用二进制计数器实现指针

异步FIFO内部读写指针属于不同时钟域,因此判满判空时不能直接比较。

如FFF变为000,可能会采到101、110等值。

采用格雷码计数。

例如,如果计数器从1010变为1011,取样逻辑要么读到1010,要么读到1011,但不会出现其他值。

格雷码计数器

标签:格雷,同步,多个,处理,FIFO,传输,信号,时钟
来源: https://www.cnblogs.com/icwangpu/p/15895709.html