仅对英特尔可见 — GUID: gbi1587408101912
Ixiasoft
2.4.2.1. 高速时钟域(High-Speed Clock Domains)
2.4.2.2. 重构环路(Restructuring Loops)
2.4.2.3. 控制信号反压(Control Signal Backpressure)
2.4.2.4. 使用FIFO状态信号的流程控制
2.4.2.5. 包含skid缓冲器的流程控制
2.4.2.6. Read-Modify-Write存储器
2.4.2.7. 计数器和累加器
2.4.2.8. 状态机
2.4.2.9. 储存器
2.4.2.10. DSP模块
2.4.2.11. 一般逻辑
2.4.2.12. 求模与除法
2.4.2.13. 复位
2.4.2.14. 硬件重用
2.4.2.15. 算法要求
2.4.2.16. FIFO
2.4.2.17. 三元加法器(Ternary Adders)
5.2.1. 不足的寄存器(insufficient Registers)
5.2.2. 短路径/长路径(short path/long path)
5.2.3. 快进限制(Fast Forward Limit)
5.2.4. 环路(loop)
5.2.5. 每个时钟域一个关键链
5.2.6. 相关时钟组中的关键链
5.2.7. 复杂的关键链
5.2.8. 延伸到可定位的节点
5.2.9. 域边界入口和域边界出口(Domain Boundary Entry and Domain Boundary Exit)
5.2.10. 包括双时钟存储器的关键链
5.2.11. 关键链比特和总线
5.2.12. 延迟线
仅对英特尔可见 — GUID: gbi1587408101912
Ixiasoft
2.2.5.1. 时钟域交叉约束准则(Clock Domain Crossing Constraint Guidelines)
您必须将相应的时序约束应用于任何多比特时钟域交叉。set_false_path约束的优先级高于所有其他基于路径的约束。因此,当时钟域交叉有set_false_path约束时,时序分析可以忽略其他较低优先级约束(例如偏斜)。
请遵循以下准则,正确地限制时钟域交叉:
- 查看SDC时序约束以确保两个时钟域之间不存在set_false_path约束。
- 要从建立和保持时序分析中移除两个时钟域之间的任何伪路径,请应用set_clock_groups约束,而不是set_false_path约束。set_clock_groups的优先级低于set_false_path 。
- 使用set_net_delay约束两个时钟域之间的路径,以使网络(net)尽可能短。
- 使用set_max_skew约束两个时钟域之间的网络(net)。您可以在Timing Analyzer报告中查看与您的约束相比的结果。
以下命令显示在clk_a时钟域中的data_a与clk_b时钟域中的data_b之间的时钟域交叉的实例约束:
create_clock -name clk_a -period 4.000 [get_ports {clk_a}] create_clock -name 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 -from [get_registers {data_a[*]}] -to [get_registers \ {data_b[*]}] -max -get_value_from_clock_period dst_clock_period \ -value_multiplier 0.8 set_max_skew -from [get_keepers {data_a[*]}] -to [get_keepers {data_b[*]}] \ -get_skew_value_from_clock_period src_clock_period \ -skew_value_multiplier 0.8