靜態時序分析的簡單定義如下:套用特定的時序模型,針對特定電路分析其是否違反設計者給定的時序限制。
以分析的方式區分,可分為基于路徑和基于結點兩種,我們采用基于路徑的分析方式來說明。如圖1所示,信號從A點及B點輸入,經由4個邏輯閘組成的電路到達輸出Y點。套用的時序模型標示在各邏輯閘上,對于所有輸入端到輸出端都可以找到相對應的延遲時間。而使用者給定的時序限制為:
(1)信號A到達電路輸入端的時刻為2(AT=2,AT為Arrival Time)。
(2)信號B到達電路輸入端的時刻為5(AT=5)。
(3)信號必須在時間點10之前到達輸出端 Y(RT=10,RT 為 Required Time)。

現在我們針對P1及P2兩條路徑來做分析。P1的起始點為A,信號到達時刻為2。經過第1個邏輯閘之后,由于此閘有2單位的延遲時間,所以信號到達此閘輸出的時刻為4(2+2)。依此類推,信號經由P1到達輸出Y的時刻為7(2+2+3)。在和上述第(3)項時序限制比對之后,我們可以得知對P1這個路徑而言,時序是滿足使用者要求的,能夠正常工作。
## **時序弧:**
1. 靜態時序分析是基于timing arc數據的時序分析。
2. 時序弧是用來描述兩個節點延時信息的數據,時序弧的信息分為連線延時和單元延時。
3. 連線延時是單元輸出端口和刪除網絡負載之間的延時信息;單元延時是單元輸入端口到輸出端口的延時信息。因此一條完整路徑的時序信息計算由連線延時和單元延時組成。

1. 單元延時的時序弧分為基本時序弧和約束時序弧。
2. 基本時序弧包括組合時序弧、邊沿時序弧、復位清零時序弧、三態使能時序弧等。
3. 約束時序弧包括建立時序弧、保持時序弧、 恢復時序弧、移除時序弧和脈沖時序弧/
4. 組合時序弧根據單元功能邏輯的不同,分為3種:

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 Arc。其中第 1、4、5、8 項定義時序延遲,其它各項則是定義時序檢查。

Combinational Timing Arc 的Sense有三種,分別是**inverting**(或 negative unate),**non-inverting**(或 positive unate)以及**non-unate**。
當Timing Arc 相關之特定輸出(下圖Z)信號變化方向和特定輸入(下圖A)信號變化方向相反(如輸入由0變1,輸出由1變0),則此Timing Arc 為inverting sense。反之,輸出輸入信號變化方向一致的話,則此Timing Arc 為non-inverting sense。當特定輸出無法由特定輸入單獨決定時,此Timing Arc 為non-unate。

**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發生后,數據被清除的速度,依據清除信號上升或下降及是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 Timing Arc**:定義 Tri-State 組件致能信號(Enable)到輸出的延遲時間,依據Enable或Disable分為2類

**Width Timing Arc**:定義信號需維持穩定的最短時間,依據信號維持在0或1的位準分為2類

操作環 境指的是制程(Process)、電壓(Voltage)、溫度(Temperature)三項因子。 這三項因子通常會被簡稱為 PVT,其對時序的影響可用下方線性方程式來描述。 其中 nom_process、nom_voltage 及 nom_temperature 會定義在標準組件庫中, 代表建立時序表格時的操作環境
**靜態時序分析技術**是一種窮盡分析方法,它提取整個電路的所有時序路徑,通過計算信號沿在路徑 上的延時傳播找出違反時序約束的錯誤,主要是檢查電路可以正常工作的最大頻率、找到電路中的關鍵路 徑、檢查各個路徑是否滿足建立時間和保持時間等、計算各個節點的負載、找到電路中延時最長的連線等. 靜態時序分析技術在功能上和性能上都有很大的優越性,所以現在已廣泛應用于 VLSI 的時序驗證。
時序路徑指 的是設計中一個點(開始點)到另一個點(結束點)的序列,開始點一般是時鐘端口、輸入端口、或寄存器或鎖 存器的數據輸入引腳等,結束點一般是時鐘、輸出端口、或寄存器或鎖存器的數據輸入引腳等
時序例外是指由于某種原因不希望 PrimeTime 檢查的路徑. 比如,某些路徑明顯是偽路徑,在正常工作 情況下是不可能會經過的;或者,為了加快分析的速度,有些路徑我們不希望 PrimeTime 檢查. 這些情況下, 我們可以通過設計時序例外來實現
### 有三種方法可以用于定義時序例外:
**set-false-path**:設置偽路徑可以忽略在這些路徑上進行關鍵路徑、建立時間和保持時間等的檢查.
**set-case-analysis**:把某些端口或管腳設為常數,以使得某些路徑不被檢查.
**set-disable-timing**;使得一些路徑上的時序參數(timing arcs)無效,以達到不檢查該路徑的目的.
系統單芯片(SOC)
芯片(IC)
靜態時序分析(Static Timing Analysis 簡稱 STA)
STA 的簡單定義如下:套用特定的時序模型(Timing Model),針對特定電路分析 其是否違反設計者給定的時序限制(Timing Constraint)。以分析的方式區分,可分 為 Path-Based 及 Block-Based 兩種。
## **Block-Based 的分析方式**。
此時時序信息(Timing Information)的儲存 不再是以路徑為單位,而是以電路節點(Node)為單位。由 Timing Constraint 我們僅 能得知 A 節點的 AT 為 2,B 節點的 AT 為 5 以及 Y 節點的 RT 為 10。Block-Based 的分析 方式會找出每個節點的 AT 和 RT,然后比對這兩個數值。當 RT 的值大于 AT 時表示信號 比 Timing Constrain 中要求的時間還早到達,如此則 Timing 是滿足的,反之則不滿足。

