您是否有過這樣的經(jīng)歷,為了完成一個(gè)錯誤較多的大型芯片級設(shè)計(jì)上運(yùn)行的設(shè)計(jì)規(guī)則檢查 (DRC),您苦等了幾個(gè)小時(shí),結(jié)果發(fā)現(xiàn)得到的 DRC 結(jié)果數(shù)據(jù)庫 (RDB) 文件大小竟然達(dá)到數(shù)百GB,其中更有數(shù)百萬條需要審查的錯誤結(jié)果,然后,您還需要編輯設(shè)計(jì),使其符合晶圓代工廠的設(shè)計(jì)規(guī)則要求?在傳統(tǒng)的調(diào)試流程中,審查大量 DRC RDB 可能是一個(gè)非常耗時(shí)的階段,這主要是因?yàn)榕c這些大型數(shù)據(jù)集相關(guān)的加載、篩選和顯示時(shí)間過長。即使應(yīng)用定制篩選器或使用豁免來減少必須調(diào)試的結(jié)果數(shù)量,要加載整個(gè) RDB 并處理每個(gè)結(jié)果,所需的時(shí)間也會耗費(fèi)掉大部分的任務(wù)時(shí)間。
現(xiàn)在,您終于有了更好的選擇。工程師可以將這些巨大的 RDB 劃分為更小的 RDB,然后再將它們加載到結(jié)果查看器中,僅僅選擇和加載那些需要立即關(guān)注的高優(yōu)先級問題的結(jié)果,從而避免加載完整 RDB 所造成的性能損失。
1傳統(tǒng)篩選
不過,讓我們首先來看看篩選大型 RDB 的現(xiàn)有方法,通過 Calibre RVE 結(jié)果可視化環(huán)境來演示這些方法的使用過程。工程師可以利用 Calibre RVE 界面加載 RDB,然后在其設(shè)計(jì)工具中直觀地檢查和分析錯誤標(biāo)記(圖 1)。
圖 1. 與 Calibre DESIGNrev 芯片完工修整平臺集成的
Calibre RVE 結(jié)果顯示
定制篩選器
工程師通常通過將結(jié)果篩選成組來管理大型 RDB,這樣他們就能集中精力,一次處理一組結(jié)果。我們的目標(biāo)是查看檢查名稱與 “M1*” 匹配的結(jié)果。在我們的示例中,我們將使用一個(gè) 110GB 的 Calibre nmDRC RDB,其中包含 1.2G 的結(jié)果。Calibre RVE 界面需要 25 分鐘來加載此 RDB 文件并在 Calibre DESIGNrev 界面顯示結(jié)果。
Calibre RVE 提供了一個(gè)直觀的篩選器編輯器,供工程師創(chuàng)建定制篩選器。然后,他們可以將這些定制篩選器應(yīng)用于 RDB,僅顯示與給定標(biāo)準(zhǔn)匹配的錯誤(圖 2)。定制篩選器可以保存并用于多個(gè) RDB,因而成為一種非常有效的解決方案,專門處理設(shè)計(jì)團(tuán)隊(duì)日常感興趣的錯誤類型。
圖 2. 具有定制篩選器的 Calibre RVE
但是,Calibre RVE 仍須加載 RDB 并在內(nèi)存中處理每個(gè)結(jié)果,才能創(chuàng)建經(jīng)篩選的結(jié)果。因此,這種方法適合中小型 RDB,而對于像我們示例所示的大型 RDB,仍可能需要大量的時(shí)間。
此外,篩選器編輯器僅適合創(chuàng)建采用樹結(jié)構(gòu)的簡單篩選器。工程師如果需要更復(fù)雜的篩選器,可能會發(fā)現(xiàn)此解決方案不夠用。
豁免
另一個(gè)選項(xiàng)允許工程師篩掉允許的(被豁免的)違規(guī),以便他們可以專注于確實(shí)必須調(diào)試的結(jié)果。工程師使用晶圓代工廠 Calibre PDK 團(tuán)隊(duì)和 / 或 CAD 團(tuán)隊(duì)提供的 DRC 前期豁免文件執(zhí)行 Calibre nmDRC 運(yùn)行,以生成包含豁免和未豁免結(jié)果的 RDB。
然后,工程師可以在 Calibre RVE 中將內(nèi)置的 “顯示未豁免” 篩選器應(yīng)用于此 RDB,使其僅僅關(guān)注未豁免的錯誤(圖 3)。與定制篩選器方法一樣,豁免方法適用于中小型 RDB,但不適用于大型 RDB。Calibre RVE 仍須加載并處理整個(gè) RDB,然后才能篩選并且僅顯示未豁免的結(jié)果。
圖 3. Calibre nmDRC 豁免方法
使用定制篩選器的豁免
結(jié)果篩選功能最常見的用途是結(jié)合定制篩選器和豁免(圖 4),以便僅顯示對修復(fù)設(shè)計(jì)至關(guān)重要的關(guān)鍵錯誤(圖 5)。如您所料,這種方法雖然從結(jié)果篩選的角度來看非常有用,但非常耗時(shí)。
圖 4. 將篩選器編輯器的定制篩選器與豁免相結(jié)合
圖 5. 將定制篩選器與豁免相結(jié)合,
提供一組定向的需要修復(fù)的嚴(yán)重錯誤結(jié)果
鑒于上述現(xiàn)有方法的局限性,設(shè)計(jì)和驗(yàn)證團(tuán)隊(duì)需要一種選項(xiàng),讓他們能夠在更短的時(shí)間內(nèi)使用更少的內(nèi)存資源來篩選非常大的 RDB。
2批量篩選
批量篩選是一種創(chuàng)新技術(shù),工程師可利用該技術(shù)在 RDB 上應(yīng)用篩選器表達(dá)式,并使用批處理 Calibre RVE 運(yùn)行創(chuàng)建更小的 RDB——換言之,無需將完整的 RDB 加載到內(nèi)存中。篩選器表達(dá)式使用與定制篩選器方法相同的篩選器編輯器表達(dá)式關(guān)鍵字,而 Calibre RVE 則將這些篩選器表達(dá)式用作命令行參數(shù)。利用這種方法,設(shè)計(jì)人員可以開發(fā)他們的定制篩選器表達(dá)式,并通過共享他們的 Calibre RVE 命令和參數(shù)輕松地與其他設(shè)計(jì)人員分享:
calibre -rve -drc
讓我們來看幾個(gè)示例,以展示批量篩選器流程是如何工作的。我們從原始 RDB 文件開始(圖 6)。
圖 6. 原始 RDB 文件
在我們的第一個(gè)示例中,我們創(chuàng)建了一個(gè) RDB 文件,其中僅包含檢查名稱帶有 “OD” 或 “PO” 前綴的錯誤。我們?yōu)榕幚?Calibre RVE 命令設(shè)置了一條篩選器約束,創(chuàng)建一個(gè)新的 RDB 文件 “od_po.rdb”,其中僅包含帶有前綴 “OD” 和 “PO” 的檢查名稱。
calibre -rve -drc simple.rdb -filter -check “OD* PO*” -output od_po.rdb
圖 7 顯示了相應(yīng)結(jié)果。由批處理運(yùn)行創(chuàng)建的經(jīng)篩選的 RDB 中包含 24 個(gè)錯誤結(jié)果。
圖 7. RVE 批量篩選結(jié)果僅包含 OD* 和 PO* 檢查
在這些結(jié)果中,我們注意到,有 12 個(gè)豁免的結(jié)果。在我們的示例中,讓我們更進(jìn)一步,創(chuàng)建一個(gè) RDB 文件,其中僅包含帶有前綴 “OD” 或 “PO” 的檢查名稱的錯誤,并排除所有豁免的結(jié)果。現(xiàn)在,我們的批處理 Calibre RVE 命令運(yùn)用篩選器約束創(chuàng)建了一個(gè)新的 RDB 文件 “rve_filter.rdb”,其中僅包含帶有前綴 “OD” 和 “PO” 的檢查名稱,并從文件中清除了所有豁免的結(jié)果。
calibre -rve -drc simple.rdb -filter -check “OD* PO*” -unwaived -output rve_filter.rdb
如圖 8 所示,結(jié)果計(jì)數(shù)現(xiàn)在顯示沒有豁免的結(jié)果。這個(gè)經(jīng)篩選的 RDB 中包含 12 個(gè)未豁免的結(jié)果。
圖 8. 不含豁免結(jié)果的 RVE 篩選器結(jié)果
在下一個(gè)示例中,我們想要創(chuàng)建一個(gè) RDB 文件,其中僅包含特定直線邊區(qū)域中的錯誤,而將其余結(jié)果放在另一個(gè) RDB 中。以下批處理 Calibre RVE 命令運(yùn)用篩選器約束創(chuàng)建一個(gè) RDB 文件 “area.filter.rdb”,其中僅包含指定區(qū)域的結(jié)果,并創(chuàng)建另一個(gè) RDB 文件 “other.filter.rdb”,其中包含剩余的結(jié)果。
calibre -rve -drc simple.rdb -split -filter -include_area “simple - 76.700 233.700 38.500 233.700 38.500 120.800 -8.400 120.800 -8.400 174.900 -76.700 174.900” -output area. filter.rdb -filter -other -output other.filter.rdb
圖 9 顯示了此批量篩選器運(yùn)行創(chuàng)建的兩個(gè) RDB。
圖 9. 在多個(gè) RDB 文件之間
拆分 RVE 批量篩選結(jié)果
在下一個(gè)示例中,讓我們來看看批量篩選器過程如何處理更復(fù)雜的篩選條件。我們將使用篩選器,通過檢查名稱和屬性范圍的布爾組合創(chuàng)建一個(gè) RDB。以下批處理 Calibre RVE 命令運(yùn)用篩選器約束創(chuàng)建了一個(gè) RDB “boolean.rdb”,其中包含檢查名稱 “default” 且屬性 “CD” 的值大于 200、小于 250 的結(jié)果,以及檢查名稱 “short_ports” 且屬性 “CD” 的值大于 250、小于 300 的結(jié)果。
calibre -rve -drc input.rdb -filter -check “default” -property “200 < CD < 250” -OR -check “short_ports” -property “250 < CD < 300” -output boolean.rdb
圖 10 顯示了批量篩選器創(chuàng)建的 RDB。其中僅包含符合指定標(biāo)準(zhǔn)的結(jié)果。
圖 10. CD 屬性在某個(gè)范圍內(nèi)的
RVE 批量篩選結(jié)果
3性能比較
為了將傳統(tǒng)篩選器技術(shù)與批量篩選器過程的性能進(jìn)行比較,我們使用批量篩選器過程將定制篩選器應(yīng)用于我們的 110GB RDB,以創(chuàng)建 RDB “m1.rdb”,其中包含前綴為 “M1i” 的檢查名稱的結(jié)果,以及 RDB “m2.rdb”,其中包含前綴為 “M2i” 的檢查名稱的結(jié)果。
calibre -rve -drc 110GB.rdb -split -filter -check “M1i*” -output m1.rdb -filter -check “M2i*” -output m2.rdb
表 1 顯示了相應(yīng)結(jié)果。
表 1:批處理 RVE 篩選運(yùn)行匯總
然后,我們比較了加載 RDB 文件并應(yīng)用內(nèi)置篩選器以刪除豁免結(jié)果所需的運(yùn)行時(shí)間性能和內(nèi)存使用量。
表 2 顯示了相應(yīng)結(jié)果。
表 2:加載 RDB 文件并應(yīng)用內(nèi)置篩選器所用的時(shí)間
使用傳統(tǒng)方法,Calibre RVE 界面需要 25 分鐘加載原始 RDB,使用了 77.7GB 內(nèi)存。然后需要一個(gè)小時(shí)將 “顯示未豁免” 篩選器應(yīng)用于結(jié)果。
使用批量篩選過程,Calibre RVE 需要 47 分鐘創(chuàng)建兩個(gè)較小的 RDB。然后需要 14 秒鐘加載第一個(gè) RDB,內(nèi)存使用量為 1.5GB,需要 6 分鐘加載第二個(gè) RDB,使用了 10.5GB 內(nèi)存。加載后,第一個(gè) RDB 用了 2 秒鐘的篩選時(shí)間刪除豁免的結(jié)果,而第二個(gè) RDB 則需要 18 秒鐘。整個(gè)過程的總時(shí)間不到一小時(shí),總內(nèi)存使用量為 12GB。
找到有效的方法來篩選結(jié)果數(shù)據(jù),對于優(yōu)化結(jié)果調(diào)試時(shí)間和資源使用量有著重要的意義。雖然設(shè)計(jì)團(tuán)隊(duì)在 Calibre nmDRC 運(yùn)行期間可以生成經(jīng)篩選的較小 RDB 文件,但它需要修改晶圓代工廠的規(guī)則集,而這通常是不可取的。此外,加載時(shí)間耗費(fèi)了總體運(yùn)行時(shí)間的很大一部分,而且使用了大量的內(nèi)存資源。在圖形界面應(yīng)用程序中快速加載較小的數(shù)據(jù)庫時(shí)可以利用內(nèi)置的篩選器,但更大的數(shù)據(jù)庫可能會影響計(jì)劃和資源。
當(dāng)處理千兆級數(shù)據(jù)庫時(shí),設(shè)計(jì)團(tuán)隊(duì)可以利用 Calibre RVE 批量篩選過程等外部篩選操作,以節(jié)省大量時(shí)間和資源,并創(chuàng)建更高效的調(diào)試流程。設(shè)計(jì)人員可以利用 Calibre RVE 批量篩選過程將篩選表達(dá)式應(yīng)用于 RDB,以更少的內(nèi)存將匹配的結(jié)果寫入到更小的輸出文件。設(shè)計(jì)團(tuán)隊(duì)可以在任何文本編輯器中創(chuàng)建定制篩選器,然后輕松地對其他 RDB 文件重復(fù)使用這些篩選器,以及與團(tuán)隊(duì)成員或其他團(tuán)隊(duì)分享篩選器。通過更快地創(chuàng)建較小的定向 RDB,設(shè)計(jì)團(tuán)隊(duì)可以集中他們的時(shí)間和資源,更快、更高效地調(diào)試關(guān)鍵錯誤,從而改善結(jié)果,同時(shí)縮短流片時(shí)間。
-
芯片
+關(guān)注
關(guān)注
459文章
52352瀏覽量
438539 -
數(shù)據(jù)庫
+關(guān)注
關(guān)注
7文章
3907瀏覽量
65957 -
DRC
+關(guān)注
關(guān)注
2文章
155瀏覽量
37014 -
編輯器
+關(guān)注
關(guān)注
1文章
821瀏覽量
31895
原文標(biāo)題:批量篩選器:更好更快地篩選大型 DRC 結(jié)果數(shù)據(jù)庫
文章出處:【微信號:Mentor明導(dǎo),微信公眾號:西門子EDA】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
常見的數(shù)據(jù)庫管理
《電子發(fā)燒友電子設(shè)計(jì)周報(bào)》聚焦硬科技領(lǐng)域核心價(jià)值 第17期:2025.06.23--2025.06.27
《Visual C# 2008程序設(shè)計(jì)經(jīng)典案例設(shè)計(jì)與實(shí)現(xiàn)》---利用水晶報(bào)表篩選數(shù)據(jù)庫中的數(shù)據(jù)
labview根據(jù)時(shí)間篩選數(shù)據(jù)庫的內(nèi)容
Mentor工具簡介Calibre物理驗(yàn)證系列
calibre跑完后調(diào)不出RVE視窗的問題該如何去解決?
怎樣去改用calibre過DRC時(shí)的錯誤?
大型無縫影像數(shù)據(jù)庫管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
大型數(shù)據(jù)庫實(shí)驗(yàn)指導(dǎo)
一個(gè)大規(guī)模分布式原生XML數(shù)據(jù)庫原型系統(tǒng)

評論