TimeQuest的约束和分析流程是与Quartus II的编译流程紧密结合的。如下图所示:
TimeQuest进行约束和分析的对象都来自Quartus II编译流程各阶段的编译结果。二者对应关系如下: riple
1. 分析与解析 riple
Start Analysis & Elaboration -> riple
RTL Viewer riple
Quartus II编译的第一步是纯粹的“逻辑综合”,虽然经过了逻辑优化,但是生成的数据库并不对应FPGA器件的物理结构,生成的网表中节点的名称也不与FPGA器件的Cell名称对应。由于TimeQuest进行约束和分析的对象是FPGA器件的底层物理单元,所以这一步编译过程完成后不能进行TimeQuest时序约束和分析。 riple
这一步在TimeQuest操作流程中没有实际意义。 riple
2. 分析与综合(与映射) riple
Start Analysis & Synthesis -> riple
Technology Map Viewer(Post-Mapping) -> riple
Create Timing Netlist(Post-Map), Specify Timing Constraints, Early Timing Estimate riple
这一编译步骤的名称虽然是“分析与综合”,但是在“综合”后还进行了一步“映射”(Mapping)。Start Analysis & Synthesis = Start Analysis & Elaboration + Mapping。这一步完成后生成的数据库已经对应了FPGA器件的物理结构,可以供TimeQuest进行时序约束之用。由于“映射”过程实际是预先布局过程,“映射”后的数据库包含了FPGA底层Cell的位置信息和Cell本身的时序信息,TimeQuest根据这一数据库生成的时序网表中的节点与FPGA底层Cell是对应的。由于预先布局尚未执行时序驱动的布局和布线工作,也没有读入引脚位置等约束信息,这时的网表不包含布线信息,而且布局结果也会在P&R后发生变化,所以不能获得准确的时序分析结果。在这一步进行的时序分析是Early Timing Estimate,只是根据Cell本身的时序信息和由预布局结果得来的Cell之间的位置关系进行的“估计”。 riple
这一步在TimeQuest操作流程中的意义在于可以进行时序约束和时序预估。 riple
3. 适配(P&R) riple
Start Fitter -> riple
Technology Map Viewer, Chip Planner -> riple
Create Timing Netlist(Post-Fit), Generate Timing Reports riple
这一步骤的名称“适配”对应的操作是“布局和布线”(P&R)。这一步骤是在上一个步骤获得时序约束信息后进行的,Fitter会努力按照时序约束的要求进行布局和布线优化。这一步骤获得的数据库包含了Cell的位置、Cell本身的时序信息和Cell之间连线资源的分布和时序信息,TimeQuest根据这一数据库生成的网表就是FPGA最终实现结果的时序网表,可以反映最终实现结果的时序特性。此时进行的时序分析才是最准确的。 riple
这一步在TimeQuest操作流程中的意义在于可以进行最终的时序分析,并检查适配结果是否满足了时序约束的要求。(如文章开头引用的Quartus II Help文档给出的流程图所示,在这一步才执行时序约束也是可以的,但是如果不指出在第2步就可以进行时序约束,会产生“先有鸡还是先有蛋”的矛盾,这一点就是Altera文档误导读者之处。此外,在这一步才执行时序约束会重复执行P&R操作,浪费编译时间。) riple
在上述流程的每一步中,都有Netlist Viewer与编译和时序分析的对应关系。根据这一对应关系,设计者可以借助Netlist Viewer工具观察编译生成的网表,间接观察和分析TimeQuest生成的对应的时序网表。Netlist Viewer实现了TimeQuest时序约束对象的可视化。 riple
在上述操作流程的最后一步,还可以通过Chip Planner直观察看设计在FPGA中的实现情况,并且与TimeQuest的时序分析报告一一对应。Chip Planner实现了TimeQuest时序分析结果的可视化。 riple
相关链接:在线观看Chinese Version: Validating Performance with the TimeQuest Static Timing Analyzer,离线观看Chinese Version: Validating Performance with the TimeQuest Static Timing Analyzer riple
附图:TimeQuest操作流程。
用户1728910 2013-12-20 23:01
用户450663 2013-11-6 21:28
用户970530 2013-8-4 08:34
ilove314_323192455 2009-2-7 12:16
用户199656 2009-2-6 12:21
ash_riple_768180695 2008-11-18 12:59
用户142049 2008-11-17 23:19
用户1062002 2006-12-15 18:36
我会一直记得这个家的,呵!
用户1053025 2006-12-15 14:22