文档目录

2.9.2.2. Clock Crosser(跨时钟域)

从一个时钟域到另一个时钟域的跨时钟域执行多位信号。

跨时钟域的工作原理是先稳定交叉数据,再显示锁存域中的有效数据。由于使用该数据结构,在多个锁存周期中数据位不可偏移。应用时序约束文件对所有跨时钟域进行不考虑锁存时钟域的一般性时序检查。无需对跨CSR时钟的信号过于悲观,因为在内部测试期间并没有对运行时间产生重大影响和错误违规等副作用。如果设计运行到IP内的跨时钟域时序违规路径中,且锁存时钟域为csr_clk,则可手动撤除违规,或者,若违规少于一个csr_clk周期时,可通过编辑.sdc文件撤除违规。

时序约束文件使用set_net_delay来约束布线器布局和set_max_skew从而执行路径上的时序检查。对具有高器件利用率的工程,Intel建议完成额外步骤,如布局规划和LogicLock以助于布局和布线进程。这些额外步骤为路径提供持续性更好的时序收敛,而不仅只依赖于set_net_delay

使用set_max_skew时需注意它并不分析路径的插入延迟是否超出限制。换言之,路径可能满足所需的偏移但插入延迟比预期更长。如果未对此进行检查,则可能导致某些延迟敏感的路径中出现功能性错误。因此,可使用自定义脚本(alt_em10g32_clock_crosser_timing_info.tcl)检查双程跨时钟域演示延迟是否在预期内。要使用此脚本,将其手动添加到用户流程并运行。为确保IP核正常运行,结果必须为正(无错误)。