專利名稱:自動配置和布線模塊中備用單元的配置方法
技術領域:
本發(fā)明主要涉及集成電路中電路單元的自動配置和布線方法,更確切地說,是涉及一種集成電路備用單元的空間配置方法。
背景技術:
為更全面理解本發(fā)明內容,在此首先解釋與集成電路設計有關的四個概念功能模塊尺寸與成品率之間關系、集成電路設計的分級結構、自動配置和布線工具(APR-auto-place-route tools)的使用、集成電路設計工程更改(ECs-engineering changes)時備用單元的使用。
對集成電路來說,當前一直存在的市場壓力就是降低成本。影響集成電路成本的一個很大因素就是集成電路成品率。在半導體晶片上集成電路以二維陣列的方式被制成多個獨立的集成電路晶粒(die)。當晶片處理后制成集成電路晶粒時,晶片就會被分割成單獨的晶粒。由于晶片存在缺陷,就導致陣列中一定百分比的晶粒不具備應有功能。成品率指具備正常功能晶粒數(shù)與所生產總晶粒數(shù)之比。
決定成品率的一個重要因素是晶片上每個獨立晶粒的尺寸。原因是晶片缺陷在整個晶片上是相對均勻分布的,且單個缺陷就足以導致一個獨立的晶粒失去正常功能。因此當單個晶粒尺寸增大時,一個晶粒含有一個或多個缺陷而導致失去正常功能的概率將相應增加。一個極端的情況是,一個晶粒尺寸大到占據(jù)整個晶片,此時在晶片上只能存在一個晶粒,這將導致成品率接近于零。確定晶粒尺寸的一個重要因素是設計人員能夠放置到晶粒上的集成電路設計方案中包含的電路元件密度。
當工程師設計一個諸如微處理器之類復雜集成電路時,他們采用分級方法。具體情況是,他們將設計方案分解成連接在一起后形成該設計方案的多個高級元件。高級元件又可進一步分解成連接在一起組成高級元件的更小元件。這種分級分解方法可依此繼續(xù)進行,以致于最后獲得分解結構的多個等級。這種分級結構的優(yōu)點是可控制復雜設計方案的過程并可達到設計目標。分級結構方法的另一優(yōu)點是允許不同工程師設計該設計方案中的不同元件。
最高級情況是,設計方案有通常稱為“功能模塊”的多個元件組成,且這些功能模塊連接在一起形成集成電路。例如微處理器由諸如算術邏輯單元、寄存器文件、高速緩沖存儲器,浮點單元、指令轉譯器等之類功能模塊組成。功能模塊含有連接到一起以形成微處理器設計方案的輸入、輸出端。
功能模塊由通常稱為“單元(cell)”的多個更小元件組成。例如單元可為邏輯門(如AND、OR、NAND、NOR邏輯)、觸發(fā)器、多路器、寄存器、比較器、計數(shù)器等。這些單元含有連接到一起以形成功能模塊的輸入、輸出端。它們可為選自于共享單元庫中的標準單元,也可為用戶自行設計單元。
工程師設計模塊時,正常情況下他們首先考慮的問題是模塊中需包括什么單元及模塊中這些單元的邏輯連接,也就是哪個輸入端應連接到哪個輸出端。隨后考慮的問題是如何將所包含的這些單元具體放置到模塊內及如何將它們的輸入、輸出端連接到一起。本質上說,可采用兩種方法將這些單元放置到功能模塊內。一種方法是設計人員自己將各單元放置到功能模塊內。這種類型的功能模塊通常稱為用戶設計模塊。用戶設計模塊的一個實例就是諸如動態(tài)隨機存取存儲器(DRAM)單元之類的高密度存儲器單元。
將功能模塊各單元具體放置的第二種方法是采用計算機輔助設計軟件工具。這些工具通常指自動配置和布線工具(APR),且由自動配置和布線工具放置的功能模塊通常稱為自動配置和布線功能模塊(APR塊)。APR工具的輸入項是組成功能模塊的單元清單(包括它們的具體面積和輸入/輸出規(guī)格)、有關如何將這些單元連接到一起的規(guī)定、容納該工具所要放置單元的功能模塊邊界。APR工具放置單元時盡可能密集放置,同時還要考慮到布線所需連接信息,輸出模塊具體配置圖或放置圖及連接單元輸入輸出端所用線路的具體位置規(guī)格。
典型情況下,一個APR工具用戶規(guī)定APR模塊邊界輸入時,將模塊的面積設置為比模塊所有單獨單元的面積總和約大5%到15%。這些多余面積,或稱作“富余空間”(wiggle-room)的存在是必要的,理由是這些單元的形狀并非完全一致。若無富余空間,APR工具不可能將所有單元放置到模塊邊界內。另外,放置單元的過程可能很復雜且需耗費大量時間,即使在當今超強計算機上運行APR工具時也是如此。這種情況下,所配置的富余空間越多,APR工具放置單元的速度就越快。將富余空間添加到模塊邊界內這種做法可能導致模塊內存在未被單元占據(jù)的閑置空間。這些閑置空間通常稱為“白色空間”(white-space),它浪費了晶粒的空間。集成電路功能模塊內白色空間越多,晶粒尺寸就越大,成品率就越低。
由于集成電路產品很復雜,因此在其整個產品的壽命周期內經常需要對其設計方案實施某些很小的改動。這些很小改動通常稱為“工程更改”或“EC”??赡芮闆r是,最經常遇到的工程更改原因是設計缺陷或產品設計方案中存在著“錯誤(bug)”。
實施某些工程更改時,僅需要將現(xiàn)存單元進行重新連接,只不過連接方式與前一設計方案稍有不同而已。然而,實施另外其它一些工程更改時需要添加新單元,且還需將該新單元與現(xiàn)存單元連接到一起??紤]到這一點,設計人員設計功能模塊時,除了設計稱之為“功能單元”的必需單元外,還將稱之為“備用單元”的額外單元添加到功能模塊內。備用單元能完成諸如邏輯門、多路器之類同樣類型功能單元所具備的同樣功能,但備用單元的輸入端和輸出端不與模塊中其它單元相連。若隨后實施工程更改需要添加新單元時,就可根據(jù)更改需要,將備用單元連接到初始功能單元上。
功能模塊中含有備用單元對于降低工程更改時所需時間和成本來說具有很大優(yōu)勢。制造一個復雜集成電路時,在幾周時間內完成大約100個處理步驟的情況并非罕見。每個處理步驟都要向晶片上添加一些東西以朝向集成電路的完成,比如沉積一層非常薄的半導體材料或金屬材料。這些處理步驟的早期階段是最耗時間的,也是成本最高的。這些早期步驟通常用于定義諸如組成單元之晶體管之類的各別半導體元件位置。相對來說,后續(xù)步驟實施起來就比較快、成本較低同時也更易于實施,它們通常用于定義連接集成電路的晶體管、單元及功能模塊的連線位置。
因此,需要添加新晶體管或單元的工程更改要比不需要添加新晶體管或單元、僅需要將現(xiàn)存晶體管或單元進行重新連線的工程更改昂貴得多。將備用單元添加到功能模塊內這種方式可增加僅需要重新連線工程更改的可能性。
不需要添加新晶體管或單元的工程更改成本較低的一個原因是當晶片按初始設計方案制造時(后來發(fā)現(xiàn)需要更改),一些還沒有實施連線步驟的晶片就可能取消連線步驟,若需要進行工程更改時,可繼續(xù)實施連線步驟以便視需要而連接備用單元。結果是至少可制造部分的工程更改方案的晶粒,以便在量產工程更改方案的產品前,可對該更改方案進行測試。在這種情況下,備用單元用于以快速方式測出錯誤修復處,此處所述快速方法類似于使用眾所周知的“白色連線”修復電路板錯誤的方法。
在另一情況下,假設發(fā)現(xiàn)集成電路功能不正常,且根據(jù)集成電路的表現(xiàn)情況設計人員確認有設計缺陷,但不知道錯誤是什么或如何修復它。當設計人員確定錯誤所在并設計通過備用單元修改該錯誤時,就可馬上對晶片實施至連線步驟為止但不包括連線步驟的處理步驟。一旦確定了錯誤修改方案,就可實施該處理過程最終的連線步驟以便連接所需備用單元。這種處理方式可節(jié)約大約兩到三周時間,若考慮到收益損失,尤其是對于“時間是市場關鍵因素”的工業(yè)領域,節(jié)約的這段時間可能是非常寶貴的。
當前,自動配置和布線模塊設計人員可通過自動配置和布線工具添加以下元件來確定功能模塊的邊界。所添加元件包括功能單元面積(即功能模塊中各別功能單元的面積總和),備用單元面積(典型情況下約為功能單元面積總和的5%-15%),允許自動配置和布線工具快速放置單元所需的富余空間(典型情況下約為總的功能單元面積和備用單元面積之和的5%-15%)。
傳統(tǒng)方法的不足是在自動配置和布線模塊內殘留有相對較大的白色空間,也就是富余空間,這會導致較大的晶粒尺寸,與完全高效放置的集成電路相比,傳統(tǒng)方法具有較低成品率。因此現(xiàn)在需要的是一種能降低集成電路自動配置和布線模塊內白色空間的方法。
發(fā)明內容
本發(fā)明認識到使用自動配置和布線工具時富余空間所導致的白色空間面積和配置給備用單元的自動配置和布線模塊面積之間存在著密切協(xié)同關系,同時也認識到無論備用單元放置到自動配置和布線模塊的任何位置,在進行工程更改時它們都能發(fā)揮自己的功能。據(jù)此本發(fā)明提供了一種將備用單元放置到自動配置和布線模塊內的方法,該方法通過清除模塊邊界內富余空間、不將備用單元添加到提供給自動配置和布線工具的單元清單內(這樣自動配置和布線工具所產生的白色空間面積就約等于所需備用單元面積),將備用單元放置到自動配置和布線工具模塊配置時所產生的白色空間內這些步驟可從根本上達到白色空間最小化,從而可大幅度降低模塊內白色空間面積。因此在達到上述目標時,本發(fā)明的一個特征就是提供了一種將備用單元配置到自動配置和布線模塊內的方法。該方法首先包括計算自動配置和布線模塊內功能單元清單的總面積和備用單元清單的總面積。然后該方法包括將功能單元清單和邊界作為輸入項提供到自動配置和布線工具以便據(jù)此生成自動配置和布線模塊布局圖。其中功能單元清單不包括備用單元清單。該邊界內具有一面積約等于功能單元清單和備用單元清單的總面積。最后該方法包括將備用單元清單內的備用單元填充到布局圖內白色空間的步驟。
另一方面,本發(fā)明的一個特征是提供了一種將自動配置和布線模塊內的單元放置到集成電路中的方法。該自動配置和布線模塊設計方案包括指定模塊內所含多個功能單元的功能單元清單。該多個功能單元中的每一單元均具有一個面積值和輸入、輸出端。該自動配置和布線模塊設計方案還包括指定該多個功能模塊的輸入端和輸出端如何進行連接的有關信息。該方法包括確定備用單元面積,確定面積約等于備用單元和該多個功能單元面積總和的自動配置和布線模塊邊界,將功能單元清單、連接信息和邊界提供給自動配置和布線軟件程序。自動配置和布線程序生成的自動配置和布線模塊配置圖含有邊界內的閑置空間。該方法還包括在自動配置和布線程序生成自動配置和布線模塊配置圖后將備用單元放置到該閑置空間的步驟。
另一方面,本發(fā)明的一個特征是提供了一種集成電路功能模塊內單元的配置方法。該方法包括確定功能模塊內的單元清單。該清單不包括備用單元。該方法還包括確定功能模塊邊界。該邊界內面積為單元清單面積總的函數(shù)。該方法還包括生成邊界內單元清單的具體配置情況。該具體配置情況由自動配置和布線軟件完成。同時,該自動配置和布線軟件接收有關邊界和單元清單規(guī)格的信息。該方法還包括在生成具體配置情況后,將備用單元放置到邊界內白色空間的步驟。其中白色空間是自動配置和布線軟件具體配置單元清單時產生的。
本發(fā)明的一個優(yōu)點是在模塊內基本不剩余白色空間,與以前方法相比,可制成尺寸更小的模塊。該尺寸更小模塊的優(yōu)點是最終晶粒尺寸更小,從而可提高成品率,并降低成本。另外,更小模塊意味著在晶粒上模塊之間更緊湊,這也潛在地減小了晶粒上信號通道長度,從而減小了信號傳送延遲時間和臨界信號時間,這將導致諸如微處理器之類器件內集成電路時鐘頻率增加。另外,該發(fā)明還潛在地降低了模塊內單元自動配置和布線所需時間。
參閱本發(fā)明說明書的后續(xù)部分和
后,本發(fā)明的其它特征和優(yōu)點會更清晰明了。
圖1表示根據(jù)本發(fā)明在自動配置和布線模塊內配置備用單元的配置方法流程圖。
圖2到圖5表示確定圖1所需備用單元面積的四種實施形式流程圖。
圖6表示根據(jù)本發(fā)明圖1所示情況配置備用單元實施例的框圖。
圖中標號說明如下圖1備用單元配置方法102-設計人員設計包括功能單元清單和連接信息的模塊104-將模塊內功能單元面積相加確定總的功能單元面積106-確定所需備用單元面積108-將總的功能單元面積和所需備用單元面積相加得到總單元面積112-將以下內容作為輸入項輸入到自動配置工具并運行自動配置工具1)面積等于總單元面積的邊界,以及2)單元清單和連接信息;其中單元清單僅包括其中的功能單元,即不包括其中的備用單元114-自動配置工具生成一配置過的模塊,該模塊內總的白色空間面積約等于所需備用單元總面積116-將備用單元配置到經配置工具配置后模塊內剩余的白色空間內圖2-圖5確定備用單元面積的實施形式圖2 106-確定所需備用單元面積202-設計人員確定模塊內所需備用單元清單204-將所需備用單元面積相加以便確定所需備用單元面積圖3 106-確定所需備用單元面積302-計算所需備用單元面積時,將備用單元面積取做總功能單元面積的一個百分比值圖4 106-確定所需備用單元面積402-計算所需備用單元面積時,對每一模塊來說,將備用單元面積取做一個固定值圖5 106-確定所需備用單元面積
502-計算所需備用單元面積時,根據(jù)總功能單元面積處于一系列數(shù)值范圍內的哪一個具體范圍,將備用單元面積取做某一個固定值圖6備用單元配置實施例604a-功能單元面積=800 604b-功能單元面積=1000604c-功能單元面積=1200604d-功能單元面積=800604e-功能單元面積=1400604f-功能單元面積=1600604g-功能單元面積=1200步驟102模塊設計方案中的功能單元總的功能單元面積=8000-------步驟104計算總的功能單元面積所需備用單元面積=1200-------步驟106確定所需備用單元面積總的單元面積=9200-------------步驟108計算總的單元面積步驟112將邊界作為輸入項提供到配置工具步驟114自動配置工具生成一種配置方案;白色空間面積約等于所需備用單元面積604a-功能單元面積=800 604b-功能單元面積=1000604c-功能單元面積=1200604d-功能單元面積=800604e-功能單元面積=1400604f-功能單元面積=1600604g-功能單元面積=1200608-白色空間步驟116用備用單元填充白色空間604a-功能單元面積=800 604b-功能單元面積=1000604c-功能單元面積=1200604d-功能單元面積=800604e-功能單元面積=1400604f-功能單元面積=1600604g-功能單元面積=1200612-備用單元具體實施方式
現(xiàn)在請參閱圖1,圖中所示為根據(jù)本發(fā)明在自動配置和布線模塊內配置備用單元時之配置方法流程圖。該流程圖起始于步驟102。
在步驟102,設計人員設計一個用于諸如微處理器之類集成電路設計方案的自動配置和布線模塊。自動配置和布線模塊為集成電路內功能模塊,該集成電路功能單元借助于自動配置和布線軟件程序或工具配置并布線到功能模塊內。自動配置和布線模塊示例為算術邏輯單元(ALU)或浮點單元(FPU)或多媒體增強單元(MXU)(任一多媒體增強單元還可進一步劃分為N加法器(N-bit adder),乘法器等),轉譯旁視緩沖器(TLB),總線接口單元(BIU),寄存器文件,指令轉譯器,指令列,寫入、填充或存儲緩沖器,諸如數(shù)據(jù)、指令或分支目標地址超高速緩沖存儲器之類不同元件的各種控制邏輯塊。眾所周知的自動配置和布線工具示例包括Mentor Graphics公司的TeraPlace工具,Synopsys公司的Physical Compiler工具和Cadence Design Systems公司的Silicon Ensemble工具。
一個單元是完成一種功能的一個電路,該電路具有特定的、不可更改的實體邊界,若該單元實體邊界更改,則根據(jù)定義該單元將不再是同類單元。一個模塊指在實體邊界內多個單元的集合,若功能單元組合更改的話,則根據(jù)定義該模塊將不再是同類模塊。然而,模塊實體邊界可更改且當其中功能單元組合保持不變時,該模塊的功能將保持不變。這與單元不同,對于單元來說,實體邊界是不可更改的。這樣的話,兩種不同自動配置工具可生成指定自動配置和布線模塊邊界內功能單元集合的多種不同位置組合。
在自動配置和布線時區(qū)分單元和模塊的另一方法是模塊具有實體等級,而單元沒有實體等級。自動配置和布線模塊也被稱作隨機邏輯宏(RLM)。值得注意的是諸如用戶設計模塊之類非自動配置和布線模塊也可不具備實體等級。例如設計諸如動態(tài)隨機存取存儲器之類用戶設計模塊時,設計人員可具體配置電路中諸如晶體管或邏輯門之類每一單獨元件,而不用自動配置和布線工具配置電路所有元件。
步驟102中自動配置和布線模塊設計方案包括自動配置和布線模塊內的功能單元清單。功能單元指輸入端和輸出端與模塊內其它單元連接并完成模塊功能的一個單元。功能單元是與備用單元相對而言的,備用單元可完成其同類功能單元具備的所有功能,但根據(jù)功能模塊設計方案,備用單元的輸入端和輸出端不與模塊內其它單元相連。模塊內包含備用單元的目的是便于隨后的工程更改,比如修改錯誤或加強集成電路功能。該功能模塊示例包括邏輯門(即AND、OR、NAND、NOR、XOR等),晶體管,鎖存器,觸發(fā)器,多路器,多路分解器,寄存器,比較器,進位保留加法器,計數(shù)器,移位寄存器,優(yōu)先編碼器,時鐘再生器,雙相緩沖器和同步器。
步驟102自動配置和布線模塊設計方案還包括連接信息。連接信息指描述功能單元的輸入端和輸出端是如何連接到一起的信息。連線表就是連接信息的一個實例。例如連接信息可能規(guī)定反相器XYZ的輸出腳位連接到NAND-門ABC的輸入腳位1,而NAND-門ABC的輸出腳位連接到NOR-門GHI的輸入腳位3。自動配置和布線工具在將單元配置到自動配置和布線模塊內時要考慮到這些連接信息,以便使得隨后的布線步驟更易于進行。此時該流程就從步驟102行進到步驟104。
在步驟104,設計人員將步驟102指定的自動配置和布線模塊設計方案中每一功能單元的面積相加以便確定總的功能單元面積。典型情況下,每個單元形狀均為矩形。尤其是,在確定總的功能單元面積時,設計人員不考慮最終要添加到自動配置和布線模塊內的備用單元。此時該流程從步驟104行進到步驟106。
在步驟106,設計人員確定自動配置和布線模塊內備用單元所需面積。此時,設計人員可采用多種方式確定所需備用單元面積。圖2到圖5表示確定備用單元面積的四種方式。此時該流程從步驟106行進到步驟108。
在步驟108,設計人員將步驟104確定的總的功能單元面積和步驟106確定的所需備用單元面積相加,以便獲得自動配置和布線模塊總單元面積。如同下面結合步驟112所描述的那樣,總單元面積近似等于自動配置和布線模塊邊界面積。尤其是,與傳統(tǒng)方法不同,該近似于自動配置和布線模塊邊界面積的總單元面積不會存在過多的富余空間。如同下述情況,在步驟106確定的備用單元面積在此作為富余空間,原因是與傳統(tǒng)方法不同,在本方法中備用單元不包括在提供到自動配置和布線工具的單元清單內。此時該流程從步驟108行進到步驟112。
在步驟112,運行自動配置和布線工具將步驟102確定的功能模塊清單內的功能模塊配置到自動配置和布線模塊內。此時至少有兩個輸入項提供到自動配置和布線工具 步驟102生成的功能單元清單和連接信息,自動配置和布線模塊邊界。尤其是,此時功能單元清單內不包括備用單元。這樣該工具就不會將備用單元配置到指定邊界內。步驟108確定的總單元面積包含步驟106確定的備用單元面積,由于備用單元不包括在提供到自動配置和布線工具的功能單元清單內,故備用單元面積不被自動配置和布線工具用于放置備用單元,這樣做的優(yōu)點是備用單元面積可當作富余空間,它使得自動配置和布線工具能夠更容易將功能單元放置到指定自動配置和布線模塊邊界內。
自動配置和布線模塊邊界是定出要放置功能模塊的多邊形頂點的一系列坐標值。這些多邊形頂點確定了一個區(qū)域,該區(qū)域面積近似等于步驟108確定的總單元面積。作為一種實施形式,多邊形的所有角均為直角。典型情況下,設計人員選擇功能模塊邊界多邊形的各種圖形以最優(yōu)化方式將自動配置和布線模塊填充到集成電路的平面配置圖內。此時該流程從步驟112行進到步驟114。
在步驟114,自動配置和布線工具在步驟112確定的邊界內生成步驟112指定功能單元的一種配置,或一種平面配置圖。由于總的功能單元面積小于邊界面積,該種配置就必然包括白色空間,即自動配置和布線模塊邊界內未被功能單元占據(jù)的尚未使用的區(qū)域。典型情況下,白色空間有多個單獨的白色空間組成,它們統(tǒng)稱為白色空間。這些單獨白色空間的面積總和,即總的白色空間面積,近似等于步驟106確定的所需備用單元的總面積。此時該流程從步驟114行進到步驟116。
在步驟116,設計人員通過自動配置和布線工具將備用單元放置到自動配置和布線模塊內剩余的白色空間內。此時,可將較大備用單元放置到較大單獨白色空間內,中等尺寸備用單元放置到中等單獨白色空間內,以此類推,直到所剩余的白色空間僅能放置諸如邏輯門和二極管之類小的備用單元為止。采用該種方式,可從根本上清除白色空間,從而達到幾乎完全利用自動配置和布線模塊面積的效果。另外還可采用其它各種方法將備用單元配置到白色空間內。比如設計人員可采用可視計算機輔助設計工具將備用單元手動配置到白色空間內。另外,軟件工具也可接收配置到自動配置和布線模塊的輸入備用單元清單和步驟114的自動配置和布線工具的配置輸出,自動將備用單元配置到自動配置和布線模塊的白色空間內。這樣該流程就在步驟116結束。
現(xiàn)在請參閱圖2,該圖表示圖1中步驟106確定所需備用單元面積步驟的第一種實施形式流程圖。該流程起始于步驟202。
在步驟202,設計人員確定自動配置和布線模塊內的備用單元清單。典型情況下,設計人員根據(jù)自動配置和布線模塊的功能選擇備用單元類型和數(shù)量。例如備用單元清單內通常包括大量的邏輯門。此時該流程行進到步驟204。
在步驟204,設計人員將步驟202確定的備用單元清單內單個備用單元的面積相加以便確定步驟106所需的備用單元面積。此時該流程圖就在步驟204結束。
現(xiàn)在請參閱圖3,該圖表示圖1中步驟106確定所需備用單元面積步驟的第二種實施形式流程圖。該流程起始于步驟302。
在步驟302,設計人員計算步驟106所需備用單元面積時,以圖1中步驟104確定的總功能單元面積的特定百分比來表示。例如設計人員可將總功能單元面積的10%作為所需備用單元面積。根據(jù)自動配置和布線模塊的復雜程度和/或尺寸不同,該百分比數(shù)值可作為其函數(shù)而取不同數(shù)值。此時該流程在步驟302結束。
現(xiàn)在請參閱圖4,該圖表示圖1中步驟106確定所需備用單元面積步驟的第三種實施形式流程圖。該流程起始于步驟402。
在步驟402,設計人員計算步驟106所需備用單元面積時,可將集成電路設計方案中所有模塊內的備用單元面積取做固定值。例如設計方案中可規(guī)定所需備用單元面積為500平方微米。此時該流程在步驟402結束。
現(xiàn)在請參閱圖5,該圖表示圖1中步驟106確定所需備用單元面積步驟的第四種實施形式流程圖。該流程起始于步驟502。
在步驟502,設計人員計算步驟106所需備用單元面積時,可將步驟104確定的總功能單元面積劃分為幾個范圍,對特定范圍內的備用單元面積取特定值。也就是說,集成電路設計人員可將總功能單元面積劃分成多個區(qū)間,對每一特定區(qū)間配置一個特定備用單元面積值。例如設計方案中可規(guī)定,當總功能單元面積小于4500平方微米時,所需備用單元面積為500平方微米;當總功能單元面積介于4500到6000平方微米之間時,所需備用單元面積為600平方微米;當總功能單元面積介于6000到8000平方微米之間時,所需備用單元面積為800平方微米;當總功能單元面積大于8000平方微米時,所需備用單元面積為1000平方微米。此時該流程在步驟502結束。
現(xiàn)在請參閱圖6,該圖表示根據(jù)本發(fā)明圖1所示情況,備用單元配置實施例的比例框圖。為便于例示性說明,圖6所示實施例已經被大幅度簡化,以致于僅包含七個功能單元,然而,一個典型自動配置和布線模塊可能包含數(shù)百個功能模塊。因此,與通常情況相比,實施例中功能模塊面積與總模塊面積相關性較大。
如圖6所示,七個功能模塊分別標注為604a到604g,統(tǒng)稱為功能模塊604,根據(jù)圖1中步驟102規(guī)定,該模塊604包含在典型自動配置和布線模塊設計方案中。功能單元604a到604g的面積分別為800,1000,1200,800,1400,1600和1200平方微米。除了功能模塊604每個模塊的面積之外,設計方案中還包含每個功能模塊604的輸入、輸出規(guī)格和表明如何將各個輸入端和輸出端連接到一起完成自動配置和布線模塊功能的連接信息。
如圖6所示,根據(jù)圖1步驟104規(guī)定,功能模塊604所有單元面積相加后所得總功能單元面積為8000平方微米。如圖6所示,根據(jù)圖1步驟106規(guī)定,本實施例中所需備用單元面積為1200平方微米。同樣如圖6所示,根據(jù)步驟108規(guī)定,將功能單元總面積與所需備用單元面積相加所得總單元面積為9200平方微米。
如圖6所示,確定自動配置和布線模塊邊界606,并根據(jù)圖1步驟112規(guī)定,將該邊界作為輸入項提供到自動配置和布線工具。自動配置和布線模塊邊界606為一多邊形,多邊形606通過指定其每一頂點坐標確定。該多邊形606的面積為9200平方微米,等于步驟108中確定的總單元面積。同樣在步驟112,功能單元604清單連同連接信息一起提供給自動配置工具。尤其值得注意的是備用單元不包含在提供給配置工具的功能單元604清單內。
如圖6所示,根據(jù)圖1步驟114規(guī)定,自動配置工具就會根據(jù)模塊邊界606、功能單元604清單和連接信息生成一種自動配置和布線模塊配置方案。如圖6所示,在該配置方案中存在白色空間608。圖6表示出模塊配置方案中的四個可區(qū)分的白色空間608。如圖所示,這些單獨白色空間608的面積總和約等于所需備用單元面積,即步驟106確定的1200平方微米。
如圖6所示,根據(jù)圖1步驟116規(guī)定,將備用單元配置到步驟114生成的白色空間608內。明顯的優(yōu)點是,本質上說整個白色空間608均填充有備用單元,這導致整個自動配置和布線模塊幾乎被完全有效配置,幾乎沒有浪費任何空間。如上所述,由于實施例采用了比正常情況下個數(shù)少得多的功能模塊604,該功能模塊604就大得不合比例,尤其是與備用元件相比,可能大得更是不合比例。
盡管上述內容已詳細描述了本發(fā)明及其目的、特征、優(yōu)點,但本發(fā)明還包括其它實施形式。例如盡管已經描述了幾種不同的確定備用單元面積的實施形式,實施過程中本發(fā)明允許使用任一方法確定備用單元面積。更進一步情況是,盡管描述本發(fā)明各個步驟時所涉及到的實施者均為集成電路設計人員,但該步驟也可由設計人員借助于計算機系統(tǒng)完成。
對于本領域技術人員,很顯然,在不脫離本發(fā)明之精神和范圍內,他們可采用此處所述概念和幾個具體實施形式作為基礎對用于完成與本發(fā)明同樣目的的其它結構進行設計和更改,因此本發(fā)明的保護范圍以權利要求的界定為準。
權利要求
1.一種自動配置和布線模塊中備用單元的配置方法,其特征在于,包括計算自動配置和布線模塊內功能單元清單和備用單元清單的總面積;提供該功能單元清單和邊界作為輸入項到自動配置和布線工具,以便據(jù)此生成自動配置和布線模塊平面配置圖,其中該功能模塊清單不包括備用單元清單,該邊界具有面積,約等于該功能單元清單和該備用單元清單的總面積;以及將備用單元清單中的備用單元大量地填充入該平面配置圖的白色空間內。
2.如權利要求1所述的自動配置和布線模塊中備用單元的配置方法,其特征在于,該白色空間包括該邊界內未被該功能單元清單中的功能單元占據(jù)的空間。
3.如權利要求1所述的自動配置和布線模塊中備用單元的配置方法,其特征在于,該備用單元包括多個單元,其輸出端和輸入端并沒有與自動配置和布線模塊內其它單元相連。
4.如權利要求1所述的自動配置和布線模塊中備用單元的配置方法,其特征在于,該功能單元包括多個單元,其輸出端和輸入端連接到自動配置和布線模塊內其它單元。
5.如權利要求1所述的自動配置和布線模塊中備用單元的配置方法,其特征在于,該功能單元包括多個單元,使自動配置和布線模塊完成其預期功能。
6.如權利要求1所述的自動配置和布線模塊中備用單元的配置方法,其特征在于,進一步包括提供該功能單元清單和該邊界并將該功能單元清單的連接信息作為輸入項提供到自動配置工具,以據(jù)此生成該自動配置和布線模塊平面配置圖。
7.一種將自動配置和布線模塊內單元配置到集成電路的方法,其中該自動配置和布線模塊設計方案包括指定欲包含的多個功能單元的功能單元清單,該多個功能單元的每個單元均含有面積值和輸入、輸出端,該自動配置和布線模塊設計方案還包括指定該多個功能單元的輸入、輸出端如何連接的連接信息,其特征在于,該方法包括確定備用單元面積;定出該自動配置和布線模塊的邊界,該邊界具有面積約等于該備用單元面積和該多個功能單元面積總和;向自動配置和布線軟件程序提供該功能單元清單、該連接信息、該邊界,此時該自動配置和布線軟件程序生成邊界內含有空白空間的該自動配置和布線模塊的平面配置方案;以及在該自動配置和布線軟件程序生成該自動配置和布線模塊平面配置方案后,將備用單元配置到該空白空間。
8.如權利要求7所述的將自動配置和布線模塊內單元配置到集成電路的方法,其特征在于,該功能單元清單不包括該備用單元。
9如權利要求7所述的將自動配置和布線模塊內單元配置到集成電路的方法,其特征在于,該空白空間的總面積約等于該備用單元面積。
10.如權利要求7所述的將自動配置和布線模塊內單元配置到集成電路的方法,其特征在于,上述將該備用單元配置到該空白空間的方法包括借助于計算機系統(tǒng)將該備用單元中的每一單元人為配置到該空白空間。
11.如權利要求7所述的將自動配置和布線模塊內單元配置到集成電路的方法,其特征在于,上述確定該備用單元面積的方法包括確定該自動配置和布線模塊內所需的備用單元清單;以及將該備用單元面積設置為約等于該備用單元清單面積總和。
12.如權利要求7所述的將自動配置和布線模塊內單元配置到集成電路的方法,其特征在于,上述確定該備用單元面積的方法包括在計算該備用單元面積時,將該面積取做該多個功能單元面積總和的一百分比值。
13.如權利要求7所述的將自動配置和布線模塊內單元配置到集成電路的方法,其特征在于,上述確定該備用單元面積的方法包括將該備用單元面積取做一個預定值。
14.如權利要求7所述的將自動配置和布線模塊內單元配置到集成電路的方法,其特征在于,上述確定該備用單元面積的方法包括將該備用單元面積取做多個預定值之一,其中該多個預定值對應于多個面積范圍,選擇該多個預定值之一時的依據(jù)為該多個功能單元面積總和落于該多個面積范圍的哪一個。
15.一種配置集成電路的功能模塊內的單元的方法,其特征在于,包括確定功能模塊內的單元清單,該清單不包括備用單元;定出功能模塊的邊界,該邊界具有一面積,該面積為該單元清單面積總和的一個函數(shù);生成該邊界內該單元清單的具體配置情況,其中該具體配置情況是通過自動配置軟件生成,該自動配置軟件接收該邊界和該單元清單的規(guī)格;以及上述該具體配置情況生成后,將備用單元配置到該邊界內白色空間,其中該白色空間是該自動配置軟件具體配置該單元清單時產生的。
16.如權利要求15所述的配置集成電路的功能模塊內的單元的方法,其特征在于,該單元清單包括多個執(zhí)行該功能模塊的功能的單元。
17.如權利要求15所述的配置集成電路的功能模塊內的單元的方法,其特征在于,該功能單元不具有實體分級結構。
18.如權利要求15所述的配置集成電路的功能模塊內的單元的方法,其特征在于,上述功能單元由不可更改的實體邊界定出。
全文摘要
本發(fā)明提供了一種將備用單元配置到集成電路自動配置和布線模塊內的方法。確定該模塊內功能單元清單時連同連線表一起確定。功能單元和所需備用單元面積總和用于確定模塊邊界面積。該邊界連同連線表及功能單元清單作為輸入項一起提供到自動布線工具。該功能單元清單實際上不含有任何備用單元,因此該配置工具不會將備用單元配置到邊界內。這樣,備用單元面積可被該工具用作富余空間以有效配置功能單元。該工具生成一種功能單元配置方案,其邊界內含有白色空間。然后再將備用單元配置到該白色空間內。
文檔編號H01L21/70GK1514482SQ0312783
公開日2004年7月21日 申請日期2003年8月11日 優(yōu)先權日2003年2月25日
發(fā)明者馬克·布雷澤爾, 亞歷山大·埃斯鮑姆, 大 埃斯鮑姆, 馬克 布雷澤爾 申請人:智權第一公司