仅对英特尔可见 — GUID: ntz1535573669856
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: ntz1535573669856
Ixiasoft
2.2.4.2. 实体绑定的约束示例(Entity-bound Constraint Examples)
以下示例显示了实体绑定约束的自动和手动范围。
图 60. 自动范围示例(Automatic Scope Example)
下表列出了约束的自动范围,应用于图 60 。
约束示例(Constraint Example) | 实例X|Y的Auto-Scope约束解释 |
---|---|
set_false_path -from [get_keepers a] | set_false_path -from [get_keepers X|Y|a] |
set_false_path -from [get_registers a] -to “*” | set_false_path -from [get_registers X|Y|a] |
set_false_path –from [get_clocks clk_1] –to [get_clocks clk_2] | set_false_path –from [get_clocks clk_1] –to [get_clocks clk_2] |
set_max_delay –from [get_ports in] -to [get_registers A] 2.0 | set_max_delay –from [get_ports in] -to [get_registers X|Y|A] 2.0 |
get_ports * | get_ports * |
get_clocks * |
get_clocks * |
get_ports a |
get_ports a |
get_clocks a |
get_clocks a |
注: 在表中,get_ports a和get_clocks a是简单示例,对集合过滤器使用一个任意名称。这些示例显示了get_ports和get_clocks的集合过滤器不受自动约束作用域(automatic constraint scoping)的限制,因为端口和时钟是全局的顶层目标,从不在一个实例的范围内。
图 61. 手动范围示例(Manual Scope Example)
下表列出了约束的手动范围,应用于图 61 。
约束示例(Constraint Example) | 手动范围约束解释(Manual Scope Constraint Interpretation) |
---|---|
set_false_path –from [get_current_instance] |d\ –to [get_current_instance]|e |
set_false_path –from i1|inner|d –to i1|inner|e set_false_path –from i2|inner|d –to i2|inner|e \ set_false_path –from i3|d –to i3|e |
create_generated_clock –divide_by 2 –source \ [get_ports inclk] –name \ [get_current_instance]_divclk \ [get_current_instance]|div set_multicycle_path –from [get_current_instance]|a\ –to [get_current_instance]|b 2 |
create_generated_clock –divide_by 2 –source \ [get_ports inclk] –name “i1_divclk” i1|div set_multicycle_path –from i1|a –to i1|b 2 \ create_generated_clock –divide_by 2 –source \ [get_ports inclk] –name “i2_divclk” i2|div set_multicycle_path –from i2|a –to i2|b 2 |