关于quartus ii时序约束
0赞
发表于 11/23/2014 9:54:28 PM
阅读(3600)
既然明白了时序约束的基本概念,那么该如何进行时序约束呢,首先应该掌握的就是看时序报告,因为时序报告中会给出各种路径,如果不看时序报告,单从代码或者RTL等Viewer是很难看出路径,而且几乎是无法知道具体的延时时间,所以第一次RUN后就可以得出各种时序报告了。
所以7.889ns = +7.608 - (-0.017) + 0.304 + (-0.040)
报告的是输入管脚到寄存器的延时,或者寄存器到输出管脚的延时。
Classic Timing Analysis之后
从图中可以看出,Clock Setup :‘clk’就是查看各种最差路径的报告,第一条就是最差路径了,时钟为7.889ns,频率为126.76,所以要是想让设计跑得更快就必须约束前面几条的最差路径,这相当于木板桶,装多少水是看最差的那块板的。下面我们就来看看究竟这条最差的路径是什么,最差的路径是怎么计算得来的。
右键点击最差路径,选择List Path 可以再得出以下信息:
也即是
从第二行的英文可以看出,延时信息为寄存器到寄存器
第三行为时钟偏斜Tclk1 - Tclk2
第四行为时钟输出延时Tco
第五行为目的寄存器的建立时间
把第二行的+号点开得到:
上图又详细地说明了寄存器到寄存器的延时是怎么得到的,其实每个Info就是一条路径,指的是寄存器到寄存器有很多条不同的路径,所以最差的路径就造就了最终的延时,可以看出Info 6这条路径的延时最长的为7.608,所以这就是最终寄存器到寄存器的延时。
IC:互连线延时 CELL:逻辑单元延时 Fanout:扇出系数
最后两行还会写出逻辑延时和连线延时所占占得比例
然后点开时钟偏移的+号得到如图:
明确写出了clk管脚到目标寄存器的延时和clk管脚到源寄存器的延时 最终 -0.017=2.865-2.882
关于各种locate都是差不多的了,都是为了让设计者看出各种延时。
其中
