微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 消费类电子 > 手机数字基带处理芯片中的静态时序分析

手机数字基带处理芯片中的静态时序分析

时间:12-19 来源:互联网 点击:

1.引言


随着深亚微米技术的发展,数字电路的规模已经发展到上百万门甚至上千万门。工艺也从几十um提高到65nm甚至45nm。这样的电路规模做验证的时间在整个芯片的开发周期所占的比例会越来越重。通常,在做验证的时候,我们都会采用动态验证的方法。现在,用静态验证方法(STA Static Timing Analysis),不仅能够完成验证的工作,而且还能大大节省验证所需要的时间。静态时序分析简称它提供了一种针对大规模门级电路进行时序验证的有效方法。静态时序分析是相对于动态时序分析而言的。动态时序分析时不可能产生完备的测试向量,覆盖门级网表中的每一条路径。因此在动态时序分析中,无法暴露一些路径上可能存在的时序问题;而静态时序分析,可以方便地显示出全部路径的时序关系,因此逐步成为集成电路设计签字认可的标准。

2.静态时序分析工作原理

本文以Synopsys公司的Prime Time SI作为时序分析的工具,介绍静态时序分析的工作原理。Prime Time把整个设计电路打散成从主要的输入端口到电路触发器、从触发器到触发器、从触发器到主要输出端口、从主要的输出端口到主要的输出端口、四种类型的时序路径,分析不同路径的时序信息,得到建立时间(setup time)和保持时间(hold time)的计算结果。而Prime time SI又在Prime time的基础上加入串扰分析(Crosstalk analysis)。串扰是由两个或者多个物理相邻连线之间的容性交叉耦合(capacitive cross-coupling)产生的相互作用。随着工艺越来越进步,在130nm或者90nm的工艺下,串扰的影响已经变得与单元延迟和线延迟一样重要。

2.1 时序路径的分析

整个电路的静态时序分析都是由时序路径分析组成。时序路径分析就是检查从发射沿(lunching edge)到捕获沿(capturing edge)的时间是否满足设计的需要。它主要可以分为两类:

(1)建立时间路径

这种路径用于检查信号在到达捕获沿之前的一段稳定时间(setup time),也就是确定从发射沿到捕获沿的过程是否足够快。建立路径包括普通的数据到时钟的建立路径、数据到数据以及时钟门的路径。如果最晚的一个发射沿到最早的一个捕获沿之间的时间满足时序要求(没有timing violation),才能确保这条建立路径都满足条件。

(2)保持时间路径

这种路径用于检查信号在到达捕获沿之后的一段稳定时间的(hold time),也就是确定从发射沿到捕获沿的时间是否太短。包括普通的数据到时钟的建立路径、数据到数据以及时钟门的路径、异步信号同步化的检查。为了正确的分析,我们检查保持路径时必须检查最早的一个发射沿到最晚的一个捕获沿之间的时间满足时序要求。

如图1中发射部分由所有的时钟端口到触发器FF2的D端口之间的单元(包括U1、U2、FF1、U4)和线组成;捕获部分由所有的时钟端口到触发器FF2的时钟端口之间的单元(U1、U3、FF2)和线组成。其中U1既属于建立路径又属于保持路径。那么,建立路径就应该结合到FF2的D端口最慢的路径和到其时钟端口最快的路径来看。保持路径则相反,我们应该找到达FF2D端口最快的路径和到其时钟端口最慢的路径。对于Setup Time验证来说:

Slack=Required Time – Arrival Time

对于Hold Time验证来说:

Slack= Arrival Time –Required Time

Slack为正值,表示满足时序要求


图1 建立/保持路径示意图


(3)PT工作流程


图2为PT的工作流程,我们可以看出静态时序分析是一个反复进行的过程。直到结果满足要求为止。


图2 PT工作流程


芯片在工作时所处的环境是不同的,然而环境的不同导致芯片内部的单元和线的延迟不同。为了使芯片在大多数环境下都能正常工作,PT中提供了三种分析模式:single、bc_wc、on_chip_variation。我们平时常用的是bc_wc模式,它把环境用工艺制程(process)、温度(temperature)、电压(voltage)分为以下3种情况:

1)、best case:工艺制程:1;理想温度零下40摄氏度;电压1.32V(此芯片额定电压为1.2V)

2)、typical case:工艺制程:1;室温环境25摄氏度;电压1.2V

3)、worst case: 工艺制程:1;125摄氏度;电压1.08v

为了测试芯片在投片生产和封装整个制造过程是否出现物理等方面的缺陷导致功能不正确。现在的超大规模集成电路的设计中,都加入了可测性设计(DFT:Design for Test)电路。当芯片工作于测试模式时,时钟树的结构与功能模式完全不同。我们必须在测试模式下也要分以上3种情况做静态时序分析。

3.静态时序分析与门级仿真的关系

静态时序分析也有自己的弱点,它无法验证电路功能的正确性。值得注意的是,静态时序分析只能有效地验证同步时序的正确性,大部分设计中可能包含地异步电路的时序验证,则必须通过门级仿真来保证其时序的正确性。

根据以上对静态时序分析的介绍,我们做门级仿真也应该分别仿真功能模式和测试模式下的best case、typical case、worst case三种情况,但是侧重点有所不同。功能模式下,大部分电路我们只需要验证worst case和best case就可以认为是正确的,但是在我们芯片的设计中,曾经过出现worst case和best case通过而typical case仿真失败的情况。这是因为有的电路中寄存器级数太多,时钟偏移(clock skew)对电路的影响造成的。虽然这种情况即使在百万门级以上的设计中也很少见,但为了提高芯片成功率,对于关键路径,关键模块,需要仿真3中情况。测试模式一般工作在室温环境,它的仿真我们只需要关心typical case就可以了。

静态时序分析工具无法验证异步时钟的电路。然而现在芯片中可能存在异步时钟电路,如我们的TDS-CDMA数字基带处理芯片中,就有二十几个异步时钟域。在PT中,所有异步时钟域的路径都必须被设为false_path(表示不关心该路径)。由于RTL级功能仿真也不能发现异步时钟域之间信号的错误,我们在门级仿真时需要特别注意异步时钟域之间的信号的验证。

我们还可能遇到门级仿真失败,但是PT中并没有报错的情况。经过反复试验分析,可能会有以下几种情况导致它们的结果不一致:

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top