【问题标题】:clock domain crossing of a mutli bit signal多位信号的时钟域交叉
【发布时间】:2021-11-09 17:54:25
【问题描述】:

我必须在另一个时钟域中使用多位计数器信号,而不是生成的时钟域。 如果 2 个时钟之间没有关系,那么使用格雷码和经典的 2 个同步 FF 并在之后读取编码值是否安全(就像异步 fifo 中的指针一样)?据我了解,这会比使用握手信号引入更少的延迟......

【问题讨论】:

  • 但是在这种情况下我假设一个计数器值,所以如果这个值必须跨越一个域,也许不需要握手?
  • 我的意思是 x 位计数器不是“多位任意值”信号,它会递增 1,所以如果这个信号是格雷编码的,然后转移到另一个域,它会不需要握手信号?就像异步fifo中的写入和读取指针不通过握手信号传输(如果我理解正确的话)?
  • How to Askhelp centerElectrical Engineering 可能更适合数字设计问题(注意这里没有编程问题)。

标签: synchronization vhdl fpga gray-code clock-synchronization


【解决方案1】:

是的,在时钟域交叉 (CDC) 上对计数器值使用格雷编码/解码是常用的方法。

为此,格雷编码计数器值中的位偏移加上亚稳定的建立时间必须小于时钟周期。所以记得约束综合和静态时序分析(STA)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-22
    • 2019-12-28
    • 1970-01-01
    • 2017-06-28
    • 1970-01-01
    • 2018-12-18
    • 2022-10-17
    相关资源
    最近更新 更多