用于片上系統(tǒng)中存儲(chǔ)器和邏輯電路的布局的制作方法
【專利摘要】一種集成電路包括多個(gè)存儲(chǔ)器電路(300)和多個(gè)邏輯電路(302)。多個(gè)存儲(chǔ)器電路沿多個(gè)行和多個(gè)列布置在裸片(600)上。每個(gè)存儲(chǔ)器電路包括多個(gè)存儲(chǔ)器單元。多個(gè)邏輯電路沿多個(gè)行和多個(gè)列布置在多個(gè)存儲(chǔ)器電路之間的裸片上。多個(gè)邏輯電路被配置為與一個(gè)或多個(gè)存儲(chǔ)器電路進(jìn)行通信。
【專利說明】用于片上系統(tǒng)中存儲(chǔ)器和邏輯電路的布局
[0001]相關(guān)申請(qǐng)的交叉引用
[0002]本申請(qǐng)要求2012年11月19日提交的美國(guó)發(fā)明申請(qǐng)N0.13/680,530的優(yōu)先權(quán),以及2011年11月22日提交的美國(guó)臨時(shí)申請(qǐng)N0.61/563,001的權(quán)益。上述申請(qǐng)的公開內(nèi)容通過引用全文并入于此。
【技術(shù)領(lǐng)域】
[0003]本公開總體上涉及集成電路(IC),并且更具體地涉及片上系統(tǒng)(SOC)中存儲(chǔ)器和邏輯電路的布局。
【背景技術(shù)】
[0004]本文所提供的【背景技術(shù)】描述是為了一般性地呈現(xiàn)公開內(nèi)容的背景的目的。當(dāng)前名義的發(fā)明人的工作,到這一【背景技術(shù)】章節(jié)中描述該工作的程度上,以及該描述的可能在提交時(shí)以其他方式不夠資格作為現(xiàn)有技術(shù)的方面,既不明確地也不隱含地承認(rèn)為相對(duì)于本公開內(nèi)容的現(xiàn)有技術(shù)。
[0005]片上系統(tǒng)(SOC)通常包括處理器和存儲(chǔ)器用于處理數(shù)據(jù)。SOC可以用于處理許多設(shè)備中的數(shù)據(jù)。例如,SOC可以用于處理存儲(chǔ)設(shè)備(包括硬盤驅(qū)動(dòng)(HDD)、光盤驅(qū)動(dòng)和固態(tài)盤)中的數(shù)據(jù)。另外,SOC可以用于處理通信設(shè)備(包括智能電話、路由器、網(wǎng)絡(luò)交換機(jī)等)中的數(shù)據(jù)。
[0006]現(xiàn)在參考圖1,HDD100包括硬盤控制器(HDC) S0C102、多個(gè)讀/寫頭104和磁介質(zhì)106。HDC S0C102控制HDD100的操作。讀/寫頭104在磁介質(zhì)106上讀/寫數(shù)據(jù)。HDCS0C102包括處理器108、存儲(chǔ)器110和讀/寫通道模塊(通常被稱為讀通讀模塊)112。處理器108處理與HDD100相關(guān)的數(shù)據(jù)。處理器108使用存儲(chǔ)器110來處理數(shù)據(jù)。讀通讀模塊112使用讀/寫頭104在磁介質(zhì)106上讀取和寫入數(shù)據(jù)。讀通讀模塊112可以編碼和調(diào)制待在磁介質(zhì)106上寫入的數(shù)據(jù),并且可以解調(diào)和解碼從磁介質(zhì)106讀取的數(shù)據(jù)。讀通讀模塊112還可以對(duì)讀取數(shù)據(jù)執(zhí)行糾錯(cuò)。
[0007]現(xiàn)在參考圖2,通信設(shè)備200包括S0C202用于控制通信設(shè)備200的操作。如果通信設(shè)備200是無線通信設(shè)備,則該通信設(shè)備200還可以包括一個(gè)或多個(gè)天線204。S0C202包括處理器206、存儲(chǔ)器208和通信模塊210。處理器206處理與通信設(shè)備200有關(guān)的數(shù)據(jù)。處理器206使用存儲(chǔ)器208處理該數(shù)據(jù)。通信模塊210包括發(fā)射器模塊212用于發(fā)射數(shù)據(jù),并且接收器模塊214用于接收數(shù)據(jù)。通信模塊210可以編碼和調(diào)制待發(fā)射的數(shù)據(jù),并且可以解調(diào)和解碼所接收的數(shù)據(jù)。通信模塊210還可以對(duì)所接收的數(shù)據(jù)執(zhí)行糾錯(cuò)。
【發(fā)明內(nèi)容】
[0008]一種集成電路包括多個(gè)存儲(chǔ)器電路和多個(gè)邏輯電路。多個(gè)存儲(chǔ)器電路沿多個(gè)行和多個(gè)列布置在裸片上。每個(gè)存儲(chǔ)器電路包括多個(gè)存儲(chǔ)器單元。多個(gè)邏輯電路沿多個(gè)行和多個(gè)列布置在多個(gè)存儲(chǔ)器電路之間的裸片上。多個(gè)邏輯電路被配置為與一個(gè)或多個(gè)存儲(chǔ)器電路進(jìn)行通信。
[0009]在其他特征中,多個(gè)行和多個(gè)列被布置在遠(yuǎn)離裸片周界的區(qū)域中。
[0010]在其他特征中,存儲(chǔ)器單元包括基于鎖存器的隨機(jī)訪問存儲(chǔ)器單元。
[0011]在其他特征中,邏輯電路包括組合邏輯電路和時(shí)序邏輯電路中的至少一種。
[0012]在其他特征中,存儲(chǔ)器電路具有預(yù)定的存儲(chǔ)器容量。
[0013]在其他特征中,多個(gè)存儲(chǔ)器電路中的至少一個(gè)存儲(chǔ)器電路具有與所述多個(gè)存儲(chǔ)器電路中的其他存儲(chǔ)器電路不同的存儲(chǔ)器容量。
[0014]在其他特征中,邏輯電路中的至少一個(gè)邏輯電路被配置為處理在存儲(chǔ)設(shè)備的讀取或?qū)懭氩僮髌陂g的信號(hào),其中存儲(chǔ)設(shè)備包括硬盤驅(qū)動(dòng)、光盤驅(qū)動(dòng)或固態(tài)盤,并且用于存儲(chǔ)由一個(gè)或多個(gè)存儲(chǔ)器電路中的處理生成的數(shù)據(jù)。
[0015]在其他特征中,邏輯電路中的至少一個(gè)邏輯電路被配置為處理在通信設(shè)備的發(fā)射或接收操作期間的信號(hào), 并且用于存儲(chǔ)由一個(gè)或多個(gè)存儲(chǔ)器電路中的處理生成的數(shù)據(jù)。
[0016]在其他特征中,邏輯電路中的第一邏輯電路被配置為(i)從存儲(chǔ)器電路中的第一存儲(chǔ)器電路獲取第一數(shù)據(jù),(ii)通過處理第一數(shù)據(jù)生成第二數(shù)據(jù),以及(iii)在存儲(chǔ)器電路的第二存儲(chǔ)器電路中存儲(chǔ)第二數(shù)據(jù)。邏輯電路的第二邏輯電路被配置為(i)從存儲(chǔ)器電路的第二存儲(chǔ)器電路獲取第二數(shù)據(jù),(ii)通過處理第二數(shù)據(jù)生成第三數(shù)據(jù),以及(iii)在存儲(chǔ)器電路的第一存儲(chǔ)器電路中存儲(chǔ)第三數(shù)據(jù)。邏輯電路的第一邏輯電路被配置為處理第三數(shù)據(jù)。
[0017]在其他特征中,一種系統(tǒng)包括輸入模塊和處理模塊。輸入模塊被配置為接收數(shù)據(jù),該數(shù)據(jù)包括(i)待布置在裸片上的存儲(chǔ)器電路和邏輯電路的列表,(?)存儲(chǔ)器電路和邏輯電路的輸入和輸出信號(hào)的時(shí)序,以及(iii)裸片的區(qū)域。處理模塊被配置為處理該數(shù)據(jù),確定被配置為與多個(gè)存儲(chǔ)器電路通信的多個(gè)邏輯電路的區(qū)域是否大于或等于多個(gè)存儲(chǔ)器電路的區(qū)域的預(yù)定百分比,以及響應(yīng)于多個(gè)邏輯電路的區(qū)域大于或等于多個(gè)存儲(chǔ)器電路的區(qū)域的預(yù)定百分比在裸片區(qū)域上以陣列類型布局布置存儲(chǔ)器電路和邏輯電路。
[0018]在其他特征中,處理模塊被配置為確定包括陣列類型布局的行和列之間間隔的參數(shù)。
[0019]在其他特征中,處理模塊被配置為根據(jù)存儲(chǔ)器電路和邏輯電路的輸入和輸出信號(hào)的時(shí)序以陣列類型布局分布邏輯電路。
[0020]在其他特征中,處理模塊被配置為根據(jù)存儲(chǔ)器電路和邏輯電路的連接以陣列類型布局分布邏輯電路。
[0021]在其他特征中,一種方法包括接收數(shù)據(jù),該數(shù)據(jù)包括(i)待布置在裸片上的存儲(chǔ)器電路和邏輯電路的列表,(ii)存儲(chǔ)器電路和邏輯電路的輸入和輸出信號(hào)的時(shí)序,以及
(iii)裸片的區(qū)域。該方法進(jìn)一步包括處理該數(shù)據(jù),確定被配置為與多個(gè)存儲(chǔ)器電路通信的多個(gè)邏輯電路的區(qū)域是否大于或等于多個(gè)存儲(chǔ)器電路的區(qū)域的預(yù)定百分比。該方法進(jìn)一步包括響應(yīng)于多個(gè)邏輯電路的區(qū)域大于或等于多個(gè)存儲(chǔ)器電路的區(qū)域的預(yù)定百分比在裸片區(qū)域上以陣列類型布局布置存儲(chǔ)器電路和邏輯電路。
[0022]在其他特征中,該方法進(jìn)一步包括確定包括陣列類型布局的行和列之間間隔的參數(shù)。
[0023]在其他特征中,該方法進(jìn)一步包括根據(jù)存儲(chǔ)器電路和邏輯電路的輸入和輸出信號(hào)的時(shí)序以陣列類型布局分布邏輯電路。
[0024]在其他特征中,該方法進(jìn)一步包括根據(jù)存儲(chǔ)器電路和邏輯電路的連接以陣列類型布局分布邏輯電路。
[0025]根據(jù)詳細(xì)描述、權(quán)利要求和附圖,本公開內(nèi)容的進(jìn)一步適用性領(lǐng)域?qū)⒆兊们宄?。詳?xì)描述和具體示例意圖為僅用于舉例說明的目的并且不意圖為限制本公開內(nèi)容的范圍。
【專利附圖】
【附圖說明】
[0026]從詳細(xì)描述和附圖,本公開內(nèi)容將變得更完全地被理解,在這些附圖中:
[0027]圖1是硬盤驅(qū)動(dòng)(HDD)的功能框圖;
[0028]圖2是通信設(shè)備的功能框圖;
[0029]圖3是圖1的HDD讀取通道模塊或者圖2的通信設(shè)備的通信模塊的功能框圖;
[0030]圖4描繪了包括存儲(chǔ)器電路和可配置邏輯塊(CLB)的布局的片上系統(tǒng)(SOC),其中存儲(chǔ)器電路沿布局邊界布置,并且CLB被布置在布局的中心;
[0031 ] 圖5描繪了包括存儲(chǔ)器電路和CLB的布局的S0C,其中存儲(chǔ)器電路的第一集合和第二集合分別沿布局的周界和中心布置,并且CLB被布置在存儲(chǔ)器電路的第一集合和第二集合之間;
[0032]圖6描繪了包括以陣列布置的存儲(chǔ)器電路和CLB的布局的SOC ;
[0033]圖7是用于確定圖6的布局的可行性和參數(shù)的布局設(shè)備的功能框圖;以及
[0034]圖8是用于確定圖6的布局的可行性和參數(shù)的方法的流程圖。
【具體實(shí)施方式】
[0035]存儲(chǔ)器和邏輯電路(例如,讀取通道模塊112或通信模塊210的邏輯電路)可以通過不同方式布置在裸片上。例如,在第一布置中,存儲(chǔ)器電路可以沿裸片的周界布置,并且邏輯電路可以被布置在裸片的中心。在第二布置中,存儲(chǔ)器電路的第一部分可以沿周界布置,存儲(chǔ)器電路的第二部分可以被布置在中心,并且邏輯電路可以被布置在第一部分與第二部分之間。
[0036]本公開涉及以陣列類型布局在裸片上布置存儲(chǔ)器和邏輯電路。以陣列類型布局布置存儲(chǔ)器和邏輯電路提供若干益處。例如,陣列類型布局相比于第一布置和第二布置更有效地利用裸片區(qū)域。即,相比于使用第一布置和第二布置時(shí)在使用陣列類型布局時(shí),更多的存儲(chǔ)器和邏輯電路可以被布置在給定裸片區(qū)域上。換言之,針對(duì)給定數(shù)目的存儲(chǔ)器和邏輯電路,相比于第一布置或第二布置陣列類型布局使用更少的裸片。另外,相比于使用第一布置和第二布置時(shí)在使用陣列類型布局時(shí),存儲(chǔ)器電路與邏輯電路之間的通信可以更快。
[0037]現(xiàn)在參考圖3,讀取通道模塊112或通信模塊210可以使用多個(gè)存儲(chǔ)器電路300-1、300-2、300-3(統(tǒng)稱為存儲(chǔ)器電路300)和多個(gè)可配置邏輯塊(CLB) 302_1、302_2、302-3 (統(tǒng)稱為CLB302)在SOC中實(shí)現(xiàn)。每個(gè)CLB302可以包括組合邏輯電路和/或時(shí)序邏輯電路。每個(gè)CLB302可以被配置為執(zhí)行一個(gè)或多個(gè)不同的操作。每個(gè)存儲(chǔ)器電路300可以包括多個(gè)存儲(chǔ)器單元。例如,每個(gè)存儲(chǔ)器電路300可以包括基于鎖存器的隨機(jī)訪問存儲(chǔ)器(LBRAM)的多個(gè)存儲(chǔ)器單元。每個(gè)存儲(chǔ)器電路300可以具有預(yù)定存儲(chǔ)器容量(若干KB、MB或GB)。存儲(chǔ)器電路300中的某些存儲(chǔ)器電路可以具有與存儲(chǔ)器電路300中的剩余存儲(chǔ)器電路不同的存儲(chǔ)器容量。雖然僅示出了三個(gè)存儲(chǔ)器電路300和三個(gè)CLB302,但是可以使用N個(gè)存儲(chǔ)器電路300和N個(gè)CLB302,其中N為大于I的整數(shù)。
[0038]一個(gè)CLB302可以與一個(gè)或多個(gè)存儲(chǔ)器電路300通信。一個(gè)CLB302可以與一個(gè)或多個(gè)CLB302通信。一個(gè)存儲(chǔ)器電路300可以與一個(gè)或多個(gè)存儲(chǔ)器電路300通信。由第一CLB302處理的數(shù)據(jù)可以在第一存儲(chǔ)器電路300中存儲(chǔ);由第二 CLB302處理的數(shù)據(jù)可以在第二存儲(chǔ)器電路300中存儲(chǔ);等。另外,第一 CLB302可以處理第二存儲(chǔ)器電路300中存儲(chǔ)的數(shù)據(jù),等。另外,當(dāng)糾錯(cuò)(例如,使用迭代處理)時(shí),第一 CLB302可以更新由第二 CLB302處理的數(shù)據(jù),并且由第一 CLB302更新的數(shù)據(jù)可以由第二 CLB302和/或第三CLB302再次處理,等。
[0039]現(xiàn)在參考圖4,示出了包括存儲(chǔ)器電路300和CLB302的布局402的S0C400。S0C400可以包括附加組件。例如,S0C400可以包括處理器404和附加存儲(chǔ)器406用于處理與S0C400相關(guān)的數(shù)據(jù),通信模塊408用于與S0C400外部的組件通信,以及功率管理模塊410用于管理S0C400的一個(gè)或多個(gè)組件的功耗。
[0040]在布局402中,存儲(chǔ)器電路300沿布局402的周界(即,平行于S0C400的周界)布置,并且CLB302被布置在布局402的中心。因此,存儲(chǔ)器電路300圍繞著CLB302。CLB302與存儲(chǔ)器電路300之間的信號(hào)路徑可以比兩個(gè)CLB302之間的信號(hào)路徑更長(zhǎng)。因此,CLB至存儲(chǔ)器電路通信可以比CLB至CLB通信更慢。因此,存儲(chǔ)器集中處理(例如,糾錯(cuò)中涉及的迭代處理)的速度可能是無法接受的。另外,布局402易于未充分利用,因此浪費(fèi)裸片區(qū)域。
[0041]備選地,雖然未示出,但是存儲(chǔ)器電路300和CLB302的多個(gè)部分可以顛倒。即,CLB302可以沿布局402的周界布置,而存儲(chǔ)器電路300可以被布置在布局402的中心。因此,CLB302將圍繞著存儲(chǔ)器電路300。在這種布置中,雖然CLB至存儲(chǔ)器電路通信的速度可以相對(duì)于布局402得到改進(jìn),但是CLB至CLB通信的速度可能相對(duì)于布局402被降低。
[0042]現(xiàn)在參考圖5,示出了包括存儲(chǔ)器電路300和CLB302的布局502的S0C500。S0C500可以包括S0C400中不同于布局402的一個(gè)或多個(gè)組件。在布局502中,第一多個(gè)存儲(chǔ)器電路300沿S0C500的周界布置,并且第二多個(gè)存儲(chǔ)器電路300被布置在布局502的中心。CLB302布置在第一多個(gè)存儲(chǔ)器電路300與第二多個(gè)存儲(chǔ)器電路300之間。第二多個(gè)存儲(chǔ)器電路300可以使用與第一多個(gè)存儲(chǔ)器電路300不同類型的存儲(chǔ)器。然而,布局502無法相對(duì)于布局402顯著改進(jìn)CLB至存儲(chǔ)器電路通信的速度。
[0043]現(xiàn)在參考圖6,示出了包括存儲(chǔ)器電路300和CLB302的布局602的S0C600。S0C600可以包括S0C400中不同于布局402的一個(gè)或多個(gè)組件。在布局602中,存儲(chǔ)器電路300不沿S0C600的周界布置。相反,存儲(chǔ)器電路300沿多個(gè)行和列以陣列布置。該行和列平行于S0C600的側(cè)面。CLB302也沿著行和列以陣列布置在存儲(chǔ)器電路300之間。該陣列位于遠(yuǎn)離S0C600的周界的區(qū)域中。
[0044]因此,第一 CLB302可以沿行布置在兩個(gè)存儲(chǔ)器電路300之間,并且第二 CLB302可以沿列布置在兩個(gè)存儲(chǔ)器電路300之間。第三CLB302可以布置在矩形對(duì)角線的交叉點(diǎn),該矩形的四個(gè)頂點(diǎn)是位于沿第一列(或第一行)的兩個(gè)鄰近存儲(chǔ)器電路300以及沿第二列(或第二行)的兩個(gè)鄰近存儲(chǔ)器電路300,其中第一列(或第一行)與第二列(或第二行)鄰近。
[0045]CLB302可以被布置,使得CLB302與存儲(chǔ)器電路300之間的信號(hào)路徑使用以下所述的布局設(shè)備進(jìn)行優(yōu)化。因此,布局602相對(duì)于布局402和502顯著改進(jìn)了 CLB至存儲(chǔ)器電路通信的速度。另外,布局602比布局402和502更有效地利用S0C600的裸片區(qū)域。因此,針對(duì)給定裸片區(qū)域,布局602可以比布局402和502利用更多數(shù)目的CLB302和/或存儲(chǔ)器電路300。備選地,針對(duì)給定數(shù)目的CLB302和存儲(chǔ)器電路300,布局602比布局402和502占有更少的裸片區(qū)域。因此,針對(duì)給定數(shù)目的CLB302和存儲(chǔ)器電路300,使用布局602的S0C600的裸片大小可以小于分別使用布局402的S0C400和使用布局502的S0C500。
[0046]現(xiàn)在參考圖7,布局設(shè)備700包括輸入模塊702、處理模塊704和輸出模塊706。布局設(shè)備700確定布局602是否可以用于給定電路設(shè)計(jì)或其一部分(即,確定布局602的可行性),并且確定包括行和列的行/列間隔和構(gòu)件的布局602的參數(shù)。
[0047]如下文所解釋,輸入模塊702接收多個(gè)輸入。處理模塊704執(zhí)行用于處理多個(gè)輸入并且確定布局602的可行性和參數(shù)的軟件程序。輸出模塊706輸出處理結(jié)果,包括布局602的可行性和參數(shù)。
[0048]現(xiàn)在參考圖8,示出了用于確定布局602的可行性和參數(shù)的方法800。在802,控件接收多個(gè)輸入,包括電路互連(例如,網(wǎng)表)、時(shí)序約束(例如,時(shí)鐘限定等)和裸片區(qū)域。在804,控件確定與每個(gè)存儲(chǔ)器電路300以及彼此通信的CLB302的數(shù)目。在806,控件確定與存儲(chǔ)器電路300組通信的CLB302的區(qū)域。在808,控件確定與多個(gè)存儲(chǔ)器電路300通信的CLB302的區(qū)域是否與CLB302與之通信的存儲(chǔ)器電路300的區(qū)域具有可比性(例如,占其預(yù)定百分比)。
[0049]在810,如果CLB302的區(qū)域與存儲(chǔ)器電路300的區(qū)域不具有可比性,則控件確定陣列類型布局對(duì)于CLB302和存儲(chǔ)器電路300不可行。在812,如果CLB302的區(qū)域與存儲(chǔ)器電路300的區(qū)域具有可比性,則控件確定陣列類型布局對(duì)于CLB302和存儲(chǔ)器電路300可行并且確定陣列類型布局的參數(shù)。陣列類型布局的參數(shù)包括行/列間隔;存儲(chǔ)器電路300周圍的CLB302的分組、分布和位置;等。
[0050]在814,控件首先基于時(shí)序約束其次基于CLB302與存儲(chǔ)器電路300之間的互連性在存儲(chǔ)器電路300周圍分布CLB302。例如,在與存儲(chǔ)器電路300組通信的CLB302組中,如果CLB302使用具有不嚴(yán)格的時(shí)序要求(即,較長(zhǎng)信號(hào)路徑),則控件可以將該CLB302置于相對(duì)于分組中CLB302的剩余部分距CLB302組和/或存儲(chǔ)器電路300組更遠(yuǎn)的地方。
[0051]在一個(gè)實(shí)現(xiàn)中,輸入可以包括電路連接性信息(例如,網(wǎng)表,通常以Verilog)、時(shí)序約束(例如,時(shí)鐘限定、延遲等)等。輸入還可以包括電路的時(shí)序模型(例如,庫文件、Spice數(shù)據(jù)等)。如果區(qū)域沒有包括在時(shí)序模型中,則輸入還可以包括電路的物理信息(例如,使用Milkway數(shù)據(jù)庫)。
[0052]在靜態(tài)時(shí)序分析(STA)環(huán)境中,軟件程序確定與每個(gè)存儲(chǔ)器電路300通信的CLB302的區(qū)域和計(jì)數(shù)。具體地,軟件程序通過去往每個(gè)存儲(chǔ)器電路300的有效時(shí)序路徑生成CLB302的集合。集合通過時(shí)序松弛閾值以及傳遞管道深度(即,時(shí)序路徑的層級(jí)數(shù))驅(qū)動(dòng)。另外,軟件程序獲得存儲(chǔ)器電路與CLB集合的交叉。
[0053]軟件程序可以使用不同標(biāo)準(zhǔn)用于確定CLB302和存儲(chǔ)器電路300的陣列類型布局是否有益,并且確定陣列的參數(shù)。例如,第一標(biāo)準(zhǔn)可以是CLB區(qū)域的最大交叉與交叉的存儲(chǔ)器區(qū)域的比率。第二標(biāo)準(zhǔn)可以是CLB交叉的絕對(duì)區(qū)域和交叉的存儲(chǔ)器的絕對(duì)區(qū)域。軟件程序可以確定CLB交叉的密度(即,與共同CLB302通信的CLB302的數(shù)目)。針對(duì)每個(gè)時(shí)序開始點(diǎn)(通常為CLB302中的觸發(fā)器),軟件程序可以通過小于閾值的松弛從開始點(diǎn)生成時(shí)序路徑的集合,并且可以存儲(chǔ)時(shí)序路徑中包括的所有CLB扇出。軟件程序可以找到集合的交叉以確定CLB互連比率。第三標(biāo)準(zhǔn)可以是交叉CLB、STA驅(qū)動(dòng)的絕對(duì)大小。這些標(biāo)準(zhǔn)是存儲(chǔ)器電路300之間以及CLB302之間交叉耦合、時(shí)序驅(qū)動(dòng)互連的量的測(cè)量。這些值用于確定CLB302和存儲(chǔ)器電路300的陣列類型布局是否有益并且確定陣列的參數(shù)(例如,行/列間隔等)。
[0054]因此,軟件程序執(zhí)行以下分析,該分析考慮了組件之間互連性以及組件之間信號(hào)路徑的時(shí)序?;谠摲治?,軟件程序生成關(guān)于以陣列放置組件的可行性以及針對(duì)該陣列的參數(shù)(例如,陣列中組件的位置、間隔等)的數(shù)據(jù),而不是用戶提供電路列表以及用于以陣列布置組件的參數(shù)(例如,用于以陣列放置電路的位置)。
[0055]前述描述本質(zhì)上僅為說明性的并且決不意圖為限制本公開內(nèi)容、它的應(yīng)用、或者使用。能夠以多種形式來實(shí)施本公開內(nèi)容的寬泛教導(dǎo)。因此,盡管本公開內(nèi)容包括特定的示例,但是不應(yīng)當(dāng)如此限制本公開內(nèi)容的真實(shí)范圍,因?yàn)槠渌薷膶⒃谘芯扛綀D、說明書、以及下列權(quán)利要求時(shí)變得清楚。為了清楚的目的,相同的參考標(biāo)號(hào)在附圖中將被用來標(biāo)識(shí)類似的元素。如本文所使用的,短語A、B和C中的至少一個(gè)應(yīng)當(dāng)被解釋為使用非排他邏輯“或”來意指邏輯的(A或B或C)。應(yīng)當(dāng)理解,不更改本公開內(nèi)容的原理,可以按照不同順序(或者并發(fā)地)執(zhí)行方法內(nèi)的一個(gè)或多個(gè)步驟。
[0056]如文本所使用的,術(shù)語模塊可以指代以下各項(xiàng)、是以下各項(xiàng)的一部分、或者包括以下各項(xiàng):專用集成電路(ASIC);電子電路;組合邏輯電路;現(xiàn)場(chǎng)可編程門陣列(FPGA);執(zhí)行代碼的處理器(共享的、專用的、或者組);提供所描述的功能的其他適當(dāng)硬件部件;或者上述中的一些或者全部的組合,諸如在片上系統(tǒng)中。術(shù)語模塊可以包括存儲(chǔ)由處理器所執(zhí)行的代碼的存儲(chǔ)器(共享的、專用的、或者組)。
[0057]如上文所使用的,術(shù)語代碼可以包括軟件、固件、和/或微代碼,并且可以指代程序、例程、函數(shù)、類、和/或?qū)ο?。如上文所使用的,術(shù)語共享意味著可以使用單個(gè)(共享)處理器來執(zhí)行來自多個(gè)模塊的一些或者所有代碼。另外,單個(gè)(共享)存儲(chǔ)器可以存儲(chǔ)來自多個(gè)模塊的一些或者所有代碼。如上文所使用的,術(shù)語組意味著可以使用處理器組來執(zhí)行來自單個(gè)模塊的一些或者所有代碼。另外,可以使用存儲(chǔ)器組來存儲(chǔ)來自單個(gè)模塊的一些或者所有代碼。
[0058]文本所描述的這些裝置和方法可以由一個(gè)或多個(gè)處理器所執(zhí)行的一個(gè)或多個(gè)計(jì)算機(jī)程序來實(shí)施。這些計(jì)算機(jī)程序包括存儲(chǔ)在非瞬態(tài)有形計(jì)算機(jī)可讀介質(zhì)上的處理器可執(zhí)行指令。這些計(jì)算機(jī)程序還可以包括所存儲(chǔ)的數(shù)據(jù)。非瞬態(tài)有形計(jì)算機(jī)可讀介質(zhì)的非限制示例是非易失性存儲(chǔ)器、磁性存儲(chǔ)裝置、以及光學(xué)存儲(chǔ)裝置。
【權(quán)利要求】
1.一種集成電路,包括: 多個(gè)存儲(chǔ)器電路,沿多個(gè)行和多個(gè)列布置在裸片上,其中每個(gè)存儲(chǔ)器電路包括多個(gè)存儲(chǔ)器單元;以及 多個(gè)邏輯電路,沿所述多個(gè)行和所述多個(gè)列布置在所述多個(gè)存儲(chǔ)器電路之間的所述裸片上, 其中所述多個(gè)邏輯電路被配置為與所述存儲(chǔ)器電路中的一個(gè)或多個(gè)存儲(chǔ)器電路通信。
2.根據(jù)權(quán)利要求1所述的集成電路,其中所述多個(gè)行和所述多個(gè)列被布置在遠(yuǎn)離所述裸片周界的區(qū)域中。
3.根據(jù)權(quán)利要求1所述的集成電路,其中所述存儲(chǔ)器單元包括基于鎖存器的隨機(jī)訪問存儲(chǔ)器單元。
4.根據(jù)權(quán)利要求1所述的集成電路,其中所述邏輯電路包括組合邏輯電路和時(shí)序邏輯電路中的至少一種。
5.根據(jù)權(quán)利要求1所述的集成電路,其中所述存儲(chǔ)器電路具有預(yù)定的存儲(chǔ)器容量。
6.根據(jù)權(quán)利要求1所述的集成電路,其中所述多個(gè)存儲(chǔ)器電路中的至少一個(gè)存儲(chǔ)器電路具有與所述多個(gè)存儲(chǔ)器電路中的其他存儲(chǔ)器電路不同的存儲(chǔ)器容量。
7.根據(jù)權(quán)利要求1所述的集成電路,其中所述邏輯電路中的至少一個(gè)邏輯電路被配置為: 處理在存儲(chǔ)設(shè)備的讀取或?qū)懭氩僮髌陂g的信號(hào),其中所述存儲(chǔ)設(shè)備包括硬盤驅(qū)動(dòng)、光盤驅(qū)動(dòng)或固態(tài)盤;以及 存儲(chǔ)由所述存儲(chǔ)器電路中的一個(gè)或多個(gè)存儲(chǔ)器電路中的處理生成的數(shù)據(jù)。
8.根據(jù)權(quán)利要求1所述的集成電路,其中所述邏輯電路中的至少一個(gè)邏輯電路被配置為: 處理在通信設(shè)備的發(fā)射或接收操作期間的信號(hào);以及 存儲(chǔ)由所述存儲(chǔ)器電路中的一個(gè)或多個(gè)存儲(chǔ)器電路中的處理生成的數(shù)據(jù)。
9.根據(jù)權(quán)利要求1所述的集成電路,其中: 所述邏輯電路中的第一邏輯電路被配置為(i)從所述存儲(chǔ)器電路中的第一存儲(chǔ)器電路獲取第一數(shù)據(jù),(ii)通過處理所述第一數(shù)據(jù)生成第二數(shù)據(jù),以及(iii)在所述存儲(chǔ)器電路中的第二存儲(chǔ)器電路中存儲(chǔ)所述第二數(shù)據(jù);以及 所述邏輯電路中的第二邏輯電路被配置為(i)從所述存儲(chǔ)器電路中的所述第二存儲(chǔ)器電路獲取所述第二數(shù)據(jù),(ii)通過處理所述第二數(shù)據(jù)生成第三數(shù)據(jù),以及(iii)在所述存儲(chǔ)器電路中的所述第一存儲(chǔ)器電路中存儲(chǔ)所述第三數(shù)據(jù), 其中所述邏輯電路中的所述第一邏輯電路被配置為處理所述第三數(shù)據(jù)。
10.一種系統(tǒng),包括: 輸入模塊,被配置為接收數(shù)據(jù),所述數(shù)據(jù)包括(i)待布置在裸片上的存儲(chǔ)器電路和邏輯電路的列表,(ii)所述存儲(chǔ)器電路和所述邏輯電路的輸入和輸出信號(hào)的時(shí)序,以及(iii)所述裸片的區(qū)域;以及 處理模塊,被配置為 處理所述數(shù)據(jù), 確定被配置為與多個(gè)所述存儲(chǔ)器電路通信的多個(gè)所述邏輯電路的區(qū)域是否大于或等于所述多個(gè)所述存儲(chǔ)器電路的區(qū)域的預(yù)定百分比,以及 響應(yīng)于所述多個(gè)所述邏輯電路的所述區(qū)域大于或等于所述多個(gè)所述存儲(chǔ)器電路的所述區(qū)域的所述預(yù)定百分比,在所述裸片的所述區(qū)域上以陣列類型布局布置所述存儲(chǔ)器電路和所述邏輯電路。
11.根據(jù)權(quán)利要求10所述的系統(tǒng),其中所述處理模塊被配置為確定包括在所述陣列類型布局的行和列之間的間隔的參數(shù)。
12.根據(jù)權(quán)利要求10所述的系統(tǒng),其中所述處理模塊被配置為根據(jù)所述存儲(chǔ)器電路和所述邏輯電路的輸入和輸出信號(hào)的所述時(shí)序以所述陣列類型布局分布所述邏輯電路。
13.根據(jù)權(quán)利要求10所述的系統(tǒng),其中所述處理模塊被配置為根據(jù)所述存儲(chǔ)器電路和所述邏輯電路的連接以所述陣列類型布局分布所述邏輯電路。
14.一種方法,包括: 接收數(shù)據(jù),所述數(shù)據(jù)包括(i)待布置在裸片上的存儲(chǔ)器電路和邏輯電路的列表,(ii)所述存儲(chǔ)器電路和所述邏輯電路的輸入和輸出信號(hào)的時(shí)序,以及(iii)所述裸片的區(qū)域; 處理所述數(shù)據(jù); 確定被配置為與多個(gè)所述存儲(chǔ)器電路通信的多個(gè)所述邏輯電路的區(qū)域是否大于或等于所述多個(gè)所述存儲(chǔ)器電路的區(qū)域的預(yù)定百分比;以及 響應(yīng)于所述多個(gè)所述邏輯電路的所述區(qū)域大于或等于所述多個(gè)所述存儲(chǔ)器電路的所述區(qū)域的所述預(yù)定百分比,在所述裸片的所述區(qū)域上以陣列類型布局布置所述存儲(chǔ)器電路和所述邏輯電路。
15.根據(jù)權(quán)利要求13所述的方法,進(jìn)一步包括確定包括在所述陣列類型布局的行和列之間的間隔的參數(shù)。
16.根據(jù)權(quán)利要求13所述的方法,進(jìn)一步包括根據(jù)所述存儲(chǔ)器電路和所述邏輯電路的輸入和輸出信號(hào)的所述時(shí)序以所述陣列類型布局分布所述邏輯電路。
17.根據(jù)權(quán)利要求13所述的方法,進(jìn)一步包括根據(jù)所述存儲(chǔ)器電路和所述邏輯電路的連接以所述陣列類型布局分布所述邏輯電路。
【文檔編號(hào)】G11C5/02GK103946848SQ201280057348
【公開日】2014年7月23日 申請(qǐng)日期:2012年11月21日 優(yōu)先權(quán)日:2011年11月22日
【發(fā)明者】J·霍爾特, R·馬德, B·格雷納, S·B·安德森 申請(qǐng)人:馬維爾國(guó)際貿(mào)易有限公司