雙重結(jié)構(gòu)的時鐘樹綜合(cts)的制作方法
【技術(shù)領(lǐng)域】
[0001]本公開涉及時鐘樹綜合(CTS)。更具體地,本公開涉及雙重結(jié)構(gòu)的CTS。
【背景技術(shù)】
[0002]CTS指代創(chuàng)建用于向電路設(shè)計中的時序電路元件的集合分發(fā)時鐘信號的時鐘分發(fā)網(wǎng)絡(luò)的過程。電路設(shè)計可以包括多個時鐘域,并且每個時鐘域可以包括多個時鐘樹。由CTS生成的時鐘樹的質(zhì)量對于EDA流程中的下游階段尤其是時序收斂能夠具有顯著的影響。因此,所需要的是用于CTS的能夠有效創(chuàng)建高質(zhì)量時鐘樹的系統(tǒng)和技術(shù)。
【發(fā)明內(nèi)容】
[0003]在此描述的一些實(shí)施例提供了用于構(gòu)建時鐘樹的系統(tǒng)和技術(shù)。一些實(shí)施例可以構(gòu)建上級時鐘樹的集合,并且其中每個上級時鐘樹的每個時鐘葉是較低層時鐘樹的根,并且其中每個上級時鐘樹可以被優(yōu)化以減少片上變異(on-chip-variat1n, 0CV)和/或?qū)亲儺?cross-corner variat1n)對于時鐘偏差的影響。接下來,針對每個上級時鐘樹的每個時鐘葉,實(shí)施例可以構(gòu)建較低層時鐘樹,其中下級時鐘樹將時鐘信號從上級時鐘樹的時鐘葉分發(fā)至?xí)r鐘宿端的集合。下級時鐘樹可以被優(yōu)化以降低延時、功耗和/或面積。
[0004]在一些實(shí)施例中,上級時鐘樹中的導(dǎo)線可以具有比下級時鐘樹中的導(dǎo)線更寬的寬度。在一些實(shí)施例中,給定的上級時鐘樹的所有水平導(dǎo)線可以被布線在相同金屬層上。在一些實(shí)施例中,給定的上級時鐘樹的所有垂直導(dǎo)線可以被布線在相同金屬層上。在一些實(shí)施例中,給定上級時鐘樹中的所有緩沖器可以具有相同大小。
【附圖說明】
[0005]圖1圖示了根據(jù)在此描述的一些實(shí)施例操作和工藝條件如何能夠在芯片上變異。
[0006]圖2圖示了根據(jù)在此描述的一些實(shí)施例時序約束如何能夠考慮0CV變異。
[0007]圖3A-3B圖示了根據(jù)在此描述的一些實(shí)施例改變時鐘樹拓?fù)淙绾文軌蛴绊懙?CV時鐘偏差。
[0008]圖4圖示了根據(jù)在此描述的一些實(shí)施例的用于執(zhí)行0CV和時序臨界性可知的CTS的過程。
[0009]圖5圖示了根據(jù)在此描述的一些實(shí)施例的雙重結(jié)構(gòu)的時鐘樹的邏輯電路圖。
[0010]圖6圖示了根據(jù)在此描述的一些實(shí)施例的上級時鐘樹的一部分。
[0011]圖7圖示了根據(jù)在此描述的一些實(shí)施例的用于構(gòu)建雙重結(jié)構(gòu)的時鐘樹的過程。
[0012]圖8圖示了根據(jù)在此描述的一些實(shí)施例的計算機(jī)系統(tǒng)。
【具體實(shí)施方式】
[0013]以下描述被呈現(xiàn)以使得本領(lǐng)域技術(shù)人員能夠制造并使用本發(fā)明,并且在特定應(yīng)用及其需求的上下文中被提供。針對所公開的實(shí)施例的各種修改對于本領(lǐng)域技術(shù)人員而言將是顯而易見的,并且在此定義的總體原則可以被應(yīng)用于其它實(shí)施例和應(yīng)用而并不偏離本發(fā)明的精神和范圍。因此,本發(fā)明不限于所示的實(shí)施例,而是將被賦予與在此公開的原則和特征一致的最寬范圍。在本公開中,當(dāng)術(shù)語“和/或”與實(shí)體列表一同使用時,其指代該實(shí)體列表中的所有可能組合。例如,短語“X、Y和/或Z”覆蓋了以下情形:⑴僅X ; (2)僅Y ;
(3)僅 Z;(4)X 和 Y;(6)X和 Z;(6)Y和 Z;以及(7)Χ、Υ 和 Ζ。
[0014]電子設(shè)計自動化mDA)流程的概述
[0015]EDA流程能夠被用來創(chuàng)建電路設(shè)計。一旦電路設(shè)計完成,其能夠進(jìn)行制造、封裝和裝配以生產(chǎn)集成電路芯片。EDA流程可以包括多個步驟,并且每個步驟能夠涉及到使用一種或多種EDA軟件工具。以下描述了一些EDA步驟和軟件工具。EDA步驟和軟件工具的這些示例僅出于說明的目的而非旨在將實(shí)施例限于所公開的形式。
[0016]—些EDA軟件工具使得電路設(shè)計者能夠描述電路設(shè)計的功能。這些工具還使得電路設(shè)計者能夠執(zhí)行假設(shè)情景(what-1f)規(guī)劃以完善功能、檢查成本等。在邏輯設(shè)計和功能驗證期間,能夠編寫針對系統(tǒng)中的模塊的例如SystemVerilog的HDL(硬件描述語言)代碼并且能夠檢查設(shè)計的功能準(zhǔn)確性,例如,能夠?qū)υO(shè)計進(jìn)行檢查以確保其產(chǎn)生正確的輸出。
[0017]在針對測試的綜合和設(shè)計期間,HDL能夠使用一種或多種EDA軟件工具將HDL代碼翻譯為網(wǎng)表(netlist)。進(jìn)一步地,網(wǎng)表能夠針對目標(biāo)技術(shù)被優(yōu)化,并且能夠設(shè)計并實(shí)施測試以檢查所完成的芯片。在網(wǎng)表驗證期間,能夠針對與時序約束的兼容性以及與HDL代碼的對應(yīng)性來檢查網(wǎng)表。
[0018]在設(shè)計規(guī)劃期間,芯片的整體平面布局(floorplan)能夠被構(gòu)建以及針對時序和頂層布線而被分析。在物理實(shí)施期間,電路元件能夠被放置在布局(放置)中并且能夠被電親合(布線)。
[0019]在分析和提取期間,能夠在晶體管層面來驗證電路的功能并且能夠提取到寄生效應(yīng)。在物理驗證期間,能夠?qū)υO(shè)計進(jìn)行檢查以確保制造、電氣問題、平版印刷問題和電路的正確性。
[0020]在分辨率增強(qiáng)期間,可以在布局上形成幾何操控以提高設(shè)計的可制造性。在掩模數(shù)據(jù)準(zhǔn)備期間,設(shè)計能夠被“流片(taped-out) ”以產(chǎn)生在制造期間被使用的掩模。
[0021]0CV和時序臨界件可知的CTS
[0022]0CV是指芯片上的操作和工藝條件上的變異。圖1圖示了根據(jù)在此描述的一些實(shí)施例操作和工藝條件如何能夠在芯片上變異。電壓、溫度和工藝參數(shù)(例如,通道長度)可以在芯片102上變異。例如,區(qū)域104中的電源、溫度和工藝參數(shù)可以分別為3.2V、72° F和
0.26 μ。另一方面,區(qū)域106中的電源、溫度和工藝參數(shù)可以分別為3.4V、68° F和0.24μ。0CV能夠影響電路元件的一個或多個特性。例如,由于0CV,區(qū)域104中的單元的實(shí)例可以具有與區(qū)域106中的相同單元的實(shí)例不同的延遲特性。
[0023]總體上,兩個位置之間的0CV的數(shù)量隨著距離而增大。例如,彼此位置遠(yuǎn)離的兩個完全相同的單元被預(yù)期為在其特性(例如,延遲)方面與彼此位置靠近的兩個完全相同的單元相比具有更大差異。此外,0CV的數(shù)量通常隨著路徑長度的增加和/或路徑中電路元件的數(shù)量增加而增大。例如,較長的導(dǎo)線被預(yù)期為與較短導(dǎo)線相比具有更為明顯的0CV影響。進(jìn)一步地,擁有更大數(shù)量的電路元件的路徑被預(yù)期為與擁有較少電路元件的路徑相比具有更大的0CV影響。
[0024]0CV可以影響時鐘偏差,因為0CV能夠?qū)е码娐吩蛯?dǎo)線的延遲與其標(biāo)稱值不同。因此,時序約束需要考慮這樣的變異。圖2圖示了根據(jù)在此描述的一些實(shí)施例時序約束如何能夠考慮0CV變異。電路200包括時序電路元件202、時序電路元件204和時序電路元件206。每個時序電路元件具有接收時鐘信號的時鐘輸入“C”,基于該時鐘信號發(fā)射數(shù)據(jù)信號的輸出“Q”,以及基于該時鐘信號捕獲數(shù)據(jù)信號的輸入“D”。雖然“D觸發(fā)器”已經(jīng)在圖2中被用作時序電路元件的示例,但是時序電路元件202、時序電路元件204和時序電路元件206通??梢允鞘褂脮r鐘信號定時的任意電路。
[0025]組合邏輯云214和組合邏輯云216可以包括一條或多條導(dǎo)線和/或一個或多個組合邏輯門,但是它們不包括任何時序電路元件。在一個時序電路元件的輸出處發(fā)射的數(shù)據(jù)信號在另一時序電路元件的輸入處被捕獲之前可以通過組合邏輯云。例如,由時序電路元件202的輸出“Q”發(fā)射的數(shù)據(jù)信號在時序電路元件204的輸入“D”處被捕獲之前通過組合邏輯云214(在此其可以與其它數(shù)據(jù)信號進(jìn)行邏輯組合)。
[0026]時鐘信號“CLK”能夠使用包括緩沖器208、緩