專利名稱:芯片設(shè)計(jì)中的線網(wǎng)分配方法與裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明是關(guān)于一種芯片設(shè)計(jì)中的線網(wǎng)分配方法與裝置,尤其是關(guān)于一種芯片設(shè)計(jì) 中避免飛線交叉的線網(wǎng)分配方法與裝置。
背景技術(shù):
在現(xiàn)代的集成電路設(shè)計(jì)中,一個集成電路中的一個或更多的部分被硬件描述語言 (HDL)(比如,Verilog或VHDL)來設(shè)計(jì)或描述。做為把HDL從代碼文件翻譯到集成電路的 結(jié)構(gòu)布局的一部分,一個編譯器通常會被使用來執(zhí)行這樣的功能。通常,一個集成電路編譯 器的一個方面是執(zhí)行從一個半導(dǎo)體裝置到另一個半導(dǎo)體裝置的信號網(wǎng)絡(luò)的分配和繞線,在 這里這兩個半導(dǎo)體裝置組成該集成電路的一部分。在倒裝芯片設(shè)計(jì)中,并行地優(yōu)化網(wǎng)絡(luò)分 配和繞線的需要是尤其重要的。在倒裝芯片結(jié)構(gòu)設(shè)計(jì)流程中,關(guān)鍵步驟之一是在倒裝片驅(qū) 動器和倒裝片焊點(diǎn)之間造成1對1的邏輯連接,其倒裝片焊點(diǎn)一般由粘付于在半導(dǎo)體基片 外表面上的焊墊的焊接球來提供。這樣的1對1的邏輯連接的結(jié)果的質(zhì)量(QoR)或者網(wǎng)絡(luò) 分配,直接地影響后續(xù)再布線RDUredistributed layer)階段的布線能力,該RDL布線通 常是一種單一層布線。其中飛線交叉是一種最不想要的分配模式,因其勢必會造成不可布 線的線網(wǎng)或不必要的彎路。以倒裝芯片為例,其線網(wǎng)分配中關(guān)鍵的一步是驅(qū)動器與焊球之間一對一的邏輯連 接。如圖1所示,一種用于倒裝芯片的線網(wǎng)分配方法是先基于區(qū)域進(jìn)行分隔,直到驅(qū)動器 70的數(shù)目達(dá)到一門限值或者無法再找到合適的分割線;然后每個驅(qū)動器70與其可見的最 近的焊球71匹配。接著將每兩對匹配的驅(qū)動器70與焊球71進(jìn)行交換,看是否可降低交叉 線或線路的長度,以進(jìn)行優(yōu)化。由圖中可見,在一依上述方法得到的驅(qū)動器與焊球的邏輯連 接,其最初的分配結(jié)果有時無法得到后期的優(yōu)化步驟得到改善。因而,該方法不能提供一全 局優(yōu)化結(jié)果,在大型芯片設(shè)計(jì)中極易造成很差的線網(wǎng)分配的QoR ;影響后續(xù)單層布線的布 通率,導(dǎo)致開放線網(wǎng)或繞線等。鑒于上述問題,業(yè)界亟需一種理想的線網(wǎng)分配技術(shù)方案,盡可能的避免飛線交叉, 有利于后期的布線。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種芯片設(shè)計(jì)中的線網(wǎng)分配方法與裝置,其可將線網(wǎng)中的 一器件唯一的分配給相應(yīng)的另一器件而不會引起飛線交叉。本發(fā)明提供一線網(wǎng)分配方法,其將m個焊球分配給η個驅(qū)動器,且包含如下步驟 建立一成本矩陣,該成本矩陣中的各元素為將該m個焊球中每一個分別連接至該η個驅(qū)動 器的線路長度;找出該成本矩陣中每一行的最小元素,由其所在行的各元素中減去該最小 元素得一結(jié)果矩陣;找出該結(jié)果矩陣中每一個零值,如該零值所在行包含一第一標(biāo)識零則 對該零值不作處理,否則將該零值標(biāo)識為第一標(biāo)識零;檢查該結(jié)果矩陣中包含該第一標(biāo)識 零的列是否達(dá)到η列,如達(dá)到則分配結(jié)束;否則對該結(jié)果矩陣?yán)^續(xù)進(jìn)行處理,直到其包含該第一標(biāo)識零的列達(dá)到η列。在一實(shí)施例中,該線路長度是一焊球與一驅(qū)動器間的歐幾里德距離與曼哈頓距離 的和。該對該結(jié)果矩陣?yán)^續(xù)進(jìn)行處理,直到其包含該第一標(biāo)識零的列達(dá)到η列的步驟進(jìn)一 步包含步驟a 以一第二標(biāo)識標(biāo)記包含該第一標(biāo)識零的列;步驟b 檢查未被第二標(biāo)識標(biāo) 記的行或列中是否有一零值如有,在步驟c以一第三標(biāo)識將該零值標(biāo)記為第三標(biāo)識零;如 無,則在步驟d找出所有未被該第二標(biāo)識標(biāo)記的行或列中的最小值,并將其從各未被第二 標(biāo)識標(biāo)記的列中的各元素減去,然后返回步驟b。在該步驟c之后進(jìn)一步包含檢查該第三 標(biāo)識零所在的行有沒有包含第一標(biāo)識零,如沒有則在步驟e依一構(gòu)建規(guī)則選擇出第一標(biāo)識 零與第三標(biāo)識零;否則在步驟f以該第二標(biāo)識標(biāo)記該包含第三標(biāo)識零的行,并去掉包含該 第一標(biāo)識零的列的第二標(biāo)識。在步驟f之后進(jìn)一步包含步驟h,檢查未被第二標(biāo)識標(biāo)記的 行或列中是否還有一零值,如有則繼續(xù)步驟c,否則執(zhí)行步驟g找出未被第二標(biāo)識標(biāo)記的行 或列中的最小值,將其加至被第二標(biāo)識標(biāo)記的各行的各元素,然后將其自未被第二標(biāo)識標(biāo) 記的各列的各元素中減去,并返回步驟b。該構(gòu)建規(guī)則是ZO代表步驟c中發(fā)現(xiàn)的所在行中 沒有第一標(biāo)識零的第三標(biāo)識零,Zl代表ZO所在列中的第一標(biāo)識零,Z2表示Zl所在行中的 第三標(biāo)識零;繼續(xù)該構(gòu)建規(guī)則直到一第三標(biāo)識零所在列沒有第一標(biāo)識零時終止。在步驟e 之后去掉依該構(gòu)建規(guī)則選擇出的第一標(biāo)識零的第一標(biāo)識,將各第三標(biāo)識零修改為第一標(biāo)識 零,并去掉該結(jié)果矩陣中所有由第二標(biāo)識標(biāo)記的各行或列;然后返回該檢查該結(jié)果矩陣中 包含該第一標(biāo)識零的列是否達(dá)到η列的步驟。分配結(jié)束時該第一標(biāo)記零所在的位置描述該 η個驅(qū)動器與m個焊球間的唯一分配關(guān)系。本發(fā)明還提供一線網(wǎng)分配裝置,其將m個焊球分配給η個驅(qū)動器,且包含一成本 矩陣構(gòu)建單元;建立一成本矩陣,該成本矩陣中的各元素為將該m個焊球中每一個分別連 接至該η個驅(qū)動器的線路長度;一結(jié)果矩陣構(gòu)建單元;找出該成本矩陣中每一行的最小元 素,由其所在行的各元素中減去該最小元素得一結(jié)果矩陣;一分配單元;找出該結(jié)果矩陣 中每一個零值,如該零值所在行包含一第一標(biāo)識零則對該零值不作處理,否則將該零值標(biāo) 識為第一標(biāo)識零;一分配結(jié)果檢查單元,檢查該結(jié)果矩陣中包含該第一標(biāo)識零的列是否達(dá) 到η列,如達(dá)到則分配結(jié)束;否則通知該分配單元對該結(jié)果矩陣?yán)^續(xù)進(jìn)行處理,直到其包含 該第一標(biāo)識零的列達(dá)到η列。本發(fā)明的芯片設(shè)計(jì)中的線網(wǎng)分配方法與裝置,唯一確定線網(wǎng)中相應(yīng)器件間的分配 關(guān)系,避免飛線交叉的問題。并獲得全局優(yōu)化的設(shè)計(jì)結(jié)果,提高后續(xù)單層布線的布通率。
圖1是一現(xiàn)有線網(wǎng)分配方法的分配結(jié)果示意圖;圖2是根據(jù)本發(fā)明線網(wǎng)分配方法一實(shí)施例的流程圖;圖3是根據(jù)圖2中本發(fā)明線網(wǎng)分配方法中步驟12的流程圖;圖4是根據(jù)圖2中本發(fā)明線網(wǎng)分配方法中步驟16的流程圖;圖5-7顯示了本發(fā)明的網(wǎng)絡(luò)分配方法的流程圖;圖8-9舉例說明了本發(fā)明的具體實(shí)施方式
;圖10是根據(jù)本發(fā)明線網(wǎng)分配方法進(jìn)行分配的焊球與驅(qū)動器的位置示意圖;圖11是根據(jù)本發(fā)明線網(wǎng)分配方法分配圖10中焊球與驅(qū)動器的成本矩陣;
圖12-14是根據(jù)本發(fā)明線網(wǎng)分配方法分配圖10中焊球與驅(qū)動器過程中的不同階 段產(chǎn)生的結(jié)果矩陣;圖15是根據(jù)本發(fā)明的線網(wǎng)分配裝置的示意圖;圖16是根據(jù)本發(fā)明線網(wǎng)分配裝置分配的焊球與驅(qū)動器位置關(guān)系建立的成本矩 陣;圖17- 是根據(jù)圖16中焊球與驅(qū)動器的成本矩陣在分配過程中產(chǎn)生的結(jié)果矩陣。
具體實(shí)施例方式為便于更好的理解本發(fā)明的精神,以下結(jié)合本發(fā)明的優(yōu)選實(shí)施例對其作進(jìn)一步說 明。本發(fā)明是關(guān)于一種在芯片設(shè)計(jì)中避免飛線交叉的線網(wǎng)分配方法與裝置,其可保證 器件間,如驅(qū)動器與焊球,一一匹配的全局優(yōu)化。本發(fā)明還可應(yīng)用于分裂焊墊設(shè)計(jì)(split bond pad design),及立體IC設(shè)計(jì)(3D IC design)中的硅導(dǎo)穿孔(Through-Silicon_Via,TSV)與焊球單元(bumpcell)匹配問題。根據(jù)本發(fā)明,在一芯片設(shè)計(jì)中將m個焊球分配給η個驅(qū)動器(n < = m),使所有的 驅(qū)動器與其相應(yīng)的焊球間具有最小距離,避免飛線交叉問題。同時,在線網(wǎng)分配時,還會給 線路較短的0°或90°線網(wǎng)較線路較長的45°線網(wǎng)更高的優(yōu)先權(quán),使整體的線路都較短。如圖2所示,根據(jù)本發(fā)明的一實(shí)施例,該將m個焊球分配給η個驅(qū)動器的方法,其 首先在步驟10中構(gòu)造一個nXm的成本矩陣,其中該成本矩陣中的各元素為將一焊球連 接至一驅(qū)動器的線路長度,具體表述為該焊球與其相應(yīng)驅(qū)動器間的歐幾里德距離(Euclid distance)與曼哈頓足巨離(Manhattandistance)的禾口。在步驟11中,針對該成本矩陣的每一行找出一最小元素,且自其所在行的各元素 減去該最小元素得一結(jié)果矩陣。接著進(jìn)入步驟12找出該結(jié)果矩陣中的所有零值并進(jìn)行相應(yīng)處理,具體的如圖3所 示在步驟120中自該結(jié)果矩陣中找一零值。在步驟121判斷該零值所在行或列中是否有 一第一標(biāo)識零,如該零值所在行或列中沒有一第一標(biāo)識零,則在步驟122將該零值標(biāo)記為 第一標(biāo)識零;否則至步驟123對該零值不作任何處理。接著在步驟IM檢查是否所有的零 值都被找過,如都找過則進(jìn)入后續(xù)步驟13,否則返回步驟120。返回圖2,在步驟13中,以一第二標(biāo)識標(biāo)記包含該第一標(biāo)識零的列,并檢查該結(jié)果 矩陣中該被第二標(biāo)識標(biāo)記的列是否達(dá)到η列。如達(dá)到,則進(jìn)入步驟14分配結(jié)束,其中所有 第一標(biāo)記零所在的位置描述該η個驅(qū)動器與m個焊球間的唯一分配關(guān)系。例如,一第一標(biāo) 記零在結(jié)果矩陣中的i行,j列,則該第一標(biāo)記零表示將第j個焊球分配給第i個驅(qū)動器 (1 < i < n,1 < j < m)。當(dāng)然在其它實(shí)施例中,步驟13也可直接檢查包含該第一標(biāo)識零 的列是否達(dá)到η列,僅在分配沒有得到唯一分配結(jié)果的情況下,才以該第二標(biāo)識標(biāo)記包含 該第一標(biāo)識零的列,進(jìn)行后續(xù)的操作。如果步驟13中的檢查結(jié)果是該結(jié)果矩陣中的包含該第一標(biāo)識零的列沒有達(dá)到η 列,則進(jìn)入步驟15。在步驟15中,檢查在未被第二標(biāo)識標(biāo)記的行或列中是否有一零值,如 有,則進(jìn)入步驟16以一第三標(biāo)識將該零值標(biāo)記為第三標(biāo)識零,以進(jìn)行相應(yīng)處理;否則進(jìn)入 步驟17找出所有未被第二標(biāo)識標(biāo)記的行或列中的最小值,并將其從各未被第二標(biāo)識標(biāo)記8的列中各元素減去,然后返回步驟15。具體如圖4所示,步驟16進(jìn)一步包含在步驟160將該零值以一第三標(biāo)識標(biāo)記為 第三標(biāo)識零。在步驟161檢查該第三標(biāo)識零所在的行是否包含第一標(biāo)識零,如該第三標(biāo)識 零所在的行沒有第一標(biāo)識零,至步驟162依一構(gòu)建規(guī)則選擇第一標(biāo)識零與第三標(biāo)識零。否 則,進(jìn)入步驟163,以第二標(biāo)識標(biāo)記該包含第三標(biāo)識零的行,并去掉包含該第一標(biāo)識零的列 的第二標(biāo)識。在步驟164檢查是否所有未被第二標(biāo)識標(biāo)記的行或列中的零值都被處理,如 有未被檢查的則返回步驟160 ;否則進(jìn)入步驟165找出所有未被第二標(biāo)識標(biāo)記的行或列中 的最小值,將其加至各被第二標(biāo)識標(biāo)記的行的各元素,然后自未被第二標(biāo)識標(biāo)記的列中的 各元素減去該最小值,接著返回步驟15。具體的,在一實(shí)施例中,步驟162是依一構(gòu)建規(guī)則一選擇第一標(biāo)識零與第三標(biāo)識 零而構(gòu)建一序列,其中Z0代表步驟161中發(fā)現(xiàn)的未在第二標(biāo)識列中的第三標(biāo)識零,Zl代表 ZO所在列中的第一標(biāo)識零,Z2表示Zl所在行中的第三標(biāo)識零;繼續(xù)該構(gòu)建規(guī)則直到一第三 標(biāo)識零所在列沒有第一標(biāo)識零時終止。去掉選擇出的第一標(biāo)識零的第一標(biāo)識,將選擇出的 各第三標(biāo)識零修改為第一標(biāo)識零,并去掉結(jié)果矩陣中所有由第二標(biāo)識標(biāo)記的各行或列;然 后返回步驟13。圖5和圖6顯示了優(yōu)化倒裝片驅(qū)動器和倒裝片焊點(diǎn)之間的網(wǎng)絡(luò)分配的方法的流程 圖。依照圖5的步驟103,首先,通過圖6中顯示的方法產(chǎn)生了一個路徑分配成本的數(shù)據(jù)集。依照圖6的步驟203,首先,歐幾里德距離由測量一個倒裝片驅(qū)動器和多個倒裝片 焊點(diǎn)之間的距離來決定。這樣的一個倒裝片驅(qū)動器可以和這樣的多個倒裝片焊點(diǎn)構(gòu)成1對 1的邏輯連接?;蛘邭W幾里德距離也可以由任何其它的可比較的方法來決定。步驟205,曼 哈頓距離由測量一個倒裝片驅(qū)動器和多個倒裝片焊點(diǎn)之間的距離來決定。這樣的一個倒裝 片驅(qū)動器可以和這樣的多個倒裝片焊點(diǎn)可構(gòu)成1對1的邏輯連接?;蛘呗D距離也可以 由任何其它的可比較的方法來決定。步驟207,把第一步?jīng)Q定的歐幾里德距離和第二步?jīng)Q定 的曼哈頓距離加起來以產(chǎn)生一個路徑分配成本的數(shù)據(jù)。最后步驟209,這個路徑分配成本數(shù) 據(jù)被儲存到路徑分配成本的數(shù)據(jù)集。在不限制圖6所描述之方法的普遍性的情況下,像這 樣的路徑分配成本的數(shù)據(jù)集也可以由測量一個倒裝片驅(qū)動器和多個倒裝片焊點(diǎn)之間的距 離來產(chǎn)生。這樣的一個倒裝片驅(qū)動器可以和這樣的多個倒裝片焊點(diǎn)可構(gòu)成1對1的邏輯連 接。這樣的距離可以是歐幾里德距離或者曼哈頓距離?;蛘哌@樣的距離也可以由任何其它 的可以決定這樣距離的方法來產(chǎn)生。進(jìn)一步地依照圖5,步驟105包含一個價值矩陣。這個價值矩陣是由步驟103中 所產(chǎn)生的分配成本數(shù)據(jù)集所產(chǎn)生和填充的。分配成本數(shù)據(jù)集填充著這個價值矩陣的每個元 素。這樣的價值矩陣可以由形成一個相應(yīng)的矩陣表格來產(chǎn)生。這樣的矩陣表格有行和列來 對應(yīng)每個倒裝片驅(qū)動器以及它們相對應(yīng)的分配成本數(shù)據(jù)。這些分配成本數(shù)據(jù)是和多個倒裝 片焊點(diǎn)相關(guān)聯(lián)的。而每個倒裝片驅(qū)動器可以和這樣的多個倒裝片焊點(diǎn)可構(gòu)成1對1的邏輯 連接。然而,這個價值矩陣也可由把這個矩陣實(shí)施成多套的具有一個迭代循環(huán)功能的功能 塊來產(chǎn)生。這些功能塊是用分配成本數(shù)據(jù)來填充這樣的價值矩陣的。分配成本數(shù)據(jù)集填充 著這個價值矩陣的每個元素。進(jìn)一步地依照圖5,第三個步驟包含在倒裝片驅(qū)動器和倒裝片焊點(diǎn)之間分配網(wǎng)絡(luò) 分配,以使得網(wǎng)絡(luò)分配通過執(zhí)行像Kim-Mimkres算法這樣的一個分配分配的優(yōu)化算法來被優(yōu)化。Kun-Munkres算法可以按照圖7中描述的方法來實(shí)施。依照圖7,在步驟301中,一個價值矩陣按照圖6中所顯示的方法形成了,以使得這 個矩陣的每個元素代表著分配一個倒裝片驅(qū)動器到一個倒裝片焊點(diǎn)的成本。在步驟303,這 個價值矩陣是由成本分配數(shù)據(jù)集的文件產(chǎn)生和填充。這個價值矩陣更進(jìn)一步地通過旋轉(zhuǎn)矩 陣來修改,以使得那里至少有和行一樣多的列,并且讓k = min(n,m)。在步驟305中,對于 矩陣的每一行,找到最小的元素并且從它所在行的每個元素中減去它。在步驟307,執(zhí)行步 驟305直到所有的行都已經(jīng)被計(jì)算。在步驟309中,在產(chǎn)生的矩陣中尋找一個零(Z)。在步 驟311和313,假如在行或列中沒有以星號標(biāo)記的零,那么就用星號標(biāo)記這個零(Z)。在步 驟315,對矩陣中的每個元素都執(zhí)行同樣操作。在步驟317中,把包含有帶星號標(biāo)記的零的 每個列都覆蓋起來。在步驟319,如果K個列被覆蓋,帶星號標(biāo)記的零就描述了一組獨(dú)特的 分配。因此在步驟321,分配的對就被它們在價值矩陣中的帶星號標(biāo)記的零的位置指示出來 了。如果C(i,j)是一個帶星號標(biāo)記的零,那么如此情形可能是與行i或行j相關(guān)聯(lián)的倒裝 片驅(qū)動器,被分配給如此情形可能是與行i或行j相關(guān)聯(lián)的倒裝片焊點(diǎn)。在步驟319,如果 比K少的列被覆蓋,那么步驟323被執(zhí)行。在步驟323中,尋找一個未被覆蓋的零并且在其 右上角以撇號標(biāo)記它。在步驟325,假如在包含帶撇號標(biāo)記的零所在的行中沒有以星號標(biāo)記 的零,那么步驟335就被執(zhí)行。在步驟335中,通過首先讓ZO代表在步驟323中找到的未 被覆蓋的帶撇號的零,構(gòu)造一系列交替出現(xiàn)的帶含撇號標(biāo)記的零和帶星號標(biāo)記的零。讓Zl 表示在ZO的列當(dāng)中的以星號標(biāo)記的零,讓Z2表示在Zl的行當(dāng)中的以撇號標(biāo)記的零。迭代 地繼續(xù)這個過程直到這個系列終止在一個以撇號標(biāo)記的零,而在這個以撇號標(biāo)記的零所在 的列當(dāng)中沒有以星號標(biāo)記的零。然后,把這個系列中的每個以星號標(biāo)記的零的星號去掉,把 這個系列中的每個以撇號標(biāo)記的零加上星號標(biāo)記,抹掉所有的撇號并且把矩陣中的每個行 列的覆蓋去掉。最后,回到步驟317。依照步驟323,假如依照步驟325在包含著有撇號標(biāo) 記的零的行里面有帶星號標(biāo)記的零,那么覆蓋這個行,并且在步驟327,把包含有帶星號標(biāo) 記的零的列的覆蓋去掉。在步驟329,迭代地繼續(xù)這個過程直到?jīng)]有未被覆蓋的零剩下。在 步驟331,保存最小的未被覆蓋的值并且執(zhí)行步驟333。在步驟333中,把找到和存儲的值 加到每個覆蓋的行的每個元素,并且把這個值從每個未覆蓋的列的每個元素上減去。不改 變?nèi)魏蔚男翘枠?biāo)記,撇號標(biāo)記,或者被覆蓋的行列,回到步驟323。在不限制上面所描述之方法的普遍性的情況下,其它的分配分配優(yōu)化算法也可以 被用來優(yōu)化倒裝片驅(qū)動器和倒裝片焊點(diǎn)之間的網(wǎng)絡(luò)分配。這樣的例子包括任何解決了多項(xiàng) 式時間的分配問題的組合的優(yōu)化算法,原始對偶方法,和其它類似的或者等同的方法。進(jìn)一步地依照圖5并且相對于步驟109之后導(dǎo)致的價值矩陣,根據(jù)Kun-Munkres 算法,分配的對是由價值矩陣中的帶星號標(biāo)記的零的位置來指出的。明確地說,假如C(i,j) 是一個帶星號標(biāo)記的零,那么與行i相關(guān)聯(lián)的或者是個倒裝片驅(qū)動器或者是個倒裝片焊點(diǎn) 的元素,就被分配給與列j相關(guān)聯(lián)的或者是個倒裝片驅(qū)動器或者是個倒裝片焊點(diǎn)的元素。在此被教的方法被應(yīng)用來優(yōu)化在一個半導(dǎo)體芯片的倒裝片驅(qū)動器單元(焊墊)和 倒裝片焊點(diǎn)之間的網(wǎng)絡(luò)分配。這個半導(dǎo)體芯片在其芯片接觸面上有金屬突起。圖8舉例說明了本發(fā)明的一個具體實(shí)施方式
。該圖顯示了一個傳統(tǒng)焊墊設(shè)計(jì)501, 其中金屬接觸處507和焊墊驅(qū)動器電路505在同一個單元。在一個分裂焊墊設(shè)計(jì)503中, 焊墊513和焊墊驅(qū)動器509通過金屬511連接起來,其中焊墊513和焊墊驅(qū)動器509或者是和半導(dǎo)體裝置在同一層上,或者是和半導(dǎo)體裝置在不同的層。在焊墊和焊墊驅(qū)動器之間 的網(wǎng)絡(luò)分配可通過使用在前述描述的方法來進(jìn)行優(yōu)化。圖9舉例說明了本發(fā)明的一個具體實(shí)施方式
。這個圖顯示了一個球柵陣列(BGA) 裝置的一部分。它包括裝配在一個基片601上的一個半導(dǎo)體芯片。這個芯片的輸入/輸出 與金屬突起603有接觸處;這個突起經(jīng)由RDL 605和通道607把這個芯片接觸處609與基 片613上的倒裝片驅(qū)動器611連接起來。這個基片613典型地是用由硅造成的互補(bǔ)型金屬 氧化物半導(dǎo)體構(gòu)造而成。然而,舉例來說,諸如鍺,砷化鎵,金剛砂,以及其它的半導(dǎo)體材料 也可以被使用?;M(jìn)一步地有從第一層615延伸到第二層617的貫穿孔洞619。這些 貫穿孔洞被以金屬填充,因此它們是可導(dǎo)電的通道607。和粘付于通道607的金屬填充的 RDL 605粘付在一起的焊接球603(焊點(diǎn))提供了與外面部件的連接。在第一層615上的這 個倒裝片驅(qū)動器611和這個倒裝片焊點(diǎn)603之間的網(wǎng)絡(luò)分配可以用在前述具體實(shí)施方式
中 描述的方法來進(jìn)行優(yōu)化。這個具體實(shí)施方式
并不限制于分配倒裝片驅(qū)動器和倒裝片焊點(diǎn)之 間的網(wǎng)絡(luò)。這個具體實(shí)施方式
可以被用來分配在第一層上的任何半導(dǎo)體驅(qū)動器單元和在同 一層上的任何其它的半導(dǎo)體裝置之間的信號網(wǎng)絡(luò)?;蛘哌@個具體實(shí)施方式
可以被用來分配 在第一層上的任何半導(dǎo)體驅(qū)動器單元和任何RDL和焊點(diǎn)之間的信號網(wǎng)絡(luò)。圖10是一倒裝芯片中焊球與驅(qū)動器的位置示意圖,以下根據(jù)本發(fā)明的一實(shí)施例 將圖10中四個焊球50、51、52、53分配給四個驅(qū)動器60、61、62、63。其中焊球50與驅(qū)動器 60間為線路長度為1的90°線網(wǎng)關(guān)系,焊球51與驅(qū)動器61間為線路長度為1的90°線網(wǎng) 關(guān)系,焊球52與驅(qū)動器62間為線路長度為1的90°線網(wǎng)關(guān)系,焊球53與驅(qū)動器63間為線 路長度為1的90°線網(wǎng)關(guān)系,四個驅(qū)動器60、61、62、63的位置為邊長為1的正方形關(guān)系。首先建立一個4X4的成本矩陣,其中該成本矩陣中的各元素為將一焊球連接 至一驅(qū)動器的線路長度,其表述為該焊球與其相應(yīng)驅(qū)動器間的歐幾里德距離(Euclid distance)與曼哈頓距離(Manhattan distance)的和。以焊球50為例,其至驅(qū)動器60的 歐幾里德距離與曼哈頓距離均為1,故其對應(yīng)元素為2 ;其至驅(qū)動器61的歐幾里德距離為 1. 4,曼哈頓距離為2,故其對應(yīng)元素為3. 4 ;其至驅(qū)動器62的歐幾里德距離為2,曼哈頓距 離為2,故其對應(yīng)元素為4 ;其至驅(qū)動器63的歐幾里德距離為2. 2,曼哈頓距離為3,故其對 應(yīng)元素為5. 2。類似的,分別計(jì)算出該成本矩陣中的其它元素,得圖11中所示的一成本矩 陣。找出該成本矩陣中各行的最小元素且自其所在行的各元素減去該最小元素得圖 12中的結(jié)果矩陣。自該結(jié)果矩陣中找一零值,如第一行第一列的零值,其所在行或列中沒有一第一 標(biāo)識零,則將該零值標(biāo)記為第一標(biāo)識零,如星號零。如此反復(fù),直至所有零值都被找出,此時 結(jié)果矩陣如圖13所示。如圖14所示,以一第二標(biāo)識標(biāo)記包含該第一標(biāo)識零的列,如Δ。經(jīng)檢查該結(jié)果矩 陣中包含該被Δ標(biāo)記的列達(dá)到4列,表明分配結(jié)束。其中第一行第一列的星號零表示將焊 球50分配給分配器60,第二行第二列的星號零表示將焊球51分配給分配器61,第三行第 三列的星號零表示將焊球52分配給分配器62,第四行第四列的星號零表示將焊球53分配 給分配器63。由該分配結(jié)果可以看出,本發(fā)明的分配方法使所有的驅(qū)動器與其相應(yīng)的焊球 間具有最小距離,避免飛線交叉問題。同時,在線網(wǎng)分配時,還給線路較短的0°或90°線11網(wǎng)較線路較長的45°線網(wǎng)更高的優(yōu)先權(quán),使整體的線路都較短。如圖15所示,對應(yīng)本發(fā)明的線網(wǎng)分配方法,本發(fā)明還提供一線網(wǎng)分配裝置2。該線 網(wǎng)分配裝置2包含一成本矩陣構(gòu)建單元20、一結(jié)果矩陣構(gòu)建單元21、一分配單元22,及一分 配結(jié)構(gòu)檢查單元23。圖16- 給出了本發(fā)明的線網(wǎng)分配方法的另一實(shí)施例,其是將三個焊球p、q、r分 別分配給三個驅(qū)動器a、b、C。首先如圖16所示,成本矩陣構(gòu)建單元20根據(jù)該三個焊球p、q、r與三個驅(qū)動器a、 b、c的位置關(guān)系建立一成本矩陣。接著如圖17所示,由該結(jié)果矩陣構(gòu)建單元21找出該成本矩陣的每一行中的最小 元素,且自其所在行的各元素減去該最小元素得一結(jié)果矩陣。分配單元22找出該結(jié)果矩陣中的所有零值并進(jìn)行相應(yīng)處理。先自該結(jié)果矩陣中 找一零值,如ap(代表a行ρ列,下同)位置對應(yīng)的零值。由于該零值所在行或列中沒有一 第一標(biāo)識零,則將該零值標(biāo)記為第一標(biāo)識零,如星號零。對該零值,接著找出其它的零值,由 于該兩零值所在列已有一星號零,故不作任何處理。此時的結(jié)果矩陣如圖18所示。在圖19中分配單元22以一第二標(biāo)識,如劃線,標(biāo)記包含該第一標(biāo)識零的列,并通 知分配結(jié)果檢查單元23檢查是否分配結(jié)束。分配結(jié)果檢查單元23檢查發(fā)現(xiàn)該結(jié)果矩陣中 只有一列被第二標(biāo)識標(biāo)記的列,于是通知分配單元22繼續(xù)進(jìn)行分配。分配單元22在未被第二標(biāo)識標(biāo)記的行或列中沒有發(fā)現(xiàn)一零值,于是找出所有未 被第二標(biāo)識標(biāo)記的行或列中的最小值,即aq位置的1,并從q、r列中各元素減去1,得圖20 所示的結(jié)果矩陣。接著如圖21所示,分配單元22在未被第二標(biāo)識標(biāo)記的行或列中找一零 值,如aq位置的零值,以一第三標(biāo)識,如撇號,將該零值標(biāo)記為撇號零,由于其所在行有星 號零,故以劃線方式標(biāo)記該包含撇號零的行,并去掉包含該星號零的列的劃線。接著檢查發(fā) 現(xiàn)bp位置的零值,標(biāo)為撇號零。由于該撇號零所在行沒有星號零,故進(jìn)入選擇星號零與撇 號零的操作。依構(gòu)建規(guī)則依次選擇星號零與撇號零,其中bp位置的零值為Z0,ap位置的零值 為Zl,aq位置的零值為Z2。去掉ap位置的星號零的星號,將bp、bq位置的撇號零修改為 星號零,并去掉結(jié)果矩陣中a行的劃線,然后返回通知分配結(jié)果檢查單元23檢查是否分配 完成。如圖22所示,分配結(jié)果檢查單元23以劃線標(biāo)記方式進(jìn)行檢查,發(fā)現(xiàn)該結(jié)果矩陣中只 有兩列被劃線的列,于是通知分配單元22繼續(xù)進(jìn)行分配。如圖23所示,由于分配單元22在未劃線的行或列中沒有發(fā)現(xiàn)一零值,于是找出所 有未被第二標(biāo)識標(biāo)記的行或列中的最小值,即ar位置的1,并從r列中各元素減去1。如圖 M所示,找出ar位置的零值,標(biāo)記為撇號零,由于其所在行有星號零,故以劃線方式標(biāo)記該 包含撇號零的行,并去掉包含該星號零的q列的劃線。由于未被劃線的零值都被處理,因而 找出所有未被劃線的行或列中的最小值,即1,將其加至各劃線的行的各元素,然后自未被 劃線的列中的各元素減去1,得圖25中的結(jié)果矩陣。接著由分配單元22檢查在未劃線的行 或列中是否能發(fā)現(xiàn)一零值,并進(jìn)行相應(yīng)處理最終得到圖26中的結(jié)果矩陣。依構(gòu)建規(guī)則依次選擇圖沈中的星號零與撇號零,其中cp位置的零值為Z0,bp位 置的零值為Zl,bq位置的零值為Z2,aq位置的零值為口。去掉ap位置的星號零的星號, 將bp、bq位置的撇號零修改為星號零,并去掉結(jié)果矩陣中a行的劃線,從而得到圖27中的12結(jié)果矩陣。然后分配單元22通知分配結(jié)果檢查單元23檢查是否分配完成。如圖觀所示,分 配結(jié)果檢查單元23以劃線標(biāo)記方式進(jìn)行檢查,發(fā)現(xiàn)該結(jié)果矩陣中有三列被劃線的列,表明 分配成功結(jié)束。其中所有星號零所在的位置描述各驅(qū)動器與相應(yīng)焊球間的唯一分配關(guān)系, 即焊球r分配給驅(qū)動器a,焊球q分配給驅(qū)動器b,焊球ρ分配給驅(qū)動器C。本發(fā)明的線網(wǎng)分配方法與裝置,通過尋找第一標(biāo)識零得到相應(yīng)的兩個器件間的唯 一分配關(guān)系。在用于芯片設(shè)計(jì)中將焊球分配至相應(yīng)驅(qū)動器時,使分配的焊球與驅(qū)動器對間 具有最小距離,避免飛線交叉問題;進(jìn)而提高后續(xù)單層布線的布通率。同時,在線網(wǎng)分配時, 還會給線路較短的0°或90°線網(wǎng)較線路較長的45°線網(wǎng)更高的優(yōu)先權(quán),使整體的線路都 較短;具有全局優(yōu)化的優(yōu)點(diǎn)。本發(fā)明的技術(shù)內(nèi)容及技術(shù)特點(diǎn)已揭示如上,然而熟悉本領(lǐng)域的技術(shù)人員仍可能基 于本發(fā)明的教示及揭示而作種種不背離本發(fā)明精神的替換及修飾。因此,本發(fā)明的保護(hù)范 圍應(yīng)不限于實(shí)施例所揭示的內(nèi)容,而應(yīng)包括各種不背離本發(fā)明的替換及修飾,并為本專利 申請權(quán)利要求所涵蓋。
權(quán)利要求
1.一種線網(wǎng)分配方法,將m個焊球分配給η個驅(qū)動器,且包含如下步驟建立一成本矩陣,該成本矩陣中的各元素為將該m個焊球中每一個分別連接至該η個 驅(qū)動器的線路長度;找出該成本矩陣中每一行的最小元素,由其所在行的各元素中減去該最小元素得一結(jié) 果矩陣;找出該結(jié)果矩陣中每一個零值,如該零值所在行包含一第一標(biāo)識零則對該零值不作處 理,否則將該零值標(biāo)識為第一標(biāo)識零;檢查該結(jié)果矩陣中包含該第一標(biāo)識零的列是否達(dá)到η列,如達(dá)到則分配結(jié)束;否則對 該結(jié)果矩陣?yán)^續(xù)進(jìn)行處理,直到其包含該第一標(biāo)識零的列達(dá)到η列。
2.根據(jù)權(quán)利要求1所述的線網(wǎng)分配方法,其中該線路長度是一焊球與一驅(qū)動器間的歐 幾里德距離與曼哈頓距離的和。
3.根據(jù)權(quán)利要求1所述的線網(wǎng)分配方法,其中該對該結(jié)果矩陣?yán)^續(xù)進(jìn)行處理,直到其 包含該第一標(biāo)識零的列達(dá)到η列的步驟進(jìn)一步包含步驟a 以一第二標(biāo)識標(biāo)記包含該第一標(biāo)識零的列;步驟b 檢查未被第二標(biāo)識標(biāo)記的行或列中是否有一零值如有,在步驟c以一第三標(biāo) 識將該零值標(biāo)記為第三標(biāo)識零;如無,則在步驟d找出所有未被該第二標(biāo)識標(biāo)記的行或列 中的最小值,并將其從各未被第二標(biāo)識標(biāo)記的列中的各元素減去,然后返回步驟b。
4.根據(jù)權(quán)利要求3所述的線網(wǎng)分配方法,其在該步驟c之后進(jìn)一步包含檢查該第三標(biāo)識零所在的行有沒有包含第一標(biāo)識零,如沒有則在步驟e依一構(gòu)建規(guī)則 選擇出第一標(biāo)識零與第三標(biāo)識零;否則在步驟f以該第二標(biāo)識標(biāo)記該包含第三標(biāo)識零的 行,并去掉包含該第一標(biāo)識零的列的第二標(biāo)識。
5.根據(jù)權(quán)利要求4所述的線網(wǎng)分配方法,其在步驟f之后進(jìn)一步包含步驟h,檢查未被 第二標(biāo)識標(biāo)記的行或列中是否還有一零值,如有則繼續(xù)步驟c,否則執(zhí)行步驟g找出未被第 二標(biāo)識標(biāo)記的行或列中的最小值,將其加至被第二標(biāo)識標(biāo)記的各行的各元素,然后將其自 未被第二標(biāo)識標(biāo)記的各列的各元素中減去,并返回步驟b。
6.根據(jù)權(quán)利要求4所述的線網(wǎng)分配方法,其中該構(gòu)建規(guī)則是ZO代表步驟c中發(fā)現(xiàn)的所在行中沒有第一標(biāo)識零的第三標(biāo)識零,Zl代表ZO所在列中 的第一標(biāo)識零,Z2表示Zl所在行中的第三標(biāo)識零;繼續(xù)該構(gòu)建規(guī)則直到一第三標(biāo)識零所在 列沒有第一標(biāo)識零時終止。
7.根據(jù)權(quán)利要求6所述的線網(wǎng)分配方法,其中在步驟e之后去掉依該構(gòu)建規(guī)則選擇出 的第一標(biāo)識零的第一標(biāo)識,將各第三標(biāo)識零修改為第一標(biāo)識零,并去掉該結(jié)果矩陣中所有 由第二標(biāo)識標(biāo)記的各行或列;然后返回該檢查該結(jié)果矩陣中包含該第一標(biāo)識零的列是否達(dá) 到η列的步驟。
8.根據(jù)權(quán)利要求1所述的線網(wǎng)分配方法,其中分配結(jié)束時該第一標(biāo)記零所在的位置描 述該η個驅(qū)動器與m個焊球間的唯一分配關(guān)系。
9.根據(jù)權(quán)利要求1-8之一所述的線網(wǎng)分配方法,其中η< m。
10.一種線網(wǎng)分配方法,包含(a)為了從至少兩個起點(diǎn)中的每一個到至少兩個終點(diǎn)中的每一個的路徑分配成本而生 成一個路徑分配成本數(shù)據(jù)集;(b)生成許多列等于這些至少兩個起點(diǎn)和許多行等于這些至少兩個終點(diǎn)的一個價值矩陣;(C)分配該路徑分配成本數(shù)據(jù)集到該價值矩陣的每個元素,以使得從一個起點(diǎn)到一個 終點(diǎn)的該路徑分配成本被分配到由被該起點(diǎn)識別的一列和被該終點(diǎn)識別的一行所定義的 一個元素;以及(d)通過對該價值矩陣執(zhí)行一個連接路徑分配優(yōu)化算法來決定一個最低成本連接路徑。
11.根據(jù)權(quán)利要求10所述的線網(wǎng)分配方法,其中這些至少兩個起點(diǎn)和這些至少兩個終 點(diǎn)是VLSI設(shè)計(jì)中的信號網(wǎng)絡(luò)。
12.根據(jù)權(quán)利要求11所述的線網(wǎng)分配方法,其中該路徑分配成本數(shù)據(jù)集通過把從這些 至少兩個起點(diǎn)中的每一個到這些至少兩個終點(diǎn)中的每一個的一個歐幾里德距離加上從這 些至少兩個起點(diǎn)中的每一個到這些至少兩個終點(diǎn)中的每一個的一個曼哈頓距離來生成。
13.根據(jù)權(quán)利要求12所述的線網(wǎng)分配方法,其中旋轉(zhuǎn)該價值矩陣以使得有至少和行一 樣多的列。
14.根據(jù)權(quán)利要求13所述的線網(wǎng)分配方法,其中該連接路徑分配優(yōu)化算法是一個 Kun-Munkres 算法。
15.根據(jù)權(quán)利要求14所述的線網(wǎng)分配方法,其中這些至少兩個起點(diǎn)中的每一個是一個 焊墊單元并且這些至少兩個終點(diǎn)中的每一個是一個焊墊驅(qū)動器單元。
16.一個電子裝置包含(a)在芯片接觸處上有金屬突起的一個半導(dǎo)體芯片;(b)具有被周邊區(qū)域圍繞的一個中心區(qū)域的一個絕緣的基片,該基片有一個第一表面 和一個第二表面并且一個形成圖案的金屬層從該第一表面延伸至該第二表面并且填充該 中心區(qū)域;(c)具有一個第一表面和一個第二表面的一個裝置基片,該裝置基片另包含從該裝置 基片的該第一表面延伸到該第二表面的有傳導(dǎo)性的通道,這些有傳導(dǎo)性的通道從在該裝置 基片的該第一表面上的至少兩個起始接觸點(diǎn)連接到在該裝置基片的該第二表面上的至少 兩個終止接觸點(diǎn),其中從在該裝置基片的該第一表面上的這些至少兩個起始接觸點(diǎn)到在該 裝置基片的該第二表面上的這些至少兩個終止接觸點(diǎn)的一個連接路徑由這些步驟決定,這 些步驟包含(i)為了從這些至少兩個起始接觸點(diǎn)中的每一個到這些至少兩個終止接觸點(diǎn)中的每一 個的路徑分配成本而生成一個路徑分配成本數(shù)據(jù)集;( )生成許多列等于這些至少兩個起始接觸點(diǎn)和許多行等于這些至少兩個終止接觸 點(diǎn)的一個價值矩陣;(iii)分配該路徑分配成本數(shù)據(jù)集到該價值矩陣的每個元素,以使得從一個起始接觸 點(diǎn)到一個終止接觸點(diǎn)的該路徑分配成本被分配到由該起始接觸點(diǎn)的一列和該終止接觸點(diǎn) 的一行所定義的一個元素;以及(iv)通過使用一個連接路徑分配優(yōu)化算法來決定一個最低成本連接路徑;以及(d)通過把在芯片接觸處上的這些金屬突起連接到在該絕緣的基片的該第一表面上的 這個形成圖案的金屬層和把在該絕緣的基片的該第二表面上的這個形成圖案的金屬層連接到從該裝置基片的該第一表面延伸到該裝置基片的該第二表面的這些有傳導(dǎo)性的通道, 在芯片接觸處上的這些金屬突起被連接到在該裝置基片的該第二表面上的這些至少兩個 起始接觸點(diǎn),其中這些有傳導(dǎo)性的通道把在該裝置基片的該第一表面上的這些至少兩個起 始接觸點(diǎn)連接到在該裝置基片的該第二表面上的這些至少兩個終止接觸點(diǎn)。
17.根據(jù)權(quán)利要求16所述的電子裝置,其中從在該裝置基片的該第一表面上的這些至 少兩個起始接觸點(diǎn)到在該裝置基片的該第二表面上的這些至少兩個終止接觸點(diǎn)的該連接 路徑由這些步驟決定,這些步驟另包含通過把從這些至少兩個起始接觸點(diǎn)中的每一個到這 些至少兩個終止接觸點(diǎn)中的每一個的一個歐幾里德距離加上從這些至少兩個起始接觸點(diǎn) 中的每一個到這些至少兩個終止接觸點(diǎn)中的每一個的一個曼哈頓距離來生成該路徑分配 成本數(shù)據(jù)集。
18.根據(jù)權(quán)利要求17所述的電子裝置,其中從在該裝置基片的該第一表面上的這些至 少兩個起始接觸點(diǎn)到在該裝置基片的該第二表面上的這些至少兩個終止接觸點(diǎn)的該連接 路徑由這些步驟決定,這些步驟另包含旋轉(zhuǎn)該價值矩陣以使得有至少和行一樣多的列。
19.根據(jù)權(quán)利要求18所述的電子裝置,其中從在該裝置基片的該第一表面上的這些至 少兩個起始接觸點(diǎn)到在該裝置基片的該第二表面上的這些至少兩個終止接觸點(diǎn)的該連接 路徑由這些步驟決定,這些步驟另包含決定該最低成本連接路徑,其中該連接路徑分配優(yōu) 化算法是Kun-Munkres算法。
20.根據(jù)權(quán)利要求19所述的電子裝置,其中這些至少兩個起始接觸點(diǎn)中的每一個是一 個焊墊并且這些至少兩個終止接觸點(diǎn)中的每一個是一個焊墊驅(qū)動器。
21.一種線網(wǎng)分配裝置,將m個焊球分配給η個驅(qū)動器,其包含一成本矩陣構(gòu)建單元,建立一成本矩陣,該成本矩陣中的各元素為將該m個焊球中每 一個分別連接至該η個驅(qū)動器的線路長度;一結(jié)果矩陣構(gòu)建單元,找出該成本矩陣中每一行的最小元素,由其所在行的各元素中 減去該最小元素得一結(jié)果矩陣;一分配單元,找出該結(jié)果矩陣中每一個零值,如該零值所在行包含一第一標(biāo)識零則對 該零值不作處理,否則將該零值標(biāo)識為第一標(biāo)識零;一分配結(jié)果檢查單元,檢查該結(jié)果矩陣中包含該第一標(biāo)識零的列是否達(dá)到η列,如達(dá) 到則分配結(jié)束;否則通知該分配單元對該結(jié)果矩陣?yán)^續(xù)進(jìn)行處理,直到其包含該第一標(biāo)識 零的列達(dá)到η列。
22.根據(jù)權(quán)利要求21所述的線網(wǎng)分配裝置,其中該線路長度是一焊球與一驅(qū)動器間的 歐幾里德距離與曼哈頓距離的和。
23.根據(jù)權(quán)利要求21所述的線網(wǎng)分配裝置,其中該分配單元對該結(jié)果矩陣?yán)^續(xù)進(jìn)行處 理,直到其包含該第一標(biāo)識零的列達(dá)到η列時需執(zhí)行以一第二標(biāo)識標(biāo)記包含該第一標(biāo)識零的列;檢查未被第二標(biāo)識標(biāo)記的行或列中是否有一零值如有,以一第三標(biāo)識將該零值標(biāo)記 為第三標(biāo)識零;如無,則找出所有未被該第二標(biāo)識標(biāo)記的行或列中的最小值,并將其從各未 被第二標(biāo)識標(biāo)記的列中的各元素減去,然后返回檢查未被第二標(biāo)識標(biāo)記的行或列中是否有一零值。
24.根據(jù)權(quán)利要求23所述的線網(wǎng)分配裝置,其在以一第三標(biāo)識將該零值標(biāo)記為第三標(biāo)識零之后進(jìn)一步包含檢查該第三標(biāo)識零所在的行有沒有包含第一標(biāo)識零,如沒有則依一構(gòu)建規(guī)則選擇出第 一標(biāo)識零與第三標(biāo)識零;否則以該第二標(biāo)識標(biāo)記該包含第三標(biāo)識零的行,并去掉包含該第 一標(biāo)識零的列的第二標(biāo)識。
25.根據(jù)權(quán)利要求M所述的線網(wǎng)分配裝置,其在以該第二標(biāo)識標(biāo)記該包含第三標(biāo)識零 的行,并去掉包含該第一標(biāo)識零的列的第二標(biāo)識之后進(jìn)一步檢查未被第二標(biāo)識標(biāo)記的行或 列中是否還有一零值,如有則繼續(xù)以一第三標(biāo)識將該零值標(biāo)記為第三標(biāo)識零,否則找出未 被第二標(biāo)識標(biāo)記的行或列中的最小值,將其加至被第二標(biāo)識標(biāo)記的各行的各元素,然后將 其自未被第二標(biāo)識標(biāo)記的各列的各元素中減去,并返回檢查未被第二標(biāo)識標(biāo)記的行或列中 是否有一零值。
26.根據(jù)權(quán)利要求M所述的線網(wǎng)分配裝置,其中該構(gòu)建規(guī)則是ZO代表步驟c中發(fā)現(xiàn)的所在行中沒有第一標(biāo)識零的第三標(biāo)識零,Zl代表ZO所在列中 的第一標(biāo)識零,Z2表示Zl所在行中的第三標(biāo)識零;繼續(xù)該構(gòu)建規(guī)則直到一第三標(biāo)識零所在 列沒有第一標(biāo)識零時終止。
27.根據(jù)權(quán)利要求沈所述的線網(wǎng)分配裝置,其中在依一構(gòu)建規(guī)則選擇出第一標(biāo)識零與 第三標(biāo)識零之后去掉依該構(gòu)建規(guī)則選擇出的第一標(biāo)識零的第一標(biāo)識,將各第三標(biāo)識零修改 為第一標(biāo)識零,并去掉該結(jié)果矩陣中所有由第二標(biāo)識標(biāo)記的各行或列;然后通知該分配結(jié) 果檢查單元檢查該結(jié)果矩陣中包含該第一標(biāo)識零的列是否達(dá)到η列。
28.根據(jù)權(quán)利要求21所述的線網(wǎng)分配裝置,其中分配結(jié)束時該第一標(biāo)記零所在的位置 描述該η個驅(qū)動器與m個焊球間的唯一分配關(guān)系。
29.根據(jù)權(quán)利要求21- 之一所述的線網(wǎng)分配裝置,其中η< m。
全文摘要
本發(fā)明涉及一種芯片設(shè)計(jì)中的線網(wǎng)分配方法與裝置。該方法用于在集成電路中的信號網(wǎng)絡(luò)之間減少或消除飛線交叉,以使得在VLSI設(shè)計(jì)中的網(wǎng)絡(luò)分配被優(yōu)化。本發(fā)明方法首先為了從至少兩個起點(diǎn)中的每一個到至少兩個終點(diǎn)中的每一個的路徑分配成本而生成一個路徑分配成本數(shù)據(jù)集;第二,生成許多列等于這些至少兩個起點(diǎn)和許多行等于這些至少兩個終點(diǎn)的一個價值矩陣;下一步,分配該路徑分配成本數(shù)據(jù)集到該價值矩陣的每個元素,以使得從一個起點(diǎn)到一個終點(diǎn)的該路徑分配成本被分配到由該起點(diǎn)的一列和該終點(diǎn)的一行所定義的一個元素;最后,通過對該價值矩陣執(zhí)行一個連接路徑分配優(yōu)化算法來決定一個最低成本連接路徑。
文檔編號G06F17/50GK102054068SQ20091020963
公開日2011年5月11日 申請日期2009年10月30日 優(yōu)先權(quán)日2009年10月30日
發(fā)明者張一帆 申請人:新思科技(上海)有限公司