TWI643082B - 一種佈線出一解決路徑之方法及系統 - Google Patents

一種佈線出一解決路徑之方法及系統 Download PDF

Info

Publication number
TWI643082B
TWI643082B TW103130262A TW103130262A TWI643082B TW I643082 B TWI643082 B TW I643082B TW 103130262 A TW103130262 A TW 103130262A TW 103130262 A TW103130262 A TW 103130262A TW I643082 B TWI643082 B TW I643082B
Authority
TW
Taiwan
Prior art keywords
source
layout
block
path
solution
Prior art date
Application number
TW103130262A
Other languages
English (en)
Other versions
TW201520801A (zh
Inventor
陳東傑
潘柏丞
秦敬雨
陳宏明
Original Assignee
美商新思科技股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 美商新思科技股份有限公司 filed Critical 美商新思科技股份有限公司
Publication of TW201520801A publication Critical patent/TW201520801A/zh
Application granted granted Critical
Publication of TWI643082B publication Critical patent/TWI643082B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/394Routing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/20Design reuse, reusability analysis or reusability optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/327Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level

Abstract

本發明提供一種使用電腦以保存佈線之方法。該方法包括分解一第一 模組、一第二模組及一來源佈局之一佈線路徑間的幾何關係。該方法進一步包括根據該幾何關係以設置該佈線路徑於一解決佈局中。解決佈局不是以一個縮放的來源佈局而定義。

Description

一種佈線出一解決路徑之方法及系統
本發明在廣義上與積體電路(IC)的電腦輔助設計(CAD)的一個方法和系統有關,狹義上則與類比電路的佈局產生有關,該佈局係利用保存一個參考佈局的佈線而產生。
在半導體晶圓的IC製造過程中,當IC被設計和轉換為光刻掩膜時,IC的佈局會以資料的方式儲存在電腦記憶體之中。類比IC的電氣特性對於佈局中電路區塊與佈線的擺置有著很高的敏感度。設計者經常使用CAD技術於佈局的設計和驗證工作。CAD技術也用於與時俱進的半導體製程變化,也就是使用較小尺寸在一個較小的技術節點上驅動較佳的性能,這需要根據新的設計約束來改變和驗證佈局。無晶圓廠的公司在轉移一個IC設計由一個半導體晶圓廠到另一個晶圓廠時,即便在相同的技術節點上,也必須處理不同的設計約束。自動化電路區塊的擺置以及區塊間連結路徑的佈線,可降低一個現存設計遷移至一個新科技節點或一個不同晶圓廠的工程成本。
類比IC的電氣特性對於佈局中電路區塊與佈線的擺置有著很高的敏感度。因此,產生類比電路的自動化佈局是個具挑戰性的先進科技。幾十年來,為了減輕在電晶體層級製程變化的衝擊,以及確保較高的電子性能,類比的佈 局設計幾乎都是依賴設計者的經驗。然而,人工設計上的重複修正,無疑加長了類比佈局的設計周期時長。不過,因為先進科技節點的佈局設計需要考慮較多的約束,這使得重複使用現有的設計會比從頭產生新的設計要來的有價值。因此,保存可重複使用的佈局模板會變的很有利。
為了保存一個類比佈局模板的設計知識,一個裝置的相對位置和佈線行為應該要被仔細的考慮。典型的類比限制像是對稱性與鄰近性的限制,會根本地影響類比的擺置。另一方面,配線對稱性和拓樸匹配對於類比佈線是很關鍵的。
模板佈局的擺置和佈線可透過抽取的方式來保存。從模板佈局抽取的資訊越多,就能保存較多的電路特性。目前的類比佈局保存,大多著重於拓樸抽取的擺置狀況。然而,路徑、配線或佈線行為的抽取,則很少在過去的方法中出現。因此,需要一個方法能夠保存現有擺放置和佈線的相關性,以便能快速地產生佈局。
關於類比約束佈局再使用問題,可分為兩個階段,也就是擺置(place)和佈線(route)。在擺置的階段,某些做法主要聚焦於壓縮以及對稱島的產生。由於壓縮會幾乎保持來源佈局的相同拓樸,它會建立一個符號結構來保存佈局拓樸、技術規則、對稱性和鄰近性的約束。一種解決方案會有效地提供原型另外的演算法,用來配合不同縮放比率的遷移佈局,並且降低在目標技術下的白色空間,以便在後佈局模擬時得到較好的性能。在產生對稱島(symmetry island)時,對稱對會以對稱島的方式來對待,並降低熱梯度和程序變化的靈敏度。一種解決方案展示了階層式切片樹的表示法,其中考量了單調電流路徑。除此之外,一個可繞性驅動的類比擺置則是另一個提出的解決方案。
關於佈線,現有研究均聚焦於解決有約束的佈線問題。早期的做法提出一個迷宮樣式的佈線器,並在相同設計中考量了對稱和非對稱的模組。某些解決方案採用了一個通道佈線器,來處理鏡像對稱和區塊間的詳細佈線。有一種解決方案,在擺置階段和佈線方法上採取拓樸匹配的方式而非對稱式做法。有一種解決方案,首先定義了類比佈線中對性能衝擊最大的三種匹配約束:(1)對稱性(2)拓樸匹配,和(3)長度匹配。在其他的解決方案,則提出在佈線優先度中考量階層中的約束群組可提升信號的完整性。
總體而言,雖然對稱性和匹配約束已經被處理,而且佈線匹配約束也被進一步地延伸,但是佈線和擺置之間的關聯性並未做有系統地考量。因此,有必要系統化地關聯佈線和區塊擺置,以便能以較好的方式來產生類比電路的新佈局,以保存一個參考或原始設計佈局的電氣特性。
依據本發明的一個實施例,提出了一個電腦的實作方法來產生一個解決路徑。這個方法包括使用電腦來佈線出解決路徑時,從一個來源佈局中取出一個沿著一個第一區塊的第一邊和一個第二區塊的第一邊的來源路徑的一個位置。這個方法進一步包括使用電腦在解決佈局中產生解決路徑,同時要保持來源路徑沿著一個第一區塊的第一邊和一個第二區塊的第一邊的位置。在來源佈局中第一和第二區塊之間的最近距離會在解決佈局中以一個第一個數字來縮放,而在來源佈局中至少一個第一或第二區塊的一個邊緣會在解決佈局中以一個不同於第一個數字的第二個數字來縮放。
這個方法進一步包括使用電腦在解決佈局中產生解決路徑,同時要保持來源路徑沿著一個第一區塊的第一邊和一個第三區塊的第一邊的位置。根據一個實施例,這個方法進一步包括使用電腦,在取出一個沿著一個第一區塊的第一邊和一個第二區塊的第一邊的來源路徑的一個位置之後,從一個來源佈局中取出一個沿著一個第一區塊的第一邊和一個第三區塊的第一邊的來源路徑的一個位置,也就是階層式地取出來源路徑的位置。
根據一個實施例,第一和第二區塊會依據對稱性和接近性的約束而群集在一起。根據一個實施例,解決路徑會包括在一個類比電路中。根據一個實施例,取進一步包括透過三角測量演算法將來源佈局轉換成平面的直線圖。根據一個實施例,轉換進一步包括產生一個交叉圖形,該圖形相關於來源路徑之間交點的多個交叉點,以及多個邊緣將一個來源佈線平面分割為多個未重疊的三角形,除了該來源佈局中之該第一及該第二區塊的位置外。
根據一個實施例,來源佈線平面為該來源佈局中之包含該來源路徑之一區域。根據一個實施例,多個邊緣中至少有一個邊緣代表著來源佈局和來源佈線平面之間第一區塊、第二區塊的一個幾何關係。根據一個實施例,多個未重疊的三角形包括多個頂點,每個頂點分別被設置在該第一區塊、該第二區塊以及該來源佈線平面的一複數個不同之角落上,並且沿著來源佈線平面中多個邊緣中至少一個不同的邊緣先進行設置。根據一個實施例,轉換進一步包括儲存至少一個路徑方向相關於多個交叉點中的一個。
根據一個實施例,平面的直線圖包括多個邊緣將一個來源佈線平面分割為多個未重疊的三角形,除了該來源佈局中之該第一及該第二區塊的位置外,而該來源佈線平面為該來源佈局中之包含該來源路徑之一區域。一對頂點 可定義多個邊緣中的每個不同邊緣,當各對頂點被設置於多個非重疊三角形中一個的相同邊緣,或是當各對頂點被設置於來源路徑的附近。根據一個實施例,產生一個解決方案進一步包括依據解決佈局來回復平面的直線圖,以及依據多個在回復的平面的直線圖中的交叉點來產生多個區段,而解決路徑包括了多個區段。
根據一個實施例,來源佈局的多個非重疊三角形包括多個頂點,每個頂點分別被設置在該第一區塊、該第二區塊以及該來源佈線平面的一複數個不同之角落上,並且也沿著來源佈線平面的多個邊緣中至少一個不同的邊緣進行設置。當多個轉角的至少一個轉角在解決佈局中被重新定位時,回復平面的直線圖包括重新定位多個頂點的每一個點,每個頂點則與多個轉角的不同轉角有關。根據一個實施例,轉換進一步包括儲存至少一個路徑方向,該路徑方向與多個交叉點的其中一個有關。產生多個區段則進一步與至少一個路徑方向有關。
根據本發明的一個實施例,提出一個電腦實作方式來進行佈線保留。該方法包括當電腦被用來產生解決路徑時,使用電腦來分解一個第一模組、一個第二模組和一個來源佈局佈線路徑之間的幾何關係。該方法進一步包括使用電腦以根據幾何關係在解決佈局中設置佈線路徑。解決佈局不是以一個縮放的來源佈局而定義。
根據一個實施例,分解進一步包括使用多個非重疊的三角形。根據一個實施例,多個非重疊的三角形是由被約束的德洛涅三角剖分(Constrained Delaunay Triangulation,CDT)演算法所產生的。根據一個實施例,多個非重疊的三角形與第一模組、第二模組和佈線路徑具有幾何相關。根據一個實施例,分 解進一步包括,由多個非重疊三角形來形成一個平面的直線圖。根據一個實施例,設置進一步包括,根據解決佈局中第一和第二區塊的位置來更新平面的直線圖。
根據本發明的一個實施例,一個非暫時性的電腦可讀存儲媒介包括多個指令,當該多個指令被電腦執行時可使電腦自一個來源佈局中取出一個來源路徑的一個位置,該來源路徑在當電腦被用來產生解決路徑時,係沿著一個第一區塊的第一邊和一個第二區塊的第一邊來配置。該指令進一步使得電腦產生解決佈局中的解決路徑,同時也保持解決路徑的位置可以沿著第一區塊的第一邊和第二區塊的第一邊。在解決佈局中第一和第二區塊之間的一個最接近距離,會在解決佈局中被一個第一數字所縮放,而在解決佈局中第一或第二區塊中至少一個邊緣,會被不同於第一數字的一個第二數字所縮放。
根據一個實施例,該多個指令進一步使得電腦自來源佈局中取出來源路徑的一個位置,該來源路徑係沿著第一區塊的第一邊和第三區塊的第一邊來設置,在這之前已先取出沿著第一區塊的第一邊和第二區塊的第一邊而設置的來源路徑的一個位置,因此可以階層式地取出來源路徑的位置。該指令進一步使得電腦在解決佈局中產生解決路徑,同時也保持來源路徑沿著第一區塊的第一邊和第三區塊的第一邊。
根據一個實施例,該多個指令進一步會使得電腦透過一個三角演算法將來源佈局轉換成一個平面的直線圖。根據一個實施例,使得電腦進行轉換的指令,進一步會使得電腦產生一個相關於多個交叉點的一個交叉圖,而多個交叉點被設置在來源路徑和多個邊緣的交點上,這些多個邊緣會將一個來源佈線平面分割成多個非重疊的三角形,除非設置之處有來源佈局的第一和第二區 塊。根據一個實施例,使得電腦進行轉換的指令,進一步會使得儲存至少一個路徑方向相關於多個交叉點之中的一個。
根據一個實施例,使得電腦產生一個交叉圖的指令,會進一步使得電腦根據解決佈局來回復平面的直線圖,並且根據已回復的平面的直線圖的多個交叉點來產生多個區段,而解決路徑則會包括多個區段。根據一個實施例,使得電腦產生轉換的指令,會進一步使得電腦儲存至少一個相關於多個交叉點之一的一個路徑方向。使得電腦產生多個區段的指令會進一步依據至少一個路徑方向。
根據本發明的一個實施例,一個非暫時性的電腦可讀存儲媒介包括指令,當被電腦執行時,可使電腦分解一個第一模組、一個第二模組和一個來源佈局的一個佈線路徑之間的一個幾何關係,特別當電腦用來佈線出解決路徑時。該指令進一步會使得電腦,依據幾何關係來配置解決佈局中的佈線路徑。解決佈局並非依照來源佈局的縮放關係來定義的。
根據一個實施例,使得電腦進行分解的指令,會進一步讓電腦由多個非重疊的三角形來形成一個平面的直線圖。根據一個實施例,使得電腦進行配置的指令,會進一步讓電腦根據解決佈局中第一和第二區塊中的位置來更新平面的直線圖。
根據本發明的一個實施例,一個佈線出解決路徑的系統,會被設定自來源佈局中取出一個來源路徑的一個位置,該來源路徑係沿著一個第一區塊的第一邊和一個第二區塊的第一邊而配置,特別當電腦用來佈線出解決路徑時。該系統進一步被設定來產生來源佈局中的來源路徑,同時保持來源路徑的位置能沿著第一區塊的第一邊和第二區塊的第一邊。在來源佈局中第一和第二區塊 之間的一個最接近距離,會在解決佈局中被一個第一個數字所縮放,而在解決佈局中第一或第二區塊的至少一個邊緣,會在解決佈局中被一個不同於第一個數字的第二個數字所縮放。
根據一個實施例,該系統進一步被設定為自來源佈局中取出來源路徑的一個位置,該來源路徑係沿著一個第一區塊的第一邊和一個第三區塊的第一邊來設置,在這之前已先取出沿著第一區塊的第一邊和第二區塊的第一邊而設置的來源路徑的一個位置,因此可以階層式地取出來源路徑的位置。該系統進一步被設定為在解決佈局中產生解決路徑,同時也保持來源路徑沿著第一區塊的第一邊和第三區塊的第一邊。
根據一個實施例,該系統進一步被設定為透過一個三角演算法將來源佈局轉換成一個平面的直線圖。根據一個實施例,該系統進一步被設定為產生一個相關於多個交叉點的一個交叉圖,而多個交叉點被設置在來源路徑和多個邊緣的交點上,這些多個邊緣會將一個來源佈線平面分割成多個非重疊的三角形,除非設置之處有來源佈局的第一和第二區塊。根據一個實施例,該系統進一步被設定為儲存至少一個相關於多個交叉點之一的一個路徑方向。
根據一個實施例,該系統進一步被設定為根據解決佈局來回復平面的直線圖,並且根據已回復的平面的直線圖的多個交叉點來產生多個區段,而解決路徑則會包括多個區段。根據一個實施例,該系統進一步被設定為儲存至少一個相關於多個交叉點之一的一個路徑方向,其中使電腦產生多個區段的指令會進一步依據至少一個路徑方向。
根據本發明的一個實施例,一個佈線保存系統被設定為分解一個第一模組、一個第二模組和一個來源佈局的一個佈線路徑之間的一個幾何關係,特 別當電腦用來佈線出解決路徑時。該系統可進一步被設定為,依據幾何關係來配置解決佈局中的佈線路徑。解決佈局並非依照來源佈局的縮放關係來定義的。
根據一個實施例,該系統會進一步被設定為使用多個非重疊三角形。根據一個實施例,該系統會進一步被設定為由多個非重疊的三角形來形成一個平面的直線圖。根據一個實施例,該系統會進一步被設定為根據解決佈局中第一和第二區塊中的位置來更新平面的直線圖。
參考以下的詳細說明和附圖,應可對本發明實施例的本質和優點有較好的理解。
100A‧‧‧來源佈局
110‧‧‧來源佈線路徑
125‧‧‧區塊A的邊緣
127‧‧‧第一區塊A的一個第一邊
129‧‧‧第二區塊C的一個第一邊
140‧‧‧來源佈線平面
100B‧‧‧簡化佈局
120‧‧‧定位佈線路徑
100C‧‧‧解決佈局
130‧‧‧來源路徑
200‧‧‧簡化的參考佈局
210‧‧‧來源佈線平面
227‧‧‧多個佈線平面邊界
220‧‧‧CDT邊緣
222‧‧‧轉角頂點
224‧‧‧轉角
226‧‧‧中點
240‧‧‧CDT交叉邊緣
260‧‧‧交叉點
281‧‧‧交叉圖G的一部分
282‧‧‧交叉圖G的一部分
320‧‧‧交叉點範例區塊
340‧‧‧交叉邊緣
361、362、363‧‧‧頂點
381、382‧‧‧來源路徑
310‧‧‧交叉圖G
390‧‧‧邊緣e
410‧‧‧來源交叉圖GCDT
415‧‧‧來源交叉圖G’CDT
417‧‧‧邊緣
420‧‧‧來源CDT圖GCDT
430‧‧‧交叉方向
440‧‧‧來源路徑
450‧‧‧CDT圖GCDT
460‧‧‧交叉方向
510‧‧‧CDT邊緣e
521‧‧‧第一象限
530‧‧‧第二象限
540‧‧‧第三象限
545‧‧‧第四象限
550‧‧‧H的交叉點
555‧‧‧更新的交叉點
560G‧‧‧CDT中CDT邊緣e
565G’‧‧‧CDT中CDT邊緣e
570‧‧‧V的交叉點
575‧‧‧更新的交叉點
600‧‧‧簡化的範例電腦實作流程圖
605‧‧‧流程一
610‧‧‧流程二
615‧‧‧流程三
700‧‧‧詳細的範例電腦實作流程圖
705‧‧‧模組區塊、佈局路徑、約束
710‧‧‧多層佈線行為保存
715‧‧‧被約束的德洛涅三角剖分(Constrained Delaunay Triangulation,CDT)
720‧‧‧佈線重建
725‧‧‧來源佈局
730‧‧‧產生交叉圖
735‧‧‧擺置原型化
740‧‧‧擺置候選
745‧‧‧交叉圖復原
750‧‧‧H/V區段產生
755‧‧‧由下而上階層式佈線
760‧‧‧自動產生佈局候選
765‧‧‧詳細的佈線細化
770‧‧‧物理驗證
775‧‧‧後佈局模擬
780‧‧‧佈局結果
N1、N2‧‧‧路徑
800C‧‧‧下層叢集M的一個CDT圖
810‧‧‧內部部分
830‧‧‧內部叢集連結
800D‧‧‧上層叢集U的一個CDT圖
820‧‧‧外部部分
800E‧‧‧下層叢集M的一個CDT交叉圖
M1、M2、M3、M4‧‧‧M邊界轉角的頂點
800F‧‧‧上層叢集U的一個CDT交叉圖
U1、U2、U3、U4U‧‧‧邊界轉角的頂點
1210‧‧‧監視器或圖形使用者介面
1260‧‧‧處理器
1270‧‧‧隨機存取記憶體
1280‧‧‧磁碟或非揮發性記憶體
1250‧‧‧通訊介面
1240‧‧‧輸入裝置
1230‧‧‧輸出裝置
圖1A-1C描述在不同佈線策略下,許多重複使用電路區塊擺置的簡易例子。圖1A描述了一個第一個簡化的參考佈局,它可用於本發明的實施例中。
圖1B描述一個基於圖1A參考佈局但沒有佈線保存的一個新的簡化佈局。
圖1C描述一個基於圖1A參考佈局但有佈線保存的一個新的簡化的解決佈局,此圖係依據本發明的一個實施例。
圖2A-2E描述透過使用CDT來分解來源佈局的佈線保存方式,這些圖係依據本發明的多個實施例。
圖2A描述另一個簡化的參考佈局,此圖係依據本發明的一個實施例。
圖2B描述一個由圖2A參考佈局所產生的簡化的範例CDT圖,此圖係依據本發明的一個實施例。
圖2C描述多個與圖2B來源佈線路徑相關的範例CDT邊緣,此圖係依據本發明的一個實施例。
圖2D描述位於沿著圖2C中參考佈局的來源佈線路徑的範例交叉點,這些點也位於沿著多個來源佈線路徑中的第二個,此圖係依據本發明的一個實施例。
圖2E描述使用CDT圖的佈線行為的範例存儲,以及在圖2D中的交叉點,此圖係依據本發明的一個實施例。
圖3A描述圖2E的一部分,此圖係依據本發明的一個實施例。
圖3B描述與圖3A中一組交叉點相關的範例交叉方向資料,此圖係依據本發明的一個實施例。
圖3C描述與圖3B中一組交叉點相關的部分範例交叉點圖,此圖係依據本發明的一個實施例。
圖4A-4D描述一個交叉圖反映安置變化的範例行為,此圖係依據本發明的一個實施例。圖4A描述包括兩個來源區塊的一個範例來源CDT圖GCDT,此圖係依據本發明的一個實施例。
圖4B描述一個範例更新的交叉圖以反映在圖4A中對於來源CDT圖GCDT中區塊的安置變化,此圖係依據本發明的一個實施例。
圖4C描述一個相關於另一個來源佈局的範例來源CDT圖GCDT,此圖係依據本發明的一個實施例。
圖4D描述一個相關於圖4C中來源CDT圖GCDT 420在一個解決佈局中的範例更新CDT圖GCDT,此圖係依據本發明的一個實施例。
圖5A-5C描述對於二個案例在安置改變下的範例一般化交叉方向的反映,此圖係依據本發明的一個實施例。圖5A描述一個範例參考框架,此圖係依據本發明的一個實施例。
圖5B描述一個第一個方案對於安置改變的一般化交叉方向的反映,此圖係依據本發明的一個實施例。
圖5C描述一個第二個方案對於安置改變的一般化交叉方向的反映,此圖係依據本發明的一個實施例。
圖6描述使用佈線保存來產生一個解決佈局的一個範例一般化流程圖,此圖係依據本發明的一個實施例。
圖7描述一個比圖6流程圖更詳細的流程圖,此圖係依據本發明的一個實施例。
圖8A-8F描述範例式多層交叉圖的產生,此圖係依據本發明的一個實施例。圖8A描述一個包括三個區塊和二個路徑的範例來源佈局。
圖8B描述一個在圖8A中來源佈局內的範例階層部分,此圖係依據本發明的一個實施例。
圖8C描述一個底層群集的一個CDT圖,此圖係依據本發明的一個實施例。
圖8D描述一個上層群集的一個CDT圖,此圖係依據本發明的一個實施例。
圖8E描述一個於圖8C底層群集的一個CDT交叉圖,此圖係依據本發明的一個實施例。
圖8F描述一個於圖8D上層群集的一個CDT交叉圖,此圖係依據本發明的一個實施例。
圖9A-9D描述一個圖形使用者介面的一個畫面截圖,它顯示本發明實施例應用於兩個不同電路在更新前後的範例交叉圖的實驗結果。圖9A描述本發明實施例 應用晶圓代工廠A的90nm產線,在更新前所取出的運算放大器電路時,範例交叉圖的實驗結果。
圖9B描述本發明實施例應用晶圓代工廠B的90nm產線,在更新後所取出的運算放大器電路時,範例交叉圖的實驗結果。
圖9C描述本發明實施例應用晶圓代工廠A的90nm產線,在更新前所取出的可變增益放大器電路時,範例交叉圖的實驗結果。
圖9D描述本發明實施例應用晶圓代工廠A的65nm產線,在更新後所取出的可變增益放大器電路時,範例交叉圖的實驗結果。
圖10A-10D描述一個圖形使用者介面的一個畫面截圖,它顯示本發明實施例應用於兩個不同電路在遷移前後的範例佈局的實驗結果。圖10A描述應用晶圓代工廠A的90nm產線,在來源佈局上以人工方式佈線的運算放大器電路時,範例佈局的實驗結果。
圖10B描述應用晶圓代工廠A的90nm產線,在來源佈局上以人工方式佈線的可變增益放大器電路時,範例佈局的實驗結果。
圖10C描述本發明實施例,應用晶圓代工廠B的90nm產線,使用佈局產生器進行遷移設計的運算放大器電路時,範例佈局的實驗結果。
圖10D描述本發明實施例,應用晶圓代工廠B的65nm產線,使用佈局產生器進行遷移設計的可變增益放大器電路時,範例佈局的實驗結果。
圖11A-11G描述一個圖形使用者介面的一個畫面截圖,它顯示本發明實施例應用晶圓代工廠A的65nm產線,在七種不同擺置拓樸下的運算放大器電路時,個別範例佈局的實驗結果。
圖12為一個電腦系統的一個方塊圖,它可用於本發明的實施例中。
根據本發明的多個實施例,提出了在一個參考或來源佈局中保存路徑,以產生類比電路佈局的一個方法和系統。
圖1A-1C描述在不同佈線策略下,許多重複使用電路區塊擺置的簡易例子。圖1A描述一個第一個簡化的參考佈局100A,在此也被稱為”來源佈局”,可用於本發明的多個實施例中。來源佈局100A包括一個或多個來源區塊A,B1,B2,C,D,E1,E2,F1,F2,G1,G2和一個來源佈線路徑110,在此也被稱為”來源路徑”。”來源路徑110位於區塊A和C之間。換言之,來源路徑的位置P1,會沿著一個第一區塊A的一個第一邊127和一個第二區塊C的一個第一邊129來被配置。來源佈局會以兩種方式被轉換成一個新的自動地產生的佈局,也就是有佈線保存和沒有佈線保存,其中”佈線保存”一詞通常用來描述本發明的多個實施例。來源佈局100A進一步包括來源佈線平面140,它是佈局的一個區域,其中原始的來源佈線路徑110和任何新的佈線可能會在解決佈局中被繞道、定位或配置。
圖1B描述基於圖1A中沒有佈線保存的參考佈局的一個新的簡化佈局100B。換言之,在圖1B中的新類比佈局會依據僅有的類比約束來自動地產生出來,而且會包括圖1A中相同的模組/區塊,但其大小和位置則會依據新的設計約束。因此,個別區塊的大小可能會不一樣,在這個例子中會小一點,而且也會被放在不同於來源佈局中的位置在圖1B中所描述的佈局中,沒有佈線保存的 自動化佈線的結果,就是要定位佈線路徑120,也就是圖1A的路徑110,在來源佈局中區塊A和D之間的一個新的位置,而不是在區塊A和C之間。
圖1C描述基於圖1A中具有佈線保存的參考佈局的一個新的簡化的解決佈局100C,此圖係依據本發明的一個實施例。在本發明多個實施例中所描述用於路徑保存的演算法和系統,在此一般稱之為“佈局產生器”。重覆使用來源區塊,以便在類比電路中的解決佈局中,形成新的區塊位置和大小的做法與圖1B是相同的。同時參考圖1A和圖1C,可以注意到用來形成解決佈局的”路徑保存”、”重覆使用”和”佈局產生器”並非針對簡單的狀況,也就是將解決佈局視為一個整體並做線性地縮放,像是線性地縮小或線性地放大。相反地,在本發明的多個實施例中,使用到的”路徑保存”、”重覆使用”和”佈局產生器”會應用在較複雜或任意的區塊大小和區塊位置的技巧中,而不是僅僅對來源佈局做線性地縮放來形成解決佈局。換言之,解決佈局並非由來源佈局的縮放而產生。
例如,來源佈局100A中的區塊A、C會在解決佈局100C中被重複使用,如此一來在來源佈局100A中第一和第二區塊A、C之間的一個最近距離DAC,會在解決佈局100C中被一個第一數字所縮放,例如是1.0,並且在來源佈局100A中第一或第二區塊中至少一個邊緣,像是區塊A的邊緣125,會在解決佈局100C中被一個不同於第一數字的一個第二數字,例如0.7,所縮放。換言之,在來源佈局100A中區塊A的高度ZA,會在解決佈局中顯著地被縮放至區塊A的高度Z’A,而最近距離DAC則保持不變。相反地,在簡單線性收縮的情況下,第一和第二個數字會是相同的,而區塊B每邊的大小,會自來源佈局中以同樣於區塊A、C之間最短距離的量或數字,在解決佈局中被縮放。
在一個實施例中,來源佈局中一個第一模組的一個第一邊緣的第一個尺寸和解決佈局中一個第一模組的一個第一邊緣的第二個尺寸的比值,與來源佈局中一個第二模組的一個第一邊緣的第三個尺寸和解決佈局中一個第二模組的一個第一邊緣的第四個尺寸的比值是不同的。相反地,在來源佈局的線性縮放中,來源佈局中一個第一模組的一個第一邊緣的第一個尺寸和解決佈局中一個第一模組的一個第一邊緣的第二個尺寸的比值,與來源佈局中一個第二模組的一個第一邊緣的第三個尺寸和解決佈局中一個第二模組的一個第一邊緣的第四個尺寸的比值會是相同的。
相較於圖1B,由於在圖1C中的解決佈局100C是由佈局產生器使用佈線保存所產生的,路徑130的位置會較接近於來源佈線,而且也是位於區塊A和C之間。換言之,使用佈線保存的佈局產生器會具有較已知技藝更多來自圖1A中參考佈局的佈線資訊。來源路徑130可被包括在一個類比電路中。表1顯示描述於圖1A-1C中來自某特定半導體晶圓代工廠使用65nm技術,所製成佈局的時間和模擬結果。
同時參考圖1A、1B和1C,即使佈線路徑130由B1到B2要比繞過區塊A來的長,或是比在解決佈局100C中區塊A和C之間藉由保存參考或來源佈局 100A的路徑要來的長,模擬結果顯示路徑130比起較短的佈線路徑120,有0.4dB較佳的電壓增益性能,其中佈線路徑120連接跨越區塊A和D之間通道。根據本發明佈局產生器實施例的路徑保存,會保持來源佈局的高電壓增益性能,同時能較原本的來源佈局設計減少將近4倍的設計時間。由於一個新的佈局的類比性能無法被保證,因此多個佈局原型需要被產生出來和被驗證。所以,通過佈局產生器的佈線資訊保存的技術,會助益於原型解決佈局的產生,同時能夠在有效的執行時間內有效地取出來源佈局的約束,並可被重複使用以達到有價值的電路性能。
根據一個實施例,透過被約束的德洛涅三角剖分(Constrained Delaunay Triangulation,CDT)的類比佈線保存演算法,以快速在目標技術中使用最好佈線保存以產生類比佈局,該演算法使用一組或多個三角形來分解區塊,稱之為“模組”和佈線通道,也可稱之為多個三角形之”路徑”或”連線。這些三角形被用來將佈線和區塊擺置之間的關連或關係,轉換為一個平面的直線圖(planar straight-line graph,PSLG)。一個PSLG能夠很好地記錄平面上頂點間的相互關係,使得PLSG能適應佈局的變遷。在目標技術上被遷移的佈線,可有效地在來源佈局使用一個更新的PLSR時,基於相同的擺置技術而被重建。此外,根據設計階層的一個多層框架也被提出,用來降低來源和解決佈線之間的多餘路徑和不匹配,同時改善設計和執行期的性能。
一個實施例包括一個基於CDT的取演算法,它考量了擺置拓樸以及佈線和區塊擺置的相互關係。通常會將來源佈線平面分割成多個三角形。此三角網會被擴展處理障礙之間佈線路徑的問題。本發明的另外一個實施例包括類比佈線保存的一種新的表現方式,它是基於佈局中已存在的區塊擺置。一種佈線 表現方式已被描述,它可用於切片式與非切片式的擺置。該表現方式能正確與彈性地處理佈線的行為。在另一個實施例中,提供一個用於類比佈局原型的由下而上的框架。根據不同類比擺置範例所提供的實驗資料,顯示佈局產生器能正確地保存擺置和佈線之間的相互關係。這個多層式的框架也同時可以減少冗餘的佈線,而保持解決佈局中的電路性能和來源佈局中的電路性能不相上下。本發明的一個實施例包括一個通用的類比佈局產生器,其佈局產生器的原型框架,可為不同型式的來源佈局拓樸和電路製造佈局佈線。有個實驗對二個不同參考電路進行八種不同拓樸或解決佈局的檢驗,其解決佈局結果顯示佈局產生器能夠有效率地重建多個佈局,並且保持了電路的性能。
在一個實施例中,佈局產生器至少解決以下的類比佈局原型問題。已知一個來源佈局樣板L,具有M個擺置模組或區塊以及N個網,每個網包括一組佈線路徑。一個目標是要提供設計者多個佈局解決方案。在佈局重複使用的前提下,該問題可進一步分為以下的三個子題。第一個子題為佈線拓樸的取與保存,已知一個佈局L具有一組或多個擺置區塊β和佈線路徑P,如何自L取出β和P到表現Ω中,該表現包括擺置和佈線拓樸的資訊。第二個子題為自已知佈局樣板L中,多個擺置的產生可產生多個可能的擺置解決方案。第二個子題為已知在擺置區塊β集合中多個擺置區塊的新位置和大小的條件下,使用佈線重建自Ω產生一個佈線佈局,以反映原始的佈線行為。
根據本發明的多個實施例,應用約束的Delaunay triangulation(三角剖分法)來做佈局的取和保存包括以下的部分。要捕捉或取佈線拓樸,則擺置區塊和佈線通道的位置資訊之間的相互關係,便應該被取和儲存。根據一個實施例,輸入或來源佈局的擺置區塊和佈線通道,會使用被約束的德洛涅三角剖分 (Constrained Delaunay Triangulation,CDT)被轉換為一個平面的直線圖。CDT為Delaunay Triangulation(DT)的一般化結果,其差別為CDT會強迫相關於佈線路徑P的額外區段進行三角剖分。
依據本發明的多個實施例,圖2A-2E描述透過使用CDT分解來源佈局的佈線保存。圖2A描述另一個簡化的參考佈局200,此圖係依據本發明的一個實施例。在此實施例中的參考佈局,包括一個來源佈線平面210,和多個擺置區塊β,其中包括一個來源區塊A和另一個來源區塊B,並以一個第一事先決定的關係配置於來源佈線平面210內。在本實施例中的參考佈局,進一步包括至少一個來源路徑P1,它以粗線表示,並以一個第二事先決定的關係與來源佈線平面和至少一個來源區塊配置在一起。來源佈線平面210可能會被多個佈線平面邊界227所圍繞。在此範例,來源佈線平面210包括四個佈線平面邊界。
圖2B描述一個由圖2A參考佈局和來源路徑P1所產生的簡化的範例CDT圖GCDT,此圖係依據本發明的一個實施例。CDT圖GCDT包括多個以虛線表示的CDT邊緣220,其產生的方式如下。多個CDT邊緣220的每個邊緣會以一對頂點做為終端。已知一個來源佈線平面210和一組或多個擺置區塊β={bi|1i|β|},經過佈局取CDT的頂點集合,在此稱為”多個CDT頂點”,被定義為VCDT=VC∪VRP其中VC={(xi,yi)|1i4|β|}為β中多個區塊的多個轉角頂點222。在本例中,擺置區塊β的集合包括多個區塊A、B。VRP包括位於沿著來源佈線平面210的多個點,例如多個佈線平面210的四個轉角224。VRP進一步包括多個四邊佈線平面邊界227的多個的四個中點226。在一個實施例中,多個的四個中點226中的每個點會平分多個四邊佈線平面邊界227的一邊。禁止或排除多個CDT 邊緣220的區域,被視為在CDT方法中多個或一組孔H。在這個實施例中,多個孔H包括在多個區塊內的區域,例如區塊A、B內的灰色區域。
CDT圖GCDT來自於頂點集合VCDT和孔集合H。The CDT graph GCDT is generated from the vertex set VCDTand hole set H.CDT圖GCDT可被表示為GCDT={VCDT,ECDT,T,H},其中多個CDT邊緣220可被表示為ECDT={(vi,vj)|vi,vj VCDT}集合,也就是將平面切開或分解為多個非重疊三角形T和矩形孔H的集合。因此,CDT圖GCDT包括多個CDT頂點222、224、226和ECDT或多個CDT邊緣220,以形成三角形T來切分或分割來源佈線平面210,並去除多個孔H,例如,多個來源區塊A、B內部之外圍。因此,CDT圖GCDT的外部邊界會與來源佈線平面210的邊界重疊。換言之,多個非重疊三角形會包括多個頂點,每個頂點會各別與區塊A、區塊B、來源佈線平面210的一個不同的多個轉角222、224配置在一起,同時會沿著來源佈線平面210至少一個不同的多個邊緣227來配置。
在後面會顯示,CDT圖GCDT和至少一個來源路徑P1,會被用來記錄區塊和佈線通道之間的幾何關係或相互關係,其記錄方式會透過CDT邊緣和佈線通道或至少一個來源路徑P1的交點來完成。在圖2A-3A所顯示的範例CDT圖GCDT,可以使用CDT圖GCDT中所有的頂點數目來表示,也就是|VCDT|=16,並且進一步可使用孔的總數來表示,也就是|H|=2,也就是區塊A和B。
依據本發明的一個實施例,圖2C描述關聯於圖2B中來源路徑P1的多個範例CDT交叉邊緣240。多個CDT邊緣220ECDT與來源路徑P1跨越或交叉,可視為多個CDT穿越邊緣240,在圖2C中以細實線來表示。多個CDT穿越邊緣240,可以是CDT圖GCDT的一個子集合。透過CDT三角剖分法,佈線平面可分割為一組非重疊三角形的集合,其中多個CDT邊緣220的每個不同邊緣代表區 塊之間的一個幾何關係。因此路徑行為可被記錄為一組有序的集合或是多個CDT穿越邊緣240被至少一個來源路徑P1所穿越。換言之,多個CDT穿越邊緣240的位置會相關於來源路徑P1的與區塊A、B之間的定位。
依據本發明的一個實施例,圖2D描述位於沿著圖2C中參考佈局的來源佈線路徑P1的範例交叉點260,這些點也位於沿著多個來源佈線路徑P2中的第二個。佈線路徑P2使用類似於佈線路徑P1的粗線來表示。同時參照圖2C和圖2D,交叉點260係以小圓形來表示,可視為CDT穿越邊緣240與多個來源佈線路徑P1、P2的交叉點或穿越點。因此,多個穿越點260的每個點可能會與多個來源佈線路徑P1、P2上的不同點有關。要使用多個路徑進行設計時,在此稱為”網”或”通道”,多個CDT穿越邊緣240的單一邊緣,會被兩個或多個來源佈線路徑所穿越。在本例中,兩個佈線路徑P1和P2,都會通過區塊A和B之間的空間,一般來說來源佈線路徑P2會比來源佈線路徑P1要較靠近區塊A。
依據本發明的一個實施例,圖2E描述使用CDT圖GCDT以及在圖2D中的交叉點260的佈線行為的範例存儲。圖2E類似圖2D,除了多個來源路徑P1、P2被圖3A-3C的一個穿越圖G中的相關個別部分281、282所取代。
依據本發明的一個實施例,圖3A描述圖2E的一部分320。圖3A類似圖2E,除了將該部分320以粗虛線顯示之外,下面將詳細說明這個部分。
依據本發明的一個實施例,圖3B描述範例交叉方向的資料,在此稱為”參考方向”,該資料相關於圖3A中之該部分320的多個交叉點a-e的一組子集合v。令VCr表示交叉點260的集合,它們是多個佈線路徑P1、P2和多個CDT邊緣220或ECDT,在圖3B中以粗線表示,之間的交點。在圖3B中,每個頂點vVCr,相關於交叉圖G 381、382(以細線來表示)的一部分,並進一步各別地相 關於圖2E中一個交叉圖G的一部分281、282,以及相關於圖2D中的來源路徑P1、P2。在圖3B中,每個頂點vVCr進一步相關於一個交叉方向,例如,水平/垂直(H/V)。換言之,將來源佈局轉換至一個PSLG,會包括儲存至少一個路徑方向H、V以及多個交叉點a-e之中的一個。
例如,來源路徑P2在來源佈局於交叉點”a”的走向為垂直方向,該點位於沿著交叉圖G 382的部分,它以環繞的虛線來表示,並相關於來源路徑P2,因此交叉點”a”關聯於一個垂直(V)的交叉方向。同樣地,交叉點”d”位於沿著交叉圖G 381的部分並且關聯於來源路徑P1,它是關聯於一個水平(H)的交叉方向,因為來源路徑P1在交叉點”d”的走向為垂直方向。交叉圖G不只捕捉和儲存個別的佈線拓樸,它也捕捉多個來源路徑相關於彼此之間的每個位置,或是在每個佈線通道中保存路逕的次序。
依據本發明的一個實施例,圖3C描述一個交叉圖G 310的一個範例部分,該部分相關於圖3B中描述交叉點a-e的子集合。同時參考圖3B-3C,可知交叉圖G 310的部分為PSLG的一個型態,並且包括多個交叉點a-e,多個在交叉邊緣340端點的頂點361-363,以及多個路徑381-382的部分。
為了保存多個已被佈線的網的行為,佈局L的交叉圖G被定義如下。令GCDT(VCDT,ECDT,T,H)表示上述L的CDT圖GCDT,且VCr表示在來源佈線路徑P1、P2和ECDT220之間交叉點260的集合。對於任何在VCDT∪VCr內的兩點v1、v2,交叉圖G的可重複使用邊緣390e(v1,v2)會存在,如果(i)v1和v2都在相同的CDT邊緣,或是(ii)v1和v2為相同佈線路徑上的兩個鄰近頂點。換言之,一對頂點v1、v2定義了多個邊緣e 390的每個不同邊緣,當頂點對v1、v2被配置於多個非重疊三角形之一的相同邊緣e 390,或是當頂點對v1、v2被鄰近地被配置在來 源路徑381之上。做為最後結果的e(v1,v2)可重複使用的邊緣集合被表示為ECr,在圖3C中以實線標示為元素390。所以,交叉圖G={VCDT∪VCr,ECDT∪ECr,T,H}為佈局L的一個交叉圖。換言之,交叉圖G除了包括CDT圖GCDT之外,還進一步包括VCr和ECr。交叉圖G會被存入佈局產生器的一個資料庫內,以便根據來源佈局佈線出其他解決佈局。
依據本發明的一個實施例,圖4A-4D描述交叉圖G對於擺置改變的範例行為。依據本發明的一個實施例,圖4A描述包括兩個來源區塊A、B的一個範例來源交叉圖GCDT 410。交叉圖要如何更新以反映擺置和/或區塊大小的改變,將會說明如後。一旦區塊擺置在來源佈局已被改變,則區塊的轉角座標將被改變,也就是區塊轉角的頂點。
依據本發明的一個實施例,圖4B描述一個範例更新交叉圖G’CDT 415,以回應圖4A所描述CDT圖GCDT的區塊擺置改變。由於多個區塊A、B(和/或佈線平面的轉角)在轉角的頂點位置與原始交叉圖GCDT不同,一個更新的交叉圖G’CDT(V’CDT,E’CDT,T’,H’)會根據擺置區塊的新位置和/或尺寸而產生出來。更新的交叉圖G’CDT 4151包括與GCDT相同數目的頂點、邊緣、三角形和孔,但是頂點座標則不相同。在解決佈局中多個擺置區塊A、B的新位置和/或大小,可以使用已知的自動化擺置軟體、人為的佈局編輯或這些的組合所產生出來。其所產生的更新交叉圖G’CDT 415會與原始圖410類似,除了展開成另一個不同拓樸之外。
更新的交叉圖G’CDT 415可能不再是個合乎設計規則的CDT圖,因其邊緣和三角形在某些情況下可能會變形,而與原始的交叉圖GCDT 410不同,像是當CDT的一個邊緣與多個擺置區塊的任何一個重疊的時候,在邊緣417會以 點虛線的方式來表示。要注意的是一旦任何邊緣與交叉圖G’CDT 415的任何區塊重疊,則擺置區塊之間的相互關係便消失,表示邊緣417不再代表一個合乎設計規則的佈線通道。這樣的區塊重疊所形成的重疊邊緣會被設為不合乎設計規則,以顯示儲存於此邊緣的佈線資訊為不正確。據此,交叉圖G的更新方式是無效化配置於任何不合乎設計規則的邊緣,像是沿著邊緣417的交叉點。
對於多個來源路徑的一個,通常會有多個相關的交叉點散佈於多個不同的CDT邊緣之間,並且通常使一個邊緣失效的結果會使一個交叉點也失效。因此,相關一個路徑所剩餘的好幾個合乎設計規則的交叉點,還可能提供充分的方向給佈局產生器來佈線出合適的路徑,縱使比起所有CDT邊緣在更新後都是合乎設計規則的狀況來說是差了一些。這樣的交叉圖更新反映了解決佈局中的擺置改變。另一方面,如果在G’CDT內的邊緣和區塊之間沒有重疊,那麼就沒有佈線信任的損失,而佈線行為則會被很好地保存,即便區塊擺置和/或區塊大小會突然地任意的改變。
依據本發明的一個實施例,圖4C描述一個相關於另一個來源佈局的範例來源CDT圖GCDT 420。來源CDT圖GCDT 420包括多個叉點的交叉方向430。交叉參考方向H會以一個小圓圈內含一個橫槓“-”來表示,而垂直參考方向V會以一個小圓圈內含一個直槓“|”來表示。儲存於交叉點的參考或交叉方向,能提供有用的資訊用來在來源佈局上使用不同的擺置和/或尺寸的區塊,來重建一個來源路徑440。在某些狀況下,為了反映解決佈局中區塊轉角的位置改變,會更新交叉圖使得一個相關CDT邊緣產生斜率的變化,因此參考方向應由H改變為V(或是由V到H)。
路徑440會以一個實線來表示,它會以一個垂直方向或方位通過多個區塊C、D之間的一個通道,並以一個水平方向在區塊D上方前進。有三個交叉點會出現,包括二個點具有一個垂直V參考方向其中路徑440為垂直走向,以及一個頂端的交叉點430,它包括一個水平方向H其中路徑440為水平走向。
依據本發明的一個實施例,圖4D描述一個在解決佈局中的範例更新的解決CDT圖GCDT 450,該圖相關於圖4C中所描述的解決CDT圖GCDT 420。更新的解決CDT圖GCDT 450,包括改變過的交叉點交叉方向460。在改變過擺置之後,每個CDT邊緣都還是合乎設計規則,也就是與區塊C、D沒有重疊。然而,最上層交叉點的方向會由水平參考方向改變為垂直參考方向,因為相關CDT邊緣的走向由水平改變為垂直。如果上述CDT邊緣走向的改變發生於更新解決佈局中的CDT圖GCDT之後,則參考方向也會由H到V跟著改變。
依據本發明的一個實施例,圖5A-5C描述範例的一般化交叉方向以回映二種狀況的擺置改變。依據本發明的一個實施例,圖5A描述一個範例參考框架,包括一個CDT邊緣e 510,並包括兩個端點,頂點1和頂點2。在不失一般性的狀況下,令頂點1表示一個座標原點,位於參考框架的中心並包括四個象限521、522、523、524,分別相關於CDT邊緣e 510的角度530,其角度範圍分別為0-0.5π、0.5π-π、-0.5π--π、和0--0.5π。
依據本發明的一個實施例,圖5B描述一個一般化交叉方向的第一個狀況,以回應一個來源佈局和一個解決佈局之間的擺置改變。令GCDT相關於一個來源佈局,G’CDT相關於一個解決佈局。同時參照圖5A-5B,當GCDT中CDT邊緣e 540的角度530位於(0,0.5π,0)的範圍,以及如果G’CDT中CDT邊緣e 545的 角度530位於(-π,-0.5π,0)的範圍內,則CDT邊緣e 540上參考方向為H的交叉點550,會在更新的交叉點555改變其參考方向為V,反之亦然。
依據本發明的一個實施例,圖5C描述一個一般化交叉方向的第二個狀況,以回應擺置改變。如果GCDT中CDT邊緣e 560的角度530位於(-0.5π,-π,0.5π)的範圍,以及如G’CDT中CDT邊緣e 565的角度530位於(-0.5π,0,0.5π)的範圍內,則參考方向為V的交叉點570,會在更新的交叉點575改變其參考方向為H,反之亦然。在這樣的程序下,參考方向便可以被正確地更新。
依據本發明的一個實施例,圖6描述一個簡化的範例電腦實作流程圖600,其中使用佈線保存來佈線一個解決路徑。同時參照圖1A、1C以及圖6,該方法包括當電腦用來佈線解決路徑130時,接收605一個來源佈局100A。此方法進一步包括,取或分解610來源佈局上一個第一區塊/模組A、一個第二模組C和一個佈線路徑110之間的一個幾何關係,像是一個來源路徑110的一個位置,會沿著來源佈局100A中一個第一個區塊A的一個第一邊127和一個第二個區塊C的一個第一邊129來進行配置。
佈線路徑的幾何關係會被儲存於交叉圖的表示中,它是上述PSLG的一種型式,在當路徑佈線使用交叉圖轉移至解決佈局時,它會保存相關於來源佈局的類比電氣特性。交叉圖G可在GCDT中使用多個非重疊三角形來產生,這些三角形在幾何上與前述圖2A-3C中的第一模組A、第二模組B和佈線路徑P1會有關連。
再次參照圖6,流程圖600進一步包括根據幾何關係在解決佈局100C中配置615佈線路徑130,也就是保存於交叉圖中,像是在解決佈局100C中產生 615解決路徑130,同時使用保存於交叉圖G內的幾何關係資訊,以便保持著來源路徑110的位置能沿著第一區塊的第一邊和第二區塊的第一邊。
依據本發明的一個實施例,圖7描述一個比圖6流程圖600更詳細的流程圖700。流程圖700包括兩個階段:多層佈線行為保存710,在此稱為”保存”,以及佈線重建720,並分別相關於上述圖6中的步驟610、620。上述所描述的佈局取和佈線保存技術,可用於一般化的平面佈局。一般來說,類比設計來自於產生結構化設計的階層設計概念。因此,佈局產生器提供多層類比佈線設計以產生解決佈局的原型,在後面的圖8A-8F將會做詳細說明。
參照圖7,保存710包括應用715CDT演算法,將來源佈局725的佈線平面分割為前述圖2B中的非重疊三角形。來源佈局725會包括705多個模組或區塊、多個佈局路徑、通道或網目,以及多個約束,其中會包括用於階層式路徑保存時的對稱性和鄰近性約束。接著,透過如圖2C-3C所描述階層式地建造或產生730一組交叉圖G,可以得到多層佈局保存設計圖。在一個實施例中,產生730交叉圖的步驟,可進一步包括儲存一個路徑方向相關於前述圖4C-5C中多個點中的每個不同的點。
參照圖7,一個已知的擺置原型技術會被使用735於來源佈局725,以便在佈線重建720產生解決路徑佈線之前獲得740多個解決佈局的擺置候選結果。在佈局產生器的佈線重建720階段,佈線會自動地使用由下而上的技術在每個擺置結果上產生出來。
佈線重建720包括根據解決佈局中新區塊的擺置,來更新或回復745交叉圖。換言之,將佈線路徑配置於解決佈局中進一步包括根據解決佈局更新平面的直線圖,例如,回復745交叉圖G,也就是依據多個區塊的新位置和/或形 狀,像是相關於第一和第二區塊頂點的新的轉角,並產生於上述圖4A-4B中的解決佈局。在一個實施例中,回復PSLG或交叉圖G,包括在至少多個轉角的其中一個被重置於解決佈局中時,就要重置相關於區塊多個轉角中不同轉角的每個頂點位置。
參照圖7,佈線重建720進一步包括依據圖2E-4B所描述回復PSLG或交叉圖的多個交叉點,來產生750一個解決路徑的多個區段。參照圖7在一個實施例中,產生750多個區段的完成,可依據上述圖4C-5C所描述相關於多個交叉點中每個不同點的多個參考方向H、V。在一個實施例中,產生多個區段會依據至少一個路徑參考方向H、V。
接著參照圖7,與一個路徑相關的多個區段的每一個會被包括於解決路徑內,因為多個路徑的每個路徑,會通過由下而上的階層佈線755,被重建於解決佈局中,也就是對每個被提供的擺置候選740會自動地產生760解決佈局的候選。在重建階段的最後,會得到一組未經純化的解決佈局,讓設計者能夠很快瞭解可以使用那些可能的解決方案。另一方面,在由下而上的階層佈線755之後,在最後的物理驗證770和後佈局模擬775之前,一個詳細的純化佈線會以人工方式被應用來765佈線出沒有佈線的網目,以產生最後的佈局結果780。詳細流程圖700的一部分在設計程序中,在不同的步驟會進行重覆循環。
依據本發明的多個實施例,圖8A-8F描述範例多層交叉圖的產生。一般來說,類比設計來自於產生結構化設計的階層設計概念。因此,佈局產生器被擴充用來包括原型的多層類比設計,其說明如下。為了降低來源和解決佈局之間佈線的不匹配,在擺置和佈線時,都會考慮區塊對稱性和區塊鄰近性的約 束。對已知的來源佈局,模組/裝置/區塊都會群組成叢集或是根據對稱性和鄰近性的約束而叢集起來,這些約束可由設計者給予或是自來源佈局中取出來。
圖8A描述一個範例來源佈局包括三個區塊A、B、C和兩個路徑N1、N2,可能會用於本發明的多個實施例中。依據本發明的一個實施例,圖8B描述一個圖8A中來源佈局的範例階層式分割。對於每個叢集,擺置區塊的佈線行為和相互關係會根據該叢集的CDT來分析,以便建立一個相關的交叉圖。叢集的交叉圖,會沿著階層式的結構由下而上地建立起來。下層叢集可視為上層叢集的擺置區塊。因此,一連串的交叉圖會被產生出來並包括階層式的佈線行為。
階層式分割包括叢集M相關於一個下層叢集,以及叢集U相關於一個上層叢集。在此實施例中,區塊B和C會群集成叢集M,區塊A會群集成叢集U。根據階層性,兩個交叉圖會分別根據叢集M和U被建造出來,每個佈線路徑會被分割為i)叢集內部連結和ii)叢集間的連結。
依據本發明的一個實施例,圖8C描述一個下層叢集M的一個CDT圖800C。依據本發明的一個實施例,圖8D描述一個上層叢集U的一個CDT圖800D。叢集M在CDT圖800D中為一個擺置區塊。同時參照圖8A-8D,路徑N1會根據叢集M分段為內部部分810和外部部分820。依據本發明的一個實施例,圖8E描述一個圖8C所描述下層叢集M的一個CDT交叉圖800E。CDT交叉圖800E包括相關於定義叢集M邊界轉角的頂點M1-M4。
依據本發明的一個實施例,圖8F描述一個圖8D所描述上層叢集U的一個CDT交叉圖800F。CDT交叉圖800F包括相關於定義叢集U邊界轉角的頂點U1-U4。因此,路徑N1的交叉點會同時出現在兩個CDT交叉圖800E、800F。另一方面,由於路徑N2僅包括叢集M中的內部叢集連結830,所有相關的交叉點 都在一個CDT交叉圖800E之內。換言之,在取出來源路徑沿著區塊B的第一邊和區塊C的第一邊的位置後,來源路徑N1的一個位置,可自來源佈局沿著區塊B的第一邊和區塊A的第一邊取出來,因此便可階層式地取出來源路徑N1的位置,其中相關於區塊B和區塊C的交叉圖資料會聚集在一個較低層的階層,而相關於區塊A的交叉圖資料會在一個較高層的階層。
在一個實施例中,由下而上的佈線重建方式將在以下說明。擺置結果的集合係透過擴充DeFer的方式而獲得,但是是使用上面實施例所描述的相同階層結構。對於每個擺置結果,佈線會以以下的方式來重建。
交叉圖也會被更新。為了使目標擺置內的佈線獲得與來源佈局類似的行為,每個叢集的交叉圖G會使用前述實施例將其更新為一個新的擺置。換言之,解決路徑會被產生於解決佈局中,同時維持來源路徑沿著第一區塊B的第一邊和區塊A的第一邊。
線路或路徑會被正交區段重新連結起來。對於輸入參考設計的每個叢集i,佈線路徑會依據相關的交叉圖Gi而被重新連結起來。每個在Gi的交叉點vVCr,包括一個儲存於該交叉點的一個參考方向。對每個Gi,正交的線路區段會以下面的方式來產生。首先,i)具有相同參考方向的鄰近交叉點,會用來產生一個垂直/水平區段的集合。接著,ii)如果前個步驟沒有產生不合乎設計規則的佈線,像是穿越其他的模組/裝置/區塊,則區段會被保存起來,否則iii)程式會將區段切分為多個子區段,每個子區段會合乎設計規則地使用參考方向被佈線,然後這些子區段再使用樣式佈線連結起來。最後,iv)檢查每個金屬層的線路間隙約束,並移動區段來調整修正。
在一個實施例中,由下而上的階層佈線會描述如下。一旦所有下層叢集的佈線重新連結都已完成,這些下層叢集會被視為上層叢集的擺置區塊,而且連接至區塊邊界的線路區段,會做為上層叢集的引腳位置。這樣的程序會反覆執行,直到佈線的上層設計已被獲得。換言之,在解決佈局中的解決路徑會被產生出來,同時會維持來源路徑沿著區塊B的第一邊和區塊A的第一邊。
由於上述的佈線保存步驟會自動地執行,每個網目可能仍可受惠於設計者詳細的修補或細化。在原型的狀況下,由於使用的技術與來源佈局依然相同,內在裝置的佈線可以重複使用來源佈局的佈線,但是加入少許的人工細化的工作。在程序遷移應用中,在裝置/區塊內的引腳連結可能需要人工處理,因為每個裝置/區塊內的位置會由來源佈局改變為目標技術。然而,由於佈線重建設計是以全面性的方式進行,大部分的工作已被處理過,詳細的細化工作應可由類比佈局設計者很容易地使用已知的技藝來完成。
產生原型的佈局產生器使用C++語言被實驗性地實作,並在Intel® 5420 Quad Core2.5GHz的機器上執行Linux CentOS 5.8的平台。OpenAccessv22.04p54被用來取工業的設計。Synopsys PyCell StudioTM被用來產生佈局。兩個實驗的電路被用來作為參考佈局:i)一個摺疊式串疊型運算放大器(OpAmp)設計,和ii)在晶圓代工廠A的90nm產線下的一個可變增益放大器。
表2顯示來源佈局實驗電路的規格
表2
產生原型的佈局產生器,會用來產生以下所描述不同技術型態的佈局。晚一點,快速多佈局拓樸的產生會被執行。完整的佈局產生流程一般包括裝置/區塊的尺寸、擺置和路徑佈線的建構。在這些實驗中,所有在目標技術中的裝置/區塊的尺寸會被決定,而階層擺置結果的獲取,會在晶圓代工廠A的90nm和晶圓代工廠A的65nm的技術下使用已知的技巧。所有的實驗結果會透過設計規則檢查(DRC)、佈局相對於電路圖檢查(layout versus schematic,LVS)來通過佈局驗證,模擬資料列於表3A-3B和表4。表3A-3B顯示遷移目標之間的佈線完整性和性能比較。表4顯示多拓樸之間的佈線完整性和性能比較。
表3A
表3A-3B的描述如下。a)佈線的線路總長度。b)自動產生線路的長度。c)佈線完整性的為AWL和RtWL比值。d)電路的頻寬。e)電路的相位裕度。f)人工的佈線樣式。g)已知方法的非保存自動佈線樣式。h)佈局產生器的佈線保 存重建樣式。i)每個佈線策略的設計時間包括佈線建構、詳細佈線細化和物理驗證作為一個完整的佈局產生過程。
圖9A-9D描述一個圖形使用者介面的一個畫面截圖,它顯示本發明實施例應用於兩個不同電路在更新前後的範例交叉圖的實驗結果。設計遷移應用的行使,是遷移兩個基於晶圓代工廠A的90nm技術的電路至其他技術節點,分別是晶圓代工廠A的65nm技術和晶圓代工廠B的90nm技術。表2給出每個電路的規格。為了達到設計遷移的需求,一個電路應該在相同功能性下在目標技術上重新產生,同時也要滿足性能規格。CDT非重疊三角形可以由它們位於區塊轉角的頂點,被清楚的辯別出來,而網目則可透過CDT三角形邊緣的穿越,以及具有較長部分平行於區塊的邊緣而被辯別出來,通常它們會位於區塊之間。
圖9A描述本發明多個實施例應用晶圓代工廠A的90nm產線,在更新前所取出的運算放大器電路時,範例交叉圖的實驗結果。
圖9B描述本發明多個實施例應用晶圓代工廠B的90nm產線,在更新圖9A所描述的實驗結果後所取出的運算放大器電路時,範例交叉圖的實驗結果。我們可觀察到當擺置改變時,佈線行為會被交叉圖所記錄。
圖9C描述本發明多個實施例應用晶圓代工廠A的90nm產線,在更新前所取出的可變增益放大器電路時,範例交叉圖的實驗結果。VGA具有一個以上的階層並且擁有所有的佈線路徑。
圖9D描述本發明實施例應用晶圓代工廠A的65nm產線,在更新圖9C所描述的實驗結果之後所取出的可變增益放大器電路時,範例交叉圖的實驗結 果。雖然VGA電路比運算放大器電路有較多的佈線網目,每個佈線路徑的佈線行為都保存在交叉圖中。
圖10A-10D描述一個圖形使用者介面的一個畫面截圖,它顯示本發明實施例應用於兩個不同電路在遷移前後的範例佈局的實驗結果。圖10A描述應用晶圓代工廠A的90nm產線,在來源佈局上以人工方式佈線的運算放大器電路時,範例佈局的實驗結果。
圖10B描述應用晶圓代工廠A的90nm產線,在來源佈局上以人工方式佈線的可變增益放大器電路時,範例佈局的實驗結果。圖10C描述本發明實施例,應用晶圓代工廠B的90nm產線,使用佈局產生器進行遷移設計的運算放大器電路時,範例佈局的實驗結果。我們很容易可以觀察到,擺置的佈線相互關係,會被保存在晶圓代工廠B的90nm技術中。基於達到性能最佳化的尺寸策略,每個裝置的尺寸在外觀上與來源佈局不同。
圖10D描述本發明之一實施例,應用晶圓代工廠B的65nm產線,使用佈局產生器進行遷移設計的可變增益放大器電路時,範例佈局的實驗結果。由於在VGA佈局中具有三個共同質心的結構,在這些共同質心結構中會有較多的線路連結。因為人工佈線會花時間重建佈線,交叉圖可用來保存這些線路的相對位置。
依據本發明的多個實施例,佈局產生器的結果會與一個人工佈線和一個自動佈線引擎來做比較。比較的目標會列在以下的敘述。MR為佈局設計者的人工佈線樣式。NAR為非保存的自動化佈線,它會應用到一個自動佈線引擎,該引擎會根據通常的類比約束像是對稱性和鄰近性,自網目清單資訊中將 線路連結起來。RR為佈線保存重建,根據取出的CDT,佈局的重建係利用轉移參考佈局中區塊擺置和路徑間的連繫而達成。
上述的三種佈線策略在不同的技術上,會用來進行OpAmp和VGA的設計。表3記錄了線路長度和模擬資料。並且會比較總體佈線長度(RtWL)、自動產生的線路長度(AWL),以及佈線完成度(RtCom)。就MR策略來說,RtWL表示由類比佈局設計者所產生的總體佈線長度。由於在晶圓代工廠A的65nm技術下的電路尺寸可被縮小並滿足性能規格,裝置的尺寸和RtWL也會成比例地較小。佈線完整性可被表示為自動產生佈線長度與總線路長度的比值。總線路長度包括人工佈線長度和程序佈線長度。即使NAR會自動產生佈線結果,仍然需要時間來細化佈局以保持正確性。在一個OpAmp電路中,大部分的NAR結果都無法通過LVS檢查,因此便需要做人工的細化調整。
平均來說,RR在OpAmp電路下會比RtCom多75%,在VGA電路下會比RtCom多85%。如果RtCom在佈線上越多,則一個正確佈局會需要較少的線路來做細化。這些佈線策略的設計時間包括,佈線產生、詳細的佈線細化和和物理驗證作為一個完整的佈局產生流程。因為使用人工佈局設計,會佔用最多的時間。另一方面,NAR和RR會應用佈線演算法來自動地產生一個概略的佈線結果。因此,必須要觀察人工佈線和自動佈線,在設計時間的比較上有沒有顯著的差別。在OpAmp電路中,晶圓代工廠A的90nm和65nm技術需費時8小時來完成佈線,而VGA在兩種技術下則需要2天的時間於MR。NAR比MR在設計時間上會快上100分鐘。不像MR和NAR,RR只花30分鐘就可獲得完整的佈局。所以,RR具有有效的設計時間,並且能有效地達到電路的性能需求。
電壓增益(Av)會被比較,頻寬、相位裕度、功率消耗和設計時間會顯示於表3的右邊。在OpAmp的狀況下,MR在電壓增益居於領先地位。然而,RR在晶圓代工廠A的65nm技術下,會比其他策略有較佳的電壓增益。同時,佈局產生器方法在晶圓代工廠B的90nm技術下,會取得電壓增益、頻寬、功率上較好的性能。在VGA狀況下,遷移時的MR和RR會在晶圓代工廠A的65nm技術下進行比較,RR比MR有較佳的性能表現。
以下將描述多拓樸原型應用的實驗結果。在前述的幾節中,佈局的遷移會使用到原型。我們進一步說明,在晶圓代工廠A的65nm技術下,OpAmp多個擺置拓樸的佈線原型。為避免程序的改變損傷類比設計的性能,類比擺置應該能處理好幾個擺置約束,像是對稱性和匹配性的約束。在其他人的實驗中,多個擺置拓樸會考慮這些約束而產生出來。因此,來自相同先前工作的七個擺置拓樸的資料,會被獲取以進行一個先進的實驗。
圖11A-11G描述一個圖形使用者介面的一個畫面截圖,它顯示本發明實施例應用晶圓代工廠A的65nm產線,在七種不同擺置拓樸(Topo2-Topo8)下的運算放大器電路時,個別範例佈局的實驗結果。表4分別顯示了MR、NAR和RR的線路長度、性能和計時資料。整個來說,RR的電壓增益,在所有拓樸狀況下會比NAR要來的比較好。對於頻寬部分,RR在除了Topo2之外的所有拓樸都比NAR要好。另一方面,可以觀察到RR的相位裕度(PM)平均比NAR差3.43度。不過,在相位裕度這樣的差異量,對於電路穩定性沒有太大的效應。雖然NAR有較佳的相位裕度性能,其他性能則比MR和RR還要差。我們可觀察到RR比NAR取得較佳的解決方案,並且和MR不相上下。RR在所有拓樸狀況中,花了不到半小時來產生佈局。同時,NAR需要較多的設計時間來修正佈局結果, 並且在每個擺置拓樸中比RR獲取較少的RtCom。這意味著佈局產生器的佈線保存,能夠保持原始來源設計在電壓增益、頻寬、佈線完整性和設計時間上的優點。
總結來說,我們可以觀察到當擺置和尺寸已事先決定或已決定時,佈線不可避免地會影響到電路性能。依據實驗結果,根據本發明的佈局產生器方法論,能夠降低設計時間,並且對於設計遷移和多個拓樸原型,能夠產生合理的性能。使用佈局再利用,而能夠快速原型化和遷移類比佈局的一種新穎的方法論,已在前面做出說明。一種以CDT為基礎的佈局取和保存方法被提出,用來保存在階層性和對稱性約束下的佈線行為。根據佈局保存方法,多個佈局解決方案能夠使用佈線重建而有效地產生出來。佈局產生器方法已通過一個可變增益放大器和一個摺疊式串疊型運算放大器的驗證。實驗結果顯示,佈局產生器方法能夠保存參考佈局的佈線行為。用於原型化的佈局產生器可以產生與人工佈線所產生的佈局不相上下。在所有狀況中,超過70%的佈線長度為自動地產生,故可直接加速原型化和遷移的設計時間。
圖12為一個電腦系統的一個方塊圖,它可用於本發明的實施例中。圖12僅在說明本發明的一個實施例,它並未約束本發明在權利範圍的範疇。本領域的普通技術人員可看出其它的變型,修改和替換。
在一個實施例中,電腦系統1200一般包括一個監視器1210、一個電腦1220、使用者輸出裝置1230、使用者輸入裝置1240、通訊介面1250、和其他部分。
如圖12所顯示,電腦1220包括一個處理器1260透過一個匯流排子系統1290與許多周邊裝置溝通。這些周邊裝置可包括使用者輸出裝置1230、使用者 輸入裝置1240、通訊介面1250和一個儲存子系統,像是隨機存取記憶體(RAM)1270和磁碟機1280。
使用者輸出裝置1230,包括所有可能用來輸入資訊至電腦系統1220的裝置和機制。這些裝置包括一個鍵盤、一個輔助鍵盤、一個與顯示幕結合的觸碰螢幕、聲音輸入裝置,像是語音辨識系統、麥克風,和其他型式的輸入裝置。在不同的實施例中,使用者輸出裝置1230典型上包括一個電腦滑鼠、一個軌跡球、一個軌跡板、一個搖桿、無線搖控器、繪圖板、語音控制系統、眼球追蹤系統,和其他類似的裝置。使用者輸出裝置1230一般允許一個使用者,透過一個命令像是按下一個按鈕的類似動作,來選取出現在監視器1210上的物件、圖像、文字。
使用者輸入裝置1240,包括所有能夠自電腦1220輸出資訊的可能裝置和機制。這些裝置包括一個顯示器(例如,監視器1210)、非視覺的顯示器,像是語音輸出裝置等。
通訊介面1250提供一個介面給其他通訊網路和裝置。通訊介面1250可做為自其他系統接收資料和傳送資料給其他系統的一個介面。多個實施例中的通訊介面1250一般包括一個Ethernet卡、一個數據機(電話、衛星、有線電視、ISDN)、(非同步)數字用戶線(DSL)單元、FireWire介面、USB介面、和其他類似介面。例如,通訊介面1250會連接到一個電腦網路、到一個FireWire匯流排、或其他類似裝置。在其他的實施例中,通訊介面1250會實體地與電腦1220的主機板整合,也可能是個軟體程序,像是DSL軟體,或其他類似裝置。
在不同的實施例中,電腦系統1200也會包括透過一個網路產生通訊的軟體,像是HTTP、TCP/IP、RTP/RTSP協議和其他類似軟體。在本發明的其他 不同的實施例中,其他的通訊軟體和傳輸協議也會被使用,例如:IPX、UDP或其他類似軟體。
在某些實施例中,電腦1220包括一個或多個來自Intel®的Xeon®微處理器,做為處理器1260。進一步在一個實施例中,電腦1220包括一個以UNIX為基礎的作業系統。
隨機存取記憶體(RAM)1270和磁碟機1280均為實體媒介的範例,它們會被設定來儲存資料,像是本發明的多個實施例,包括可執行的電腦程式碼、人類可讀程式碼,和其他類似資料。其他形式的實體媒介包括軟式磁碟、可移動式硬碟機、光學儲存媒介像是CD-ROM、DVD和條碼、半導體記憶體像是閃存記憶體、唯讀記憶體(ROM)、電池供電的揮發性記憶體、網路儲存裝置,和其他類似裝置。隨機存取記憶體(RAM)1270和磁碟機1280,可被設定儲存基本的程序和資料結構,以為本發明提供功能。
提供本發明功能的軟體程式碼模組和指令,會被儲存在RAM 1270和磁碟1280之內。這些軟體模組可被處理器1260所執行。RAM 1270和磁碟1280也可提供貯存庫來儲存資料用於本發明上。
RAM 1270和磁碟1280會包括許多記憶體,包括一個主要的隨機存取記憶體(RAM)來儲存程序執行時的指令和資料,以及一個唯讀記憶體(ROM)來儲存固定的指令。RAM 1270和磁碟1280RAM 1270會包括一個檔案儲存子系統做為程序和資料檔案持續儲存(非揮發性)的地方。RAM 1270和磁碟1280也可包括可移動的儲存系統,像是可移動的閃存記憶體。
匯流排子系統1290提供一個機制,讓電腦1220不同的組件和子系統之間,可以依預設的方式彼此間進行通訊。雖然匯流排子系統1290在電路圖上以一個單一匯流排來顯示,不同實施例的匯流排子系統可能會使用多個匯流排。
圖12為能夠具像化本發明的一個電腦系統。對本領域普通技術人員明顯瞭解,有許多其他硬體和軟體設定均適合用於本發明。例如,電腦可以是桌上型、攜帶型、機架式或平板型式。除此之外,此電腦也可以是一連串的網路電腦。進一步可預期使用其他的微處理器,像是PentiumTM或ItaniumTM微處理器;來自Advanced Micro Devices,Inc的OpteronTM或AthlonXPTM微處理器,和其他的類似微處理器。進一步可預期使用其他的作業系統,像是來自Microsoft Corporation的Windows®、WindowsXP®、WindowsNT®Further或其他類似的作業系統,來自Sun Microsystems的Solaris,LINUX、UNIX,和其他類似的作業系統。在其他的實施例中,上述的技藝也可能實作在一個晶片或一個輔助處理機板中。
本發明中不同的實施例,可以以邏輯形式被實作於軟體或硬體或兩者的組合。此邏輯可被儲存於電腦可讀或機器可讀的儲存媒介中,並可被儲存為一組指令,指導一個電腦系統的一個處理器去執行一組本發明中多個實施例的步驟。此邏輯會形成一個電腦產品的一部分,來指導一個資訊處理裝置,去執行一組本發明中多個實施例的步驟。根據目前所提供的揭露和教導,本領域的普通技術人員將會理解其它方式和/或方法來實現本發明。
本規格和圖畫應分別視為一種說明而非一種限制。然而,不同的修正和改變,可以不脫離本發明權利要求中闡述的更寬的精神和範圍來完成。除此之外,本發明的技術和系統,可以使用更多不同的EDA工具和方法論,來進行 設計、測試、和/或製造積體電路或其他電子裝置。本發明的範圍不應根據上述的說明決定,而應根據所附權利請求及等同權利請求項的全部範圍決定。

