對于后端版圖人員,在芯片TO前的LV signoff階段,猶如一段漫長而有期待的朝圣之旅,需要耐心,毅力和信心,在龐雜的DRC中找到一條收斂之路。為了讓此路更為清晰收斂,Calibre提供了一套可追溯對比的富文本方式-HTML DRC report,用戶可以記住這個報告方式,對自己的DRC 快速生成可視化報告,以及做DRC階段小結,這里就像各位ICer介紹一下這個方法。閑言少敘,ICer GO
Calibre DRC 小結的常規方法
通常來講,在做LV收斂的過程中,對于Calibre DRC的結果進行追蹤,可以有效的判斷數據庫的收斂層度,常規的做法,是通過定義
// SVRF command
DRC 的summary 報告進行歸集
svrf command
DRC SUMMARY REPORT DRC.sum HIER
用戶可以通過簡單的grep
命令,得到類似下面的quick-sum(如下圖)
這個方法的好處就是快捷方便,但是缺點就是只有文本描述,不能對現有的DRC做具體的GUI分析和理解。
Calibre DRC 小結的其他方法
為了解決這種平板式的小結報告的弊端,Calibre RVE提供了其他的報告匯總方式。
Calibre RVE也提供了一套CSV或者超文本(HTML)的匯報格式,比較上述的簡便歸集方式,提供了更多細節的信息,
CSV匯總方式
除過常規的錯誤類型和錯誤標記(waive, fixed等),還會記錄每一個DRC violation的坐標信息等。類似下例:
HTML 匯總方式
由于HTML先進的文本、圖形描述,非常適合于DRC這種需要富文本(rich text)描述場景。HTML除過顯示CSV里邊的坐標信息,HTML還可以一鍵出圖,這樣對于用戶生成DRC的圖文報告來說是非常方便的,加之對用戶可配置的支持,用戶可以根據自身需要,配置合適的HTML模板格式,這樣可以生成一致的HTML格式化文本,方便后期的比對和出報告。這里就簡單介紹一下使用HTML格式,對DRC結果進行報告歸集的方法。
首先,用戶使用下面的命令打開現有的數據庫,包括GDS(soc_chip.gds
),layer property (tech.layerprops
) 和DRC RDB (drc.db
)文件
這個時候,calibredrv
會啟動兩個GUI給用戶使用:
一個是DESIGNrev : 進行GDS查看
一個是RVE:進行DRC violation查看
當然用戶也可以通過在DESIGNrev里邊選擇Verification -> Start RVE…
手動加載drc.db,效果是一樣的。
Init run
由于HTML的格式化需求,用戶需要一次的init run來完成基礎的配置和第一次生成體驗。
通過RVE界面,分別選擇Tools -> Create HTML report…
來喚起DRC HTML report 生成器。
在下面的菜單中需要配置:
- 輸出格式(report format)
- HTML:標準超文本文件 (推薦)
- MHTML:單文件型超文本文件
- 輸出目錄(Output Directory):指定輸出的HTML的存放路徑 (推薦report)
- 輸出的DRC數量(Number of results to report):所有*(推薦 All)*,或者指定數量(number)
- 是否產生完成后打開html,(推薦:不打開)
- DRC截圖的數據基礎/路徑:這里需要填入run DRC的數據和相應類型,(推薦GDS)
- 用戶自定義HTML模板文件(Customization File):第一次跑的時候不用填,工具會自動生成默認,(推薦:不勾選)
- 用戶自定義CSS配置文件(Customization Style Sheet File): HTML顯示效果的配置文件,第一次跑的時候不用填,工具會自動生成默認,并使用。(推薦:不勾選)
配置好后,點擊OK進行第一次生成。
等待一段時間,用戶這個時候會類似下面的一個彈窗:
這個彈窗會吐出兩個信息:
- DRC HTML report的結果文件:
這里會指出現在的DRC HTML生成到了report/index.htm
這個文件,Linux下可以使用firefox
打開這個HTML文件:
PS:Caiibre的這個這個默認HTML的模板,在IC設計領域里,這個布局/配色還是不錯的的。
整個HTML分成三個部分:header,check summary和check detail
-
Header:帶入了Calibre 的logo和版本/版權說明,這個用戶后期也可以通過自定義模板進行更改
-
Check summary:這個就是傳統意義上的每一種類型的統計和問題描述,類似于傳統的從
DRC REPORT SUMMARY
做grep
-
Check detail:這個是HTML里邊獨有的,Calibre會自動高亮并聚焦每一個錯誤類型,并且生成截屏,同時伴隨有相應的坐標描述。
DRC HTML report的命令行生成方式
Calibre為了用戶方便,會把這個HTML的客制化釋放給用戶,所以,這里提供了一個再次生成HTML的shell script:createReport.sh
用戶可以通過更改里邊內容,完成再次生成報告的需求,這也是init run的最大目的:獲取命令/HTML/CSS的模板,推進DRC HTML report的客制化。
這個腳本比較容易理解
完成命令的使用如下:
使用calibre主命令進行HTML生成,這里有兩個配置文件,
- DRC相關配置定義(rdbSpec.txt):用于描述GDS、RDB等數據路徑信息
文件格式是簡單,行首;
的是comment,數據的定義按照下列column進行定義,使用,
進行分割:
DRC的RDB文件,RDB類型(默認General),layout文件,layer-property文件,layout文件類型
這里缺失了layout-property文件定義,所以在HTMl里邊所有的DRC截圖里邊,layer都是沒有名稱定義的
此處先不展開,這個后面會有一個完美的解決方案。
- DRC HTML生成的細節控制:report.ini
這個文件是一個json-like的描述文件
[section]
Key1=value1
Key2=value2
這里的配置比較多,如果不是特別在意默認格式,建議不用進行調整,具體的配置需要參見下列Calibre用戶手的下列部分
基于CSS的特性,上述生成的report/index.htm
是受report/default.css
文件來控制渲染效果的(具體CSS語法,請自行bing),用戶可以通過更改這個CSS文件,完成一些基本的渲染效果更改,譬如:背景色(background-color
)
默認背景
客制化背景
客制化字體(font-family
):
Layer property文件對HTML report的支持
在常規的DESIGNrev的使用中,用戶總是希望layer的可讀性更好,這樣就會需要layerproperty
的支持。
這個文件通常是FAB會隨著PDK一并發布出來,在有些情況可能不會直接獲取,用戶也可以基于PDK里的Virtuoso環境生成出來,這樣會方便當前平臺的用戶進行數據交互使用。
同樣的,在HTML的DRC report里邊,由于有很多DRC check detail的截圖,那么用戶也是希望版層的可讀性好,所以這里就需要用戶在生成DRC report的時候,帶入這個layerproperty
文件,方便可讀性。
CTO(Check Text Override File )文件的生成和使用
在日常的DRC debug中,用戶總是先高亮一個DRC violaiton,然后再去打開和這個DRC violation相關的層,查看具體的問題。Calibre也意識到了這個需求,所以CTO文件就此誕生了。
這個文件就是基于DRC RSF的檢查方法,對每一個DRC 類別都標記出其對應的layer。這個CTO文件可以用下面的命令生成:
用戶在這里需要提供DRC RDB和DRC RSF文件,最后一個layermap文件是可選的。
PS:這里的DRC RDB只是為了滿足calibre -rve的啟動,并不會影響CTO的結果
這樣,就可以得到一個類似下面示例的CTO 文件:
有了CTO文件后,用戶就可以在Calibre RVE里邊查看DRC的時候,進行使用。這樣在高亮某一個DRC 類型的時候,對應的layer就會被自動選中。
在查看DRC violation之前,用戶通過下列方法先行加載CTO文件:Tools -> Import CTO File …
這個時候如果對DRC進行高亮,譬如:M2.3b
,此時DESIGNrev就會自動把和這個M2 violation對于的layer:M2,和violation layer都打開了,非常方便用戶對和violation 相關的layer進行細節查看。
****
同理,在DRC HTML report的進行DRC detail截圖的時候,如果用戶把對應的CTO帶入,在生成DRC截圖的時候,RVE都會M2.3b violation的對應的layer(312)層高亮起來。加之上述layer property的支持,DRC check detail 就有了如下的變化:
1:layer 312有了直觀的layer name: M2
2:DRC M2.3b的截圖,只把M2和DRC 違例的layer 高亮了出來
這樣的DRC HTML report的就具備了相當的可讀性,可以直接拿來做展示了。
PS:對于某一個工藝,建議用戶可以根據DRC RSF去生產對應工藝的CTO文件,這個在DRC debug和DRC HTML report的時候會比較方便,尤其是在先進工藝的情形下。
DRC HTML report可以非常方便的對DRC 進行富文本形式的總結,方便用戶進行細節的規整以及生成可視化報告,加之layerproperty和CTO的支持,無論是作報告還是debug都可以給LV工程師提供不一樣的體驗方式。
參考資料
Mentor Calibre? Interactive? and Calibre? RVE?
User’s Manual
Mentor Standard Verification Rule Format
(SVRF) Manual