静态时序分析071936.pdf

上传人:X** 文档编号:61401218 上传时间:2022-11-21 格式:PDF 页数:19 大小:2.31MB
返回 下载 相关 举报
静态时序分析071936.pdf_第1页
第1页 / 共19页
静态时序分析071936.pdf_第2页
第2页 / 共19页
点击查看更多>>
资源描述

《静态时序分析071936.pdf》由会员分享,可在线阅读,更多相关《静态时序分析071936.pdf(19页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、谋事在人,成事在天!增广贤文人之为学,不日进则日退,独学无友,则孤陋而难成;久处一方,则习染而不自觉。顾炎武静态时序分析 前言 在制程进入深次微米世代之后,晶片(IC)设计的高复杂度及系统单晶片(SOC)设计方式兴起。此一趋势使得如何确保 IC 品质成为今日所有设计从业人员不得不面临之重大课题。静态时序分析(Static Timing Analysis 简称 STA)经由完整的分析方式判断 IC 是否能够在使用者的时序环境下正常工作,对确保 IC 品质之课题,提供一个不错的解决方案。然而,对于许多 IC 设计者而言,STA 是个既熟悉却又陌生的名词。本文将力求以简单叙述及图例说明的方式,对 S

2、TA 的基础概念及其在 IC 设计流程中的应用做详尽的介绍。什么是 STA?STA 的简单定义如下:套用特定的时序模型(Timing Model),针对特定电路分析其是否违反设计者给定的时序限制(Timing Constraint)。以分析的方式区分,可分为 Path-Based及 Block-Based 两种。先来看看 Path-Based 这种分析方式。如图一所示,讯号从 A 点及 B 点输入,经由 4 个逻辑闸组成的电路到达输出 Y 点。套用的 Timing Model 标示在各逻辑闸上,对于所有输入端到输出端都可以找到相对应的延迟时间。而使用者给定的 Timing Constraint

3、 为:1.讯号 A 到达电路输入端的时间点为 2(AT=2,AT 为 Arrival Time)。2.讯号 B 到达电路输入端的时间点为 5(AT=5)。3.讯号必须在时间点 10 之前到达输出端 Y(RT=10,RT 为 Required Time)。现在我们针对 P1 及 P2 两条路径(Path)来做分析。P1 的起始点为 A,讯号到达时间点为 2。经过第 1 个逻辑闸之后,由于此闸有 2 单位的延迟时间,所以讯号到达此闸输出的时间点为 4(2+2)。依此类推,讯号经由 P1 到达输出 Y 的时间点为 7(2+2+3)。在和上述第三项 Timing Constraint 比对之后,我们可

4、以得知对 P1 这个路径而言,时序(Timing)是满足使用者要求的。按照同样的方式可以得到讯号经由路径 B 到达输出 Y 的时间点为 11(5+1+3+2),照样和上述第三项 Timing Constraint 比对,我们可以得知对 P2 这个路径而言,Timing 是不满足使用者要求的。勿以恶小而为之,勿以善小而不为。刘备谋事在人,成事在天!增广贤文 对图一的设计而言,总共有 6 个讯号路径。对于采用 Path-Based 分析方式的 STA 软体来说,它会对这 6 个讯号路径作逐一的分析,然后记录下结果。IC 设计者藉由检视其分析报告的方式来判断所设计的电路是否符合给定的 Timing

5、Constraint。由于最常用来做静态时序分析验证核可(STA Signoff)的 EDA 软体 PrimeTime?采用 Path-Based 的分析方式,所以本文将以 Path-Based 的分析方式介绍为主。再来看看 Block-Based 的分析方式。此时时序资讯(Timing Information)的储存不再是以路径为单位,而是以电路节点(Node)为单位。由 Timing Constraint 我们仅能得知 A 节点的 AT 为 2,B 节点的 AT 为 5 以及 Y 节点的 RT 为 10。Block-Based 的分析方式会找出每个节点的 AT 和 RT,然后比对这两个数值

6、。当 RT 的值大于 AT 时表示讯号比 Timing Constrain 中要求的时间还早到达,如此则 Timing 是满足的,反之则不满足。STA 资料准备 在做 STA 之前,我们必须对其准备工作有充分的了解。STA 所需的资料如图三所示,以下我们分项说明。其中 Design Data 部分,由于 Block Model 和 STA 软体相关性太高,我们不在此加以说明,请直接参阅您 STA 软体的使用手册。图 三 Library Data:我尽一杯,与君发三愿:一愿世清平,二愿身强健,三愿临老头,数与君相见。白居易以家为家,以乡为乡,以国为国,以天下为天下。管子牧民STA 所需要的 Ti

7、ming Model 就存放在标准元件库(Cell Library)中。这些必要的时序资讯是以 Timing Arc 的方式呈现在标准元件库中。Timing Arc 定义逻辑闸任两个端点之间的时序关系,其种类有 Combinational Timing Arc、Setup Timing Arc、Hold Timing Arc、Edge Timing Arc、Preset and Clear Timing Arc、Recovery Timing Arc、Removal Timing Arc、Three State Enable&Disable Timing Arc、Width Timing Ar

8、c。其中第 1、4、5、8 项定义时序延迟,其他各项则是定义时序检查。图 四 Combinational Timing Arc 是最基本的 Timing Arc。Timing Arc 如果不特别宣告的话,就是属于此类。如图四所示,他定义了从特定输入到特定输出(A到Z)的延迟时间。Combinational Timing Arc 的 Sense 有三种,分别是 inverting(或 negative unate),non-inverting(或 positive unate)以及 non-unate。当 Timing Arc 相关之特定输出(图四 Z)讯号变化方向和特定输入(图四 A)讯号变化

9、方向相反(如输入由 0 变 1,输出由 1 变 0),则此 Timing Arc 为 inverting sense。反之,输出输入讯号变化方向一致的话,则此 Timing Arc 为non-inverting sense。当特定输出无法由特定输入单独决定时,此 Timing Arc 为 non-unate。图 五 图 六 天行健,君子以自强不息。地势坤,君子以厚德载物。易经天行健,君子以自强不息。地势坤,君子以厚德载物。易经 图 七 图 八 图 九 图 十 图 十一 图 十二 其他的 Timing Arc 说明如下。忍一句,息一怒,饶一着,退一步。增广贤文人人好公,则天下太平;人人营私,则天

10、下大乱。刘鹗 Setup Timing Arc:定义序向元件(Sequential Cell,如 Flip-Flop、Latch 等)所需的 Setup Time,依据 Clock 上升或下降分为 2 类(图五)。Hold Timing Arc:定义序向元件所需的 Hold Time,依据 Clock 上升或下降分为 2 类(图六)。Edge Timing Arc:定义序向元件 Clock Active Edge 到资料输出的延迟时间,依据 Clock 上升或下降分为 2 类(图七)。Preset and Clear Timing Arc:定义序向元件清除讯号(Preset 或 Clear)发

11、生后,资料被清除的速度,依据清除讯号上升或下降及是 Preset 或 Clear 分为 4 类(图八)。这个 Timing Arc 通常会被取消掉,因为它会造成讯号路径产生回路,这对 STA 而言是不允许的。Recovery Timing Arc:定义序向元件 Clock Active Edge 之前,清除讯号不准启动的时间,依据 Clock 上升或下降分为 2 类(图九)。Removal Timing Arc:定义序向元件 Clock Active Edge 之后,清除讯号不准启动的时间,依据 Clock 上升或下降分为 2 类(图十)。Three State Enable&Disable

12、Timing Arc:定义 Tri-State 元件致能讯号(Enable)到输出的延迟时间,依据 Enable 或 Disable 分为 2 类。(图十一)Width Timing Arc:定义讯号需维持稳定的最短时间,依据讯号维持在 0 或 1的位准分为 2 类。(图十二)上文列出了标准元件库内时序模型的项目,但对其量化的数据却没有加以说明。接下来,我们就来看看到底这些时序资讯的确实数值是如何定义在标准元件库中的。以 Combinational Timing Arc 为例,讯号从输入到输出的延迟时间可以描述成以输入的转换时间(Transition Time)和输出的负载为变数的函数。描述的

13、方式可以是线性的方式,如图十三所示。也可以将这 2 个变数当成指标,建立时序表格(Timing Table),让 STA软体可以查询出正确的延迟时间。这种以表格描述的方式会比上述线性描述的方式准确许多,因此现今市面上大部分的标准元件库皆采用产生时序表格的方式来建立 Timing Model。图 十三 我们举个简单的例子来说明 STA 软体如何从时序表格计算出元件延迟时间。(图十四)百川东到海,何时复西归?少壮不尽力,老大徒伤悲。汉乐府长歌行百学须先立志。朱熹 图十四 元件延迟时间(Ddelay):输入达逻辑 1 位准 50%到输出达逻辑 1 位准 50%的时间。元件转换时间(Dtransiti

14、on):输出达逻辑 1 位准 20%(80%)到 80%(20%)的时间。当输入的转换时间为 0.5,输出负载为 0.2 时,可由图十四的时序表格查得元件 I2 的延迟时间为 0.432。而由于表格的大小有限,对于无法直接由表格查询到的延迟时间(如输入转换时间 0.25,输出负载 0.15),STA 软体会利用线性内插或外插的方式计算延迟时间。对于其他的 Timing Arc,不管是时序延迟或时序检查,其相对应的时序数值计算和上例的计算方式是一样的。接下来我们说明操作环境(Operating Condition)对时序的影响。操作环境指的是制程(Process)、电压(Voltage)、温度(

15、Temperature)三项因子。这三项因子通常会被简称为 PVT,其对时序的影响可用下方线性方程式来描述。其中 nom_process、nom_voltage及 nom_temperature 会定义在标准元件库中,代表建立时序表格时的操作环境。Interconnect Data:古之立大事者,不惟有超世之才,亦必有坚忍不拔之志。苏轼非淡泊无以明志,非宁静无以致远。诸葛亮 在什么是 STA段落的例子中,为了方便说明,我们并没有把逻辑闸和逻辑闸间的连线延迟(Interconnect Delay)考虑在内。事实上,许多 DSM IC 设计之时序表现是由连线延迟主导的,其重要性不容我们忽视。连线延

16、迟依照布局与绕线(P&R)前后有不同的考量。在布局与绕线前,元件在晶片中摆放的位置尚未确定,所以连线延迟是一个预估值。而在布局与绕线之后,连线延迟则是根据实际绕线计算出来的。对布局与绕线之前的连线延迟,通常是用 Wireload Model 来预估。Wireload Model 根据晶片面积的预估大小及连线驱动元件数目(Fan-out)的多寡来决定连线的电阻和电容值,STA 软体则利用这些电阻电容值计算出连线延迟。在布局与绕线之后,可以利用电阻电容萃取(RC Extraction)软体将绕线图形转换成实际的电阻电容电路,然后贴回(Back-annotate)STA 软体计算连线延迟。Timin

17、g Constraints:Timing Constraint 为使用者所给定,用来检验设计电路时序的准则。其中最重要的一项就是时脉(Clock)的描述。对于一个同步电路而言,暂存器和暂存器之间的路径延迟时间必须小于一个 Clock 周期(Period),也就是说,当我们确认了 Clock 规格,所有暂存器间的路径的 Timing Constraint 就会自动给定了。图十五 Clock 规格包含波形、Latency 及 Uncertainty 的定义。波形定义一个 Clock 的周期及讯号上升缘及下降缘的时间点。Latency 定义从 Clock 来源到序向元件 Clock 输入端的延迟时间

18、。Uncertainty 则定义 Clock 讯号到序向元件 Clock 输入端可能早到或晚到的时间。如果上面的文字让你有不知所云的感觉,那底下看图说故事的解说也许会让你有比较清晰的概念。在图十五的电路中,左边的正反器(Flip-Flop)在第一个 Clock 上升缘时会丢出资料,此资料会在第二个 Clock 上升缘让右边的 Flip-Flop 撷取。要分析右边的 Flip-Flop 能否正确撷取资料就必须知道第一个 Clock 上升缘到达节点 C1 的时间点和第二个上升缘到达节点C2 的时间点。假设在时间点为 0 的时候,Clock 讯号由 S 点出发,经过一段时间(source laten

19、cy,1 个时间单位,模拟晶片外的 Clock 延迟时间,例如板子上的绕线产生的讯号延迟时间)到达电路的 Clock 输入端点 P,接下来再经过一段时间(晶片内 Clock 绕线造成的讯先天下之忧而忧,后天下之乐而乐。范仲淹人不知而不愠,不亦君子乎?论语号延迟时间),Clock 讯号分别到达 C1 和 C2 节点。如果电路已经进行布局与绕线,输入端点 P 到 C1 和 C2 的讯号延迟时间可由连线上的寄生电阻电容计算得来。比方说,经过计算发现讯号由 P 传递到 C1 需要 1 个时间单位,由 P 传递到 C2 需 2 个时间单位,则 Clock讯号第一个上升缘到达 C1 和第二个上升缘到达 C

20、2 的时间点就会如图十六下方两列所示,分别为时间点 2 和 13(因为加上了 1 个时间单位的 source latency)。图十六 在布局与绕线之前,我们无法准确得知 P 到 C1 和 C2 的讯号延迟时间,仅能先做个预估。图十五的 network latency 及上文提到的 Uncertainty 就是用来做此种预估的。先假设我们拥有某种完美的布局与绕线软体可以让 Clock 输入端点 P 到所有 Flip-Flop 的 Clock 输入端的讯号延迟时间一模一样,那么我们只要知道这个讯号延迟时间就可以得到 Clock 讯号到达C1 和 C2 的时间点了。这个讯号延迟时间可以藉由电路特性

21、(如预估面积大小,Flip-Flop数目等)来做预估,而这个预估值就是所谓的 network latency。如果这种完美的软体存在的话,那Clock的上升缘到达C1和C2的时间点就可以由Latency(source latency+network latency)计算出来。很不幸的,世界上没有这么完美的软体,在布局与绕线后 Clock 输入端点 P 到所有 Flip-Flop的 Clock 输入端的讯号延迟时间不会完全一样。也就是说 Clock 的某个上升缘不会同时到达C1 和 C2。因此我们要对上述的预估值做些修正,加入 Uncertainty 的描述来定义 Clock 上升缘左右移动的可

22、能范围。在图十六中,Uncertainty 为 1 个时间单位,所以 Clock 第一个上升缘会在时间点 3(因为 Latency 为 3)左右 1 时间单位范围内(也就是时间点 2 到时间点 4)到达 C1,。第二个上升缘则会在时间点 12 到 14 的范围内到达 C2。老当益壮,宁移白首之心;穷且益坚,不坠青云之志。唐王勃丈夫志四方,有事先悬弧,焉能钧三江,终年守菰蒲。顾炎武除了 Clock 之外,对于电路其他输出输入端点及其周边的环境(Boundary Condition)也要加以描述。在说明 Boundary Condition 之前,我们得对路径(Path)有更进一步的了解。上文曾提

23、及 STA 会将电路中所有的 Path 找出来加以分析,但 Path 的定义是什么呢?Path 根据起点及终点可以分为 4 种:1.由 Flip-Flop Clock 输入到 Flip-Flop 资料输入(图十七左上)。2.由主要输入(Primary Input,简称 PI)到 Flip-Flop 资料输入(图十七右上)。3.由 Flip-Flop Clock 输入到主要输出(Primary Output,简称 PO)(图十七左下)。4.由主要输入到主要输出(图十七右下)。当 Clock 规格确定了之后,第 1 种 Path 的时序限制(Timing Constraint)就自动的给定了。为了

24、给定其他 3 种 Path 的时序限制,我们必须定义 Boundary Condition。一般来说,我们会定义下列的 Boundary Condition:1.Driving Cell:定义输入端点的推动能力(图十八)。2.Input Transition Time:定义输入端点的转换时间(图十八)。3.Output Capacitance Load:定义输出负载(图十八)。4.Input Delay:输入端点相对于某个 Clock 领域的延迟时间。(图十九,Delayclk-Q+a)5.Output Delay:自输出端点往外看相对于某个 Clock 领域的延迟时间。(图十九,c)在这些

25、Boundary Condition 定义之后,上述 4 种 Path 事实上都可看成是第 1 种 Path(Flip-Flop 到 Flip-Flop)。也就是说,加上 Boundary Condition 后,只要 Clock 给定,所有 Path 的 Timing Constraint 就会自动给定。一寸光阴一寸金,寸金难买寸光阴。增广贤文丹青不知老将至,贫贱于我如浮云。杜甫 图十八 图十九 由于每个 Path 都有 Timing Constraint,所以时序分析都能够进行。但在某些情况下,有些Path 的分析可能没有意义,因此你会想忽略这些 Path 的分析。或是有些 Path 分析

26、的方式不一样,你会想指定这些 Path 的分析方式。此时就要设定一些 Timing Exception,如 False Path 和 Multi-cycle Path 等等来处理非一般性的时序分析。STA 流程及分析方式 STA 的流程如图二十所示,而其分析验证的项目就是我们前文提及之时序检查相关的Timing Arc,如 Setup Time、Hold Time 等等。以下我们针对 Setup Time 举 1 实际范例来说明 STA 的分析方式。谋事在人,成事在天!增广贤文谋事在人,成事在天!增广贤文 图二十 Setup Time 设计电路如图二十一所示,时序模型(Timing Model

27、)及时序限制(Timing Constraint)如下:图二十一 所有逻辑闸在输出讯号上升时最长的延迟时间为 3ns,最短为 2ns。所有逻辑闸在输出讯号上升时最长的延迟时间为 2ns,最短为 1ns。所有连线(Net)最长的延迟时间为 2ns,最短为 1ns。所有 Flip-Flop Clock 到 Q 的延迟时间为 3ns。所有 Flip-Flop 的 Setup Time 为 1ns(Ts)。所有 Flip-Flop 的 Hold Time 为 1ns(Th)。Clock 周期为 14ns(Dclkp)。Clock source latency 为 2ns(Dclks)。丈夫志四方,有事

28、先悬弧,焉能钧三江,终年守菰蒲。顾炎武丈夫志四方,有事先悬弧,焉能钧三江,终年守菰蒲。顾炎武 Clock network latency 为 3ns(Dclkn)。Clock uncertainty 为 1ns(Dclku)。B 及 C 的 input delay 皆为 1ns(Da、Db、Dc)。Y 的 output delay 为 3ns(DY)。接下来,我们以 Step-By-Step 的方式说明时序分析的方式。1.首先找出所有 Timing Path,我们只列出具代表性的 3 条 Timing Path 来加以说明。图二十二 2.假设输入 A 讯号由 0 变 1,计算第 1 条 Pat

29、h 终点讯号到达的时间(Arrival Time简称 AT)。3.假设输入 A 讯号由 1 变 0,计算第 1 条 Path 终点 AT。天行健,君子以自强不息。地势坤,君子以厚德载物。易经人不知而不愠,不亦君子乎?论语 图二十四 4.计算第 1 条 Path 终点的需求时间(Required Time,简称 RT)。图二十五 5.假设输入 A 讯号由 0 变 1,计算第 1 条 Path 终点的 Slack。Slack 等于 RT 和 AT的差值,对于 Setup Time 验证来说等于 RT-AT,对于 Hold Time 验证来说等于 AT-RT。在此 Setup Time 范例中,Sl

30、ack 为正,表示讯号实际到达 Path 终点时间比必须到达的时间还早,因此 Timing 是满足的。以铜为镜,可以正衣冠;以古为镜,可以知兴替;以人为镜,可以明得失。旧唐书魏征列传大丈夫处世,不能立功建业,几与草木同腐乎?罗贯中 图二十六 6.假设输入 A 讯号由 1 变 0,计算第 1 条 Path 终点的 Slack。Slack 为正,因此 Timing是满足的。综合 5 和 6,第 1 条 Path 的 Timing 是符合规格的,其 Slack 为 4ns(取较差状况)。图二十七 7.假设前级 Flip-Flop 的讯号由 0 变 1,计算第 2 条 Path 终点的 AT。老当益壮

31、,宁移白首之心;穷且益坚,不坠青云之志。唐王勃人之为学,不日进则日退,独学无友,则孤陋而难成;久处一方,则习染而不自觉。顾炎武 图二十八 8.假设前级 Flip-Flop 的讯号由 1 变 0,计算第 2 条 Path 终点的 AT。图二十九 9.计算第 2 条 Path 终点的 RT 志不强者智不达,言不信者行不果。墨翟大丈夫处世,不能立功建业,几与草木同腐乎?罗贯中 图三十 10.假设前级 Flip-Flop 的讯号由 0 变 1,计算第 2 条 Path 终点的 Slack。Slack 为负,因此 Timing 不满足。图三十一 11.假设前级 Flip-Flop 的讯号由 1 变 0,

32、计算第 2 条 Path 终点的 Slack。Slack 为负,因此 Timing 不满足。综合 10 和 11,第 2 条 Path 的 Timing 不满足,其 Slack 为-3。吾日三省乎吾身。为人谋而不忠乎?与朋友交而不信乎?传不习乎?论语勿以恶小而为之,勿以善小而不为。刘备 图三十二 12.假设前级 Flip-Flop 的讯号由 0 变 1,计算第 3 条 Path 终点的 AT。图三十三 13.假设前级 Flip-Flop 的讯号由 1 变 0,计算第 3 条 Path 终点的 AT。良辰美景奈何天,便赏心乐事谁家院。则为你如花美眷,似水流年。汤显祖常将有日思无日,莫待无时思有时

33、。增广贤文图三十四 14.计算第 3 条 Path 终点的 RT。图三十五 15.假设前级 Flip-Flop 的讯号由 0 变 1,计算第 3 条 Path 终点的 Slack。Slack 为负,因此 Timing 不满足。图三十六 16.假设前级 Flip-Flop 的讯号由 1 变 0,计算第 3 条 Path 终点的 Slack。Slack 为负,因此 Timing 不满足。谋事在人,成事在天!增广贤文良辰美景奈何天,便赏心乐事谁家院。则为你如花美眷,似水流年。汤显祖综合 15 和 16,第 3 条 Path Timing 不符合规格,其 Slack 为-4。图三十七 综合上述分析结果,此电路的时序不符合规格,其 Critical Path 是 Path3,Slack 为-4。总结 本文先对 STA 的概念做概念性的介绍,在下集的文章中,将对 STA 在实际 IC 设计流程中的应用举一范例说明,请各位拭目以待。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 研究报告 > 其他报告

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com