Claims (42)

  1. 一種使用電腦以佈線出一解決路徑之方法,包括:當電腦被引用以佈線該解決路徑時,該電腦從一個來源佈局中取出一沿著一第一區塊的一第一邊及一第二區塊的一第一邊的一來源路徑的一位置;以及在一解決佈局中產生該解決路徑時,保持沿著該第一區塊的該第一邊及該第二區塊的該第一邊的該來源路徑的該位置,其中,在該來源佈局中之該第一及該第二區塊間的最近距離在該解決佈局中以一第一數字來縮放,而在來源佈局中之該第一或該第二區塊的至少一邊緣在解決佈局中以一不同於該第一個數字的一第二個數字來縮放。
  2. 如申請專利範圍第1項所述之方法,更包括:在取出沿著該第一區塊的該第一邊及該第二區塊的該第一邊的該來源路徑的該位置之後,從該來源佈局中取出一個沿著該第一區塊的該第一邊和一第三區塊的一第一邊的該來源路徑的一位置,以達到階層式地取出該來源路徑的位置;以及在該解決佈局中產生該解決路徑時,保持沿著該第一區塊的該第一邊及該第三區塊的該第一邊的該來源路徑。
  3. 如申請專利範圍第2項所述之方法,其中該第一及該第二區塊依據對稱性及鄰近性的約束而群集在一起。
  4. 如申請專利範圍第1項所述之方法,其中該解決路徑被包括在一類比電路中。
  5. 如申請專利範圍第1項所述之方法,其中該取出更包括透過三角測量演算法將來源佈局轉換成平面的直線圖。
  6. 如申請專利範圍第5項所述之方法,其中該轉換更包括產生一個交叉圖形,該圖形相關於該來源路徑與一複數個邊緣相交的一複數個交叉點,其中,除了該來源佈局中之該第一及該第二區塊的位置外,該複數個邊緣將一來源佈線平面分割為一複數個未重疊的三角形。
  7. 如申請專利範圍第6項所述之方法,其中該來源佈線平面為該來源佈局中之包含該來源路徑之一區域。
  8. 如申請專利範圍第6項所述之方法,其中複數個邊緣中之至少有一邊緣代表該來源佈局之該第一區塊及該第二區塊與該來源佈線平面之間的一幾何關係。
  9. 如申請專利範圍第6項所述之方法,其中該複數個未重疊的三角形包括一複數個頂點,其中,每個頂點分別被設置在該第一區塊、該第二區塊以及該來源佈線平面的一複數個不同之角落上,並且被設置在沿著該來源佈線平面之一複數個邊緣之至少一不同的邊緣。
  10. 如申請專利範圍第6項所述之方法,其中該轉換更包括儲存相關於該複數個交叉點中之一交叉點之至少一路徑方向。
  11. 如申請專利範圍第5項所述之方法,其中該平面的直線圖包括一複數個邊緣,其中,除了該來源佈局中之該第一及該第二區塊的位置外,該複數個邊緣將一來源佈線平面分割為一複數個未重疊的三角形,該來源佈線平面為該來源佈局中之包含該來源路徑之一區域,其中,當一對頂點被設置於該複數個非重疊三角形中之一相同邊緣或被相鄰設置於該來源路徑上時,該對頂點可定義該複數個邊緣中之每個不同邊緣。
  12. 如申請專利範圍第6項所述之方法,其中產生該解決路徑更包括:依據該解決佈局來回復平面的直線圖,以及依據該複數個被回復的平面的直線圖中的交叉點來產生一複數個區段,而該解決路徑包括了該複數個區段。
  13. 如申請專利範圍第12項所述之電腦實作方法,其中該來源佈局之眾多的未重疊的三角形包括眾多的頂點,每個頂點分別被設置在該第一區塊、該第二區塊以及該來源佈線平面的眾多的不同之角落上,並且被設置在沿著該來源佈線平面之眾多個邊緣之至少一不同的邊緣,其中,當該眾多的角落中的至少一個在解決佈局中被重新定位時,回復該平面的直線圖包括重新定位相關聯於該眾多的角落之不同角落的該眾多的頂點之每一頂點。
  14. 如申請專利範圍第12項所述之方法,其中該轉換更包括儲存相關於該眾多的交叉點中之一交叉點之至少一路徑方向,該路徑方向與多個交叉點的其中一個有關,其中,產生眾多的區段係進一步依據該至少一路徑方向。
  15. 一電腦可讀取之媒體,包括電腦可執行指令,以使電腦執行:從一個來源佈局中取出一個沿著一第一區塊的一第一邊和一第二區塊的一第一邊的一來源路徑的一位置;以及在一解決佈局中產生該解決路徑時,保持沿著該第一區塊的該第一邊及該第二區塊的該第一邊的該來源路徑的該位置,其中,在該來源佈局中之該第一及該第二區塊間的最近距離在該解決佈局中以一第一數字來縮放,而在來源佈局中之該第一或該第二區塊的至少一邊緣在解決佈局中以一不同於該第一個數字的一第二個數字來縮放。
  16. 如申請專利範圍第15項所述之媒體,更包括驅動該電腦的指令使電腦執行:在取出沿著該第一區塊的該第一邊及該第二區塊的該第一邊的該來源路徑的該位置之後,從該來源佈局中取出一個沿著該第一區塊的該第一邊及一第三區塊的一第一邊的該來源路徑的一位置,以達到階層式地取出該來源路徑的位置;以及在該解決佈局中產生該解決路徑時,保持沿著該第一區塊的該第一邊和該第三區塊的該第一邊的該來源路徑。
  17. 如申請專利範圍第16項所述之媒體,其中該第一以及第二區塊會依據對稱性及接近性的約束而群集一起。
  18. 如申請專利範圍第16項所述之之媒體,其中該解決路徑會被包括在一類比電路中。
  19. 如申請專利範圍第16項所述之媒體,其中使該電腦進行取出的該指令,進一步使該電腦透過一三角演算法將該來源佈局轉換成一平面的直線圖。
  20. 如申請專利範圍第19項所述之媒體,其中使該電腦轉換的該指令進一步使該電腦產生一個交叉圖形,該圖形相關於該來源路徑與一複數個邊緣相交的一複數個交叉點,其中,除了該來源佈局中之該第一及該第二區塊的位置外,該複數個邊緣將一來源佈線平面分割為一複數個未重疊的三角形。
  21. 如申請專利範圍第20項所述之媒體,其中該來源佈線平面為該來源佈局中之包含該來源路徑之一區域。
  22. 如申請專利範圍第20項所述之媒體,其中眾多個邊緣中至少有一邊緣代表該來源佈局和該來源佈線平面之間的該第一區塊以及該第二區塊的一幾何關係。
  23. 如申請專利範圍第20項所述之媒體,其中該複數個未重疊的三角形包括一眾多個頂點,其中每個頂點分別被設置在該第一區塊、該第二區塊以及該來源佈線平面的一眾多個不同之角落上,並且被設置在沿著該來源佈線平面之一眾多個邊緣之至少一不同的邊緣。
  24. 如申請專利範圍第20項所述之媒體,其中使該電腦進行轉換的該指令,進一步使該電腦儲存相關於複數個交叉點其中一個的至少一路徑方向。
  25. 如申請專利範圍第19項所述之媒體,其中該平面的直線圖包括一眾多個邊緣,其中,除了該來源佈局中之該第一及該第二區塊的位置外,該眾多個邊緣將一來源佈線平面分割為一眾多個未重疊的三角形,該來源佈線平面為該來源佈局中之包含該來源路徑之一區域,其中,當一對頂點被設置於該眾多個未重疊的三角形中之一相同邊緣或被相鄰設置於該來源路徑上時,該對頂點可定義該複數個邊緣中之每個不同邊緣。
  26. 如申請專利範圍第20項所述之媒體,其中該使電腦產生一交叉圖的指令進一步使電腦:依據該解決佈局來回復平面的直線圖,以及依據該複數個被回復的平面的直線圖中的交叉點來產生一複數個區段,而該解決路徑包括了該複數個區段。
  27. 如申請專利範圍第26項所述之媒體,其中該來源佈局之眾多的未重疊的三角形包括眾多的頂點,每個頂點分別被設置在該第一區塊、該第二區塊以及該來源佈線平面的眾多的不同之角落上,並且被設置在沿著該來源佈線平面之眾多個邊緣之至少一不同的邊緣,其中,當該眾多的角落中的至少一個在解決佈局中被重新定位時,回復該平面的直線圖包括重新定位相關聯於該眾多的角落之不同角落的該眾多的頂點之每一頂點。
  28. 如申請專利範圍第26項所述之媒體,其中使該電腦產生轉換的該指令,進一步使該電腦儲存至少一相關於眾多的交叉點之一交叉點之至少一路徑方向。該路徑方向與多個交叉點的其中一個有關,其中,產生眾多的區段係進一步依據該至少一路徑方向。
  29. 一用以佈線一解決路徑之系統,該系統包含:軟體程式碼模組,用以從一來源佈局中取出一來源路徑的一位置,該來源路徑係沿著一第一區塊的一第一邊和一第二區塊的一第一邊而配置;以及用以產生該來源佈局中的該來源路徑,同時保持該來源路徑的該位置能沿著該第一區塊的該第一邊和該第二區塊的該第一邊,其中在該來源佈局中該第一和第二區塊之間的一最接近距離,會在該解決佈局中被一第一數字縮放,而在該解決佈局中該第一或第二區塊的至少一個邊緣,會在該解決佈局中被一不同於該第一個數字的一第二個數字所縮放。
  30. 如申請專利範圍第29項所述之系統,其中,在取出沿著該第一區塊的該第一邊及該第二區塊的該第一邊的該來源路徑的該位置之後,從該來源佈局中取出一沿著該第一區塊的該第一邊和一第三區塊的一第一邊的該來源路徑的一位置,以達到階層式地取出該來源路徑的位置;以及在該解決佈局中產生該解決路徑時,保持沿著該第一區塊的該第一邊及該第三區塊的該第一邊的該來源路徑。
  31. 如申請專利範圍第30項所述之系統,其中該第一和第二區塊會依據對稱性及接近性的約束而群集在一起。
  32. 如申請專利範圍第29項所述之系統,其中該解決路徑會被包括在一類比電路中。
  33. 如申請專利範圍第29項所述之系統,其中該軟體程式碼模組更用以透過一三角演算法將該來源佈局轉換成一平面的直線圖。
  34. 如申請專利範圍第33項所述之系統,其中該軟體程式碼模組更用以產生一個交叉圖形,該圖形相關於該來源路徑與一眾多個邊緣相交的一眾多個交叉點,其中,除了該來源佈局中之該第一及該第二區塊的位置外,該複數個邊緣將一來源佈線平面分割為一複數個未重疊的三角形。
  35. 如申請專利範圍第34項所述之系統,其中該來源佈線平面為該來源佈局中之包含該來源路徑之一區域。
  36. 如申請專利範圍第34項所述之系統,其中眾多個邊緣至少一邊緣代表著該來源佈局及該來源佈線平面之間該第一去塊、該第二區塊的一幾何關係。
  37. 如申請專利範圍第34項所述之系統,其中該複數個未重疊的三角形包括一眾多個頂點,其中每個頂點分別被設置在該第一區塊、該第二區塊以及該來源佈線平面的一眾多個不同之角落上,並且被設置在沿著該來源佈線平面之一眾多個邊緣之至少一不同的邊緣。
  38. 如申請專利範圍第34項所述之系統,其中該軟體程式碼模組更用以儲存相關於眾多個交叉點之中一個的至少一路徑方向。
  39. 如申請專利範圍第33項所述之系統,其中該平面的直線圖包括一眾多個邊緣,其中,除了該來源佈局中之該第一及該第二區塊的位置外,該眾多個邊緣將一來源佈線平面分割為一眾多個未重疊的三角形,該來源佈線平面為該來源佈局中之包含該來源路徑之一區域,其中,當一對頂點被設置於該眾多個非重疊三角形中之一相同邊緣或被相鄰設置於該來源路徑上時,該對頂點可定義該複數個邊緣中之每個不同邊緣。
  40. 如申請專利範圍第34項所述之系統,其中該軟體程式碼模組更依據該解決佈局來回復平面的直線圖,以及依據該複數個被回復的平面的直線圖中的交叉點來產生一複數個區段,而該解決路徑包括了該複數個區段。
  41. 如申請專利範圍第40項所述之系統,其中該來源佈局之眾多的未重疊的三角形包括眾多的頂點,每個頂點分別被設置在該第一區塊、該第二區塊以及該來源佈線平面的眾多的不同之角落上,並且被設置在沿著該來源佈線平面之眾多個邊緣之至少一不同的邊緣,其中,當該眾多的角落中的至少一個在解決佈局中被重新定位時,回復該平面的直線圖包括重新定位相關聯於該眾多的角落之不同角落的該眾多的頂點之每一頂點。
  42. 如申請專利範圍第40項所述之系統,其中該軟體程式碼模組更用以儲存至少一個相關於眾多個交叉點之一個的路徑方向,其中使電腦產生一眾多個區段的指令會進一步依據該至少一個路徑方向。
