静态时序分析技术提高ASIC时序性能
Dean Bronnenberg
由于ASIC的复杂性不断上升,静态时序分析早已成为标准设计流程的必需环节。新一代的静态时序分析工具功能强大、界面友好并具有极强的渐进分析能力。ASIC设计工程师可以充分利用它发现设计中存在的时序问题,并随之进行优化以满足芯片的性能需求。
在Radix Technology公司,我们的工作是研发远程通信信号处理设备。在许多远程通信设备与主流电子设备中,ASIC都是核心的基础模块,我们也不例外。设计要求ASIC在DSP数字收发系统中完成复杂的算法操作,而且必须一次性成功——因为进度与预算都不允许我们进行第二次流片。
在将设计交付给ASIC厂家之前,必须对其进行彻底的检查与验证。但庞大的设计规模与高复杂度给功能检查与时序验证都带来了巨大障碍,爆炸性增长的测试向量、巨大的硬件计算能力需求以及漫长的仿真过程都在推迟产品的发布时间。基于仿真的传统时序验证方法所消耗的时间与资源已让我们无法接受。
在设计ASIC项目时我们发现:静态时序分析应该也必然成为标准设计流程的必需环节——它为时序检查提供了快速、有效的手段。通过它,我们发现了将导致芯片在使用现场出现问题的所有微小的时序错误。此外,静态时序分析不仅在速度上比功能仿真快几个数量级,而且不需测试向量,节省了大量的向量开发时间。
尽管静态时序分析有其显著的优越性,但设计者一般都不愿采用,因为这方面的工具曾经非常难学难用。令人欣慰的是,新一代工具在用户界面与处理能力上都有了很大改进。在最新的RACE FFT ASIC设计中,我们就使用了Mentor Graphics的SST Velocity工具进行性能验证,效果极佳。通过它,我们进行了整片分析,定位、优化关键路径,最后时序性能得到了35%的提高。工作速度的提高使得RACE FFT ASIC可以直接满足Radix Technology新一代系统的需要,无须转向更小线宽的ASIC工艺。
图1:FFT时钟域构成 RACE FFT包括JTAG时钟域(蓝色)和系统时钟域。系统时钟由两个相对独立的模块构成:FFT核心(红色)I/O、寄存器(绿色)。
设计需求
RACE FFT ASIC是宽带商用远程通信、信号分析和军用系统的核心基础模块。该芯片进行的实时分析与信号生成,在ADSL和高清晰度电视领域总应用非常广泛,如连续实时谱分析、测试设备支持、扩频信号的接收与发送等等。RACE FFT ASIC的核心是一个专利技术实现的可级联的FFT处理器,用于实时数据或复杂数据的处理。它的一些可编程选项能够直接支持前向或逆向FFT、DCT和DST。RACE FFT ASIC完成2048点的复杂FFT只需要两个芯片进行级联,不再需要其他的辅助器件。
RACE FFT ASIC芯片的设计需求与规模(300,000门、386,024位RAM单元、78,753根连线)使验证工作非常具有挑战性。原因在于如果芯片小一些、复杂度降低一些,那么通过功能仿真也可完成验证工作。但在如此大规模的设计当中,仅仅一组时序的功能向量仿真就要在300MHz的Ultrasparc II上花费220个小时。显然,通过功能仿真来验证全片时序是不可能的。此外,为支持JTAG接口,设计中引入了系统时钟与JTAG时钟两个异步时钟域,使验证工作更为复杂。即使使用耗时惊人的功能仿真,也只能验证整个芯片不到25%的时序路径。
因此,我们决定放弃功能仿真手段,引入静态时序方法,以确保ASIC中的所有路径满足时钟速度的需要。因为将静态时序分析与形式验证相结合,可以在保证芯片充分验证的情况下,将设计周期尽可能压缩。事实证明,全片的验证时间只需几分钟。
静态时序分析还有另外一些优点。例如,实行故障检查时,所有节点的电平要完成翻转以检查设计功能的可观察性;而使用静态时序分析工具,通过上跳沿和下跳沿就可检查芯片中所有可能的路径。而且,信号完整性分析可以发现功能仿真中很容易被忽略的问题,并自动确定最坏时序情况下的输入组合,并分析这些情况对电路时序性能的影响。
新浪潮
既然静态时序分析可以如此有效地进行时序检查并显著缩短设计周期,为什么我们没有早一些使用该方法并使其成为标准设计流程中的一环呢?
正如许多新技术一样,第一代静态时序分析工具与人们的期望值之间差距太大:价格昂贵、使用复杂、理解困难,令大多数人最终放弃了尝试。
设计中存在的多个时钟域(这在ASIC设计中经常出现)令第一代工具的使用非常烦琐。由于每次只能对一个时钟域进行分析,用户必须在屏蔽掉设计的其余部分后才能对某个时钟域进行分析。设计中有多少个时钟域就要重复多少次这样的分析,对于大规模设计而言这非常令人厌倦。
既然投资的回报率不高,Radix也和其它电子设计公司一样,要么忽略这项技术,要么将静态时序分析工作外包。外包的成本很高,更糟的是,对返回结果的检查还会花掉许多时间。假如结果不满足要求,就必须进行修改再送出去分析。显然,没有几个公司禁得起太多这样的反复。结果,大多数ASIC设计师放弃了这种技术。
不过,尽管静态时序分析方法存在诸多缺点,但仍然不能被忽略,因为设计需要一次性成功才能在高度竞争的远程通信市场中胜出。因此,已经有一些公司将静态时序分析加入到了正式SIGN-OFF的过程中,确认了这种方法在验证系统规格方面的有效性。
市场压力使我们最终决定在内部使用静态时序分析方法。在对同类工具进行了长时间的考察之后,我们选择Mentor Graphics公司的SST Velocity。它属于第二代产品,界面简单,通过原理图即可让用户迅速定位时序问题的发生位置;在调试中还可实现渐进修改。这样,用户可将发现问题与解决问题的过程合二为一,而无需退出工具;修改网表后重新进行分析即可。另外,该工具还可同时对多个时钟域进行分析。
SST Velocity在基于节点的分析结构中引入了专利算法,实现了非常有效的渐进分析方法,大大缩短了深亚微米下ASIC的验证时间。在进行多次分析时,工具只对电路中用户修改过的部分重新分析,而不是重新分析整个设计,节约了大量的调试时间。
SST Velocity支持标准的网表格式、库文件和反标注格式,可以将其方便地加入到标准的设计流程中。比如,通过直接读取Synopsys的约束文件和支持.lib的库格式集成到Design Compiler的设计流程中。工具中还集成了一个交互式的设置过程,可以自动定位缺少的设计信息并给用户相应的提醒。
我们惊奇地发现,启动并应用SST Velocity的速度非常之快。几小时的时间就已将设计加载并得到了初步的分析结果。报告窗口与原理图和设计层次所建立的动态连接,使我们能够迅速查找并解决时序问题。我们认为,多时钟域分析与渐进分析的功能非常有用。
异步时钟
传统的静态时序分析环境不能分析异步时钟域之间的信号交互情况,用户必须将所有信号手工指出,因此是一件异常困难、耗时惊人的工作。而且,不同的时钟域都需要单独进行分析。新一代工具大大简化了这个过程,只需定义时钟并指定到各个时钟域上即可。在我们的项目中,工具识别出JTAG和系统时钟域,生成时钟域之间的接口报告,并各自独立进行分析。
我们使用了JTAG接口对芯片的工作模式与参数进行编程,这样在时钟域之间就有数百个交互信号。如果沿用老的分析方法手工设置路径,将花费大量的时间与精力。SST Velocity工具自动对交互信号进行分析,消除了时钟域之间的分析边界,节约了大量的时间。
图2:时钟树报告 报告中列出从时钟源到各个目标时钟节点的延迟,方便了时钟偏斜的分析。
在定义了两个时钟域的同时,我们还可以分别定义它们的工作速度:系统时钟60MHz,JTAG时钟40MHz,并设置了所有输入、输出信号的建立保持时间。而且,为了减少clock-to-output延迟,我们对时钟树进行了划分,使之分别连接到普通系统时钟与快速系统时钟,这意味着两棵时钟树之间的交互信号分析变得非常关键。
一个可读性好的报告不仅可以证明系统工作的稳定性,而且提供了从时钟输入到各个负载的延迟报告。一个完整高效的时钟偏斜报告可以分析出最终的版图是否能满足设计时序要求。
渐进分析
传统的工具使用基于路径的分析结构,但ASIC的规模与复杂度上升时,就无法应对了。每一次验证,基于路径的工具都需要跟踪分析电路中的每一条路径。这样,电路中的节点要经过多次访问,结果便是分析时间呈上升指数。而基于节点的工具SST Velocity对每个节点只访问两次,然后将内部节点的时序信息保存起来。在进行多次验证时,只针对电路中用户修改过的部分进行重新分析,验证周期从数小时变成了数分钟,分析时间只会随电路规模呈线性增长,这种体系结构上的优越性使得渐进分析成为可能。
我们的ASIC设计中许多部分都工作在多种模式下,不同模式下的路径不尽相同。使用渐进分析方法时,首先识别出一种模式下的电路延迟,然后在分析另一种工作模式时屏蔽掉前一种模式下的路径,所有这些分析步骤都不需要退出工具重新分析。 由于渐进分析显著提高了分析吞吐率,我们甚至可以进行what-if分析,这在以前的工具中是不可想象的。What-if分析可以让我们试验不同的设计思路,实现性能的最优化。
当然,设计中总是存在一些影响电路性能的关键路径,我们的FFT ASIC也不例外。在识别和优化这些路径时,渐进分析发挥了很大作用。静态时序分析的结果给出了电路的性能和详细的关键路径分析报告,以此为基础我们进行了电路优化。仅仅几个小时,设计的性能提高了35%,吞吐率也从50M上升到了84M。
优化完成之后,我们只需重新分析并检查结果。SST Velocity报告的内容包括错误路径、关键路径以及建立/保持时间等全部信息。
结论
RACE FFT ASIC项目的设计结果让我们认同了SST Velocity静态时序分析工具。它的易用性较之第一代工具有了显著提高,性能价格比极佳,应该纳入到标准设计流程之中。通过what-if分析,电路的时序性能提高了35%,这不仅帮助我们成功地完成了设计目标,而且扩展了产品的使用范围。RACE FFT ASIC最初是针对室内应用系统开发的,但现在其卓越的性能保证了它同样适用于户外工作,静态时序分析在这里扮演了非常重要的角色。 Dean Bronnenberg:具有19年的工程设计经验,其中的16年主要从事ASIC设计与管理。目前在Radix Technologies公司担任ASIC工程设计经理。
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。