两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

用于在管芯尺寸優(yōu)化期間縮放i/o單元布置的方法和設備的制作方法

文檔序號:6582830閱讀:258來源:國知局
專利名稱:用于在管芯尺寸優(yōu)化期間縮放i/o單元布置的方法和設備的制作方法
技術領域
本公開內(nèi)容主要地涉及用于設計和制造集成電路(ic)的技術。具體而言,本發(fā)明 涉及一種用于在管芯尺寸改變時修改IC管芯中的輸入/輸出(下文稱為"I/0")單元布置
的方法和設備。
背景技術
半導體集成電路(IC)技術的顯著改進目前使得有可能將數(shù)以億計的晶體管集成 到單個半導體ic芯片上。已經(jīng)主要通過近來已經(jīng)實現(xiàn)超深亞微米特征尺寸的半導體制造
技術中的對應改進來實現(xiàn)集成密度的這些改進。在相反的方面上,朝著不斷減少特征尺寸
方向的持續(xù)努力導致了 ic制造成本的顯著增加。 —種用以減輕越來越多的IC制作成本的方式是使用最小可行管芯尺寸來實現(xiàn)設
計規(guī)格。例如, 一些芯片布局工具可以自動分析ic設計約束并且標識用于流片的最小可布
線管芯尺寸。取而代之,設計者可以人工探索最小可行管芯尺寸。 在探索IC設計的最小可行管芯尺寸的同時,設計者需要用以在維待I/0單元的原 邊、相對順序和對準的情況下將所有原有IA)焊盤(pad)和其它1/0單元重新配合到不同
的收縮或者擴展管芯邊界中的工具。常規(guī)上,通過在某些設計約束之下根據(jù)原有1/o布置
進行新的基于逐個單元的布置過程來實現(xiàn)這一點。然而,這一"重新布置"技術具有諸多限
制,比如原有設計約束并不適合于改變的管芯尺寸、不能操縱I/O區(qū)域內(nèi)的宏單元、不能操 縱多個I/O環(huán)以及不能操縱直線形I/O單元。 因此,需要的是一種在管芯尺寸優(yōu)化期間無上述問題的I/O單元重新布置技術。

發(fā)明內(nèi)容
本發(fā)明的一些實施例提供一種在管芯尺寸優(yōu)化期間縮放I/O單元布置的系統(tǒng)。在 操作期間,該系統(tǒng)通過接收用于管芯的初始管芯尺寸和用于一組I/O單元的初始I/O單元 布置來啟動。該系統(tǒng)也接收用于管芯的目標管芯尺寸。該系統(tǒng)然后確定在初始管芯尺寸與 目標管芯尺寸之間的管芯尺寸改變。接著,該系統(tǒng)標識在初始1/0單元布置中的一組I/O 單元之間的可用空間。該系統(tǒng)隨后基于標識的可用空間和管芯尺寸改變來縮放初始1/0單 元布置以獲得配合目標管芯尺寸的新1/0單元布置。 在一種變化中,該系統(tǒng)通過確定管芯的寬度改變和高度改變來確定在初始管芯尺 寸與目標管芯尺寸之間的管芯尺寸改變。 在一種變化中,該系統(tǒng)通過獨立標識用于管芯的各邊的一行I/O單元中的可用空 間來標識一組I/O單元之間的可用空間。 在一種變化中,該系統(tǒng)通過以下操作來標識一行I/O單元中的可用空間(1)標識 一行I/O單元中的各對相鄰I/O單元之間的可用空間;(2)通過將一行I/O單元中的可用 空間求和來計算管芯的該邊上的總可用空間。 在一種變化中,該系統(tǒng)通過從成對相鄰1/0單元之間的距離減去最小空間要求來
5標識各對相鄰I/O單元之間的可用空間。 在一種變化中,該系統(tǒng)通過獨立縮放管芯的各邊上的I/O單元布置來縮放初始1/
o單元布置。 在一種變化中,該系統(tǒng)通過先基于在沿著管芯的一邊的方向上的管芯尺寸改變的
符號確定縮放模式(收縮/擴展)來縮放管芯的該邊上的初始i/o單元布置。該系統(tǒng)然后
將一行1/0單元中的成對相鄰1/0單元之間的各空間縮放與對應可用空間成比例的量。另 外,用于一行1/0單元的縮放的總的量基本上等于管芯尺寸改變。 在一種變化中,該系統(tǒng)通過先基于在沿著管芯的一邊的方向上的管芯尺寸改變的
符號確定縮放模式(收縮/擴展)來縮放管芯的該邊上的初始i/o單元布置。該系統(tǒng)然后 將一行1/0單元中的成對相鄰1/0單元之間的各空間縮放相等的量。另外,用于一行I/O 單元的縮放的總的量基本上等于管芯尺寸改變。 在一種變化中,該系統(tǒng)通過先基于在沿著管芯的一邊的方向上的管芯尺寸改變的
符號確定縮放模式(收縮/擴展)來縮放管芯的該邊上的初始i/o單元布置。如果管芯尺
寸改變?yōu)樨摬⑶揖哂斜裙苄镜脑撨吷系目偪捎每臻g更大的值,則系統(tǒng)然后通過將所有可用
空間減少至零來縮放在一行I/O單元中的成對相鄰I/O單元之間的空間。 在一種變化中,如果初始1/0單元布置是多環(huán)1/0單元布置,則系統(tǒng)可以獨立縮放
多環(huán)1/0單元布置的各環(huán),這忽略多個1/0單元環(huán)之間的對準。取而代之,該系統(tǒng)可以協(xié)同
縮放多環(huán)I/O單元布置中的多個I/O單元環(huán)以維持多個I/O單元環(huán)之間的對準。 在對這一實施例的一種變化中,一組1/0單元可以包括1/0焊盤;包括多個I/O
管腳的1/0單元;宏單元;布置阻斷;以及填充物單元。


