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