为了确保有精确的静态时序分析结果,我们必须制定所有的时钟和相关联的时钟的参数。TimeQuest analyzer支持标准的SDC命令,他可以提供各种时钟参数的设置。
TimeQuest analyzer支持一下类型时钟的约束:
1、基础时钟——也就是输入时钟;
2、虚拟时钟——用于做IO约束;
3、多周期时钟;
4、生成时钟;
时钟为同步传输指定时序上的需求,并且指导布线优化算法来达到最佳布线结果。在.sdc文件中应该首先指定clock约束,因为其他的约束会以定义的时钟来作为参考,TimeQuest analyzer读取SDC文件的顺序是从上到下;
创建base clock
base clock 是器件的最前端的输入时钟,她不像PLL时钟产生自期间的内部,她有片外晶振或者片外的前级芯片输入,他应该最先被约束。
从register、Port、pin、来创建时钟约束,采用create_clock命令,一些例程如下:
create_clock -period 10 -waveform { 2.5 7.5 } [get_ports clk_sys]
create_clock -period 10 -name clk_sys [get_ports clk_sys]
create_clock命令的的target经常是一个一个管脚,一般使用get_ports命令,如下:
create_clock -period 10 -name clk_sys [get_ports clk_sys]
可以选用-add选项在同一个时钟节点上增加多个时钟约束设置,