文章目录 前言 FPGA设计的时序分析 一、时序分析的概念和必要性。 二、时序分析的分类 三、时序分析工具介绍。 四、时序约束与时序分析的关系。 五、时序分析的好处与隐患。 六、时序分析环节的输出。
时序分析是FPGA开发中十分关键的一个过程,也是复杂FPGA系统开发必须进行的一步,下面摘自《FPGA之道》,一起看看对于时序分析的观点。
时序分析是形式化验证在FPGA领域中的一个非常好的应用典范,它和功能仿真环节一起,并称为FPGA基本开发流程中的验证双雄。对于大部分FPGA项目的开发来说,只要能够保证FPGA设计通过这两个环节的验证,那么项目成功的可能性就非常之大。在此,将对时序分析环节进行一些简要的概念介绍。
时序分析,也叫静态时序分析,英文全称Static Timing Analysis,简称STA。它经由完整的分析方式判断IC是否能在使用者的时序环境下正常工作,为确保IC品质提供了一个很好的解决方案。也许有人会问,我的FPGA设计已经通过了功能仿真,为什么实际测试的时候感觉结果总是相差甚远呢?其实,出现这种情况,十有八九就是因为你的FPGA不满足其目前运行环境中的时序要求,例如时钟频率、传输延迟等。下面,我们就从两个方面来看一下为什么需要对FPGA设计做时序分析?
首先,要搞清楚为什么功能正确的设计在实测的时候会出现问题?这是一个从理想到现实的差距。在理想世界里,我们认为电信号的传递是瞬间的,是不需要消耗时间的,但这仅仅是一个很好的近似。在理论的学习中恰当的近似能够帮我们更好的抓住事物的本质,但在现实生活中,我们就需要考虑更加具体和细节的问题。从理论到现实,有三点需要考虑:
FPGA的基本开发流程中,共有两处可以进行时序分析的地方。第一处是在对FPGA芯片完成映射后,称为映射后时序分析;第二处是对FPGA芯片完成布局布线后,称为布局布线后时序分析。因此时序分析也可以依据此分为两类,不过通常来说,我们只做布局布线后的时序分析即可,因为它最贴近于FPGA芯片真实的情况。因此在这里,我们仅简要介绍一下映射后时序分析。
映射后时序分析环节是FPGA基本开发流程中一个可选的环节,由于它只能利用映射后的电路信息,所以在进行分析时无法考虑到FPGA内部的连线延迟,因此其分析结果的意义不是很大,但是相对于布局布线后时序分析,它也有属于自己的一些优势。
通常来说,各个FPGA厂商都会在它们的FPGA软件集成开发环境中集成自己的静态时序分析工具。对于一般的时序验证来说,这些自带的工具就够用了。
与功能仿真环节类似,样样行就难以样样精,对于专业的FPGA验证来说,一般都是要采用更加专业的静态时序分析工具。例如Synopsys公司的Prime Time,它常被用来分析大规模、同步、数字ASIC以及FPGA设计。
这是两个比较容易混淆的概念,从本质上来说,时序约束与时序分析根本是两回事。时序约束是我们写给编译器的参考,编译器会参考时序约束信息完成布局布线。而时序分析是针对布局布线后的FPGA设计进行分析,看能否实现我们的一些时序要求。由于通常情况下,我们写给编译器的时序约束内容恰恰就等价于我们对布局布线后FPGA设计的时序要求,所以在进行时序分析的时候,并不需要我们再重新写一份时序要求文件。通常,FPGA软件集成开发环境都是这样做的,编译器默认时序约束文件中的内容即是时序分析时的时序要求,所以在进行时序分析的时候,编译器会自动根据时序约束信息生成一份时序要求然后传递给自带的静态时序分析工具,这也是为什么有人经常会将时序约束与时序分析混为一谈。但是在有些情况下,我们是要自己去编写时序要求文件的,并且时序要求文件也不一定就等同于时序约束文件。
时序分析的好处,就在于它采用了形式化的验证方法,从而能够充分保证设计的时序性能正确性。它的基本思想是将整个FPGA设计划分为很多个逻辑锥,然后通过证明每一个逻辑锥都满足时序指标从而推导出整个FPGA设计也是100%满足时序指标的。能够100%确保设计的时序满足情况,就是时序分析最大的好处,关于时序分析详细的原理请参阅【时序分析篇->时序分析的原理】章节。
但是,需要注意的是,由于时序分析中的时序要求是人写的,由于相关人员性格、心情、能力等多方面的原因,导致其无法写出100%正确、100%全面的时序要求。例如,可能对于某些关键路径没有设置脚本进行观察,从而出现遗漏等。所以实际的时序分析结果一般也难以100%证明设计的时序正确性。除此以外,有些静态时序分析工具在进行分析的时候主动的去“加紧”时序约束,潜在的对FPGA设计进行了过于严格的时序要求,从而让原本可以通过时序分析的设计出现了时序问题。因此,以上两点就是时序分析环节存在的一些隐患,在实际的工作中应该要加以注意。
时序分析环节输出的主要内容就是时序分析报告,当然了,如果不是按照编译器默认的方法进行时序分析的话,包含时序要求信息、分析方法以及报告生成的程序文件也算一个。通过阅读时序报告,我们可以判断FPGA设计是否满足给定的时序要求,并可看到一些FPGA内部详细的门延迟和线延迟信息,这些信息是发现问题时修改设计最直接的线索。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删