自動(dòng)時(shí)鐘樹(shù)布線規(guī)則生成的制作方法
【技術(shù)領(lǐng)域】
[0001]本公開(kāi)涉及在電子電路設(shè)計(jì)期間的時(shí)鐘樹(shù)綜合。更具體地,本公開(kāi)涉及自動(dòng)時(shí)鐘樹(shù)布線規(guī)則生成。
【背景技術(shù)】
[0002]半導(dǎo)體技術(shù)中的進(jìn)展目前使其能夠在單個(gè)半導(dǎo)體芯片上集成數(shù)億個(gè)晶體管。半導(dǎo)體集成密度的這種急劇增大已經(jīng)對(duì)設(shè)計(jì)電路構(gòu)成了相當(dāng)大的挑戰(zhàn)。
[0003]時(shí)鐘樹(shù)綜合(CTS)和布線是電子設(shè)計(jì)自動(dòng)化(EDA)中兩個(gè)重要操作。CTS涉及用于將時(shí)鐘信號(hào)分布至電路設(shè)計(jì)中順序電路元件的集合的創(chuàng)建時(shí)鐘分布網(wǎng)絡(luò)的過(guò)程。對(duì)電路設(shè)計(jì)布線(包括在電路設(shè)計(jì)中布線一個(gè)或多個(gè)時(shí)鐘樹(shù))涉及確定對(duì)金屬引線的布線,金屬引線電連接電路元件以形成執(zhí)行了所需功能的布線電路。由布線器所生成的布線時(shí)鐘樹(shù)的質(zhì)量可以對(duì)EDA設(shè)計(jì)流程中下游階段造成重大影響。
【發(fā)明內(nèi)容】
[0004]一些實(shí)施例基于一個(gè)或多個(gè)度量自動(dòng)地生成(也即無(wú)需用戶手動(dòng)生成規(guī)則)用于在時(shí)鐘樹(shù)中布線網(wǎng)絡(luò)的非默認(rèn)布線規(guī)則的集合。一些實(shí)施例可以確定一個(gè)或多個(gè)以下度量:(1)對(duì)于網(wǎng)絡(luò)的擁擠度量,其中擁擠度量對(duì)應(yīng)于網(wǎng)絡(luò)附近布線擁擠的量,(2)對(duì)于網(wǎng)絡(luò)的延遲度量,其中延遲度量對(duì)應(yīng)于包括網(wǎng)絡(luò)的最長(zhǎng)延遲時(shí)鐘路徑的時(shí)鐘延遲,(3)對(duì)于網(wǎng)絡(luò)的串?dāng)_度量,其中串?dāng)_度量對(duì)應(yīng)于網(wǎng)絡(luò)從其他網(wǎng)絡(luò)接收的串?dāng)_的量,(4)對(duì)于網(wǎng)絡(luò)的電迀移度量,其中電迀移度量對(duì)應(yīng)于預(yù)期發(fā)生在網(wǎng)絡(luò)中電迀移的量,以及(5)對(duì)于網(wǎng)絡(luò)的時(shí)鐘樹(shù)層級(jí),其中時(shí)鐘樹(shù)的鐘根(root)對(duì)應(yīng)于最高時(shí)鐘樹(shù)層級(jí)。
[0005]接著,實(shí)施例可以基于一個(gè)或多個(gè)度量而生成用于布線網(wǎng)絡(luò)的非默認(rèn)布線規(guī)則的集合。布線規(guī)則可以規(guī)定引線應(yīng)該多寬以及相鄰引線應(yīng)該布置間隔多遠(yuǎn)。非默認(rèn)布線規(guī)則可以規(guī)定不同于默認(rèn)寬度的引線寬度和/或規(guī)定不同于默認(rèn)間距的間距(也即兩個(gè)引線之間的距離)。具體的,響應(yīng)于確定指示了網(wǎng)絡(luò)在高擁擠區(qū)域中的擁擠度量,一些實(shí)施例可以生成使用默認(rèn)規(guī)則引線寬度、默認(rèn)規(guī)則間距或兩者的布線規(guī)則。另一方面,響應(yīng)于確定指示了網(wǎng)絡(luò)并未在高擁擠區(qū)域中的擁擠度量,一些實(shí)施例可以生成一個(gè)或多個(gè)以下布線規(guī)則:
(1)使用比默認(rèn)規(guī)則引線寬度更寬的引線寬度、比默認(rèn)規(guī)則間距更寬的間距或兩者的布線規(guī)則,(2)使用防止網(wǎng)絡(luò)違反時(shí)鐘延遲規(guī)則的引線寬度和/或間距的布線規(guī)則,(3)使用防止網(wǎng)絡(luò)違反串?dāng)_規(guī)則的引線寬度和/或間距的布線規(guī)則,⑷使用防止網(wǎng)絡(luò)違反電迀移規(guī)則的引線寬度和/或間距的布線規(guī)則,和/或(5)使用基于時(shí)鐘樹(shù)層級(jí)的寬度值和間距值的布線規(guī)則,其中在更高時(shí)鐘樹(shù)層級(jí)下使用更大的寬度和間距值。
【附圖說(shuō)明】
[0006]圖1示出了根據(jù)在此所述一些實(shí)施例的同步電路裝置。
[0007]圖2示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的展現(xiàn)一般布線問(wèn)題的示例性電路設(shè)計(jì)。
[0008]圖3示出了根據(jù)在此描述的一些實(shí)施例的用于生成非默認(rèn)布線規(guī)則集合以用于在時(shí)鐘樹(shù)中布線網(wǎng)絡(luò)的方法。
[0009]圖4示出了根據(jù)在此所述一些實(shí)施例的計(jì)算機(jī)系統(tǒng)。
【具體實(shí)施方式】
[0010]展示一些說(shuō)明書(shū)以使得任何本領(lǐng)域技術(shù)人員制造和使用本發(fā)明,并且提供在特定應(yīng)用及其需求的上下文中。對(duì)所公開(kāi)實(shí)施例的各種修改對(duì)于本領(lǐng)域技術(shù)人員將是容易明顯的,并且在此限定的普遍原理可以適用于其他實(shí)施例和應(yīng)用而并未脫離本發(fā)明的精神和范圍。因此,本發(fā)明并非限于所示實(shí)施例,而是應(yīng)該符合與在此所公開(kāi)原理和特征一致的最寬范圍。在本公開(kāi)中,當(dāng)采用實(shí)體列表使用術(shù)語(yǔ)“和/或”時(shí),其涉及實(shí)體列表的所有可能組合。例如,術(shù)語(yǔ)“X、Y和/或Z”覆蓋了以下情形:(1)僅X;(2)僅Y;(3)僅Z;(4)X和Y;
(5)X和Z;(6)Y和Z;以及(7)X、Y*Z。此外,在本公開(kāi)中,術(shù)語(yǔ)“基于”意味著“完全或部分基于”。
[0011]電子設(shè)計(jì)自動(dòng)化mDA)流程的概述
[0012]EDA流程可以用于創(chuàng)建電路設(shè)計(jì)。一旦完成了電路設(shè)計(jì),其可以經(jīng)歷制造、封裝和組裝以產(chǎn)生集成電路芯片。EDA流程可以包括多個(gè)步驟,并且每個(gè)步驟可以涉及使用一個(gè)或多個(gè)EDA軟件工具。以下描述一些EDA步驟和軟件工具。這些EDA步驟和軟件工具的示例僅是示意性目的,并且并非意在將實(shí)施例限定為所公開(kāi)形式。
[0013]一些EDA軟件工具使得電路設(shè)計(jì)者能描述他們希望實(shí)施的功能。這些工具也使得電路設(shè)計(jì)者能執(zhí)行假設(shè)分析計(jì)劃以精煉功能、檢查成本等。在邏輯設(shè)計(jì)和功能驗(yàn)證期間,可以撰寫(xiě)例如SystemVerilog、用于系統(tǒng)中模塊的代碼的HDL(硬件描述語(yǔ)言),并且可以對(duì)于功能檢查設(shè)計(jì),例如可以檢查設(shè)計(jì)以確保其生成正確的輸出。
[0014]在測(cè)試的設(shè)計(jì)和綜合期間,HDL代碼可以使用一個(gè)或多個(gè)EDA軟件工具轉(zhuǎn)換為網(wǎng)表。此外,可以針對(duì)目標(biāo)技術(shù)優(yōu)化網(wǎng)表,并且可以設(shè)計(jì)和實(shí)施測(cè)試以檢測(cè)所完成的芯片。在網(wǎng)表驗(yàn)證期間,可以針對(duì)與時(shí)序約束的一致性和與HDL代碼的一致性檢查網(wǎng)表。
[0015]在設(shè)計(jì)計(jì)劃期間,可以構(gòu)造針對(duì)芯片的整體布局并針對(duì)時(shí)序和頂層布線進(jìn)行分析。在物理實(shí)施期間,電路元件可以定位在版圖(布局)中并且可以電耦合(布線)。
[0016]在分析和提取期間,可以在晶體管層級(jí)驗(yàn)證電路的功能并且可以提取寄生參數(shù)。在物理驗(yàn)證期間,可以檢查設(shè)計(jì)以確保對(duì)于制造、電學(xué)問(wèn)題、光刻問(wèn)題和電路裝置的正確性。
[0017]在分辨率增強(qiáng)期間,可以對(duì)版圖執(zhí)行幾何操縱以改進(jìn)設(shè)計(jì)的可制造性。在掩模數(shù)據(jù)準(zhǔn)備期間,設(shè)計(jì)可以“流片”(taped-out)以生成在制造期間使用的掩模。
[0018]時(shí)鐘樹(shù)
[0019]同步電路設(shè)計(jì)可以視為經(jīng)由組合邏輯云而電連接的順序電路元件的集合。例如,圖1示出了根據(jù)在此所述一些實(shí)施例的同步電路裝置。電路裝置100包括緩沖器104、106、107和108,順序電路元件110、112、114、116和118,以及組合邏輯云120、122和124。時(shí)鐘信號(hào)經(jīng)由包括緩沖器104、106、107和108的時(shí)鐘樹(shù)而從時(shí)鐘管腳102分布至順序電路元件110、112、114、116和118。順序電路元件通常是基于時(shí)鐘信號(hào)執(zhí)行操作的任何元件。例如,觸發(fā)器是順序電路元件。組合邏輯云包括一個(gè)或多個(gè)組合邏輯門(mén)(例如與(AND)門(mén)、或(OR)門(mén)、非(NOT)門(mén)、異或(X0R)門(mén)、多路復(fù)用器、多路分解器、緩沖器、中繼器等),但是并未包括任何順序電路元件。
[0020]使用一個(gè)或多個(gè)時(shí)鐘信號(hào)對(duì)在順序電路元件之間的數(shù)據(jù)傳輸進(jìn)行同步。例如,順序電路元件110可以發(fā)起穿過(guò)組合邏輯云120 (可以將信號(hào)與其他信號(hào)邏輯組合)、并且可以被順序電路兀件118捕獲的彳目號(hào)。發(fā)起和捕獲可以基于提供至順序電路兀件110和118的時(shí)鐘信號(hào)而同步。
[0021]時(shí)鐘樹(shù)包括將時(shí)鐘信號(hào)分布至電路設(shè)計(jì)中一個(gè)或多個(gè)順序電路元件的電路裝置。例如,圖1中所示時(shí)鐘樹(shù)包括緩沖器104、106、107和108,并且將時(shí)鐘管腳102電連接至順序電路元件110、112、114、116和118的時(shí)鐘輸入管腳。時(shí)鐘域可以涉及使用給定時(shí)鐘信號(hào)鐘控的一部分電路設(shè)計(jì)。例如,圖1中所示電路裝置100是對(duì)應(yīng)于從時(shí)鐘管腳102分布的時(shí)鐘信號(hào)的時(shí)鐘域的一部分。電路設(shè)計(jì)可以包括多個(gè)時(shí)鐘域,并且每個(gè)時(shí)鐘域可以包括多個(gè)時(shí)鐘樹(shù)。
[0022]布線
[0023]一旦已經(jīng)創(chuàng)建時(shí)鐘樹(shù)(例如已經(jīng)確定了電連接和緩沖器位置),則必須布線時(shí)鐘樹(shù)。圖2示出了展示了根據(jù)本發(fā)明實(shí)施例的一般布線問(wèn)題的示例性電路設(shè)計(jì)。電路設(shè)計(jì)200包括組塊的集合(例如組塊202、204、206、208、210、212、214和216),其可以代表在設(shè)計(jì)分級(jí)結(jié)構(gòu)中任何層級(jí)處的電路對(duì)象。例如,組塊可以是單元、宏、緩沖器,或者在分級(jí)結(jié)構(gòu)的任何層級(jí)處的任何其他電路對(duì)象。
[0024]電路元件(例如緩沖器、順序電路元件等)可以具有一個(gè)或多個(gè)管腳,并且每個(gè)管腳可以被指派至網(wǎng)絡(luò)。對(duì)于布線方法或系統(tǒng)的任務(wù)是在電路設(shè)計(jì)中對(duì)引線布線,使得被指派至相同網(wǎng)絡(luò)的管腳相互電連接。例如,網(wǎng)絡(luò)220電連接了組塊202、204、206和210中的管腳,以及網(wǎng)絡(luò)218電連接了組塊208、210、212、214和216中的管腳。
[0025]布線方法或系統(tǒng)可以采取多個(gè)