## Timing Constraints:
Timing Constraint 為使用者所給定,用來檢驗設計電路時序的準則。其中 最重要的一項就是頻率(Clock)的描述。對于一個同步電路而言,緩存器和緩 存器之間的路徑延遲時間必須小于一個 Clock 周期(Period),也就是說,當我 們確認了 Clock 規格,所有緩存器間的路徑的 Timing Constraint 就會自動給定 了。

Clock 規格包含波形、Latency 及 Uncertainty 的定義。波形定義一個 Clock 的周期及信號上升緣及下降緣的時間點。Latency 定義從 Clock 來源到序向組件 Clock 輸入端的延遲時間。Uncertainty 則定義 Clock 信號到序向組件 Clock 輸 入端可能早到或晚到的時間。
**正反器(Flip-Flop)**
### Path 根據起點及終點可以分為 4 種:
1. 由 Flip-Flop Clock 輸入到 Flip-Flop 數據輸入(圖左上)。
2. 由主要輸入(Primary Input,簡稱 PI)到 Flip-Flop 數據輸入(圖 右上)。
3. 由 Flip-Flop Clock 輸入到主要輸出(Primary Output,簡稱 PO)(圖 左下)。
4. 由主要輸入到主要輸出(圖右下)。

我們會定義下列的 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)

加上 Boundary Condition 后,只要 Clock 給定,所有 Path 的 Timing Constraint 就會自動給定。
由于每個 Path 都有 Timing Constraint,所以時序分析都能夠進行。但在 某些情況下,有些 Path 的分析可能沒有意義,因此妳會想忽略這些 Path 的分析。 或是有些 Path 分析的方式不一樣,妳會想指定這些 Path 的分析方式。此時就要 設定一些 Timing Exception,如 False Path 和 Multi-cycle Path 等等來處理 非一般性的時序分析。
#### STA 的流程

## Step-By-Step 的方式說明時序分析的方式
1. 首先找出所有 Timing Path,我們只列出具代表性的 3 條 Timing Path 來 加以說明。

2. 假設輸入 A 信號由 0 變 1,計算第 1 條 Path 終點信號到達的時間(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 范例中,Slack 為正,表示信號實際 到達 Path 終點時間比必須到達的時間還早,因此 Timing 是滿足的。


6. 假設輸入 A 信號由 1 變 0,計算第 1 條Path 終點的 Slack。Slack 為正, 因此 Timing 是滿足的。

7. 假設前級 Flip-Flop 的信號由 0 變 1,計算第 2 條 Path 終點的 AT


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,計算第 2 條 Path 終點的 Slack。Slack 為負,因此 Timing 不滿足。

12.假設前級 Flip-Flop 的信號由 0 變 1,計算第 3 條 Path 終點的 AT

13. 假設前級 Flip-Flop 的信號由 1 變 0,計算第 3 條 Path 終點的 AT

14. 計算第 3 條 Path 終點的 RT

15. 假設前級 Flip-Flop 的信號由 0 變 1,計算第 3 條 Path 終點的 Slack。Slack 為負,因此 Timing 不滿足

16. 假設前級 Flip-Flop 的信號由 1 變 0,計算第 3 條 Path 終點的 Slack。Slack 為負,因此 Timing 不滿足。

綜合上述分析結果,此電路的時序不符合規格,其 Critical Path 是 Path3, Slack 為-4。
- 電子元器件
- 電阻
- 電容器
- 電感
- 保險絲
- 二極管
- 三極管
- 接插件
- 蜂鳴器
- MOS
- 集成電器基礎知識
- 接地的基礎知識
- STA
- Skew
- setup和hold
- 問題
- timing path
- Latency
- 跨時鐘域的代碼檢查(spyglass)
- 時間換算
- 名詞解釋
- 寄存器
- 觸發器
- ECO
- 通用芯片和嵌入式芯片有什么區別
- Signoff
- SOC
- VLSI
- NPU
- DDR
- ISP
- Fan-in 和 Fan-out
- 邏輯閾值
- Floorplan
- 寄存器傳輸的設計(RTL)
- 集成電路設計方法
- Design Rules of Thumb
- Dealing with Resistance
- 芯片設計
- 什么是Scenario?
- 晶圓BUMP加工工藝和原理
- wafer、die、cell
- DFT
- 前端-QC
- CDC
- SDC
- MBIST
- RDC
- Lint
- overview
- PV
- PBA/GPA
- Corner
- PVT
- latency與delay區別
- Power
- LVT, RVT, HVT 的區別
- PPA
- RTL
- 芯片行業的IP是指什么?
- 晶振與晶體的區別
- PLL (鎖相環(PhaseLockedLoop))
- 奇偶分頻電路
- inverter
- glitch (電子脈沖)
- Power
- Clock Gating
- 低功耗設計
- UPF
- 低功耗單元庫
- Power intent
- 亞穩態
- 芯片流程
- 芯片軟件
- 亞穩態&MTBF&同步器&AFIFO
- glitch free的時鐘切換技術
- max_transition
- MUX
- STA之RC Corner
- process corner 和 PVT
- ICC Scenario Definition
- 寄生電路?
- 晶振
- 信號完整性
- 什么是脈沖?什么是電平?
- 閾值電壓
- bump
- IC設計常用文件及格式介紹
- 文件格式
- spef
- 后端
- phy芯片的作用
- MIPI簡介
- 異步橋
- 芯片后仿之SDF
- 慕課-VLSI設計基礎(數字集成電路設計基礎)
- 概論
- MOS晶體管原理
- 設計與工藝接口
- 反相器和組合邏輯電路
- 問題trainning