網(wǎng)絡(luò)課程《數(shù)字集成電路靜態(tài)時(shí)序分析基礎(chǔ)》的筆記
地址:https://www.iccollege.cn/portal/courseDetail/193.mooc
?
STA 環(huán)境
PT
本節(jié)主要講解如何編寫(xiě) SDC 文件
什么是 STA 環(huán)境
STA 環(huán)境就是指導(dǎo)設(shè)計(jì)的環(huán)境,主要包括時(shí)鐘、IO、特殊路徑、多周期路徑
STA 針對(duì)的是同步電路,無(wú)法分析異步電路。
?
時(shí)鐘約束
時(shí)鐘約束包括:時(shí)鐘源、周期、占空比、邊沿翻轉(zhuǎn)時(shí)間
create_clock -name SYSCLK -period 20 -waveform {0 5} [get_ports SCLK]
上面這條命令就是對(duì)時(shí)鐘的約束,下面是其他例子。
?
時(shí)鐘的其他屬性
通過(guò) set_clock_uncertainty 設(shè)定悲觀條件,收緊約束,例如下圖中設(shè)定建立時(shí)間和保持時(shí)間
指定不同時(shí)鐘之間的不確定度
時(shí)鐘之間的不確定度的意義
時(shí)鐘延遲,networks 延遲和 source 延遲
延遲指定方法,默認(rèn)是 networks 延遲。
一些注意的點(diǎn):
如果時(shí)鐘樹(shù)已經(jīng)建立好了,就不需要關(guān)心 network 延遲,使用圖中的指令可以獲得精確的時(shí)鐘。在時(shí)鐘樹(shù)建立以前,才需要對(duì)時(shí)鐘進(jìn)行估算。
?
生成時(shí)鐘
master clock 通過(guò)分頻等手段產(chǎn)生的時(shí)鐘,需要定義為 generated clock
新時(shí)鐘也可以定義為 master clock,但是會(huì)存在一些問(wèn)題。如果直接定義為 master clock,會(huì)使兩者失去聯(lián)系,系統(tǒng)會(huì)認(rèn)為兩者是異步的,相關(guān)性丟失,導(dǎo)致出現(xiàn)問(wèn)題。
此外,master clock 和 generated clock 之間是有聯(lián)系的,參數(shù)是有繼承性的。
下圖為一個(gè)例子,延遲會(huì)累加
并不是所有情況下都需要定義生成時(shí)鐘,下面的時(shí)鐘通過(guò)邏輯門(mén)以后新時(shí)鐘和原來(lái)的關(guān)系并不大,最好直接定義行時(shí)鐘。
下面是例子
ASIC 中的時(shí)鐘
?
input path 和 output path
約束 input path
由于輸入路徑只有終點(diǎn)有時(shí)鐘,所以需要指定輸入延遲
?
針對(duì)建立時(shí)間和保持時(shí)間分別設(shè)立最大最小延遲
?
output path
和 input path 類(lèi)似
針對(duì)建立時(shí)間和保持時(shí)間設(shè)定最大值最小值
?
路徑組
路徑通過(guò)終點(diǎn)進(jìn)行分類(lèi)。
對(duì) IO pins 來(lái)說(shuō),時(shí)鐘和輸入輸出的延遲約束是不夠的,還需要約束其他參數(shù)
屬性設(shè)定方法
驅(qū)動(dòng)值越小,驅(qū)動(dòng)能力越大,0 代表無(wú)限大。
設(shè)定驅(qū)動(dòng)能力以后,就能夠計(jì)算第一個(gè)門(mén)的延遲。
也可以從庫(kù)里參考驅(qū)動(dòng)能力,取庫(kù)里 cell 的屬性拿來(lái)用。
輸入路徑的第一個(gè) cell 一定要通過(guò)約束設(shè)定 delay,而默認(rèn)是理想值,即 0
輸出路徑也是類(lèi)似的
理想情況下也是 0,實(shí)際需要自行設(shè)定相關(guān)值。
?
design rule checks
縮寫(xiě)就是 DRC
主要的兩個(gè)參數(shù)就是 max_transition 和 max_capactiance
其他的屬性,但是并不是主要的,和庫(kù)有關(guān)系
?
虛擬時(shí)鐘
虛擬時(shí)鐘和所有 pin 和 port 都沒(méi)關(guān)系,它用來(lái)作為 STA 的參考,指定輸入和輸出延遲和一個(gè)時(shí)鐘的關(guān)系
定義方法,這里不需要指定那個(gè) pin 或者 port 是時(shí)鐘
?
讓 STA 更加精確
有四點(diǎn)
?
case_analysis
芯片在不同情況下的約束,例如在 DFT 下,可以關(guān)閉 DFT 部分的檢查
?
disable_timing
告訴工具這不是一條 timing path
?
false_path
偽路徑,告訴工具不需要檢查
?
multicycle_path
多周期路徑