今天我們要介紹的時序概念是設(shè)計約束文件 SDC . 全稱 Synopsys design constraints . SDC是一個設(shè)計中至關(guān)重要的一個文件。它對電路的時序,面積,功耗進(jìn)行約束,它是設(shè)計的命脈,決定了芯片是否滿足設(shè)計要求的規(guī)范。
Timing工程師在release sdc時必須非常小心,一個錯誤的false path或者case constant就有可能導(dǎo)致整塊芯片不工作。
Timing Constraint 為使用者所給定,用來檢驗設(shè)計電路時序的準(zhǔn)則。我們在做STA前首先要了解各種約束是做什么的。
Timing Constraint按照它們的用途,大致分為以下幾類:
(1)描述芯片的工作速度,即時鐘的頻率,包括create_clock,create_generated_clock等
(2)描述芯片的邊界約束,包括set_input_delay, set_output_delay等
(3)描述芯片的一些設(shè)計違反rule(DRV),包括set_max_fanout,set_max_capacitance, set_max_transition等
(4)描述設(shè)計中一些特殊的路徑,包括set_false_path,set_multicycle_path等
(5)描述設(shè)計中一些需要禁止的timing arc,例如set_disable_timing
需要注意的是,設(shè)計的不同階段我們使用的sdc都有所不同(當(dāng)然,有的公司比較強(qiáng)大,會有一套golden sdc)。比如說,綜合時由于模型的粗糙,我們會選擇過約sdc,將時鐘頻率設(shè)得更高一些;CTS之前,由于skew的不確定性,通常我們也會加大uncertainty;還有signoff tool與PR工具correlation問題,margin的設(shè)置也會不一樣。
那我們?nèi)绾稳ズ侠矶x一個設(shè)計的sdc呢?
這是一項非常有難度的工作,其實常用的sdc命令就以下幾條,但要準(zhǔn)確運用他們可不容易。
clock相關(guān) :
create_clock
create_generated_clock
set_clock_uncertainty
set_clock_groups
set_input_delay
set_output_delay
系統(tǒng)接口相關(guān) :
set_input_transition
set_load
set_driving_cell
時序特例相關(guān):
set_false_path
set_multicycle_path
邏輯賦值相關(guān):
set_case_analysis
接下來幾篇文章會分別介紹這些命令
還有一個最重要的前提條件是:我們必須要盡早有一張結(jié)構(gòu)清晰的clock結(jié)構(gòu)圖。而且是越早做越好。clock結(jié)構(gòu)最好是讓前端設(shè)計人員給你,當(dāng)然也可以通過cad軟件自己去畫一張。這邊介紹一個比較好用的綠色小軟件 TinyCad . 簡單易學(xué)~~
也可以通過Verdi來trace電路結(jié)構(gòu),這也是很方便的,只需要讀入設(shè)計的網(wǎng)表就行
好了,今天就大致介紹一下sdc的基本概念。
-
時序分析
+關(guān)注
關(guān)注
2文章
127瀏覽量
22566 -
DRV
+關(guān)注
關(guān)注
0文章
18瀏覽量
20653 -
SDC
+關(guān)注
關(guān)注
0文章
49瀏覽量
15540 -
CTS
+關(guān)注
關(guān)注
0文章
35瀏覽量
14111
發(fā)布評論請先 登錄
相關(guān)推薦
評論