當前,由于IC在速度,價值和尺寸方面的挑戰不斷提升,使得參與IC研發和生產的團隊之間在布局描述層面的交流增加,同時,對可控性和可靠性的需求也在增加。雖然可以使用常規完整性控制(例如循環冗余校驗,加密散列函數和ECC),但這些方法的局限性愈加突出。
經常發生的情況是,兩個團隊使用不同的方式同時處理相同的布局,如專有的,標準或半標準的格式,如GDSII,MEBES,OASIS和OASIS.MASK。
通過比較兩個數據庫來檢查它們之間的差異是一個復雜且耗時的過程,并且要求其中一方擁有這兩個文件。出于安全考慮,通常避免將不必要的數據傳輸給合作伙伴。
標準的可追溯性流程通常始于創建與產品轉讓相伴隨的獨特簽名,確保收件人能夠保證收到產品的真實狀態。良好的可追溯性系統必須是可靠和安全的,并且獨立于任何特定的實現方式,以確保異構環境之間的互操作性。而且,必須避免泄露它所保護的信息。
待解決的難題
目前,市場上還沒有太多解決這些需求的方案。傳統格式(如GDSII或MEBES)不提供完整性控制。較新的格式,如OASIS包括循環冗余校驗(CRC)和選項,但其有一些缺點:
1、使用CRC算法會將讀取和寫入轉換為線性操作 - 文件的字節必須按順序讀取 - 禁用基于大型文件并行性的優化。
2、CRC算法是錯誤檢測代碼,并且不提供安全保證。例如,創建具有不同內容的兩個文件很容易,但CRC校驗和相同。
3、由于它不是強制性的,因此許多編寫者省略校驗和,一些讀者不愿費心去檢查它。
考慮到以上這些問題,使用其它安全高效的工具很有必要,包括加密校驗和 - 安全散列算法(SHA)或不推薦的消息摘要5(MD5)。像CRC校驗和一樣,它們是字節相關的,這意味著文件中的單個位變化會引發校驗和的劇烈變化。通常情況下,這將被視為一項特性。對于布局數據庫,這是一個缺點,因為需要保護和追蹤的內容不是文件中的字節,而是實際的設計或幾何描述。
檢查兩個文件實現相同幾何設計的唯一方法是對它們運行異或(XOR)操作,這是一項復雜的操作,需要時間和昂貴的工具。與校驗和不同,它需要原始文件具有可用性,且需要比較文件。用戶不能輕易地知道設計是否相同,但這恰恰是他們想要做的。
布局文件控制的特定約束
在大多數情況下,檢查和驗證文件的內容很重要,這在電子設計自動化(EDA)處理流程中具有強制性,這是出于描述相同事物的各種方式考慮。除了對文件簽名的一般性考慮外,微電子還有其特定的需求和限制。
在設計方面,大多數布局文件使用GDSII格式,這是事實上的標準,盡管一些公司正在轉向OASIS,但大面積普及還需要一段過渡期,因為所有的EDA工具都不支持OASIS格式,這意味著設計后端流程需要在定義的步驟中通過一些轉換來管理GDSII和OASIS文件。
由于缺乏快速簡便的方法來驗證OASIS中的布局描述與GDSII中的布局描述相同,因此,用戶不愿意切換,因為GDSII提供了格式獨立的簽名。簽署GDSII中描述的布局和簽署OASIS中描述的相同布局必須產生相同的結果,與OASIS.MASK或MEBES等其他格式相同。
大多數芯片布局格式本身為描述結構提供了很大的自由度。例如,在GDSII中,文件中描述的單元格的順序完全是任意的。
即使較低級別的多邊描述相同且層次結構相同,也不可能通過使用文件級別簽名來比較兩個文件。在EDA工具中讀取GDSII文件,并在不進行修改的情況下重寫該文件會破壞簽名,因為它還包含創建日期和其他元數據。這使得任何校驗和都不可用。OASIS的問題更嚴重,因為格式提供了許多不同的方式來保存相同的數據,包括嚴格模式,通過引用或名稱。這些非幾何錯綜復雜的特征不應該影響簽名。
主要的幾何問題是EDA工具和文件格式允許用不同的方式來描述相同的事情。例如,“線”可以被描繪為“路徑”,即具有給定寬度的對接片段的連續或者可以被描述為基本梯形的組合體的復雜多邊形。
圖1:不同的EDA工具和文件格式允許用不同的方法來描述相同的幾何體
另外,關于多邊形的描述沒有限制。它是從多邊形的一個任意點開始并沿順時針或逆時針方向旋轉的邊的列表,使得簡單多邊形描述的經典簽名無關緊要。如果用戶不關心同一圖層中的多邊形重疊,則有意義的簽名只能考慮整個多邊形的最終包絡,且頂點順序上有明確的規定。
驗證文件完整性時,全局校驗和或簽名就足夠了。在大多數情況下,簡單的“去/不去”信息在大型布局文件中毫無用處,重要的是要知道差異的數量以及它們的位置。例如,在比較兩個文本文件時,使用“diff”會比使用簡單的校驗和提供更多的信息,因為用戶可以知道有多少行,哪些包含差異。
以同樣的方式,布局文件可以在窗口中分割以比較兩個文件。通過窗口進行比較。如果需要,可以在報告的窗口上運行更詳細的“XOR”。
簽名可以使用相同的機制。而不是報告整個布局的單個校驗和,簽名可以是校驗和列表 - 每個窗口一個。簽名變成一個包含每個窗口的窗口信息和校驗和的文件。
芯片布局描述文件通常包含多個圖層。當芯片需要返工時,通常用金屬固定件制造,其中僅改變少數互連層。這是通過使用已經處理到互連層的晶圓來降低掩模成本并加速交貨時間的必要條件。對于掩模數據準備小組,重要的是快速檢查所有前端圖層是否完全相同,而只有預期的金屬層已被更改。布局數據庫的簽名必須按層分割。
在審查了芯片布局文件的具體需求之后,為了實現高效的簽名策略,應該滿足一系列約束條件。簽名文件必須驗證內容,并且必須滿足以下條件:
1、獨立于文件格式和描述策略
2、基于多邊形的最終幾何包絡
3、拆分窗口和圖層
解決方案:新簽名方法
從約束列表中可以看出,芯片布局文件的新簽名標準是必要的。該標準必須能夠實現簽署任何布局數據庫的獨特和通用的方式。它不會是單個校驗和,而是包含每個窗口和每個圖層的校驗和的文件,并且包含窗口大小和列/行數等信息。
圖2:新的簽名標準將為簽署任何布局數據庫提供一種新方法
如上所述,盡管描述方法可能不同,但兩個相同的布局必須提供相同的簽名。為了得到這樣的結果,必須定義一種獨特的方法來描述幾何形狀 - 更準確地說,是幾何包絡。
為了保證它的唯一性,這個描述必須滿足多個約束條件,比如定義頂點的順序和精確定義哪些點是描述的一部分。然后,使用諸如SHA256或SHA3的標準算法,可以保證描述簽名的唯一性。
與原始數據庫相比,簽名文件較小,并隨時用作參考。兩個布局數據庫之間的比較不會通過完整的XOR來完成,而是通過比較兩個數據庫的簽名來完成。還可以將數據庫與先前計算的簽名文件進行比較。
通過這種基于幾何描述的簽名,布局的任何物理變化都將被快速檢測到,無論是意外的還是故意的。
例如,一旦在設計上要求返工(即金屬修補),將新數據庫與原始數據庫進行比較,以檢查只有預期的圖層已更改,并且通常僅在少數局部區域中進行更改。這總是耗時且需要恢復原始數據庫存檔。
使用簽名文件作為參考可以簡化過程,因為它足夠小以便于訪問。它還包含足夠的信息,以保證某些層之間的相似性。如果需要,可以運行詳細的XOR,但只能在包含差異的窗口中運行。
由于簽名僅依賴于物理布局,很容易用工具或格式轉換來檢查簡單的讀/寫,例如GDSII轉為OASIS沒有作出任何幾何修改。而且,由于簽名不會改變,除非在布局中引入了幾何變換,所以它非常適合驗證新工具和復雜流程,例如層次展平或分層。
結論
提議的簽名是針對布局數據庫文件完整性控制量身定做的。它是安全的,可靠的,而且最重要的是關注真正重要的部分 - 幾何描述。它允許快速輕松地比較大型數據庫,僅基于小型簽名文件,該文件不包含敏感信息并可以安全地發送給任何合作伙伴。這樣的簽名將對半導體行業開放標準產生積極的影響。包含簽名方案的專利合理使用政策將得到執行。
作為一個開放標準,簽名變得更加有用。例如,它可以直接嵌入到OASIS或OASIS.MASK數據庫中作為特殊屬性。
-
芯片
+關注
關注
459文章
52306瀏覽量
437741 -
數據庫
+關注
關注
7文章
3905瀏覽量
65876 -
異構環境
+關注
關注
0文章
2瀏覽量
6046
發布評論請先 登錄



工程師手冊:常用電子物料封裝及參數介紹


硬件系統工程師寶典—完整版
推薦資料!硬件系統工程師寶典,工程師必備寶典




FPGA算法工程師、邏輯工程師、原型驗證工程師有什么區別?


評論