TW103130262A 2013-09-03 2014-09-02 一種佈線出一解決路徑之方法及系統 TWI643082B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201361873211P 2013-09-03 2013-09-03
US61/873,211 2013-09-03

Publications (2)

Publication Number Publication Date
TW201520801A TW201520801A (zh) 2015-06-01
TWI643082B true TWI643082B (zh) 2018-12-01

Family

ID=52585135

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103130262A TWI643082B (zh) 2013-09-03 2014-09-02 一種佈線出一解決路徑之方法及系統

Country Status (2)

Country Link
US (1) US10409943B2 (zh)
TW (1) TWI643082B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10185799B2 (en) * 2014-04-22 2019-01-22 Mentor Graphics Corporation Verification of photonic integrated circuits
CN107820423A (zh) * 2015-05-11 2018-03-20 爱尔兰詹森科学公司 用于预防和/或治疗上呼吸道感染的聚肌苷酸‑聚胞苷酸(聚(i:c))豌豆淀粉制剂
US10192020B1 (en) 2016-09-30 2019-01-29 Cadence Design Systems, Inc. Methods, systems, and computer program product for implementing dynamic maneuvers within virtual hierarchies of an electronic design
US10210299B1 (en) 2016-09-30 2019-02-19 Cadence Design Systems, Inc. Methods, systems, and computer program product for dynamically abstracting virtual hierarchies for an electronic design
US10282505B1 (en) 2016-09-30 2019-05-07 Cadence Design Systems, Inc. Methods, systems, and computer program product for implementing legal routing tracks across virtual hierarchies and legal placement patterns
CN114556352A (zh) * 2019-08-12 2022-05-27 美商新思科技有限公司 用于执行自动布线的方法和系统
US10885256B1 (en) 2020-02-04 2021-01-05 Hong Kong Applied Science and Technology Research Institute Company, Limited Method and system for integrated circuit (IC) layout migration integrated with layout expertise
US11893335B1 (en) * 2021-09-17 2024-02-06 Cadence Design Systems, Inc. System and method for routing in an electronic design
CN116306457B (zh) * 2023-01-28 2024-02-20 上海合见工业软件集团有限公司 基于垂直交叉点约束的电路原理图路由规划系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4615011A (en) * 1983-12-19 1986-09-30 Ibm Iterative method for establishing connections and resulting product
US6745379B2 (en) * 2001-08-23 2004-06-01 Cadence Design Systems, Inc. Method and apparatus for identifying propagation for routes with diagonal edges
US6928633B1 (en) * 2002-01-22 2005-08-09 Cadence Design Systems, Inc. IC layout having topological routes
TWI306567B (en) * 2002-06-07 2009-02-21 Cadence Design Systems Inc Characterization and reduction of variation for integrated circuits

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4577276A (en) 1983-09-12 1986-03-18 At&T Bell Laboratories Placement of components on circuit substrates
US5361214A (en) 1990-07-09 1994-11-01 Kabushiki Kaisha Toshiba Method for automatically determining wiring routes
JP3219500B2 (ja) 1991-12-27 2001-10-15 株式会社東芝 自動配線方法
JP3299842B2 (ja) 1994-05-19 2002-07-08 富士通株式会社 半導体集積回路の配置配線方法および装置
US5659717A (en) 1995-07-31 1997-08-19 Altera Corporation Methods for partitioning circuits in order to allocate elements among multiple circuit groups
US5854752A (en) 1996-01-19 1998-12-29 Ikos Systems, Inc. Circuit partitioning technique for use with multiplexed inter-connections
JP3137178B2 (ja) 1996-08-14 2001-02-19 日本電気株式会社 集積回路の配線設計方法および装置
JP3215351B2 (ja) 1997-04-30 2001-10-02 富士通株式会社 配置方式
US7065729B1 (en) 1998-10-19 2006-06-20 Chapman David C Approach for routing an integrated circuit
JP3548070B2 (ja) 2000-01-26 2004-07-28 インターナショナル・ビジネス・マシーンズ・コーポレーション 多端子ネットを自動的に発生する方法及び装置並びに多端子ネット自動発生方法を実行するためのプログラムを記憶したプログラム記憶媒体
US6804810B1 (en) 2000-02-21 2004-10-12 Hewlett-Packard Development Company, L.P. Resistance and capacitance estimation
US6931610B1 (en) 2000-05-12 2005-08-16 Magma Design Automation, Inc. Method for rapid estimation of wire delays and capacitances based on placement of cells
US7024650B2 (en) 2000-12-06 2006-04-04 Cadence Design Systems, Inc. Method and apparatus for considering diagonal wiring in placement
US7073150B2 (en) 2000-12-07 2006-07-04 Cadence Design Systems, Inc. Hierarchical routing method and apparatus that use diagonal routes
US6892369B2 (en) 2002-11-18 2005-05-10 Cadence Design Systems, Inc. Method and apparatus for costing routes of nets
US7237214B1 (en) 2003-03-04 2007-06-26 Synplicity, Inc. Method and apparatus for circuit partitioning and trace assignment in circuit design
US7784010B1 (en) 2004-06-01 2010-08-24 Pulsic Limited Automatic routing system with variable width interconnect
US7707537B2 (en) 2004-06-04 2010-04-27 Cadence Design Systems, Inc. Method and apparatus for generating layout regions with local preferred directions
US7257797B1 (en) 2004-06-07 2007-08-14 Pulsic Limited Method of automatic shape-based routing of interconnects in spines for integrated circuit design
US20060080632A1 (en) 2004-09-30 2006-04-13 Mathstar, Inc. Integrated circuit layout having rectilinear structure of objects
US7281233B1 (en) 2005-05-27 2007-10-09 Xilinx, Inc. Method and apparatus for implementing a circuit design for integrated circuitry on a circuit board
WO2007074402A2 (en) 2005-06-21 2007-07-05 Pulsic Limited High-speed shape-based router
US7603644B2 (en) 2005-06-24 2009-10-13 Pulsic Limited Integrated circuit routing and compaction
WO2007002799A1 (en) 2005-06-29 2007-01-04 Lightspeed Logic, Inc. Methods and systems for placement
US8332793B2 (en) 2006-05-18 2012-12-11 Otrsotech, Llc Methods and systems for placement and routing
US8201128B2 (en) 2006-06-16 2012-06-12 Cadence Design Systems, Inc. Method and apparatus for approximating diagonal lines in placement
US20080256380A1 (en) 2007-04-16 2008-10-16 Masanori Tsutsumi Semiconductor integrated circuit and layout method for the same
US20090327989A1 (en) 2008-01-31 2009-12-31 Ren Zhuoxiang Statistical Interconnect Corner Extraction
US20090217225A1 (en) 2008-02-22 2009-08-27 Mentor Graphics, Corp. Multi-mode multi-corner clocktree synthesis
US8131720B2 (en) 2008-07-25 2012-03-06 Microsoft Corporation Using an ID domain to improve searching
US8099702B2 (en) 2008-07-30 2012-01-17 Synopsys, Inc. Method and apparatus for proximate placement of sequential cells
US8201127B1 (en) 2008-11-18 2012-06-12 Xilinx, Inc. Method and apparatus for reducing clock signal power consumption within an integrated circuit
US8151232B2 (en) 2009-04-10 2012-04-03 Oracle America, Inc. Repeater driven routing methodology
US8495250B2 (en) 2009-12-16 2013-07-23 International Business Machines Corporation Asynchronous file operations in a scalable multi-node file system cache for a remote cluster file system
US8271929B2 (en) 2010-02-19 2012-09-18 Juniper Networks, Inc. Method for clock load alignment during standard cell optimization
JP5418341B2 (ja) 2010-03-19 2014-02-19 富士通株式会社 設計支援プログラム、設計支援装置および設計支援方法
US20130135811A1 (en) 2010-07-21 2013-05-30 Birchbridge Incorporated Architecture For A Robust Computing System
US8683417B2 (en) 2010-11-29 2014-03-25 Synopsys Taiwan Co., Ltd Multiple level spine routing

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4615011A (en) * 1983-12-19 1986-09-30 Ibm Iterative method for establishing connections and resulting product
US6745379B2 (en) * 2001-08-23 2004-06-01 Cadence Design Systems, Inc. Method and apparatus for identifying propagation for routes with diagonal edges
US6928633B1 (en) * 2002-01-22 2005-08-09 Cadence Design Systems, Inc. IC layout having topological routes
TWI306567B (en) * 2002-06-07 2009-02-21 Cadence Design Systems Inc Characterization and reduction of variation for integrated circuits

