小編發現今天廣大學員發過來的問題都比較好,立即一頓輸出分享給大家(每天都有好多種類的數字后端問題)。后續可能會經常通過這種方式來做分享。其實很多問題都是實際后端項目中經常遇到的典型問題。希望通過這種方式的分享能夠幫助到更多需要幫助的人。
Q1: 在把咱們T28 1P10M metal stack換到1P7M后,發現在floorplan階段添加endcap cell后,cell直接沒有abut在一起,而且endcap cell根本就沒擺放在對應的site row上?請問這是什么原因?
主要問題是這兩個metal stack中tech lef關于site大小的定義不同。而標準單元卻用的是同一套標準單元庫。
DDRPHY數字IC后端設計實現系列專題之數字后端floorplan&powerplan設計
Q2: 在跑route opt過程中,Innovus工具一直在報如下所示的警告,而且route過程跑了24小時還是一直停留在這個警告位置。請問,為何會出現這個警告,應該如何debug和解決呢?
Innovus中經常會遇到如下警告。這個警告是在工具做refinePlace階段發現某些cell無法找到合適位置擺放。工具默認搜索范圍是128*Row高度,如果在這個范圍內找不到一個合適的位置進行legalize,那么就會報出這個警告。
因此,第一反應就是檢查自己的globalNetConnection腳本,并打開innovus數據查看log中所在位置的cell的pg pin邏輯連接是否正確。
經過查看發現的確這些位置的標準單元的VDD PG Pin是連接到Global VDD上的,而當前cortexa7core是做成一個power domain的,它的power rail是VDD_LOCAL。因為無論如何工具都無法找到VDD的power rail,所以自然就找不到合適的位置給這類cell。
經過修改后,我們再次通過Design Browser來查看pg pin的邏輯連接,確保無誤后繼續做route opt即可。
理論上只要globalNetConnection做的有問題,place階段就會開始報錯的。
我們經常還會在實際數字后端項目中看到如下所示的ERROR。
**ERROR: (IMPSP-2021): Could not legalize <17> instances in the design. Check warning message IMPSP-270, IMPSP-452, IMPSP-2024, IMPSP-2039, IMPSP-2040, IMPSP-2042 or IMPSP-2020 in log file for more details. Type ‘man IMPSP-2021’ for more detail.
Q3: 下圖所示為一條timing path的時序報告圖。很多初學者剛開始接觸后端都看不太懂這個timing report。請問應該如何看懂這個時序報告并知道當前timing report上的問題呢?
首先,我們要具備把一條timing report對應的電路圖畫出來的能力。當前這條timing path的電路圖如下圖所示。需要注意的是QA這條high fanout net在timing report中只會顯示經過其中一個load pin的情況。
其次,在咱們訓練營直播課一直強調看timing report的幾要素。
1)這是一條setup還是hold的timing報告 (這個從path type是max和library setup time得知)
2)電路工作時鐘的周期是多少?timing path的slack又是多少?
3)這條timing path的起點和終點分別是什么?起點和終點對應cell的時鐘端是否接到同源時鐘?
4)這條timing path的clock skew是多少?本案例的clock skew是1ns。
5)timing path上fanout,transition,cap,incr delay值是否有相比其他點明顯異常的點?
頂層Top Hierarchy Flow中的IO時序優化(高端IC后端訓練營即將開營啦?)
Q4: 在做T12nm ananke_core powerplan后的pg連接性檢查時,由于M9的VDD_CORE是孤立的,在verifyConnectivity時會報所有的VDD_CORE是open的。所以,我們學員就想著通過橫向加M10的VDD_CORE來和M9形成power mesh。但是出現了無法成功添加M10的情況,具體如下圖所示。
咱們T12nm在floorplan階段就讀入了upf文件,在這個文件中我們定義了每個power domain的primary power net。
出現這個問題,我們可以通過free_power_intent,先打上M10。然后后續在跑place前再讀入upf文件即可。
read_power_intent -1801 …/input/ananke_core.upfcommit_power_intent -power_domain
數字IC后端低功耗設計實現案例分享(3個power domain,2個voltage domain)
Q5: 在做route的時候有大量這種warning,但是route完后我去檢查connect也是沒有問題的,這種是什么原因導致的?
Q6: 在幫助學員遠程協助debug PT Timing ECO后timing問題時,高亮的一條從memory出發到reg/D pin的timing path如下圖所示,當前這條timing path的slack為-0.07ns。
Innovus中快速獲取timing path邏輯深度的golden腳本
Innovus中timing eco后setup margin跑哪里去了?(知識星球福利活動)
1)當前這條timing path是否合理?
2)當前不重新跑PR Flow,應該如何來修掉這條timing path的violation(提示:Clock Tree ECO方法)?
3)如果可以重新跑PR Flow,我們應該從哪些方面來提前優化這樣的時序路徑?