Xilinx Timing Analyzer使用札记
0赞虽说当初刚接触FPGA的时候学的是ISE,但是真正深入学习还是在Quartus II平台 上。现在项目需要,又得重新来玩转ISE了,虽说QII和ISE很多东西是相通的,不过还是有那么点操作上的差异在里头。用惯了TimeQuest的特权同学折腾起这个Xilinx Timing Analyzer也是一愣一愣的,好不适应。
花了点时间在Help上,还好这个Help的说明还是蛮到位的。列几个常用的技巧或者说是简单的操作以及特权同学遇到的问题在这里和大家一起学 习和探讨。
1. 四 种时序分析查看方式。在同等条件下,其实这四种查看方式得到的时序报告结果是一致的,因为它是基于一个时序结果进行的。如图1所示,工具栏上的这四个时序分析按钮分别代表了(从左到右):
序号 |
功能 |
1 |
根据时序约束产生的时序分析报告。 |
2 |
自动产生的时序分析报告。在同等的 时序约束条件下,那么该报告的结果肯定和1的结果是大同小异的。 |
3 |
用户指定的路径的时序报告,主要是 路径端点的时序报告。 |
4 |
用户指定的路径的时序报告,主要是 时钟或者IO的时序报告。 |
图1
2. 打 开Xilinx Floorplanner或Xilinx FPGA Editor后,在详细时序报告中点击任何一条路径或者net等,这里点击了Data Path:dsp_addr<10> to uut dspc/Mtridata dsp_out_dbr_5(如图2),相应的可以看到其在Floorplanner(如 图3)或FPGA Editor中 的位置(如图4)。
图2
图3
图4
3. 在查看unconstrained path ayalysis时,遇到了一些问题,clk是FPGA片外晶振输入的时钟,从PAD输入后直接连到DLL,而不直接钟控任何寄存器。但是在unconstrained path报告中却出现了clk到内部所有寄存器的 路径。详细的查看这些路径,发现这些路径无外乎是内部DLL输出的两个使用到的时钟的路径。如图5和图6所示。
图5
图6
而特权同学希望添加一个clk到all FFT的Flase path,但是
TIMESPEC "TS_CLK" = FROM "clk" TO "FFS" TIG;
这条语句约束得到的是约束工具的报错信息,因 为之前有clk的时钟约束:
NET "clk" TNM_NET = "clk";
TIMESPEC "TS_clk" = PERIOD "clk" 40 ns HIGH 50 %;
不知道他们之间是否有冲突,虽然最后的unconstrained报告大可不必介意,但是这个false路径总应该有个约束的办法,只是特权同学现在还没有搞定其中的问题所在。