Also Published As

Publication number Publication date
US10409943B2 (en) 2019-09-10
US20150067632A1 (en) 2015-03-05
TW201520801A (zh) 2015-06-01

Similar Documents

Publication Publication Date Title
TWI643082B (zh) 一種佈線出一解決路徑之方法及系統
Xu et al. MAGICAL: Toward fully automated analog IC layout leveraging human and machine intelligence
Staepelaere et al. SURF: Rubber-band routing system for multichip modules
US20150339426A1 (en) Negative plane usage with a virtual hierarchical layer
US9171124B2 (en) Parasitic extraction in an integrated circuit with multi-patterning requirements
US7096447B1 (en) Method and apparatus for efficiently locating and automatically correcting certain violations in a complex existing circuit layout
US20030229862A1 (en) Patching technique for correction of minimum area and jog design rule violations
US20040019862A1 (en) Structure and method for separating geometries in a design layout into multi-wide object classes
US8954915B2 (en) Structured placement of hierarchical soft blocks during physical synthesis of an integrated circuit
US7380227B1 (en) Automated correction of asymmetric enclosure rule violations in a design layout
Pan et al. A fast prototyping framework for analog layout migration with planar preservation
TWI683228B (zh) 開發電子裝置的電子架構設計的系統、開發多個標準電路元件庫的方法及將電子裝置製作至半導體基底上的系統
CN109074412B (zh) 使用自动焊接和自动克隆的电路中的连接的交互式布线
US20140019931A1 (en) Systems and methods for fixing pin mismatch in layout migration
US20130198712A1 (en) Canonical Signature Generation For Layout Design Data
US20100246978A1 (en) Data verification method, data verification device, and data verification program
US10515180B1 (en) Method, system, and computer program product to implement snapping for an electronic design
US20150178441A1 (en) Method for wire widening in circuit routing system
US20160180003A1 (en) Dividing lithography exposure fields to improve semiconductor fabrication
US8762917B2 (en) Automatically modifying a circuit layout to perform electromagnetic simulation
US8813020B2 (en) Automatically modifying a circuit layout to perform electromagnetic simulation
Chi et al. Achieving Routing Integrity in Analog Layout Migration via Cartesian Detection Lines
US9697313B2 (en) Organization for virtual-flat expansion of physical data in physically-hierarchical IC designs
KR100898232B1 (ko) 축소과정에서의 패턴 설계 방법
JP2008171399A (ja) 半導体装置の設計方法、半導体装置設計システム及びコンピュータプログラム