在集成電路版圖設計中,為方便用戶快速生成器件陣列,提高用戶的工作效率,本發明實現了一種在指定圖形中快速生成指定間距的器件陣列的方法。本發明屬于EDA工具中版圖設計領域。
背景技術:
版圖設計是集成電路設計中最為重要、最為關鍵的步驟,直接決定著整個芯片設計的成敗。在集成電路版圖設計過程中,需要在指定的區域中生成指定間距的器件陣列。此時,通過手工操作將生成的器件布置在指定的圖形中不僅會加大版圖設計的工作量,而且也容易導致錯位的問題。
本發明實現的一種快速生成器件陣列的方法,根據用戶選擇的圖形與器件,可以快速有效地在該圖形區域中生成指定間距的器件陣列。該方法不僅能夠大大降低用戶的工作量,同時也能有效避免用戶手工操作帶來的錯位問題,提高了版圖設計的效率。
技術實現要素:
本發明提出一種在集成電路版圖設計中根據指定的圖形區域,快速有效地在該圖形區域中生成指定間距的器件陣列的方法。
基本思想:根據所選擇的圖形的中心點和用戶輸入的X軸和Y軸方向的偏移值,計算出器件生成時的基準點。以該基準點為原點,根據用戶選擇的器件及其在X軸和Y軸方向的間距,以所選擇圖形區域的外接矩形與待填充的器件以及其pitch值劃分均勻網格,每個網格初始化為可以放置一個inst(inst是一個設計單元的實例),然后根據依次判斷每個網格是否被圖形區域包含,如果沒有被選擇圖形包含,則置當前網格不可以放置一個inst。如果當前網格被選擇圖形部分包含,則判斷包含區域是否滿足面積占比要求,不滿足則則置當前網格不可以放置一個inst。所有網格確定是否可以放置inst之后,從其中找出連續可以放置inst的最大子陣列創建一個arrayInst(arrayInst是使用一個對象表示一組inst;這一組inst是二維的,可以有多行多列,這樣表示可以方便用戶后續編輯操作),并把當前這些已經創建過arrayInst的網格置為不可以創建inst,繼續遞歸找出最大子陣列創建arrayInst,直到所有可以產生inst的網格處理完畢為止。滿足面積占比要求是指當前網格區域和圖形部分重疊區域除以當前網格區域的百分比是否大于用戶指定的閥值,大于等于則表示滿足,小于則表示不滿足。指定X軸和Y軸方向的偏移值,用戶可以對器件在圖形區域的布置方式進行調整。
在整個過程中,用戶只需指定偏移值、待生成的器件、相鄰器件在X軸和Y軸方向的間距以及重疊區域的比值即可完成器件陣列的創建,這種簡單有效的實現可以極大地節省版圖設計工程師在布置器件時花費的巨大的時間代價,有效地加速版圖設計。
附圖說明
圖1 基本選項設置
圖2 寬、高分別為300 * 400的橢圓上生成器件陣列圖
圖3 內徑為360、外徑為380的donut上生成器件陣列圖
圖4 寬、高分別為270*400的E形多邊形上生成器件陣列圖
圖5 X方向間距為5u、Y方向間距為10u時橢圓上生成器件陣列圖
具體實施步驟:
結合一個實際操作以說明實施步驟,具體操作流程如下:
1)選擇待放置器件的圖形、需要生成的器件、重疊部分的面積占比,并指定待生成器件在X軸、Y軸方向的間距及其偏移值;
2)根據選擇圖形區域的外接矩形與待填充的器件及其間距和偏移值劃分均勻網格,每個網格大小初始化為可以放置一個inst。根據指定的面積占比要求,確定網格能否放置inst;
3)從所有網格中找出連續可以放置inst的最大子陣列創建一個arrayInst,并把這些網格置為不可以創建inst;
繼續步驟3),直至所有可以產生inst的網格處理完畢。此時,所有網格均被置為不可以創建inst,完成器件陣列的自動生成。