用于實現(xiàn)集成電路的邏輯綜合的方法和設(shè)備的制作方法
【專利摘要】提供一種用于實現(xiàn)集成電路的邏輯綜合的設(shè)備和方法。所述設(shè)備包括:OCV余量獲取單元,獲取表示每對發(fā)射寄存器與捕獲寄存器之間的時鐘偏差由于OCV而出現(xiàn)的變化值的OCV余量;邏輯綜合項獲取單元,獲取集成電路的寄存器傳輸級硬件描述語言代碼、集成電路的工藝庫、集成電路的設(shè)計約束,在所述考慮OCV的時序約束下,每對發(fā)射寄存器與捕獲寄存器之間的數(shù)據(jù)路徑延時為集成電路的一個時鐘周期與所述OCV余量之和;邏輯綜合單元,對集成電路的寄存器傳輸級硬件描述語言代碼進(jìn)行邏輯綜合以生成集成電路的邏輯門級網(wǎng)表。在所述方法和設(shè)備中,在邏輯綜合的過程中考慮所述OCV余量,減少集成電路在運行階段的時序相對于設(shè)計階段的偏差。
【專利說明】用于實現(xiàn)集成電路的邏輯綜合的方法和設(shè)備
【技術(shù)領(lǐng)域】
[0001]本發(fā)明總體來說涉及集成電路設(shè)計領(lǐng)域,具體說來,涉及一種用于實現(xiàn)集成電路的邏輯綜合的方法和設(shè)備。
【背景技術(shù)】
[0002]典型的集成電路的設(shè)計流程一般包括以下幾個步驟:寄存器傳輸級設(shè)計、邏輯綜合、布局、時鐘樹綜合、布線。在寄存器傳輸級設(shè)計的步驟中,利用寄存器傳輸級硬件描述語言來描述集成電路的信號儲存以及信號在寄存器、存儲器、組合邏輯裝置和總線等邏輯單元之間傳輸?shù)那闆r。在邏輯綜合的步驟中,使用邏輯綜合工具根據(jù)設(shè)定的工藝庫、設(shè)計約束將寄存器傳輸級硬件描述語言代碼轉(zhuǎn)換為針對特定工藝的邏輯門級網(wǎng)表,在所述設(shè)計約束中包括了集成電路的時序約束。所述邏輯門級網(wǎng)表記錄了各邏輯單元之間的連接關(guān)系。在布局的步驟中,根據(jù)時序、利用率、擁擠度、功耗等約束條件將各個邏輯單元進(jìn)行物理布局。在時鐘樹綜合的步驟中,設(shè)計出從原始時鐘源到目標(biāo)時序邏輯單元的路徑,以滿足上設(shè)計約束中的時序約束。在布線的步驟中,完成各邏輯單元之間的布線。
[0003]0CV(片上工藝偏差)是指由于溫度上的輕微偏差、工藝步驟的持續(xù)時間、化學(xué)制劑的濃度以及每只晶圓之間、同一晶圓不同晶粒之間及同一晶粒不同晶體管之間的細(xì)微差異而導(dǎo)致集成電路生產(chǎn)后出現(xiàn)各種各樣的偏差。這就是說,物理結(jié)構(gòu)相同的晶體管單元會由于其在集成電路中所處的物理位置不同而表現(xiàn)出不同的電氣特性。由于集成電路中的寄存器的時鐘延時會隨溫度、電壓、工藝參數(shù)等變化而變化,因此OCV會嚴(yán)重影響時序收斂,即按照上述集成電路設(shè)計流程設(shè)計的集成電路,在實際的運行中可能會由于OCV的影響而出現(xiàn)不滿足上述設(shè)計約束中的時序約束的問題。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的示例性實施例在于提供一種用于實現(xiàn)集成電路的邏輯綜合的方法和設(shè)備。
[0005]根據(jù)本發(fā)明的示例性實施例的一方面,提供一種用于實現(xiàn)集成電路的邏輯綜合的設(shè)備,包括:ocv余量獲取單元,獲取集成電路中的每對發(fā)射寄存器與捕獲寄存器之間的OCV余量,其中,所述OCV余量表示每對發(fā)射寄存器與捕獲寄存器之間的時鐘偏差由于OCV而出現(xiàn)的變化值;邏輯綜合項獲取單元,獲取集成電路的寄存器傳輸級硬件描述語言代碼、集成電路的工藝庫、集成電路的設(shè)計約束,其中,所述設(shè)計約束包括環(huán)境約束、考慮OCV的時序約束、設(shè)計規(guī)則約束,在所述考慮OCV的時序約束下,每對發(fā)射寄存器與捕獲寄存器之間的數(shù)據(jù)路徑延時為集成電路的一個時鐘周期與所述OCV余量之和;邏輯綜合單元,基于所述邏輯綜合項獲取單元獲取的集成電路的工藝庫和集成電路的設(shè)計約束對集成電路的寄存器傳輸級硬件描述語言代碼進(jìn)行邏輯綜合以生成集成電路的邏輯門級網(wǎng)表。
[0006]在所述設(shè)備中,OCV余量獲取單元可基于每對發(fā)射寄存器和捕獲寄存器在已經(jīng)建造的集成電路的時鐘樹中的時鐘延時來計算所述每對發(fā)射寄存器與捕獲寄存器之間的OCV余量。
[0007]在所述設(shè)備中,OCV余量獲取單元可基于如下計算式來計算所述每對發(fā)射寄存器與捕獲寄存器之間的OCV余量:0CV余量=(Ta+Tb) Xft^v,其中,Ta為所述每對發(fā)射寄存器和捕獲寄存器中的發(fā)射寄存器在已經(jīng)建造的集成電路的時鐘樹中的時鐘延時,Tb為所述每對發(fā)射寄存器和捕獲寄存器中的捕獲寄存器在已經(jīng)建造的集成電路的時鐘樹中的時鐘延時,f..Socv 系數(shù)。
[0008]在所述設(shè)備中,OCV余量獲取單元可包括:臨時邏輯綜合單元,獲取集成電路的寄存器傳輸級硬件描述語言代碼、集成電路的工藝庫、集成電路的設(shè)計約束,基于集成電路的工藝庫和集成電路的設(shè)計約束對集成電路的寄存器傳輸級硬件描述語言代碼進(jìn)行邏輯綜合以生成集成電路的臨時邏輯門級網(wǎng)表,其中,所述設(shè)計約束包括環(huán)境約束、不考慮OCV的時序約束、設(shè)計規(guī)則約束,在所述不考慮OCV的時序約束下,每對發(fā)射寄存器與捕獲寄存器之間的數(shù)據(jù)路徑延時為集成電路的一個時鐘周期;虛擬時鐘樹建造單元,基于臨時邏輯門級網(wǎng)表建造集成電路的虛擬時鐘樹,其中,在所述虛擬時鐘樹中,每個時鐘節(jié)點由一個虛擬的驅(qū)動單元來驅(qū)動;計算單元,基于每對發(fā)射寄存器和捕獲寄存器在虛擬時鐘樹中的時鐘延時來計算所述每對發(fā)射寄存器與捕獲寄存器之間的OCV余量。
[0009]在所述設(shè)備中,計算單元可基于如下計算式來計算所述每對發(fā)射寄存器與捕獲寄存器之間的OCV余量:ocv余量=OV +Tb’)X f.,其中,Ta’為所述每對發(fā)射寄存器和捕獲寄存器中的發(fā)射寄存器在虛擬時鐘樹中的時鐘延時,Tb’為所述每對發(fā)射寄存器和捕獲寄存器中的捕獲寄存器在虛擬時鐘樹中的時鐘延時,focv為OCV系數(shù)。
[0010]在所述設(shè)備中,在所述考慮OCV的約束下,當(dāng)OCV余量大于預(yù)定值時,與所述OCV余量對應(yīng)的發(fā)射寄存器與捕獲寄存器之間的數(shù)據(jù)路徑延時為集成電路的一個時鐘周期與所述OCV余量之和。
[0011]根據(jù)本發(fā)明的示例性實施例的另一方面,提供一種用于實現(xiàn)集成電路的邏輯綜合的方法,包括:(a)獲取集成電路中的每對發(fā)射寄存器與捕獲寄存器之間的OCV余量,其中,所述OCV余量表示每對發(fā)射寄存器與捕獲寄存器之間的時鐘偏差由于OCV而出現(xiàn)的變化值;(b)獲取集成電路的寄存器傳輸級硬件描述語言代碼、集成電路的工藝庫、集成電路的設(shè)計約束,其中,所述設(shè)計約束包括環(huán)境約束、考慮OCV的時序約束、設(shè)計規(guī)則約束,在所述考慮OCV的時序約束下,每對發(fā)射寄存器與捕獲寄存器之間的數(shù)據(jù)路徑延時為集成電路的一個時鐘周期與所述OCV余量之和;(C)基于集成電路的工藝庫和集成電路的設(shè)計約束對集成電路的寄存器傳輸級硬件描述語言代碼進(jìn)行邏輯綜合以生成集成電路的邏輯門級網(wǎng)表。
[0012]在所述方法中,在步驟(a)中,可基于每對發(fā)射寄存器和捕獲寄存器在已經(jīng)建造的集成電路的時鐘樹中的時鐘延時來計算所述每對發(fā)射寄存器與捕獲寄存器之間的OCV余量。
[0013]在所述方法中,在步驟(a)中,可基于如下計算式來計算所述每對發(fā)射寄存器與捕獲寄存器之間的OCV余量:0CV余量=(Ta+Tb) Xft^v,其中,Ta為所述每對發(fā)射寄存器和捕獲寄存器中的發(fā)射寄存器在已經(jīng)建造的集成電路的時鐘樹中的時鐘延時,Tb為所述每對發(fā)射寄存器和捕獲寄存器中的捕獲寄存器在已經(jīng)建造的集成電路的時鐘樹中的時鐘延時,f..Socv 系數(shù)。
[0014]在所述方法中,步驟(a)可包括:(al)獲取集成電路的寄存器傳輸級硬件描述語言代碼、集成電路的工藝庫、集成電路的設(shè)計約束,基于集成電路的工藝庫和集成電路的設(shè)計約束對集成電路的寄存器傳輸級硬件描述語言代碼進(jìn)行邏輯綜合以生成集成電路的臨時邏輯門級網(wǎng)表,其中,所述設(shè)計約束包括環(huán)境約束、不考慮OCV的時序約束、設(shè)計規(guī)則約束,在所述不考慮OCV的時序約束下,每對發(fā)射寄存器與捕獲寄存器之間的數(shù)據(jù)路徑延時為集成電路的一個時鐘周期;(a2)基于臨時邏輯門級網(wǎng)表建造集成電路的虛擬時鐘樹,其中,在所述虛擬時鐘樹中,每個時鐘節(jié)點由一個虛擬的驅(qū)動單元來驅(qū)動;(a3)基于每對發(fā)射寄存器和捕獲寄存器在虛擬時鐘樹中的時鐘延時來計算所述每對發(fā)射寄存器與捕獲寄存器之間的OCV余量。
[0015]在所述方法中,在步驟(a3)中,可基于如下計算式來計算所述每對發(fā)射寄存器與捕獲寄存器之間的OCV余量:ocv余量=OV +Tb’)父&?,其中,!7為所述每對發(fā)射寄存器和捕獲寄存器中的發(fā)射寄存器在虛擬時鐘樹中的時鐘延時,Tb’為所述每對發(fā)射寄存器和捕獲寄存器中的捕獲寄存器在虛擬時鐘樹中的時鐘延時,focv為OCV系數(shù)。
[0016]在所述方法中,在步驟(b)中,在所述考慮OCV的約束下,當(dāng)OCV余量大于預(yù)定值時,與所述OCV余量對應(yīng)的發(fā)射寄存器與捕獲寄存器之間的數(shù)據(jù)路徑延時為集成電路的一個時鐘周期與所述OCV余量之和。
[0017]在根據(jù)本發(fā)明示例性實施例的用于實現(xiàn)集成電路的邏輯綜合的方法和設(shè)備中,在邏輯綜合的過程中考慮所述OCV余量,減少集成電路在運行階段的時序相對于設(shè)計階段的偏差。
【專利附圖】
【附圖說明】
[0018]通過下面結(jié)合示例性地示出實施例的附圖進(jìn)行的描述,本發(fā)明示例性實施例的上述和其他目的以及特點將會變得更加清楚,其中:
[0019]圖1示出根據(jù)本發(fā)明示例性實施例的用于實現(xiàn)集成電路的邏輯綜合的設(shè)備的框圖;
[0020]圖2示出根據(jù)本發(fā)明示例性實施例的OCV余量獲取單元的框圖;
[0021]圖3示出根據(jù)本發(fā)明示例性實施例的用于實現(xiàn)集成電路的邏輯綜合的方法的流程圖;
[0022]圖4根據(jù)本發(fā)明示例性實施例的獲取OCV余量的步驟的流程圖。
【具體實施方式】
[0023]現(xiàn)將詳細(xì)參照附圖來說明本發(fā)明的示例性實施例,所述實施例的示例在附圖中示出,其中,相同的標(biāo)號始終指的是相同的部件。
[0024]圖1示出根據(jù)本發(fā)明示例性實施例的用于實現(xiàn)集成電路的邏輯綜合的設(shè)備的框圖。
[0025]如圖1所示,根據(jù)本發(fā)明示例性實施例的用于實現(xiàn)集成電路的邏輯綜合的設(shè)備包括:0CV余量獲取單元10、邏輯綜合項獲取單元20和邏輯綜合單元30。這些單元可通過硬件方式來實現(xiàn),還可完全通過計算機(jī)程序來以軟件方式實現(xiàn),例如,被實現(xiàn)為安裝在計算機(jī)中用于設(shè)計集成電路的軟件中的各個模塊。
[0026]具體說來,OCV余量獲取單元10獲取集成電路中的每對發(fā)射寄存器與捕獲寄存器之間的OCV余量。在集成電路中,每對相鄰的寄存器會通過它們之間的組合邏輯電路進(jìn)行數(shù)據(jù)信號的傳輸,在傳輸中發(fā)送數(shù)據(jù)信號的寄存器為發(fā)射寄存器,接收數(shù)據(jù)信號的寄存器為捕獲寄存器。應(yīng)理解,同一寄存器相對于與之相鄰的不同寄存器來說,需要既發(fā)送數(shù)據(jù)信號又接收數(shù)據(jù)信號,因此,該寄存器在發(fā)送數(shù)據(jù)信號時作為發(fā)射寄存器,而在接收信號時則作為捕獲寄存器。
[0027]所述OCV余量表示每對發(fā)射寄存器與捕獲寄存器之間的時鐘偏差由于OCV而出現(xiàn)的變化值。時鐘延時是指時鐘信號從時鐘源出發(fā)至到達(dá)寄存器的時鐘輸入端所用的時間。由于時鐘源與各個寄存器之間的路徑不同,因而從時鐘源到各個寄存器的時鐘輸入端的時鐘延時也不一樣。時鐘偏差就是不同寄存器的時鐘延時之間的差異。在集成電路的運行過程中,OCV會使寄存器的時鐘延時發(fā)生改變,因此每對發(fā)射寄存器與捕獲寄存器之間的時鐘偏差也會由于OCV發(fā)生改變。相應(yīng)地,所述OCV余量就是每對發(fā)射寄存器與捕獲寄存器之間的時鐘偏差由于OCV而出現(xiàn)的變化值。
[0028]邏輯綜合項獲取單元20獲取集成電路的寄存器傳輸級硬件描述語言代碼、集成電路的工藝庫、集成電路的設(shè)計約束。這里,所述設(shè)計約束包括環(huán)境約束、考慮OCV的時序約束、設(shè)計規(guī)則約束,在所述考慮OCV的時序約束下,每對發(fā)射寄存器與捕獲寄存器之間的數(shù)據(jù)路徑延時為集成電路的一個時鐘周期與所述OCV余量之和。
[0029]具體說來,所述寄存器傳輸級硬件描述語言代碼是在集成電路的設(shè)計流程中的寄存器傳輸級設(shè)計的步驟中生成的。所述工藝庫由設(shè)計人員在邏輯綜合前選定,所述設(shè)計約束由設(shè)計人員在邏輯綜合前進(jìn)行設(shè)置。所述發(fā)射寄存器與捕獲寄存器之間的數(shù)據(jù)路徑延時為數(shù)據(jù)信號從發(fā)射寄存器的輸出端傳輸?shù)讲东@寄存器的接收端需要花費的時間,即數(shù)據(jù)信號通過發(fā)射寄存器和捕獲寄存器之間的組合邏輯電路需要花費的時間。
[0030]邏輯綜合單元30基于所述邏輯綜合項獲取單元20獲取的集成電路的工藝庫和集成電路的設(shè)計約束對集成電路的寄存器傳輸級硬件描述語言代碼進(jìn)行邏輯綜合以生成集成電路的邏輯門級網(wǎng)表。這里,所述邏輯門級網(wǎng)表是在所述考慮OCV的時序約束下生成的,即每對發(fā)射寄存器與捕獲寄存器之間的數(shù)據(jù)路徑延時為集成電路的一個時鐘周期與所述OCV余量之和。如上所述,發(fā)射寄存器與捕獲寄存器之間的數(shù)據(jù)路徑延時為數(shù)據(jù)信號從發(fā)射寄存器的輸出端傳輸?shù)讲东@寄存器的接收端需要花費的時間,即數(shù)據(jù)信號通過發(fā)射寄存器和捕獲寄存器之間的組合邏輯電路需要花費的時間。在所述邏輯門級網(wǎng)表中記錄了每對發(fā)射寄存器與捕獲寄存器之間的組合邏輯電路的結(jié)構(gòu),所述每對發(fā)射寄存器與捕獲寄存器之間的組合邏輯電路的結(jié)構(gòu)需滿足所述考慮OCV的時序約束,即數(shù)據(jù)信號通過發(fā)射寄存器與捕獲寄存器之間的組合邏輯電路花費的時間為所述集成電路的一個時鐘周期與所述OCV余量之和。
[0031]由于現(xiàn)有技術(shù)中的邏輯綜合是在不考慮OCV的時序約束下進(jìn)行的(也就是說,每對發(fā)射寄存器與捕獲寄存器之間的數(shù)據(jù)路徑延時僅為集成電路的一個時鐘周期),因此,時序設(shè)計會由于OCV的存在而導(dǎo)致一定的偏差。相應(yīng)地,在本發(fā)明的示例性實施例中,通過更改每對發(fā)射寄存器與捕獲寄存器之間的組合邏輯電路結(jié)構(gòu),來抵消了所述OCV余量對集成電路的時序的影響。
[0032]這樣,在集成電路的設(shè)計流程中的邏輯綜合的步驟中,考慮OCV對時鐘偏差的影響,減少集成電路在運行階段的時序相對于設(shè)計階段的偏差。
[0033]優(yōu)選地,為了簡化組合邏輯電路的結(jié)構(gòu),在所述考慮OCV的約束下,當(dāng)OCV余量大于預(yù)定值時,與所述OCV余量對應(yīng)的發(fā)射寄存器與捕獲寄存器之間的數(shù)據(jù)路徑延時為集成電路的一個時鐘周期與所述OCV余量之和;當(dāng)OCV余量小于或等于預(yù)定值時,與所述OCV余量對應(yīng)的發(fā)射寄存器與捕獲寄存器之間的數(shù)據(jù)路徑延時為集成電路的一個時鐘周期。換言之,只有與大于預(yù)定值的OCV余量對應(yīng)的發(fā)射寄存器與捕獲寄存器之間的組合邏輯電路的結(jié)構(gòu)的設(shè)計才需要考慮所述OCV余量。這樣,對于與小于或等于預(yù)定值的OCV余量對應(yīng)的發(fā)射寄存器與捕獲寄存器之間的組合邏輯電路的結(jié)構(gòu)的設(shè)計不需要考慮所述OCV余量,可以簡化結(jié)構(gòu)。
[0034]以下將詳細(xì)描述OCV余量獲取單元10獲取OCV余量的示例性方式。
[0035]OCV余量獲取單元10可基于集成電路的已有設(shè)計來獲取OCV余量。
[0036]作為示例,在所述集成電路的時鐘樹已經(jīng)被建造過的情況下,OCV余量獲取單元10可基于每對發(fā)射寄存器和捕獲寄存器在已經(jīng)建造的集成電路的時鐘樹中的時鐘延時來計算每對發(fā)射寄存器與捕獲寄存器之間的OCV余量。
[0037]可選地,OCV余量獲取單元10可基于下述計算式(I)來計算每對發(fā)射寄存器與捕獲寄存器之間的OCV余量:
[0038]OCV 余量=(Ta+Tb) Xftjev,(I)
[0039]其中,Ta為所述每對發(fā)射寄存器和捕獲寄存器中的發(fā)射寄存器在已經(jīng)建造的集成電路的時鐘樹中的時鐘延時,Tb為所述每對發(fā)射寄存器和捕獲寄存器中的捕獲寄存器在已經(jīng)建造的集成電路的時鐘樹中的時鐘延時,為OCV系數(shù)。本領(lǐng)域技術(shù)人員可以理解:可從已經(jīng)建造的集成電路的時鐘樹的時序報告中獲得Ta和Tb ;所述OCV系數(shù)f.是與電路芯片制造技術(shù)相關(guān)的常數(shù)值,可通過測量和統(tǒng)計之前設(shè)計制造的同類芯片的參數(shù)來獲得該常數(shù)值。
[0040]本領(lǐng)域技術(shù)人員應(yīng)該理解,OCV余量獲取單元10還可基于所述集成電路的其他已有設(shè)計來獲取所述OCV余量。
[0041]或者,OCV余量獲取單元10可基于集成電路的虛擬設(shè)計來獲取OCV余量。
[0042]作為示例,OCV余量獲取單元10可通過建造所述集成電路的虛擬時鐘樹來獲取所述OCV余量。以下將參照圖2來描述根據(jù)本發(fā)明的示例性實施例的用于基于虛擬時鐘樹來獲取OCV余量的OCV余量獲取單元10。如圖2所示,OCV余量獲取單元10可包括:臨時邏輯綜合單元101、虛擬時鐘樹建造單元102、計算單元103。
[0043]具體說來,臨時邏輯綜合單元101獲取集成電路的寄存器傳輸級硬件描述語言代碼、集成電路的工藝庫、集成電路的設(shè)計約束,基于集成電路的工藝庫和集成電路的設(shè)計約束對集成電路的寄存器傳輸級硬件描述語言代碼進(jìn)行邏輯綜合以生成集成電路的臨時邏輯門級網(wǎng)表。這里,所述設(shè)計約束包括環(huán)境約束、不考慮OCV的時序約束、設(shè)計規(guī)則約束,在所述不考慮OCV的時序約束下,每對發(fā)射寄存器與捕獲寄存器之間的數(shù)據(jù)路徑延時為集成電路的一個時鐘周期。這里所述的集成電路的寄存器傳輸級硬件描述語言代碼、集成電路的工藝庫以及集成電路的設(shè)計約束中的環(huán)境約束和設(shè)計規(guī)則約束與邏輯綜合單元30獲取的集成電路的寄存器傳輸級硬件描述語言代碼、集成電路的工藝庫以及集成電路的設(shè)計約束中的環(huán)境約束和設(shè)計規(guī)則約束相同,在此將不再贅述。
[0044]虛擬時鐘樹建造單元102基于臨時邏輯門級網(wǎng)表建造集成電路的虛擬時鐘樹。在所述虛擬時鐘樹中,每個時鐘節(jié)點由一個虛擬的驅(qū)動單元來驅(qū)動。由于該虛擬時鐘樹只用來獲取所述OCV余量,因此該虛擬時鐘樹中的各個時鐘節(jié)點的驅(qū)動單元可以被設(shè)置為一個虛擬的驅(qū)動單元,無需考慮該虛擬的驅(qū)動單元的驅(qū)動能力是否與現(xiàn)實中的單個驅(qū)動元件的驅(qū)動能力相符。
[0045]計算單元103基于每對發(fā)射寄存器和捕獲寄存器在虛擬時鐘樹中的時鐘延時來計算所述每對發(fā)射寄存器與捕獲寄存器之間的OCV余量。
[0046]可選地,計算單元103可基于下述計算式(2)來計算所述每對發(fā)射寄存器與捕獲寄存器之間的OCV余量:
[0047]OCV 余量=(Τ/ +Tb’ ) Xfocv,(2)
[0048]其中,Ta’為所述每對發(fā)射寄存器和捕獲寄存器中的發(fā)射寄存器在虛擬時鐘樹中的時鐘延時,Tb’為所述每對發(fā)射寄存器和捕獲寄存器中的捕獲寄存器在虛擬時鐘樹中的時鐘延時,focv為OCV系數(shù)。本領(lǐng)域技術(shù)人員可以理解,可從虛擬時鐘樹的時序報告中獲得Ta’和Tb’;所述OCV系數(shù)f..是與電路芯片制造技術(shù)相關(guān)的常數(shù)值,可通過測量和統(tǒng)計之前設(shè)計制造的同類芯片的參數(shù)來獲得該常數(shù)值。
[0049]本領(lǐng)域技術(shù)人員應(yīng)該理解,還可基于所述集成電路的其他虛擬設(shè)計來獲取所述OCV余量。
[0050]圖3示出根據(jù)本發(fā)明的示例性實施例的用于實現(xiàn)集成電路的邏輯綜合的方法的流程圖。所述方法可以由圖1所示的設(shè)備來完成,也可通過計算機(jī)程序來實現(xiàn)。例如,所述方法可通過安裝在計算機(jī)中用于設(shè)計集成電路的軟件中的各個模塊來執(zhí)行。
[0051]參照圖3,在步驟S10,獲取集成電路中的每對發(fā)射寄存器與捕獲寄存器之間的OCV余量。在集成電路中,每對相鄰的寄存器會通過它們之間的組合邏輯電路進(jìn)行數(shù)據(jù)信號的傳輸,在傳輸中發(fā)送數(shù)據(jù)信號的寄存器為發(fā)射寄存器,接收數(shù)據(jù)信號的寄存器為捕獲寄存器。應(yīng)理解,同一寄存器相對于與之相鄰的不同寄存器來說,需要既發(fā)送數(shù)據(jù)信號又接收數(shù)據(jù)信號,因此,該寄存器在發(fā)送數(shù)據(jù)信號時作為發(fā)射寄存器,而在接收信號時則作為捕獲寄存器。
[0052]所述OCV余量表示每對發(fā)射寄存器與捕獲寄存器之間的時鐘偏差由于OCV而出現(xiàn)的變化值。時鐘延時是指時鐘信號從時鐘源出發(fā)至到達(dá)寄存器的時鐘輸入端所用的時間。由于時鐘源與各個寄存器之間的路徑不同,因而從時鐘源到各個寄存器的時鐘輸入端的時鐘延時也不一樣。時鐘偏差就是不同寄存器的時鐘延時之間的差異。在集成電路的運行過程中,OCV會使寄存器的時鐘延時發(fā)生改變,因此每對發(fā)射寄存器與捕獲寄存器之間的時鐘偏差也會由于OCV發(fā)生改變。相應(yīng)地,所述OCV余量就是每對發(fā)射寄存器與捕獲寄存器之間的時鐘偏差由于OCV而出現(xiàn)的變化值。
[0053]在步驟S20,獲取集成電路的寄存器傳輸級硬件描述語言代碼、集成電路的工藝庫、集成電路的設(shè)計約束。這里,所述設(shè)計約束包括環(huán)境約束、考慮OCV的時序約束、設(shè)計規(guī)則約束,在所述考慮OCV的時序約束下,每對發(fā)射寄存器與捕獲寄存器之間的數(shù)據(jù)路徑延時為集成電路的一個時鐘周期與所述OCV余量之和。
[0054]具體說來,所述寄存器傳輸級硬件描述語言代碼是在集成電路的設(shè)計流程中的寄存器傳輸級設(shè)計的步驟中生成的。所述工藝庫由設(shè)計人員在邏輯綜合前選定,所述設(shè)計約束由設(shè)計人員在邏輯綜合前進(jìn)行設(shè)置。所述發(fā)射寄存器與捕獲寄存器之間的數(shù)據(jù)路徑延時為數(shù)據(jù)信號從發(fā)射寄存器的輸出端傳輸?shù)讲东@寄存器的接收端需要花費的時間,即數(shù)據(jù)信號通過發(fā)射寄存器和捕獲寄存器之間的組合邏輯電路需要花費的時間。
[0055]在步驟S30,基于集成電路的工藝庫和集成電路的設(shè)計約束對集成電路的寄存器傳輸級硬件描述語言代碼進(jìn)行邏輯綜合以生成集成電路的邏輯門級網(wǎng)表。這里,所述邏輯門級網(wǎng)表是在所述考慮OCV的時序約束下生成的,即每對發(fā)射寄存器與捕獲寄存器之間的數(shù)據(jù)路徑延時為集成電路的一個時鐘周期與所述OCV余量之和。如上所述,發(fā)射寄存器與捕獲寄存器之間的數(shù)據(jù)路徑延時為數(shù)據(jù)信號從發(fā)射寄存器的輸出端傳輸?shù)讲东@寄存器的接收端需要花費的時間,即數(shù)據(jù)信號通過發(fā)射寄存器和捕獲寄存器之間的組合邏輯電路需要花費的時間。在所述邏輯門級網(wǎng)表中記錄了每對發(fā)射寄存器與捕獲寄存器之間的組合邏輯電路的結(jié)構(gòu),所述每對發(fā)射寄存器與捕獲寄存器之間的組合邏輯電路的結(jié)構(gòu)需滿足所述考慮OCV的時序約束,即數(shù)據(jù)信號通過發(fā)射寄存器與捕獲寄存器之間的組合邏輯電路花費的時間為所述集成電路的一個時鐘周期與所述OCV余量之和。
[0056]現(xiàn)有技術(shù)中的邏輯綜合是在不考慮OCV的時序約束下進(jìn)行的(也就是說,每對發(fā)射寄存器與捕獲寄存器之間的數(shù)據(jù)路徑延時僅為集成電路的一個時鐘周期),因此,時序設(shè)計會由于OCV的存在而導(dǎo)致一定的偏差。相應(yīng)地,在本發(fā)明的示例性實施例中,通過更改每對發(fā)射寄存器與捕獲寄存器之間的組合邏輯電路結(jié)構(gòu),來抵消了所述OCV余量對集成電路的時序的影響。
[0057]這樣,在集成電路的設(shè)計流程中的邏輯綜合的步驟中,考慮OCV對時鐘偏差的影響,減少集成電路在運行階段的時序相對于設(shè)計階段的偏差。
[0058]優(yōu)選地,為了簡化組合邏輯電路的結(jié)構(gòu),在步驟S20,在所述考慮OCV的約束下,當(dāng)OCV余量大于預(yù)定值時,與所述OCV余量對應(yīng)的發(fā)射寄存器與捕獲寄存器之間的數(shù)據(jù)路徑延時為集成電路的一個時鐘周期與所述OCV余量之和;當(dāng)OCV余量小于或等于預(yù)定值時,與所述OCV余量對應(yīng)的發(fā)射寄存器與捕獲寄存器之間的數(shù)據(jù)路徑延時為集成電路的一個時鐘周期。換言之,只有與大于預(yù)定值的OCV余量對應(yīng)的發(fā)射寄存器與捕獲寄存器之間的組合邏輯電路的結(jié)構(gòu)的設(shè)計才需要考慮所述OCV余量。這樣,對于與小于或等于預(yù)定值的OCV余量對應(yīng)的發(fā)射寄存器與捕獲寄存器之間的組合邏輯電路的結(jié)構(gòu)的設(shè)計不需要考慮所述OCV余量,可以簡化結(jié)構(gòu)。
[0059]以下將詳細(xì)描述在步驟SlO獲取OCV余量的示例性方式。
[0060]在步驟S10,可基于集成電路的已有設(shè)計來獲取OCV余量。
[0061]作為示例,在所述集成電路的時鐘樹已經(jīng)被建造過的情況下,在步驟S10,可基于每對發(fā)射寄存器和捕獲寄存器在已經(jīng)建造的集成電路的時鐘樹中的時鐘延時來計算每對發(fā)射寄存器與捕獲寄存器之間的OCV余量。
[0062]可選地,在步驟S10,可基于所述計算式(I)來計算每對發(fā)射寄存器與捕獲寄存器之間的OCV余量。
[0063]本領(lǐng)域技術(shù)人員應(yīng)該理解,在步驟S10,還可基于所述集成電路的其他已有設(shè)計來獲取所述OCV余量。
[0064]或者,在步驟S10,可基于集成電路的虛擬設(shè)計來獲取OCV余量。
[0065]作為示例,在步驟S10,可通過建造所述集成電路的虛擬時鐘樹來獲取所述OCV余量。以下將參照圖4來描述根據(jù)本發(fā)明的示例性實施例的用于基于虛擬時鐘樹來獲取OCV余量的步驟S10。如圖4所示,步驟SlO可包括:步驟S101、步驟S102、步驟S103。
[0066]具體說來,在步驟S101,獲取集成電路的寄存器傳輸級硬件描述語言代碼、集成電路的工藝庫、集成電路的設(shè)計約束,基于集成電路的工藝庫和集成電路的設(shè)計約束對集成電路的寄存器傳輸級硬件描述語言代碼進(jìn)行邏輯綜合以生成集成電路的臨時邏輯門級網(wǎng)表。這里,所述設(shè)計約束包括環(huán)境約束、不考慮OCV的時序約束、設(shè)計規(guī)則約束,在所述不考慮OCV的時序約束下,每對發(fā)射寄存器與捕獲寄存器之間的數(shù)據(jù)路徑延時為集成電路的一個時鐘周期。這里所述的集成電路的寄存器傳輸級硬件描述語言代碼、集成電路的工藝庫以及集成電路的設(shè)計約束中的環(huán)境約束和設(shè)計規(guī)則約束與在步驟S30中獲取的集成電路的寄存器傳輸級硬件描述語言代碼、集成電路的工藝庫以及集成電路的設(shè)計約束中的環(huán)境約束和設(shè)計規(guī)則約束相同,在此將不再贅述。
[0067]在步驟S102,基于臨時邏輯門級網(wǎng)表建造集成電路的虛擬時鐘樹。在所述虛擬時鐘樹中,每個時鐘節(jié)點由一個虛擬的驅(qū)動單元來驅(qū)動。由于該虛擬時鐘樹只用來獲取所述OCV余量,因此該虛擬時鐘樹中的各個時鐘節(jié)點的驅(qū)動單元可以被設(shè)置為一個虛擬的驅(qū)動單元,無需考慮該虛擬的驅(qū)動單元的驅(qū)動能力是否與現(xiàn)實中的單個驅(qū)動元件的驅(qū)動能力相符。
[0068]在步驟S103,基于每對發(fā)射寄存器和捕獲寄存器在虛擬時鐘樹中的時鐘延時來計算所述每對發(fā)射寄存器與捕獲寄存器之間的OCV余量。
[0069]可選地,在步驟S103,可基于所述計算式(2)來計算所述每對發(fā)射寄存器與捕獲寄存器之間的OCV余量。
[0070]本領(lǐng)域技術(shù)人員應(yīng)該理解,在步驟S10,還可基于所述集成電路的其他虛擬設(shè)計來獲取所述OCV余量。
[0071]應(yīng)注意,本發(fā)明的以上各個實施例僅僅是示例性的,本發(fā)明并不受限于此。本領(lǐng)域技術(shù)人員應(yīng)該理解:在不脫離本發(fā)明的原理和精神的情況下,可對這些實施例進(jìn)行改變,其中,本發(fā)明的范圍在權(quán)利要求及其等同物中限定。
【權(quán)利要求】
1.一種用于實現(xiàn)集成電路的邏輯綜合的設(shè)備,其特征在于,包括: OCV余量獲取單元,獲取集成電路中的每對發(fā)射寄存器與捕獲寄存器之間的OCV余量,其中,所述OCV余量表示每對發(fā)射寄存器與捕獲寄存器之間的時鐘偏差由于OCV而出現(xiàn)的變化值; 邏輯綜合項獲取單元,獲取集成電路的寄存器傳輸級硬件描述語言代碼、集成電路的工藝庫、集成電路的設(shè)計約束,其中,所述設(shè)計約束包括環(huán)境約束、考慮OCV的時序約束、設(shè)計規(guī)則約束,在所述考慮OCV的時序約束下,每對發(fā)射寄存器與捕獲寄存器之間的數(shù)據(jù)路徑延時為集成電路的一個時鐘周期與所述OCV余量之和; 邏輯綜合單元,基于所述邏輯綜合項獲取單元獲取的集成電路的工藝庫和集成電路的設(shè)計約束對集成電路的寄存器傳輸級硬件描述語言代碼進(jìn)行邏輯綜合以生成集成電路的邏輯門級網(wǎng)表。
2.根據(jù)權(quán)利要求1所述的設(shè)備,其特征在于,OCV余量獲取單元基于每對發(fā)射寄存器和捕獲寄存器在已經(jīng)建造的集成電路的時鐘樹中的時鐘延時來計算所述每對發(fā)射寄存器與捕獲寄存器之間的OCV余量。
3.根據(jù)權(quán)利要求2所述的設(shè)備,其特征在于,OCV余量獲取單元基于如下計算式來計算所述每對發(fā)射寄存器與捕獲寄存器之間的OCV余量:ocv余量=(Ta+Tb) \&?,其中,1;為所述每對發(fā)射寄存器和捕獲寄存器中的發(fā)射寄存器在已經(jīng)建造的集成電路的時鐘樹中的時鐘延時,Tb為所述每對發(fā)射寄存器和捕獲寄存器中的捕獲寄存器在已經(jīng)建造的集成電路的時鐘樹中的時鐘延時,focv為OCV系數(shù)。
4.根據(jù)權(quán)利要求1所述的設(shè)備,其特征在于,OCV余量獲取單元包括: 臨時邏輯綜合單元,獲取集成電路的寄存器傳輸級硬件描述語言代碼、集成電路的工藝庫、集成電路的設(shè)計約束,基于集成電路的工藝庫和集成電路的設(shè)計約束對集成電路的寄存器傳輸級硬件描述語言代碼進(jìn)行邏輯綜合以生成集成電路的臨時邏輯門級網(wǎng)表,其中,所述設(shè)計約束包括環(huán)境約束、不考慮OCV的時序約束、設(shè)計規(guī)則約束,在所述不考慮OCV的時序約束下,每對發(fā)射寄存器與捕獲寄存器之間的數(shù)據(jù)路徑延時為集成電路的一個時鐘周期; 虛擬時鐘樹建造單元,基于臨時邏輯門級網(wǎng)表建造集成電路的虛擬時鐘樹,其中,在所述虛擬時鐘樹中,每個時鐘節(jié)點由一個虛擬的驅(qū)動單元來驅(qū)動; 計算單元,基于每對發(fā)射寄存器和捕獲寄存器在虛擬時鐘樹中的時鐘延時來計算所述每對發(fā)射寄存器與捕獲寄存器之間的OCV余量。
5.根據(jù)權(quán)利要求4所述的設(shè)備,其特征在于,計算單元基于如下計算式來計算所述每對發(fā)射寄存器與捕獲寄存器之間的OCV余量:ocv余量=OV +Tb’)Xf.,其中,Ta’為所述每對發(fā)射寄存器和捕獲寄存器中的發(fā)射寄存器在虛擬時鐘樹中的時鐘延時,Tb’為所述每對發(fā)射寄存器和捕獲寄存器中的捕獲寄存器在虛擬時鐘樹中的時鐘延時,focv為OCV系數(shù)。
6.根據(jù)權(quán)利要求1所述的設(shè)備,其特征在于,在所述考慮OCV的約束下,當(dāng)OCV余量大于預(yù)定值時,與所述OCV余量對應(yīng)的發(fā)射寄存器與捕獲寄存器之間的數(shù)據(jù)路徑延時為集成電路的一個時鐘周期與所述OCV余量之和。
7.一種用于實現(xiàn)集成電路的邏輯綜合的方法,其特征在于,包括: (a)獲取集成電路中的每對發(fā)射寄存器與捕獲寄存器之間的OCV余量,其中,所述OCV余量表示每對發(fā)射寄存器與捕獲寄存器之間的時鐘偏差由于OCV而出現(xiàn)的變化值; (b)獲取集成電路的寄存器傳輸級硬件描述語言代碼、集成電路的工藝庫、集成電路的設(shè)計約束,其中,所述設(shè)計約束包括環(huán)境約束、考慮OCV的時序約束、設(shè)計規(guī)則約束,在所述考慮OCV的時序約束下,每對發(fā)射寄存器與捕獲寄存器之間的數(shù)據(jù)路徑延時為集成電路的一個時鐘周期與所述OCV余量之和; (C)基于集成電路的工藝庫和集成電路的設(shè)計約束對集成電路的寄存器傳輸級硬件描述語言代碼進(jìn)行邏輯綜合以生成集成電路的邏輯門級網(wǎng)表。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,在步驟(a)中,基于每對發(fā)射寄存器和捕獲寄存器在已經(jīng)建造的集成電路的時鐘樹中的時鐘延時來計算所述每對發(fā)射寄存器與捕獲寄存器之間的OCV余量。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,在步驟(a)中,基于如下計算式來計算所述每對發(fā)射寄存器與捕獲寄存器之間的OCV余量:ocv余量=(Ta+Tb) \&?,其中,1;為所述每對發(fā)射寄存器和捕獲寄存器中的發(fā)射寄存器在已經(jīng)建造的集成電路的時鐘樹中的時鐘延時,Tb為所述每對發(fā)射寄存器和捕獲寄存器中的捕獲寄存器在已經(jīng)建造的集成電路的時鐘樹中的時鐘延時,focv為OCV系數(shù)。
10.根據(jù)權(quán)利要求7所述的方法,其特征在于,步驟(a)包括: (al)獲取集成電路的寄存器傳輸級硬件描述語言代碼、集成電路的工藝庫、集成電路的設(shè)計約束,基于集成電路的工藝庫和集成電路的設(shè)計約束對集成電路的寄存器傳輸級硬件描述語言代碼進(jìn)行邏輯綜合以生成集成電路的臨時邏輯門級網(wǎng)表,其中,所述設(shè)計約束包括環(huán)境約束、不考慮OCV的時序約束、設(shè)計規(guī)則約束,在所述不考慮OCV的時序約束下,每對發(fā)射寄存器與捕獲寄存器之間的數(shù)據(jù)路徑延時為集成電路的一個時鐘周期; (a2)基于臨時邏輯門級網(wǎng)表建造集成電路的虛擬時鐘樹,其中,在所述虛擬時鐘樹中,每個時鐘節(jié)點由一個虛擬的驅(qū)動單元來驅(qū)動; (a3)基于每對發(fā)射寄存器和捕獲寄存器在虛擬時鐘樹中的時鐘延時來計算所述每對發(fā)射寄存器與捕獲寄存器之間的OCV余量。
【文檔編號】G06F17/50GK104182570SQ201410376614
【公開日】2014年12月3日 申請日期:2014年8月1日 優(yōu)先權(quán)日:2014年8月1日
【發(fā)明者】梁宇 申請人:三星半導(dǎo)體(中國)研究開發(fā)有限公司, 三星電子株式會社