• 正文
  • 相關推薦
申請入駐 產業(yè)圖譜

什么是Layout versus Schematic?

2024/09/21
3.9萬
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

LVS和DRC check互補

在 ASIC 物理實現(xiàn)中,一旦生成版圖(layout),它必須遵循成功制造的所有設計規(guī)則(Design Rule),并且必須匹配所需設計的原理圖schematic)。為了在物理驗證中確保這一點,執(zhí)行設計規(guī)則檢查 (DRC) 以檢查layout是否遵循fault-less manufacturing rule。這種 DRC 檢查可提供良好的制造良率并防止制造過程中出現(xiàn)故障,但不能確保layout的正確性。需要確保設計的物理實現(xiàn)與設計的原理圖相同。為此,將layout netlist電路schematic netlist網表進行比較,稱為Layout versus Schematic (LVS)。

我以前用的比較多的跑DRC和LVS的工具是Calibre.

圖1 Layout和Schematic示意圖

 

一般LVS的輸入件如下:

GDS(layout stream file):LVS工具通過GDS提取生成layout netlist,用于LVS比較。

Schematic netlist:用作 LVS 比較的source netlist。

Rule deck fileRule deck file由執(zhí)行 LVS 所需的指令和文件組成。Rule deck file還包含一個layer definition,這對于提取很有用。

Equivalence file:由cell pairs組成,其中一個來自layout netlist,另一個來自schematic netlist

LVS Flow

LVS 不是一個簡單地將版圖與電路原理圖進行比較的過程,它需要分兩步完成。第—步“抽取”,第二步“比較”。首先根據 LVS 提取規(guī)則,EDA 工具從版圖中抽取出版圖所確定的網表文件; 然后將抽取出的網表文件與電路網表文件進行比較。需要說明的是:抽取的網表為晶體管級的 SPICE網表,而電路網表為門級的Verilog網表,該門級網表需要結合SPICE模型/CDL模型轉化為SPICE網表,才能與抽取的網表進行邏輯等效性比對。如果兩個網表的電路連接關系和器件完全一致則通過 LVS 檢査。反之,說明版圖存在與電路不一致的地方,需要進行檢査并加以處理或修改更正。

實現(xiàn)“抽取”的主要步驟是網表提取,它可以實現(xiàn)從版圖提取網表,包含連接關系提取和器件提取兩大模塊。連接關系提取模塊的主要功能是標識線網和為線網命名。標識線網是指把金屬、通孔、多晶等半導體劃分為不同的連通集合,從而生成不同的線網。器件提取模塊的主要功能是識別器件、計算器件屬性和輸出網表。

實現(xiàn)“比較“的步驟是網表比較,它包括網表預處理、版圖和原理圖網表比較。網表預處理的主要工作是串并聯(lián)結構約簡,虛擬器件過濾,門電路識別等。在版圖設計中,寬長較大的 MOS 管通常會采用版圖折疊的方法將其等效于多個晶體管的并聯(lián),所以為避免在檢査器件數目和尺寸時發(fā)生錯誤,需要把版圖中折疊的、并聯(lián)或串聯(lián)的器件合并成一個再進行比較。而門電路結構可以作為一個整體對待,以此減少需要處理的節(jié)點數量。

圖2 LVS過程示意圖

 

完成網表預處理后,則可以開始進行網表比較。網表比較本質上是圖同構問題。圖同構比較的是拓撲結構,不受節(jié)點的物理位置、距離、大小影響。若版圖網表和原理圖網表同構,則版圖上的每一個節(jié)點都唯一對應原理圖上的一個節(jié)點。

3 版圖和原理圖比較示意圖

Common LVS issues

LVS errors可以分為兩個大類:

Extraction Errors

?Text short and open

?Device extraction error

?Missing device terminal

?Extra device terminal

?Unused text

?Duplicate structure placement

 

Compare Errors

?Unmatched nets in the layout/schematic

?Unmatched devices in the layout/schematic

?Property errors

?Port swap errors

Open

具有相同layout text的net的shapes不相交或不接觸導致設計中有open(開路).。Opens 意味著設計中有floating connections. Floating connection會導致芯片的重大缺陷。所以發(fā)現(xiàn)和找到design中的open非常重要。在進入LVS環(huán)節(jié)前,在PnR工具中進行相關檢查很有幫助。

