文章 ID: 000080400 内容类型: 产品信息和文件 上次审核日期: 2021 年 08 月 27 日

如何约束跨时钟域?

环境

  • 英特尔® Quartus® Prime Pro Edition
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    说明

    如果您的多位时钟域交叉时序限制至关重要,如果此总线有set_false_path限制,则总线的偏斜可能会超过 1 个时钟周期,这可能会导致功能错误。

    第一个要求是,您没有两个时钟域之间的set_false_path限制,如果不希望它们之间的路径进行设置和保留分析,则可以使用优先级较低的set_clock_groups。

    其次,set_net_delay使路径尽可能短,set_max_skew。Set_max_skew不会约束 fitter,但您可以在时序分析器中分析这种限制。

    时钟域中data_a之间的时钟域交叉限制clk_a,时钟域中的data_b clk_b可能类似。

    create_clock - name clk_a -period 4.000 [get_ports {clk_a}]

    create_clock名 clk_b -period 4.500 [get_ports {clk_b}]

    set_clock_groups -asynchronous-group [get_clocks {clk_a}] -group [get_clocks {clk_b}]

    set_net_delay -从 [get_registers {data_a[*]}]-到 [get_registers {data_b[*]]-max -get_value_from_clock_period dst_clock_period -value_multiplier 0.8

    set_max_skew -从 [get_keepers {data_a[*]}]-到 [get_keepers {data_b[*]}] -get_skew_value_from_clock_period min_clock_period -skew_value_multiplier 0.8

    实际的偏差要求取决于您的设计以及处理跨时钟域的方式。

    最后,在时序分析器中运行"报告最大偏斜摘要"和"报告网络延迟摘要"来检查时钟域跨时序。

    相关产品

    本文适用于 1 产品

    英特尔® 可编程设备

    本页面上的内容是原始英文内容的人工翻译与计算机翻译的组合。我们提供此内容是为了您的便利并且仅供参考,未必完整或准确。如果本页面的英文版与翻译版之间存在任何冲突,应以英文版为准。 查看此页面的英语版本。