03 Place
Floorplan完成之后,我們差不多完成PR工作的中的大部分手動工作,進入純粹的run job時間。而影響place的行為主要由parameter決定。這里引入AG的Parameter系統,在Parameter的體系里,所有影響工具表現的設定都可以找到,一般APR常用到的類型有以下幾種
各種parameter的調教基本也是一個PR工程師的修養,好比雷神之錘在索爾手里是附魔武器,在美隊手里是物理武器,跑到斯塔克手里是不可舉起的武器一樣,parameter的不同最終影響物理芯片的性能、面積、功耗(PPA),而這部分通常的工具廠商會提供整套的不同工藝節點下的通用設定來應付常規設計。AG也有對應的設定在AGflow中,此處給自己挖個坑,AGflow的玩法在稍后開新篇介紹。
搞定guide/parameter的設置后,基本上直接一個超級命令就可以跑完,現在的PR工具都喜歡用組合命令來更貼合流程,AG叫place_optimize,基本就是先place_cell ,然后調用opt engine 針對當前stage做優化。單獨從流程方面來講,placement跟吃一碗拉面沒有任何區別,要不要蔥花(設定是否允許filler1)、要不要加面(power effort要high還是low)、牛肉要不要另加(特定時序路徑的path group是否設定slack adj)、加不加辣子(有沒有cell group,要不要加padding)。最后report_ta去產生當前place階段需要的所有timing report做時序分析。
在檢查place結果時經常會發出標準三聯問:為啥工具加了這么多buffer?這buffer的作用是啥?那個步驟給加進去的?一個簡單清晰的命名規則會比較容易定位到出錯的位置。AG的opt engine內的命名大致是這樣的:
除了命名規則,report_placement–check可以幫助檢查當前place的數據是否存在DRC問題;place 菜單下的Display Density/Congestion Map可以快速看出是否有擁塞超標的區域,用來判斷是否需要在place開始前設立density的guide;Floorplan菜單下的Browse module功能可以自動給各個模塊標識不同的顏色,在place迭代中會比較容易根據時序報告總結出需要group在一起的模塊或邏輯。
Module browser
Density Map
完成了Place后,有了可接受的時序結果后,就可以進入下一步,CTS了
04 CTS
CTS是clocktree synthesis的簡稱,時鐘樹綜合的工作就是規劃下圖CK1-4的點一直到兩個DFF的CP端的buffer tree的部分,這部分clock tree有fanout、transation、cap以及不同clock之間的skew要求。
這活看起來很簡單,不就是解決DRV分配Fanout,能做平的都做平么?為啥要單獨分出一步來做?理想很骨感,現實很豐滿。請看真實的clock tree結構
看出最大的區別了么?沒錯!就是sink的規模,解釋原理的時候總是用寥寥數個sink的結構講這講那,但實際case中的sink數量,經常會成上萬,甚至上到十萬級別。此時人工分析或構建clock tree已經不可能,希望工具去Carry全場。現今工具處理clock tree的方式一般都是基于skew group的方式去建立時鐘樹,優點是綜合的規模是以skew group為單位,skew group可以同時作為一個單一時鐘的tree、一個多個clock的聯合tree、或者只是某個clock下的sub-tree的形式同時存在,這些靈活多變的組合可以有效優化了balance的group的規模,獲得更好的QoR.
而傳統時鐘樹以clock為單位,會考慮所有sink的balance問題,必然會拉長時鐘樹,而且在處理多個時鐘穿過的路徑時,會因為頻率不同而做出妥協,讓快的時鐘樹故意拉長來跟慢的時鐘作平衡。
時鐘樹的建立過程直接畫腦圖展示:
對于一個PR工程師來說總希望做出的時鐘樹latency-短、skew-小 級數-少,所以在完成后還要借助工具做一些CTS質量的檢查
再次附上debug之寶,CTS階段的naming rule
Tree做完之后,基本又是調用opt engine去做各類需要的優化,AG里的post_cts_opt默認會帶上setup和hold一起去修正,如有特別需求的,例如不在postcts修hold,請在opt的parameter里關掉hold opt 相關的參數。查詢parameter有個比較方便的方式,利用list_app_var opt *hold*可以打印出所有帶有hold關鍵字的opt相關的parameter。下一回就要進入最后的繞線階段了。
原文標題:用國產EDA工具做芯片是什么樣的體驗
文章出處:【微信公眾號:鴻芯微納】歡迎添加關注!文章轉載請注明出處。
-
芯片
+關注
關注
456文章
51182瀏覽量
427271 -
數據
+關注
關注
8文章
7139瀏覽量
89579 -
DRC
+關注
關注
2文章
150瀏覽量
36353
原文標題:用國產EDA工具做芯片是什么樣的體驗
文章出處:【微信號:giga-da,微信公眾號:鴻芯微納】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論