圖1圖示了在設計和制作集成電路時的各種步驟。
圖2A圖示了具有給定管芯尺寸和雙環(huán)I/O單元布置的IC芯片。
圖2B圖示了包括雙環(huán)I/O單元結構和宏單元的I/O單元布置。
圖3圖示了根據(jù)本發(fā)明一個實施例的與一行1/0單元關聯(lián)的示例距離和可用空 間。 圖4A圖示了根據(jù)本發(fā)明-元布置標識共用空間的過程。
圖4B圖示了根據(jù)本發(fā)明-元布置標識共用空間的過程。
圖5呈現(xiàn)了對根據(jù)本發(fā)明 行調(diào)節(jié)的過程進行圖示的流程圖。
圖6圖示了根據(jù)本發(fā)明一個實施例的在管芯的拐角中由于縮放管芯的兩個鄰邊 所致的潛在沖突狀況。 圖7呈現(xiàn)了對根據(jù)本發(fā)明一個實施例的在使用縮放技術以改變I/0單元布置以為
管芯尺寸改變而進行調(diào)節(jié)的同時進行管芯尺寸探索的過程進行圖示的流程圖。 圖8圖示了根據(jù)本發(fā)明一個實施例的在管芯尺寸優(yōu)化期間縮放1/0單元布置的設備。
一個實施例的用于為包括兩邊對準I/O環(huán)的示例I/O單 一個實施例的用于為包括兩個交錯1/0環(huán)的示例I/O單
一個實施例的縮放i/o單元布置以為管芯尺寸改變而進
具體實施例方式
呈現(xiàn)以下描述以使本領域技術人員能夠?qū)崿F(xiàn)和利用本發(fā)明,并且在特定應用及其
要求的背景下提供該描述。本領域技術人員將容易清楚對公開的實施例的各種修改,并且
這里限定的一般原理可以適用于其它實施例和應用而不脫離本發(fā)明的精神實質(zhì)和范圍。因
此,本發(fā)明不限于所示實施例而是將被賦予以與權利要求一致的最廣范圍。 在本具體實施方式
中描述的數(shù)據(jù)結構和代碼通常存儲于計算機可讀存儲介質(zhì)上,
該介質(zhì)可以是能夠存儲用于由計算機系統(tǒng)使用的代碼和/或數(shù)據(jù)的任何設備或者介質(zhì)。這
包括但不限于易失性存儲器、非易失性存儲器、磁和光存儲設備(比如盤驅(qū)動、磁帶、CD(壓
縮盤)、DVD(數(shù)字通用盤或者數(shù)字視頻盤)或者現(xiàn)在已知或者以后開發(fā)的能夠存儲計算機
可讀介質(zhì)的其它介質(zhì)。 誠電路i殳i備罕 圖1圖示了在設計和制作集成電路時的各種步驟。該過程從使用電子設計自動化 (EDA)軟件設計處理(階段110)來實現(xiàn)的產(chǎn)品構想(階段100)的生成開始。當設計定稿 時可以流片(t即-out)(階段140)它。在流片之后,完成制作處理(階段150)并且進行封 裝和組裝處理(階段160),這些處理最終產(chǎn)生成品芯片(階段170)。 EDA軟件設計處理(階段110)又包括下文描述的階段112-130。注意本設計流程 描述僅用于示例目的。本描述并不意味著限制本發(fā)明。例如,實際集成電路設計可能要求 設計者以與這里描述的序列不同的序列進行設計階段。以下討論提供設計處理中的進一步 細節(jié)。 系統(tǒng)設計(階段112):設計者描述將要實施的功能。他們也可以進行如 果-怎么樣(what-if)的規(guī)劃以精化功能并且檢驗成本。硬件-軟件架構劃分可以出 現(xiàn)在這一階段??梢栽谶@一階段使用的來自SYNOPSYS公司的示例EDA軟件產(chǎn)品包括
model ARCHITECT 、 SABER 、 system STUDIO⑧和DESIGNWARE⑧產(chǎn)
PI
PR o 邏輯設計和功能驗證(階段114):在這一階段,編寫用于系統(tǒng)中的模塊的VHDL或 者Verilog代碼,并且檢驗該設計的功能準確性。具體而言,檢驗該設計以保證它產(chǎn)生正確 輸出??梢栽谶@一階段使用的來自SYNOPSYS公司的示例EDA軟件產(chǎn)品包括VCS⑧、
VERA 、 DESIGNWARE 、 MAGELLAN , FORMALITY 、 ESP
和LEDA⑧產(chǎn)品。 合成和測試設計(階段116):這里,將VHDL/Verilog轉(zhuǎn)譯成網(wǎng)表??梢葬?對目標技術優(yōu)化網(wǎng)表。此外,可以設計和實施測試以檢驗成品芯片。可以在這一階 段使用的來自SYN0PSYS公司的示例EDA軟件產(chǎn)品包括DESIGN COMPILER 、
physical COMPILER 、 test COMPILER 、 power COMPILER 、 fpga COMPILER 、 TETRAMAX⑧和DESIGNWARE⑧產(chǎn)品。 網(wǎng)表驗證(階段118):在這一階段,檢驗網(wǎng)表與時序約束的相符性和與VHDL/ Verilog源碼的對應性??梢栽谶@一階段使用的來自SYN0PSYS公司的示例EDA軟件產(chǎn)品包
括FORMALITY⑧、PRIMETIME⑧和VCS⑧產(chǎn)品。
設計規(guī)劃(階段120):這里,構造和分析用于芯片的整個布局以便進行定時和頂
7層布線??梢栽谶@一階段使用的來自syn0psys公司的示例eda軟件產(chǎn)品包括ASTRO⑧
和icCOMPILER⑧產(chǎn)品。 物理實施(階段122):在這一階段出現(xiàn)布置(對電路元件的定位)和布線(對 電路元件的連接)??梢栽谶@一階段使用的來自syn0psys公司的示例eda軟件產(chǎn)品包括
ASTRO⑧和icCOMPILER⑧產(chǎn)品。 分析和提取(階段124):在這一階段,在晶體管級驗證電路功能;這又允許如 果-怎么樣的精化??梢栽谶@一階段使用的來自synopsys公司的示例eda軟件產(chǎn)品包括
ASTRORAIL 、PWMERAIL⑧、PRIMETIME⑧和STAR RC/XT⑧產(chǎn)品。 物理驗證(階段126):在這一階段,檢驗設計以保證制造、電問題、光刻問題和 電路的正確性??梢栽谶@一階段使用的來自synopsys公司的示例eda軟件產(chǎn)品包括
HERCULES⑧產(chǎn)品。 分辨率增強和光刻規(guī)則檢驗(lrc)(階段128):這一階段涉及到對版圖的幾何形 狀操控以提高設計的可制造性并且涉及到光刻可印刷性檢驗??梢栽谶@一階段使用的來自
synopsys公司的示例eda軟件產(chǎn)品包括PROTEUS⑧、PROTEUS⑧AF和SiVL⑧.
A 口 廣PR o 掩模數(shù)據(jù)預備(階段130):這一階段提供用于產(chǎn)生掩模以產(chǎn)生成品芯片的流片數(shù) 據(jù)??梢栽谶@一階段使用的來自syn0psys公司的示例eda軟件產(chǎn)品包括CATS⑧系列產(chǎn)
PR o 可以在一個或者多個上述步驟期間利用本發(fā)明的實施例。具體而言,可以在設計 規(guī)劃步驟120和物理實施步驟122期間利用本發(fā)明的一個實施例。
fi^ 為了減少ic制作成本,ic設計者在ic設計的芯片布局階段以及布置和布線階段 期間在設計約束之下例行探索最小可行管芯尺寸。下文也將這一最小管芯尺寸探索過程稱 為管芯尺寸優(yōu)化過程。在管芯尺寸優(yōu)化過程開始時,各ic設計具有將要變化的初始管芯尺 寸(即高度x寬度)以及需要在優(yōu)化期間維持的整體結構的1/0單元布置。這一整體結 構可以包括多個i/0單元布置性質(zhì),這些性質(zhì)可以包括但不限于所有i/0單元的原邊(在 管芯中)、1/0單元的相對順序、在1/0單元之間的對準以及1/0單元的多環(huán)結構。在管芯
尺寸優(yōu)化期間,管芯尺寸優(yōu)化工具修改i/o單元布置以配合新管芯尺寸而又維持i/o單元
布置的整體結構。 本發(fā)明的一個實施例提供一種用于在管芯尺寸改變時確定新i/0單元布置的枝 術。具體而言,本技術基于管芯尺寸改變的量、在原1/0單元之間的可用空間以及具體縮放 函數(shù),來進行對原1/0單元之間空間的一維(1d)縮放而不是一次一個單元地重新布置i/o 單元。在本發(fā)明的一個實施例中,將1/0單元布置分割成一次一邊(例如一行i/0單元) 單獨進行縮放的四邊。在1/0單元縮放之后,獲得新1/0單元布置,該新布置以與原1/0單 元布置配合原管芯尺寸相同的方式配合新管芯尺寸。因而,這一i/0單元縮放技術(下文 稱為"縮放技術")可以自動維持原1/0單元的邊和相對順序以及用于多1/0環(huán)設計的i/o 環(huán)結構。另外,本技術有助于操縱對于常規(guī)1/0單元布置技術而言有難度的宏單元和其它 復雜成形的i/o單元。在一些實施例中,縮放技術也遵守最小i/o單元間隔要求和其它1/ 0單元布置約束。
1/0單元布置 圖2A圖示了具有給定管芯尺寸和雙環(huán)I/O單元布置的IC芯片200。 如圖2A中所示,IC芯片200的管芯尺寸由X維度上的寬度W和Y維度上的高度H
限定。沿著IC芯片200的芯片邊界204配合I/O單元布置202。具體而言,I/O單元布置
202在IC芯片200的所有四邊上包括兩行I/O單元,由此形成雙環(huán)結構。 注意各1/0單元由定界框(即單元邊界)和在IC芯片200內(nèi)的具體位置限定,例
如矩形單元206和208。然而,定界框的形狀不限于矩形而是可以具有更復雜的幾何形狀。
結合圖2B更具體地討論這樣的I/O單元。注意I/O單元如單元206被廣義地限定并且不
限于I/0焊盤或者與I/0有關的對象。在本發(fā)明的一些實施例中,1/0單元布置中的I/0
單元可以包括但不限于用于跨越芯片邊界耦合信號的1/0焊盤;包含多個I/O管腳的1/
O單元;通常具有更大尺寸、復雜幾何形狀并且常常與復雜功能關聯(lián)的宏單元;在芯片邊界內(nèi)限定禁止區(qū)域的布置阻斷;以及填充物單元。另外,盡管圖2A將所有1/0單元圖示為相互分離,但是在其它實施例中, 一些I/O單元可以與鄰近單元部分地重疊。
注意盡管圖2A中的1/0單元布置202包括兩個環(huán),但是在其它實施例中,I/O單元布置可以包括更少或者更多數(shù)目的1/0單元環(huán)。在一些實施例中,管芯的各邊具有與相同管芯的另一邊不同的一行或者多行I/0單元。也注意盡管圖2A圖示了 1/0單元數(shù)目相同的兩行I/0單元,但是其它多環(huán)布量可以在各環(huán)中具有不同數(shù)目的1/0單元。因此,I/O單元布置202僅用于示例目的,而本技術可以應用于具有任意配置的I/O單元布置的芯片版圖。 圖2B圖示了包括雙環(huán)I/O單元結構和宏單元212的I/O單元布置210。如圖2B中所示,宏單元212具有比其它1/0單元明顯更大的六邊形定界框并且占據(jù)跨越兩個I/O環(huán)的區(qū)域。 縮放I/O單元布置 本發(fā)明的實施例使用縮放技術以改變現(xiàn)有I/O單元布置中的對象之間的空間,從而新I/O單元布置以與原I/O單元布置配合原管芯尺寸相同的方式配合新管芯尺寸。
在一個實施例中,這一縮放操作一次縮放I/0區(qū)域的一邊。對于各邊,縮放操作是在一個維度上造成改變的1D操作。在一個實施例中,這樣的縮放改變在與管芯的被縮放的邊平行的維度上出現(xiàn)。參照圖2A,注意對于沿著IC芯片200的左邊或者右邊(即Y維度)布置的I/O單元,根據(jù)管芯尺寸的高度H的改變在Y維度上發(fā)生縮放,而關聯(lián)I/O單元的X坐標根據(jù)新管芯尺寸的X坐標的改變簡單地移位相同的量。另一方面,對于沿著IC芯片200的底邊或者頂邊布置的I/O單元,根據(jù)管芯尺寸的寬度W的改變在X維度上發(fā)生縮放,而關聯(lián)I/O單元的Y坐標根據(jù)新管芯尺寸的Y坐標的改變簡單地移位相同的量。雖然縮放操作改變I/O單元之間的空間,但是在一些實施例中,I/O單元的尺寸和形狀是固定的。
另外,縮放操作考慮一組I/0單元布置約束。這樣的約束可以包括但不限于在相鄰1/0單元之間的最小間隔約束、在1/0單元之間的相對位置約束、在1/0單元與芯片邊界之間的相對位置約束以及要求單元邊界或者管腳在希望的網(wǎng)格上這一約束。
在本發(fā)明的一個實施例中,在I/O單元布置的各邊上的縮放涉及到收縮或者擴展位于這一邊上的1/0單元之間的空間。將兩個相鄰單元之間的距離定義為兩個相鄰1/0單元邊界之間的距離。還將可用空間定義為兩個相鄰1/0單元之間可用于在縮放操作期間改變的空間。 圖3圖示了根據(jù)本發(fā)明一個實施例的與一行1/0單元關聯(lián)的示例距離和可用空 間。具體而言,I/O單元布置的一邊包括四個相鄰I/O單元302、304、306和308。這一 I/O 單元布置受制于該布置的各邊上的成對相鄰I/0單元之間的最小間隔為2微米這一設計約 束。如圖3中所示,在I/O單元302與I/O單元304之間的距離為5微米,在I/O單元304 與1/0單元306之間的距離為2微米,而在I/O單元306與I/O單元308之間的距離為3 微米。因此,在I/O單元302與304之間的可用空間為5-2 = 3微米,在單元304與306之 間的可用空間為2-2 = 0微米,而在單元306與308之間的可用空間為3-2 = 1微米。
注意零可用空間表明不能進一步減少對應成對I/O單元之間的距離。這一約束僅 影響使管芯尺寸收縮的縮放操作。換而言之,在縮放操作期間僅能收縮非零可用空間。
注意對于1/0單元布置的各邊,可以將總可用空間定義為成對相鄰1/0單元之間 的單個可用空間之和。例如,在I/O單元302與308之間的總可用空間等于3+0+1 = 4微 米。 在本發(fā)明的一個實施例中,縮放I/O單元布置的各邊涉及到基于在這一邊上的標 識可用空間、在這一邊上的總可用空間以及沿著這一邊的管芯尺寸改變來收縮或者擴展I/ O單元之間的空間。具體而言,對于給定邊,如果目標管芯尺寸小于原管芯尺寸,則縮放操 作為收縮操作。如果目標管芯尺寸大于沿著這一邊的原管芯尺寸,則縮放操作為擴展操作。 雖然1/0單元布置的對邊總是具有同類縮放操作,但是I/0單元布置的鄰邊可以具有不同 類型的縮放操作。然而在所有情況下,在原管芯尺寸與目標管芯尺寸之間的管芯尺寸差異 確定在縮放操作期間的收縮或者擴展的總的量。 具體而言,當給定目標管芯尺寸時,可以基于目標管芯尺寸的寬度和高度與原管 芯尺寸的寬度和高度之差來確定收縮或者擴展的總的量。在本發(fā)明的一個實施例中,將1/0 單元布置的給定邊上的各可用空間收縮/擴展具體的量,使得在這一邊上的所有可用空間 之間的收縮/擴展的總的量基本上等于沿著這一邊的目標管芯尺寸與原管芯尺寸之差。
在圖2A的例子中,如果目標管芯尺寸的寬度(W)比原管芯尺寸的寬度小200微 米,則縮放操作為收縮操作,并且芯片的底邊和頂邊上的1/0單元的可用空間的收縮的量 基本上等于200微米。然而,如果在I/O單元布置的底邊或者頂邊上的總可用空間少于200 微米,則最大收縮的量因此基本上等于針對該邊計算的總可用空間而不是200微米。
在縮放操作期間,不同縮放函數(shù)可以用來縮放個體可用空間。在一個實施例中,系 統(tǒng)通過將各可用空間收縮/擴展與該可用空間成比例的量來縮放一組可用空間。在另一實 施例中,系統(tǒng)通過將各可用空間收縮/擴展相等的量來縮放一組可用空間。在又一實施例 中,系統(tǒng)通過根據(jù)非線性比例關系收縮/擴展各可用空間來縮放一組可用空間。在這一實 施例中,盡管縮放函數(shù)形式可以不同,但是縮放函數(shù)保證更大可用空間比更小可用空間接 收更大改變。在各上述實施例中,用于在1/0單元布置的各邊上的1/0單元的縮放的總的 量基本上等于在該維度上的管芯尺寸的改變。 在本發(fā)明的一個實施例中,如果在原I/O單元布置的一邊上的總可用空間少于在 該維度上的目標管芯尺寸的管芯尺寸減少,則系統(tǒng)將該邊上的所有可用空間縮放成零。通 過將所有可用空間縮放成零,縮放操作在維持I/O單元布置約束的同時實現(xiàn)最小可能管芯 尺寸。這一實施例獲得針對在一個或者兩個維度上的管芯尺寸的最小界限,該最小界限可以用來在管芯尺寸探索期間局限搜索范圍。 注意上述用于縮放單行I/O單元的技術可容易地應用于縮放多環(huán)I/O單元布置,比如圖2A和2B中所示布置。具體而言,對于多環(huán)1/0單元布置,縮放操作也一次對多環(huán)1/O單元布置的一邊進行操作。對于各邊,縮放操作仍然是在與縮放單環(huán)1/0單元布置相同的方向上改變空間的1D操作?;陬A定設計約束,系統(tǒng)可以在維持原布置中的環(huán)之間1/0單元對準的縮放操作或者忽略原布置中的環(huán)之間1/0單元對準的另一縮放操作之間選擇。結合圖4A和圖4B更具體地描述這兩個選項。 在本發(fā)明的一個實施例中,為了維持不同環(huán)之間的單元對準,將1/0單元布置的一邊上的所有環(huán)一起縮放。具體而言,在縮放之前,系統(tǒng)標識多環(huán)結構內(nèi)的"共用空間",其中共用空間是所有環(huán)共享的空間。 圖4A圖示了根據(jù)本發(fā)明一個實施例的用于為包括兩邊對準I/O環(huán)402和404的示例I/O單元布置400標識共用空間的過程。在圖4A中,標識的空間是環(huán)402中的406、408和410以及環(huán)404中的412、414和416。在環(huán)402與環(huán)404之間的共用空間是空間412、414和416,因為它們也分別由環(huán)404中的對應空間406、408和410共享。
另外,圖4B圖示了根據(jù)本發(fā)明一個實施例的用于為包括兩個交錯I/O環(huán)422和424的示例I/O單元布置420標識共用空間的過程。在本例中,共用空間是空間426-432,因為它們是兩個環(huán)422和424共享的空間。注意一般可以通過對單元之間的所有空間進行AND運算來發(fā)現(xiàn)多個環(huán)共享的共用空間。 —旦標識共用空間,可以通過根據(jù)針對縮放單行I/O單元布置描述的相同過程縮
放一組共用空間來對多環(huán)結構的所有環(huán)進行縮放操作。在本發(fā)明的一個實施例中,將這些
共用空間視為在單環(huán)場景中描述的"距離",并且隨后從共用空間標識可用空間。 在一個替代實施例中,當忽略原I/O單元布置中的環(huán)之間的單元對準時,系統(tǒng)單
獨縮放多環(huán)結構中的各環(huán),因此單行縮放技術適用于多環(huán)結構中的各環(huán)。例如在圖4A中,
系統(tǒng)基于一組空間406-410來縮放環(huán)402并且基于一組空間412-416來單獨縮放環(huán)404。
因而,可能改變環(huán)402與404之間的原對準。 注意兩種多環(huán)縮放技術將I/O單元保持于它們的原I/O環(huán)中并且維持I/O單元的相對順序和邊。 注意上述縮放技術有效地解決在重新布置可以跨越多個環(huán)延伸的宏單元(比如圖2B中的單元212)時涉及到的復雜性。這是因為縮放操作可以將復雜宏單元在各環(huán)中的部分作為規(guī)則單元來單獨處理而不是將整個宏單元作為整體來對待。
用于縮放I/O單元布置的過程 圖5呈現(xiàn)了對根據(jù)本發(fā)明一個實施例的縮放I/0單元布置以為管芯尺寸改變進行調(diào)節(jié)的過程進行圖示的流程圖。 在操作期間,系統(tǒng)接收初始IC設計,該IC設計包括初始管芯尺寸(即管芯的原寬度和高度)以及用于一組I/O單元的初始I/O單元布置(步驟502)。注意一組I/O單元可以包括但不限于I/O焊盤、包含多個I/O管腳的I/O單元、宏單元、布置阻斷、填充物單元和其它類型的I/0單元。另外,系統(tǒng)接收目標管芯尺寸(即管芯的目標寬度和高度)(步驟502)。系統(tǒng)隨后確定從初始管芯尺寸到目標管芯尺寸的寬度改變和高度改變(步驟504)。
系統(tǒng)然后將初始I/O單元布置分割成不同I/O布置區(qū)域(步驟506)。具體而言,
11系統(tǒng)根據(jù)芯片邊界的四邊將I/O單元布置分割成四邊。 接著,系統(tǒng)標識I/O單元布置的各邊內(nèi)的所有I/O單元(步驟508)。對于各標識 的I/O單元,系統(tǒng)記錄單元的位置(即X和Y坐標)和單元的幾何形狀。
注意有時也可以將1/0單元布置的一邊上標識的一個或者多個1/0單元標識為在 1/0單元布置的另一邊內(nèi)。1/0單元布置的兩個鄰邊"共享"的這樣的1/0單元通常位于拐 角(即拐角單元)中或者兩邊交會的管芯拐角附近。在本發(fā)明的一個實施例中,這樣的I/ 0單元僅與兩邊之一一起縮放,而不是與I/O單元布置的兩邊一起縮放。具體而言,當將1/ 0單元標識為由兩邊共享時,系統(tǒng)然后確定這一 I/O單元與兩邊中的哪一邊更緊密地關聯(lián) (例如基于與對應芯片邊界的距離t。)。接著,1/0單元僅與I/0單元與之更緊密有關的邊 一起縮放。另外,相同單元變成對該單元與之關聯(lián)緊密性較少的另一邊進行的縮放操作的 約束。結合圖6描述一個涉及到這樣的單元的例子。 基于記錄的單元信息,系統(tǒng)然后標識I/0單元布置的各邊內(nèi)的可用空問并且還獲 得用于1/0單元布置的各邊的總的可用空間(步驟510)。 接著,系統(tǒng)一次一邊地基于標識的可用空間、總的可用空間和管芯尺寸改變來確 定對可用空間的改變(即收縮或者擴展)(步驟512)。對于各邊,縮放操作是在與該邊平行 的方向上的1D縮放。具體而言,系統(tǒng)根據(jù)預定縮放關系(比如以可用空間的量為依據(jù)的線 性比例縮放或者針對所有可用空間的等量縮放)來改變可用空間。在一些實施例中,由于 縮放所致的對所有可用空間的改變的總的量基本上等于在該維度上的管芯尺寸的改變。然 而,如果總的可用空間少于對應管芯尺寸的改變并且縮放是收縮操作,則系統(tǒng)將所有可用 空間縮放成零,并且縮放操作在這一邊上實現(xiàn)最小可能管芯尺寸。 在確定對可用空間的改變之后,系統(tǒng)然后根據(jù)確定的改變來計算和記錄一組1/0 單元的新坐標,由此獲得更新的I/O單元布置(步驟514)。 注意盡管可以獨立修改I/O單元布置的各邊,但是在管芯的拐角中的鄰邊之間的 干擾可能在縮放操作涉及到收縮可用空間時出現(xiàn)。圖6圖示了根據(jù)本發(fā)明一個實施例的 在管芯的拐角中由于縮放管芯的兩個鄰邊所致的潛在沖突狀況。具體而言,當獨立縮放邊 604上的空間602 (在I/O單元610與固定拐角單元614之間)并且減少邊608上的空間 606(在1/0單元612與固定拐角單元614之間)時,邊604上的I/O單元610可能變得與 邊608上的1/0單元612重疊或者變得與之太近。在本發(fā)明的一個實施例中,系統(tǒng)可以在 縮放操作期間檢測這樣的沖突。通常,當兩個拐角1/0單元之間的距離(例如單元610與 612之間的距離616)少于設計規(guī)則指定的最小空間時可以檢測到?jīng)_突。 一旦檢測到?jīng)_突, 可以采取補救行動,這可以涉及將一邊或者兩邊的空間改變進行倒退直至去除重復狀況并 且滿足最小空間規(guī)則。注意系統(tǒng)也可以在縮放之前將優(yōu)先級值分配給各邊并且隨后使用優(yōu) 先級值以確定縮放順序以及如果沖突出現(xiàn)的倒退順序。 在倒退以解決沖突之后,系統(tǒng)可以隨后確定在管芯的拐角附近的一個或者多個最 小空間。例如,在倒退之后的在I/O單元610與612之間的距離616確定空間602的最小 空間。系統(tǒng)然后將這些空間設置為在后續(xù)縮放操作中不能縮放的"退回的空間"并且以這 一方式避免重復相同類型的沖突。 在本發(fā)明的一個實施例中,在縮放過程期間,系統(tǒng)首先可以采取前攝(proactive) 步驟以防止出現(xiàn)沖突。注意上述沖突狀況通常涉及到兩邊共享的拐角單元,比如1/0單元612。因此,在已經(jīng)縮放兩邊中的第一邊(比如邊608)之后,系統(tǒng)接著針對兩邊中接著將要縮放的第二邊重新標識I/O單元。如果在縮放第二邊之前標識一個或者多個共享單元并且系統(tǒng)確定共享單元沒有與第二邊的其它標識I/O單元一起縮放(例如I/O單元612對于邊604而言就是這樣的單元),則標識一個潛在沖突。隨后,這些標識的共享單元如I/O單元612變成對縮放第二邊如邊604的約束(即,最小空間規(guī)則適用于該邊)。因而,可以避免沖突,比如在I/O單元610與612之間的沖突。
4各I/O ,蹄K時驗誠 圖7呈現(xiàn)了對根據(jù)本發(fā)明一個實施例的在使用縮放技術以改變I/0單元布置以為
管芯尺寸改變進行調(diào)節(jié)的同時進行管芯尺寸探索的過程進行圖示的流程圖。 在操作期間,系統(tǒng)通過接收用于探索的設計、初始管芯尺寸以及初始最小和最大
管芯尺寸(步驟702)來啟動。系統(tǒng)然后使用上述I/0單元縮放技術以確定新的最小管芯
尺寸并且隨后利用用于探索的新的最小管芯尺寸更新初始最小管芯尺寸(步驟704)。在一
些實施例中,步驟704可以是可選的。 接著,系統(tǒng)確定該設計在當前管芯尺寸之下是否可布線(步驟706)。
如果是這樣(即如果有可能進一步減少管芯尺寸),則系統(tǒng)將管芯尺寸減少預定的量(步驟708),并且隨后修改管芯邊界而且使用上述I/O縮放技術以改變I/O單元布置以配合于新芯片邊界中(步驟710)。 如果系統(tǒng)確定該設計在當前管芯尺寸之下不可布線,則系統(tǒng)然后將管芯尺寸增加預定的量以增加布線區(qū)域(步驟712)并且隨后修改芯片邊界而且使用上述I/0縮放技術以改變I/O單元布置以配合于新芯片邊界中(步驟710)。 對于上述兩種場景,在完成步驟710時,系統(tǒng)確定是否已經(jīng)獲得最小可行(可布線)管芯尺寸(步驟714)。如果是這樣,則管芯尺寸探索終止。否則,系統(tǒng)返回到步驟706
并且重復。 圖8圖示了根據(jù)本發(fā)明一個實施例的在管芯尺寸優(yōu)化期間縮放1/0單元布置的設備。 設備802可以包括經(jīng)由有線或者無線通信信道來相互通信的機構。具體而言,設備802可以包括接收機構804、確定機構806、標識機構808和縮放機構810。機構可以使用一個或者多個集成電路來實現(xiàn)或者實現(xiàn)為通用處理器的模塊。設備802可以是計算機系統(tǒng)的部分。 在一些實施例中,接收機構804可以被配置成接收用于管芯的初始管芯尺寸和用于一組I/O單元的初始I/O單元布置并且還接收用于管芯的目標管芯尺寸;確定機構806可以被配置成確定在初始管芯尺寸與目標管芯尺寸之間的管芯尺寸改變;標識機構808可以被配置成標識在初始1/0單元布置中的一組1/0單元之間的可用空間;并且縮放機構810可以被配置成基于標識的可用空間和管芯尺寸改變來縮放初始1/0單元布置,由此獲得配合目標管芯尺寸的新I/O單元布置。 僅出于示例和描述的目的已經(jīng)呈現(xiàn)對本發(fā)明實施例的前文描述。本意并非讓它們窮舉本發(fā)明或者使本發(fā)明限于公開的形式。因而,本領域技術人員將清楚許多修改和變化。此外,本意并非讓上述公開內(nèi)容限制本發(fā)明。本發(fā)明的范圍由所附權利要求限定。
權利要求
一種用于在管芯尺寸優(yōu)化期間縮放I/O單元布置的方法,所述方法包括接收用于管芯的初始管芯尺寸和用于一組I/O單元的初始I/O單元布置;接收用于所述管芯的目標管芯尺寸;確定在所述初始管芯尺寸與所述目標管芯尺寸之間的管芯尺寸改變;標識在所述初始I/O單元布置中的所述一組I/O單元之間的可用空間;并且基于所述標識的可用空間和所述管芯尺寸改變來縮放所述初始I/O單元布置,由此獲得配合所述目標管芯尺寸的新I/O單元布置。
2. 根據(jù)權利要求1所述的方法,其中確定在所述初始管芯尺寸與所述目標管芯尺寸之 間的管芯尺寸改變包括確定所述管芯的寬度改變和高度改變。
3. 根據(jù)權利要求1所述的方法,其中標識在所述初始1/0單元布置中的所述一組I/O 單元之間的可用空間包括獨立標識用于所述管芯的各邊的一行I/O單元中的可用空間。
4. 根據(jù)權利要求3所述的方法,其中標識所述管芯的一邊上的所述一行I/O單元中的 所述可用空間包括標識所述一行1/0單元中的各對相鄰1/0單元之間的可用空間;并且通過將所述一行i/o單元中的所述可用空間求和來計算所述管芯的所述邊上的總的可用空間。
5. 根據(jù)權利要求4所述的方法,其中標識各對相鄰I/O單元之間的可用空間包括從所 述成對相鄰I/O單元之間的距離減去最小空間要求。
6. 根據(jù)權利要求4所述的方法,其中縮放所述初始I/O單元布置包括獨立縮放所述管 芯的各邊上的所述I/O單元布置。
7. 根據(jù)權利要求6所述的方法,其中縮放所述管芯的一邊上的所述初始I/O單元布置 包括基于在沿著所述管芯的所述邊的方向上的所述管芯尺寸改變的符號來確定縮放模式 (收縮/擴展);并且將所述一行1/0單元中的成對相鄰1/0單元之間的每一個空間縮放與對應可用空間成 比例的量;其中用于所述一行I/O單元的縮放的總的量基本上等于所述管芯尺寸改變。
8. 根據(jù)權利要求6所述的方法,其中縮放所述管芯的一邊上的所述初始I/O單元布置 包括基于在沿著所述管芯的所述邊的方向上的管芯尺寸改變的符號來確定縮放模式(收 縮/擴展);并且將所述一行I/O單元中的成對相鄰I/O單元之間的每一個空間縮放相等的量; 其中用于所述一行I/O單元的縮放的總的量基本上等于所述管芯尺寸改變。
9. 根據(jù)權利要求6所述的方法,其中縮放所述管芯的一邊上的所述初始I/O單元布置 包括基于在沿著所述管芯的所述邊的方向上的所述管芯尺寸改變的符號來確定縮放模式 (收縮/擴展);并且如果所述管芯尺寸改變?yōu)樨摬⑶揖哂斜人龉苄镜乃鲞吷系目偪捎每臻g更大的值, 則通過將所有可用空間減少至零來縮放在所述一行1/0單元中的成對相鄰1/0單元之間的空間。
10. 根據(jù)權利要求6所述的方法,其中如果所述初始1/0單元布置是多環(huán)1/0單元布置,則所述方法還包括獨立縮放所述多環(huán)1/0單元布置的各環(huán);或者在維持1/0單元的多個環(huán)之間的對準的同時協(xié)同縮放所述多環(huán)1/0單元布置中的I/O單元的多個環(huán)。
11. 根據(jù)權利要求1所述的方法,其中所述一組I/O單元可以包括1/0焊盤;包括多個I/O管腳的I/O單元; 宏單元; 布置阻斷;以及 填充物單元。
12. —種用于在管芯尺寸優(yōu)化期間縮放I/O單元布置的設備,所述設備包括 用于接收用于管芯的初始管芯尺寸和用于一組1/0單元的初始1/0單元布置的裝置;用于接收用于所述管芯的目標管芯尺寸的裝置;用于確定在所述初始管芯尺寸與所述目標管芯尺寸之間的管芯尺寸改變的裝置; 用于標識在所述初始I/O單元布置中的所述一組I/O單元之間的可用空間的裝置;并且用于基于所述標識的可用空間和所述管芯尺寸改變來縮放所述初始I/O單元布置,由 此獲得配合所述目標管芯尺寸的新1/0單元布置的裝置。
13. 根據(jù)權利要求12所述的設備,其中所述用于確定在所述初始管芯尺寸與所述目標 管芯尺寸之間的管芯尺寸改變的裝置包括用于確定所述管芯的寬度改變和高度改變的裝置。
14. 根據(jù)權利要求12所述的設備,其中所述用于標識在所述初始1/0單元布置中的所 述一組1/0單元之間的可用空間的裝置包括用于獨立標識用于所述管芯的各邊的一行I/O 單元中的可用空間的裝置。
15. 根據(jù)權利要求14所述的設備,其中所述用于標識所述管芯的一邊上的所述一行1/ O單元中的所述可用空間的裝置包括用于標識所述一行1/0單元中的各對相鄰1/0單元之間的可用空間的裝置;以及 用于通過將所述一行1/0單元中的所述可用空間求和來計算所述管芯的所述邊上的 總的可用空間的裝置。
16. 根據(jù)權利要求15所述的設備,其中所述用于標識各對相鄰I/O單元之間的所述可 用空間的裝置包括用于從所述成對相鄰I/O單元之間的距離減去最小空間要求的裝置。
17. 根據(jù)權利要求15所述的設備,其中所述用于縮放所述初始I/O單元布置的裝置包 括用于獨立縮放所述管芯的各邊上的所述I/O單元布置的裝置。
18. 根據(jù)權利要求17所述的設備,其中所述用于縮放所述管芯的一邊上的所述初始I/ O單元布置的裝置包括用于基于在沿著所述管芯的所述邊的方向上的所述管芯尺寸改變的符號來確定縮放 模式(收縮/擴展)的裝置;以及用于將所述一行1/0單元中的成對相鄰1/0單元之間的每一個空間縮放與對應可用空 間成比例的量的裝置;其中用于所述一行I/O單元的縮放的總的量基本上等于所述管芯尺寸改變。
19. 根據(jù)權利要求17所述的設備,其中所述用于縮放所述管芯的一邊上的所述初始1/ O單元布置的裝置包括用于基于在沿著所述管芯的所述邊的方向上的所述管芯尺寸改變的符號來確定縮放 模式(收縮/擴展)的裝置;以及用于將所述一行1/0單元中的成對相鄰1/0單元之間的每一個空間縮放相等的量的裝置;其中用于所述一行I/O單元的縮放的總的量基本上等于所述管芯尺寸改變。
20. 根據(jù)權利要求17所述的設備,其中所述用于縮放所述管芯的一邊上的所述初始1/ O單元布置的裝置包括用于基于在沿著所述管芯的所述邊的方向上的所述管芯尺寸改變的符號來確定縮放 模式(收縮/擴展)的裝置;以及用于如果所述管芯尺寸改變?yōu)樨摬⑶揖哂斜人龉苄镜乃鲞吷系目偪捎每臻g更大 的值,則通過將所有可用空間減少至零來縮放在所述一行1/0單元中的成對相鄰1/0單元 之間的空間的裝置。
21. 根據(jù)權利要求17所述的設備,其中如果所述初始I/O單元布置是多環(huán)I/O單元布 置,則所述設備還包括用于獨立縮放所述多環(huán)1/0單元布置的各環(huán)的裝置;或者用于在維持I/0單元的多個環(huán)之間的對準的同時協(xié)同縮放所述多環(huán)I/0單元布置中的 1/0單元的多個環(huán)的裝置。
22. 根據(jù)權利要求12所述的設備,其中所述一組I/O單元可以包括1/0焊盤;包括多個I/O管腳的I/O單元; 宏單元; 布置阻斷;以及 填充物單元。
23. —種在管芯尺寸優(yōu)化期間縮放I/O單元布置的設備,包括接收機構,配置成接收用于管芯的初始管芯尺寸和用于一組I/O單元的初始I/O單元 布置;其中所述接收機構還被配置成接收用于所述管芯的目標管芯尺寸; 確定機構,配置成確定在所述初始管芯尺寸與所述目標管芯尺寸之間的管芯尺寸改變;標識機構,配置成標識在所述初始1/0單元布置中的所述一組1/0單元之間的可用空 間;以及縮放機構,配置成基于所述標識的可用空間和所述管芯尺寸改變來縮放所述初始I/O 單元布置,由此獲得配合所述目標管芯尺寸的新1/0單元布置。
全文摘要
本發(fā)明的一個實施例提供一種在管芯尺寸優(yōu)化期間縮放I/O單元布置的系統(tǒng)。在操作期間,該系統(tǒng)通過接收用于管芯的初始管芯尺寸和用于一組I/O單元的初始I/O單元布置來啟動。該系統(tǒng)也接收用于管芯的目標管芯尺寸。該系統(tǒng)然后確定在初始管芯尺寸與目標管芯尺寸之間的管芯尺寸改變。接著,該系統(tǒng)標識在初始I/O單元布置中的一組I/O單元之間的可用空間。該系統(tǒng)隨后基于標識的可用空間和管芯尺寸改變來縮放初始I/O單元布置以獲得配合目標管芯尺寸的新I/O單元布置。
文檔編號G06F17/50GK101739492SQ20091020752
公開日2010年6月16日 申請日期2009年10月26日 優(yōu)先權日2008年11月26日
發(fā)明者D·常, N·考爾, 鄒佩清 申請人:新思科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
沧州市| 安阳县| 绥中县| 百色市| 奇台县| 庆阳市| 顺平县| 南昌市| 大新县| 亳州市| 南靖县| 芜湖县| 武隆县| 江门市| 原阳县| 福海县| 密云县| 商都县| 邵阳市| 巴楚县| 丰城市| 昭苏县| 汉阴县| 永兴县| 平泉县| 麟游县| 康乐县| 开远市| 汶川县| 晋宁县| 商城县| 塔河县| 陈巴尔虎旗| 威海市| 高安市| 长岛县| 盐津县| 清丰县| 龙川县| 舟山市| 福安市|