仅对英特尔可见 — GUID: mwh1410383775183
Ixiasoft
2.1.5.1. 时序报告命令
2.1.5.2. Fmax汇总报告(Fmax Summary Report)
2.1.5.3. Report Timing命令
2.1.5.4. 报告逻辑电平深度
2.1.5.5. 报告相邻路径(Report Neighbor Paths)
2.1.5.6. Report CDC Viewer命令
2.1.5.7. Report Custom CDC Viewer命令
2.1.5.8. 报告时间借用数据
2.1.5.9. 将约束与时序报告相关联
2.1.5.10. 从Timing Analyzer运行Design Assistant
2.1.5.11. 在其他工具中定位时序路径
2.2.1. 建议的初始SDC约束
2.2.2. SDC文件优先级
2.2.3. 迭代约束修改(Iterative Constraint Modification)
2.2.4. 使用实体绑定的SDC文件(Using Entity-bound SDC Files)
2.2.5. 创建时钟和时钟约束
2.2.6. 创建I/O约束
2.2.7. 创建延迟和偏移约束(Creating Delay and Skew Constraints)
2.2.8. 创建时序异常(Creating Timing Exceptions)
2.2.9. 使用Fitter过约束(Using Fitter Overconstraints)
2.2.10. 示例电路和SDC文件
仅对英特尔可见 — GUID: mwh1410383775183
Ixiasoft
2.2.8.4.2. Relaxing Setup with Multicycle (set_multicyle_path)
当数据传输速率低于时钟周期时,可以使用多周期异常。 当时序分析接受数据为有效时,放宽设置关系会增加窗口。
在下面的示例中,源时钟的周期为10 ns,但时钟使能一组寄存器,因此寄存器只有每隔一个周期使能。由于寄存器由一个10 ns时钟驱动,因此Timing Analyzer报告10 ns的设置,0 ns的保持。但是,由于数据每隔一个周期传输一次,因此Timing Analyzer必须分析关系,就像时钟工作在20 ns一样。这会导致20 ns的设置,而保持仍为0 ns,从而为数据识别扩展了窗口。
下面一对多周期约束(assignments)通过指定-setup值为N和-hold值为N-1来放宽设置关系。您必须使用-hold约束来指定保持关系,以防止正保持要求。
Constraint to Relax Setup and Maintain Hold
set_multicycle_path -setup -from src_reg* -to dst_reg* 2 set_multicycle_path -hold -from src_reg* -to dst_reg* 1
图 77. 多周期设置关系
您可以扩展此模式以创建更大的设置关系,以简化时序收敛要求。此异常的一个常见用途是通过I/O接口写入异步RAM。地址,数据和写使能之间的延迟可以是几个周期。I/O端口的多周期异常允许在使能发生之前有额外的时间来解析地址和数据。
以下约束将设置放宽(relax)三个周期:
三周期I/O接口约束
set_multicycle_path -setup -to [get_ports {SRAM_ADD[*] SRAM_DATA[*]} 3 set_multicycle_path -hold -to [get_ports {SRAM_ADD[*] SRAM_DATA[*]} 2