下面的示例顯示了 LVS 工具對設計中open的檢測。該工具生成的報告描述了設計中的open,如以下工具報告片段所示。

圖4 LVS report中的open

 

Error summary顯示檢測到的錯誤及其數量的總結。對于open,extractor 將open net提取為兩個不同的net,因此layout中的net數量大于schematic中的網絡數量,如報告所示。該報告顯示layout中的net數量以及相應的schematic。schematic net  BUF_net_152645,在layout中用兩個net

N_11965140和N_11989743表示(因為open成兩段了),如報告中所述。

此類問題可以通過connet屬于同一net的的layout shape來解決

圖5 layout中的open

Short

如果layout中具有l(wèi)ayout text的layer重疊或相交,將導致short(短路)。設計中short的存在會導致芯片failure。在進入LVS環(huán)節(jié)前,在PnR工具中進行相關檢查很有幫助。

下面的示例顯示了 LVS 工具對設計中short的檢測。該工具生成的報告描述了設計中的short,如以下工具報告片段所示。

當設計中發(fā)生short時,extractor會將short的net extract為單個net,因此schematic中的兩個net只有一個對應的layout net,如報告中所述。N738 和 BUF_net_189972 是short net。

圖6 LVS report中的short

Short可以通過正確地重新繞線來解決。

圖7 layout中的Short

Internal shorts with Macros

在設計中,由于設計的復雜性或不正確的設置,PnR 工具可能會將macro的internal geometries(內部走線)制造short的方式對net進行布線。如果macro的 LEF 中缺少routing blockage,也會發(fā)生這種情況。有時在manual custom routing時,會在自定義routing和macro的內部routing之間創(chuàng)造成short。在 PnR 工具環(huán)境中不容易報告此類short violation。當我們將hard macro的 GDS 與頂層block merge時,short在 GDS 中是可見的。下面是一個片段,顯示了signal net如何錯誤地通過hard macro走線。由于hard macro的internal geometries的存在,因此該layer被block在macro上了。該net將導致macro的internal geometries short。

圖8 外部net和macro內部走線short(PnR tool view

 

下面是merge后的 GDS 的片段,清楚地顯示了short。

圖9 外部net和macro內部走線short(GDS view

 

生成的報告與上文所述的short報告類似。此示例的報告選段如下。

圖10 LVS report中的

PG short with signal net

當設計中有PG short時,很難識別。PG short可以是power net和ground net之間的short,也可以是power/ground net和signal net之間的short。當 PG  net與相當長的signal net short時,并且由于 PG net連接到如此多的器件,很難精確定位short位置。

由于不正確的metal fill和manual routing changes,VSS net和其中一個signal net之間產生了short,如下圖所示。

圖11 錯誤的metal fill造成pg net和signal net的short

Missing components

如果在merge database時缺少某些 spice 文件或 GDS 文件,則會顯示missing components錯誤。例如:如果您在設計中使用了單元 ABC,但未在 GDS  list或spice list中定義該單元以用于 LVS 流程,則可能導致missing components錯誤。要么需要修改list,要么需要從 LVS 比較中排除 ABC 單元(這取決于單元的功能,在比較中只能排除physical-only單元)。

Missing global net connect

如果單元的 PG 引腳未使用 connect_pg_net 命令連接到任何power/ground net,則會導致大多數設計的器件mismatch和 LVS 錯誤。例如,即使標準單元 PG 引腳名稱為 VDD,工具也不會將其連接到設計的 VDD 網絡。我們需要使用下面的命令來連接這些引腳。

connect_pg_net -net VDD [get_pins -hierarchical */VDD]

結論

LVS 是驗證網表物理實現(xiàn)正確性的有用技術。open、short、missing components和Missing global net connect是可能影響設計功能的潛在問題,并且可能無法在物理設計早期檢測到,因此 LVS 有助于在設計中報告這些問題。一旦物理驗證工具報告了這些問題,就可以通過本文中討論的各種技術來解決。

相關推薦

登錄即可解鎖
  • 海量技術文章
  • 設計資源下載
  • 產業(yè)鏈客戶資源
  • 寫文章/發(fā)需求
立即登錄

與非網2022年度影響力創(chuàng)作者 Top 2,與非網2023年度最佳創(chuàng)作者 Top10,與非網2024年度創(chuàng)作者;IC技術圈成員。

微信公眾號