作者:David Abercrombie、張淑雯,Mentor Graphics公司 信不信由你,不用畫兩張圖形就能進行雙重圖形IC設計!通常,DP是一個“雙色”的流程,設計工程師從若干分解選擇中選出一種,流片(tape out)兩張光罩(以兩種不同顏色區分)。但還有一種替代方案,被稱為“無色”設計流程。無論選擇何種設計流程都需要進行妥協,因此必須根據哪種流程對你的企業最有利、你的代工廠(foundry)會支持哪種流程來做出抉擇。 圖1是四種可能的DP設計流程。前3個流程是雙色流程,對任何要進行雙重圖形成型的層,設計工程師都會提交兩張分開的“彩色”版圖(layout)。第4個流程是“無色”流程,設計工程師僅提交一張版圖,由代工廠來執行分解為兩層的工作。三種雙色流程之間的差別,在于建立這些分解層所涉及的自動化程度的不同。 圖1.不同雙重圖形成型分解方法流程圖。 在人工分解流程,設計工程師手動繪制兩張光罩層。分解的精確性是通過傳統的設計規則檢查(DRC)工具進行驗證的,比如檢查光罩間的間隔約束。但是,設計工程師必須人工確定如何在兩張光罩中實現設計。手動分解版圖會非常耗時和困難,而在大型區塊上是不可行的。所以其他流程更為常見。 在自動化分解流程中,設計工程師繪制一個層即可。然后用一個專用EDA工具自動將該層分解為兩張光罩,通過傳統DRC操作進行檢查。也可以運行專門的“奇數回路(odd cycle)”DP檢查,幫助設計工程師更好地理解造成任何分解錯誤的整套多邊形交互作用。 混合分解流程當然就是前兩種流程的混合。設計工程師可以手動執行一部分分解,然后讓專用EDA工具自動分解并檢查剩余的設計。這種流程常用于設計工程師將一個已經分解的單元整合到一個未經分解的新的版圖中的情況。 在無色流程中,設計工程師根本無需產生兩個光罩層,而是通過對專用EDA工具的專項奇數回路檢查,來確定無法以自動方式正確分解的位置。如發現問題就修改單個層,直至這些檢查都沒有問題為止。在流片后代工廠將該版圖分解成兩層。 雖然無色流程不要求設計工程師分解光罩層工程,但在版圖中的一些特殊區域,設計工程師可能想要控制多邊形的著色。比如,在特定光罩上放置電源和接地軌(ground rails)可能是很重要的,或者在模擬電路中,“匹配”的器件可能需要以相同的方式進行分解,以確保其性能匹配。在這些情況中,會采用“錨點”(anchor)標記,將這些特殊要求傳達給代工廠所使用的分解工具。這些錨點通常被指定為放置在“網布”(fabric)多邊形上的層標記,從而將它們分配給特定光罩層。然后專用EDA工具會分解未分配的、受到指定多邊形影響的多邊形。 當然,分解并非總是一帆風順的。也可能在版圖中有某些情形,如果不違反著色間隔約束,就無法分解。所使用的DP方法,影響著可以完成的錯誤檢查的類型。圖2顯示在一個雙色流程中無色檢查和傳統DRC檢查都報告出的奇數回路違例情況。無色流程中使用的專用DP檢查,顯示了接觸多邊形的錯誤的“環”(rings)和組成奇數回路的分隔符。回路可通過在環中增加一個或更多分隔符來修正。換言之,一個奇數回路有多種可能的修正方法,設計工程師可以選擇最容易實現的方法。 圖2.由無色流程的專用奇數回路檢查或雙色流程的傳統DRC檢查所找出的DP錯誤。 在人工分解的實例中,設計工程師指定了多邊形的著色。DRC檢查可標記出任一特定的、同一光罩上兩個多邊形距離過近之處。設計工程師可增加指定的間距、或改變其中一個多邊形的顏色,來修復錯誤。當然,改變顏色后,又可能在新著色的多邊形和任一臨近的、現在是相同顏色的多邊形之間造成新的錯誤。 在雙色流程里使用專用EDA工具來執行分解和檢查,讓設計工程師能使用環式錯誤標記來找出全部互相影響的多邊形,并且更快、更高效地確定合法的著色選擇。 最后,沒有一個能解決所有問題的通用方案。每一設計團隊都必須研究所有可用的選擇,從而決定采用何種妥協方式去優化學習方式以及設計日程。建議設計公司團隊針對這些選擇與代工廠及EDA廠商進行對話,從而了解他們支持哪些流程和工具有哪些功能。 |