今天我們要介紹的時序概念是設計約束文件 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瀏覽量
22617 -
DRV
+關注
關注
0文章
18瀏覽量
20689 -
SDC
+關注
關注
0文章
49瀏覽量
15587 -
CTS
+關注
關注
0文章
35瀏覽量
14149
發布評論請先 登錄
相關推薦
時序分析和時序約束的基本概念詳細說明
![<b class='flag-5'>時序</b><b class='flag-5'>分析</b>和<b class='flag-5'>時序</b>約束的<b class='flag-5'>基本概念</b>詳細說明](https://file.elecfans.com/web1/M00/D9/50/o4YBAF_4IhaAaYZFAAIk1GFh9kc159.png)
FPGA設計中時序分析的基本概念
時序分析基本概念介紹<generate clock>
![<b class='flag-5'>時序</b><b class='flag-5'>分析</b><b class='flag-5'>基本概念</b>介紹<generate clock>](https://file1.elecfans.com/web2/M00/8C/1A/wKgZomSmKCSAI9T9AABXG8-AWVk039.jpg)
時序分析基本概念介紹—Timing Arc
![<b class='flag-5'>時序</b><b class='flag-5'>分析</b><b class='flag-5'>基本概念</b>介紹—Timing Arc](https://file1.elecfans.com/web2/M00/8C/22/wKgZomSmZleAb_vjAABZIlqQ-WE742.jpg)
評論