小强子

关于quartus ii时序约束

0
阅读(3600)
既然明白了时序约束的基本概念,那么该如何进行时序约束呢,首先应该掌握的就是看时序报告,因为时序报告中会给出各种路径,如果不看时序报告,单从代码或者RTL等Viewer是很难看出路径,而且几乎是无法知道具体的延时时间,所以第一次RUN后就可以得出各种时序报告了。
Classic Timing Analysis之后
关于quartus ii时序约束(2) - 白色 - gor
 从图中可以看出,Clock Setup :‘clk’就是查看各种最差路径的报告,第一条就是最差路径了,时钟为7.889ns,频率为126.76,所以要是想让设计跑得更快就必须约束前面几条的最差路径,这相当于木板桶,装多少水是看最差的那块板的。下面我们就来看看究竟这条最差的路径是什么,最差的路径是怎么计算得来的。
右键点击最差路径,选择List Path 可以再得出以下信息:
关于quartus ii时序约束(2) - 白色 - gor
也即是
关于quartus ii时序约束(2) - 白色 - gor
 所以7.889ns = +7.608 - (-0.017) + 0.304 + (-0.040)
从第二行的英文可以看出,延时信息为寄存器到寄存器
   第三行为时钟偏斜Tclk1 - Tclk2
   第四行为时钟输出延时Tco
   第五行为目的寄存器的建立时间

把第二行的+号点开得到:
关于quartus ii时序约束(2) - 白色 - gor
 上图又详细地说明了寄存器到寄存器的延时是怎么得到的,其实每个Info就是一条路径,指的是寄存器到寄存器有很多条不同的路径,所以最差的路径就造就了最终的延时,可以看出Info 6这条路径的延时最长的为7.608,所以这就是最终寄存器到寄存器的延时。
IC:互连线延时  CELL:逻辑单元延时   Fanout:扇出系数  

最后两行还会写出逻辑延时和连线延时所占占得比例

然后点开时钟偏移的+号得到如图:
关于quartus ii时序约束(2) - 白色 - gor
 明确写出了clk管脚到目标寄存器的延时和clk管脚到源寄存器的延时 最终 -0.017=2.865-2.882

关于各种locate都是差不多的了,都是为了让设计者看出各种延时。 

其中
关于quartus ii时序约束(2) - 白色 - gor
 报告的是输入管脚到寄存器的延时,或者寄存器到输出管脚的延时。