仅对英特尔可见 — GUID: mwh1410383691035
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: mwh1410383691035
Ixiasoft
2.2.5.1. 创建基本时钟
基本时钟是器件的主要输入时钟。Create Clock(create_clock)约束使您能够定义设计中时钟的属性和要求。 与器件中产生的时钟(例如片上(on-chip) PLL)不同,基本时钟由片外(off-chip)振荡器产生或从一个外部器件转发。由于生成的时钟和其他约束通常引用基本时钟,因此要在.sdc文件的顶部定义基本时钟。Timing Analyzer将忽略那些引用未定义时钟的任何约束。
以下示例显示了create_clock约束的常见用法:
create_clock Command
以下命令指定clk_sys输入时钟端口上的100 MHz要求:
create_clock -period 10 -name clk_sys [get_ports clk_sys]
100 MHz Shifted by 90 Degrees Clock Creation
以下命令创建一个10 ns时钟,占空比为50%,相移90度,并应用于端口clk_sys 。这种类型的时钟定义通常是指相对于时钟中心对齐的源同步双倍速率数据。
create_clock -period 10 -waveform { 2.5 7.5 } [get_ports clk_sys]
驱动同一时钟端口的两个振荡器
您可以使用-add选项将多个时钟应用于同一目标。例如,如果要以两个不同的频率驱动同一时钟输入,那么需要在.sdc文件中输入以下命令:
create_clock -period 10 -name clk_100 [get_ports clk_sys] create_clock -period 5 -name clk_200 [get_ports clk_sys] -add
尽管对一个端口定义两个以上的基本时钟并不常见,但您可以定义适合您设计的多个基本时钟,确保在第一个时钟之后对所有时钟指定-add。
创建多频率时钟
如果您的设计有多个时钟源驱动单个时钟节点,那么必须创建一个多频时钟。附加时钟可以用作低功率(low-power)时钟,其频率低于主时钟。如果您的设计使用多频时钟,那么需要使用set_clock_groups命令定义独占时钟。
使用带有-add选项的create_clock命令在一个时钟节点上创建多个时钟。您可以创建一个10 ns时钟,应用于时钟端口clk,然后将另外15 ns时钟添加到同一时钟端口。Timing Analyzer对这两个时钟进行分析。
create_clock –period 10 –name clock_primary –waveform { 0 5 } \ [get_ports clk] create_clock –period 15 –name clock_secondary –waveform { 0 7.5 } \ [get_ports clk] -add