專利名稱:集成電路的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及集成電路。本發(fā)明根據(jù)在先的專利申請EP 01 440 276要求優(yōu)先權(quán),這里參考引用了所述專利申請。
背景技術(shù):
集成電路被實(shí)現(xiàn)成ASIC上的片上系統(tǒng)(system-on-chip);ASIC=專用集成電路。ASIC包括根據(jù)客戶需要定制的特殊電路。這些電路執(zhí)行特定的任務(wù)。例如在電信領(lǐng)域,這些電路被用來處理VoIP信號(hào)、DSL、ATM、SDH、SONET、UMTS、GSM、LMDS或ISDN信號(hào);VoIP=網(wǎng)際協(xié)議語音,DSL=數(shù)字用戶線路,ATM=異步傳輸模式,SDH=同步數(shù)字系列,SONET=同步光網(wǎng)絡(luò),UMTS=通用移動(dòng)電信系統(tǒng),GSM=全球數(shù)字移動(dòng)電話系統(tǒng),LMDS=本地多點(diǎn)數(shù)字系統(tǒng),ISDN=綜合業(yè)務(wù)數(shù)字網(wǎng)絡(luò)。于是這些電路被用來處理話音、數(shù)據(jù)、視頻、互聯(lián)網(wǎng)Web頁面等等。
例如,集成電路具有既執(zhí)行通用任務(wù)又執(zhí)行專用任務(wù)的特殊處理器平臺(tái)。這種處理器平臺(tái)可被用于任何應(yīng)用;在DSL芯片、ATM芯片等等內(nèi)部也有同樣的處理器平臺(tái)。處理器平臺(tái)包含處理器并提供計(jì)算能力。
處理器平臺(tái)具有若干部件,某些諸如處理器、ROM控制器、RAM控制器的部件被連接到快速AMBA-AHB總線,而諸如中斷控制器、實(shí)時(shí)計(jì)數(shù)器的其它部件被連接到慢速AMBA-APB總線;ROM=只讀存儲(chǔ)器,RAM=隨機(jī)訪問存儲(chǔ)器。哪個(gè)部件被連接到哪個(gè)總線取決于部件的訪問速度,處理速度和使用頻率。
對于某些諸如ROM控制器和RAM控制器的部件,應(yīng)當(dāng)為其分配包括若干地址的地址范圍,這些部件此后被稱作模塊。對于各個(gè)模塊,在啟動(dòng)之前為其保留地址空間內(nèi)的預(yù)定地址范圍。另外,一個(gè)地址范圍被雙重分配,其中一方面被分配給ROM控制器,另一方面被分配給RAM控制器。存儲(chǔ)器管理器首先向ROM控制器分配額外指定的地址范圍。如果ROM控制器不再需要該地址范圍,例如在引導(dǎo)操作之后,進(jìn)行一次性切換把指定地址范圍轉(zhuǎn)移給RAM控制器。
發(fā)明內(nèi)容
本發(fā)明的目的是優(yōu)化地址范圍的分配。
通過集成電路,尤其是片上系統(tǒng)來達(dá)到這個(gè)目的,其中所述集成電路包括具有處理器的特殊處理器平臺(tái),至少兩個(gè)模塊和地址管理器,所述特殊處理器平臺(tái),至少兩個(gè)模塊和地址管理器通過總線相連,而地址管理器適于將地址空間的不同地址范圍以可變方式分配給集成電路的至少兩個(gè)模塊中的至少兩個(gè)。由于地址空間中的地址范圍是可選的,可以根據(jù)當(dāng)前負(fù)載狀況優(yōu)化對地址空間容量的利用。通過選擇地址范圍的位置和地址范圍的容量,允許靈活地利用地址空間。通過軟件程序可以自動(dòng)分配地址范圍。例如可以通過這樣的方式設(shè)計(jì)軟件程序,即軟件程序把地址范圍公平分配給現(xiàn)有模塊或那些當(dāng)前需要地址范圍的模塊。在沒有和其它地址范圍重疊的情況下,可以根據(jù)需要選擇所要分配的地址范圍。特定于用戶的編程可被用來向分立模塊分配具體的地址范圍。
因此引導(dǎo)操作不再需要特殊的暫停和復(fù)位模塊。在沒有靈活的地址管理的情況下,為了允許在引導(dǎo)操作期間從ROM切換到RAM,暫停和復(fù)位模塊是必要的。
根據(jù)后面的權(quán)利要求和詳細(xì)描述可以得出有利的設(shè)計(jì)。
具體實(shí)施例方式
下面根據(jù)實(shí)施例并且結(jié)合
本發(fā)明。
附圖是詳細(xì)示出基于本發(fā)明的集成電路的示意圖。
圖中示出了處理器平臺(tái)CleanDMEP和若干個(gè)被連接到處理器平臺(tái)的模塊;CleanDMEP=嵌入式處理器的潔凈設(shè)計(jì)方法。處理器平臺(tái)是通用平臺(tái),并且可用于任何處理,例如電信、機(jī)械工程、宇航等領(lǐng)域內(nèi)的處理;例如在電信領(lǐng)域中,可用于涉及各種XDSL、UMTS、VoIP等方面的處理。
集成電路被實(shí)現(xiàn)成ASIC上的片上系統(tǒng)。集成電路首先包括具有處理器17的特殊處理器平臺(tái),三個(gè)AHB主和/或從模塊3、13、14和中央地址管理器11,上述部件通過AMBA-AHB總線相連。例如,模塊3被實(shí)現(xiàn)成SDRAM控制器,模塊13被實(shí)現(xiàn)成ROM控制器,模塊14被實(shí)現(xiàn)成RAM控制器。地址管理器11包含三個(gè)模塊3、13、14的三個(gè)地址范圍??偩€被設(shè)計(jì)成快速總線,例如AMBA-AHB總線。
提供具有預(yù)定容量的地址空間。例如,地址空間有4吉字節(jié)。例如,ROM需要32千字節(jié)。根據(jù)需要,這32千字節(jié)地址范圍現(xiàn)在可以在4吉字節(jié)地址空間中移動(dòng)。通過地址的物理轉(zhuǎn)移實(shí)現(xiàn)這種移動(dòng)。例如,ROM和RAM均被配置成32千字節(jié)。只要兩個(gè)32千字節(jié)地址范圍不重疊,便可以根據(jù)需要選擇其在4吉字節(jié)地址空間中的位置。
地址管理器11適于將地址空間的不同地址范圍以可變方式分配給至少兩個(gè)模塊。
通過處理器17和地址管理器11中的軟件程序可以選擇地址空間內(nèi)地址范圍的位置以及地址范圍的容量。例如可以用編程語言C或C++編寫軟件程序。軟件程序獨(dú)立選擇地址范圍的位置和容量。例如,最初使用為各個(gè)模塊而存儲(chǔ)的表格計(jì)算地址范圍容量,所述表格含有模塊ID和所需的地址范圍容量。接著確定具有所需容量的地址范圍的適當(dāng)位置。通過掃描以保留區(qū)和非保留區(qū)為特征,例如以置位或非置位狀態(tài)為特征的地址空間,發(fā)現(xiàn)具有所需容量的空閑地址范圍。選擇并保留所發(fā)現(xiàn)的具有所需容量的第一地址范圍,并且分配給模塊。如果經(jīng)過掃描沒有發(fā)現(xiàn)具有所需容量的空閑地址范圍,則對保留地址范圍進(jìn)行重新分配。通過移動(dòng)保留地址范圍以消除保留地址范圍之間的間隙,即非保留區(qū)。在重新分配之后,所有仍然處于非保留狀態(tài)的地址均被移動(dòng)到地址空間的尾部。如果在這個(gè)尾部地址空間找到具有所需容量的地址范圍,則保留并分配該地址范圍。如果仍然沒有具有所需容量的可用地址范圍,則程序檢查相關(guān)模塊的表格中是否記錄有較小的地址范圍容量。例如在各個(gè)模塊的表格中可以記錄一個(gè)、兩個(gè)或更多個(gè)地址范圍容量。如果AMBA-AHB總線上傳輸負(fù)載較低,或者出現(xiàn)較小數(shù)量的保護(hù)范圍,則選擇較大的地址范圍容量;如果傳輸負(fù)載較高或有大量的保護(hù)范圍,則選擇較小的地址范圍容量。這提高了處理速度。如果在地址空間中出現(xiàn)具有所需的較小容量的地址范圍,則選擇,保留和分配該地址范圍。如果地址空間中不存在具有所需的較小容量的地址范圍,則通過借助表格的選擇操作接連降低先前被保留的地址范圍的地址容量,直到具有所需的較小容量的對應(yīng)地址范圍處于非保留狀態(tài)。接著分配該地址范圍。例如,以這樣的方式設(shè)計(jì)地址空間的容量,即可以為所有模塊分配至少具有最小容量的地址范圍。
通過專用軟件程序和GUI(圖形用戶接口),用戶可以決定分立地址范圍的初始保留狀態(tài)。例如,與RAM控制器相比,較大的地址空間應(yīng)當(dāng)優(yōu)先分配給SDRAM控制器。這可以由用戶來指定。用戶可以對分立地址空間結(jié)構(gòu)進(jìn)行編程,例如針對具體處理器平臺(tái)的具體拓?fù)溥M(jìn)行定制。
此外,提供至少一個(gè)部件5、6、7、8,所述部件通過AMBA-APB總線和橋接器10連接到AMBA-AHB總線??蛇x地,地址管理器11適于將地址空間的不同地址范圍以可變方式分配給至少一個(gè)部件5、6、7、8。
下面說明處理器平臺(tái)的通用結(jié)構(gòu)。
處理器平臺(tái)包含SDRAM控制器3,SDRAM控制器3一方面被連接到快速內(nèi)部AMBA-AHB總線,另一方面被連接到SDRAM 1,其中SDRAM 1位于集成電路之內(nèi)、處理器平臺(tái)之外。處于內(nèi)部意味著在集成電路內(nèi)部,處于外部意味著在集成電路外部。被實(shí)現(xiàn)成SDRAM控制器的模塊3控制對SRAM 1的訪問并且進(jìn)行必要的總線協(xié)議轉(zhuǎn)換。SDRAM 1也可以被布置在集成電路外部。
處理器平臺(tái)還包含靜態(tài)存儲(chǔ)器接口4,靜態(tài)存儲(chǔ)器接口4一方面被連接到快速內(nèi)部AMBA-AHB總線,另一方面被連接到SRAM 2,其中SRAM2位于集成電路之內(nèi)、處理器平臺(tái)之外。靜態(tài)存儲(chǔ)器接口4控制對SRAM 2的訪問并且進(jìn)行必要的總線協(xié)議轉(zhuǎn)換。SRAM 2也可以被布置在集成電路外部。
還提供中斷控制器5,中斷控制器5一方面被連接到諸如AMBA-APB的慢速內(nèi)部總線,另一方面為這樣的模塊提供至少一個(gè)接口,即無論該模塊是位于集成電路內(nèi)部還是外部,該模塊均位于處理器平臺(tái)之外。中斷控制器5把中斷信號(hào)從平臺(tái)外部的模塊連接到處理器。
還提供UART 6,UART 6一方面被連接到慢速內(nèi)部AMBA-APB總線,另一方面為被布置在處理器平臺(tái)外部的外部主處理器提供接口。UART 6被用來在外部主處理器和內(nèi)部處理器17之間傳送數(shù)據(jù)。
還提供GP I/O 7,GP I/O 7一方面被連接到慢速內(nèi)部AMBA-APB總線,另一方面為這樣的模塊提供至少一個(gè)接口,即無論該模塊是位于集成電路內(nèi)部還是外部,該模塊均位于處理器平臺(tái)之外。GP I/O 7被用來在平臺(tái)外部的模塊和內(nèi)部的處理器17之間傳送控制信息;GPI/O=通用輸入/輸出。
還提供實(shí)時(shí)計(jì)數(shù)器8,實(shí)時(shí)計(jì)數(shù)器8一方面被連接到慢速內(nèi)部AMBA-APB總線,另一方面為這樣的模塊提供至少一個(gè)接口,即無論該模塊是位于集成電路內(nèi)部還是外部,該模塊均位于處理器平臺(tái)之外。實(shí)時(shí)計(jì)數(shù)器8充當(dāng)根據(jù)系統(tǒng)時(shí)鐘運(yùn)行的定時(shí)器。
還提供被連接到快速AMBA-AHB總線的寄存器組9。寄存器組9為若干模塊提供寄存器,所述模塊包含被實(shí)現(xiàn)成RAM控制器的模塊14和被實(shí)現(xiàn)成SDRAM控制器的模塊3。
在若干主模塊同時(shí)訪問快速總線的情況下,被連接到快速AMBA-AHB總線的仲裁器12劃分這些訪問的優(yōu)先權(quán)并且按照優(yōu)先順序處理這些訪問。
處理器17被實(shí)現(xiàn)成例如微處理器或數(shù)字信號(hào)處理器。處理器17可以通過AHB封套(AHB wrapper)被連接到快速AMBA-AHB總線。AHB封套16根據(jù)需要進(jìn)行必要的協(xié)議轉(zhuǎn)換。
模塊13被實(shí)現(xiàn)成ROM控制器,ROM控制器一方面被連接到快速AMBA-AHB總線,另一方面被連接到位于處理器平臺(tái)之外的內(nèi)部ROM 18,內(nèi)部ROM 18也可以包含BIST;BIST=內(nèi)部自測試。
ROM控制器控制對內(nèi)部ROM 18的訪問,并且進(jìn)行必要的總線協(xié)議轉(zhuǎn)換。
被實(shí)現(xiàn)成RAM控制器的模塊14一方面被連接到快速內(nèi)部AMBA-AHB總線,另一方面被連接到SRAM 19,其中SRAM 19位于集成電路之內(nèi)、處理器平臺(tái)之外。RAM控制器控制對SRAM 19的訪問,并且進(jìn)行必要的總線協(xié)議轉(zhuǎn)換。SRAM 19也可以包含BIST。
還提供橋接器10。橋接器10把快速AMBA-AHB總線連接到慢速AMBA-APB總線。于是通過橋接器10建立被連接到AMBA-AHB總線的模塊和被連接到AMBA-APB總線的模塊之間的連接。處理器17于是通過橋接器10訪問中斷控制器5。配置兩個(gè)具有不同處理速度的總線具有慢速訪問不妨礙快速訪問的優(yōu)點(diǎn)。橋接器10、AMBA-APB總線和與之相連的模塊是可選的。如果不需要某些模塊的功能,則可以在設(shè)計(jì)中省略這些模塊、AMBA-APB總線和橋接器10,從而節(jié)省空間并降低制造成本。
處理器17具有針對JTAG的連接,其中JTAG=聯(lián)合測試行動(dòng)組。JTAG接口可被用于調(diào)試內(nèi)部處理器上的軟件,也可以在ASIC的生產(chǎn)控制期間使用。
AMBA-APB總線可以仍然位于集成電路內(nèi)部和處理器平臺(tái)外部,但在適用的情況下也可以位于集成電路外部。
AMBA-AHB總線可以仍然位于集成電路內(nèi)部和處理器平臺(tái)外部,但在適用的情況下也可以位于集成電路外部。
實(shí)施例代表一個(gè)具體的處理器平臺(tái)。本發(fā)明可以適用于任何處理器平臺(tái),尤其是具有的部件多于或少于附圖中示出的部件的處理器平臺(tái)。集成電路也可以配置不止一個(gè)處理器,不止一個(gè)控制輸入和不止一個(gè)外部存儲(chǔ)器。例如,如果通過公共地址管理機(jī)制管理兩個(gè)處理器,則一個(gè)控制輸入和一個(gè)外部存儲(chǔ)器對于兩個(gè)處理器而言是足夠的。對于特殊處理器平臺(tái),也可以在集成電路上布置其它處理器和模塊,并且也可以占據(jù)集成電路的更多部分,例如80%,使得只有20%被分配給處理器平臺(tái)。集成電路也可以包含兩個(gè)或更多處理器平臺(tái)。
在實(shí)施例中,模塊被實(shí)現(xiàn)成ROM、RAM和SDRAM控制器。模塊也可以被實(shí)現(xiàn)成DRAM、PROM、EPROM或EEPROM;PROM=可編程ROM,EPROM=可擦除PROM,EEPROM=電可擦除PROM。
在實(shí)施例中,使用了芯片內(nèi)部的AMBA總線,和芯片外部的AMBA總線和/或PCI總線。也可以在芯片內(nèi)部使用例如CoreConnect總線、CoreFrame總線、FISP總線或IP總線。也可以在芯片外部使用例如VME總線、USB總線等等。除了一或兩個(gè)總線被用于部件的芯片內(nèi)部連接之外,也可以使用三個(gè)或更多個(gè)總線,例如把仲裁器連接到若干部件的額外總線。處理器可以被實(shí)現(xiàn)成ARM、Intel或AMD處理器。
縮寫AMBA=先進(jìn)微控制器總線體系結(jié)構(gòu),AHB=先進(jìn)高性能總線,APB=先進(jìn)外設(shè)總線,ARM=先進(jìn)RISC處理器,VHDL=VHSIC硬件描述語言。
權(quán)利要求
1.一種集成電路,尤其是一種片上系統(tǒng)(system-on-chip),所述集成電路包括具有處理器的特殊處理器平臺(tái),至少兩個(gè)模塊和地址管理器,所述特殊處理器平臺(tái),至少兩個(gè)模塊和地址管理器通過總線相連,而地址管理器適于將地址空間的不同地址范圍以可變方式分配給集成電路的至少兩個(gè)模塊中的至少兩個(gè)。
2.如權(quán)利要求1所述的集成電路,其中通過處理器和/或地址管理器中的軟件程序可以選擇地址空間內(nèi)地址范圍的位置以及地址范圍的容量。
3.如權(quán)利要求1所述的集成電路,其中至少一個(gè)模塊被實(shí)現(xiàn)成控制器。
4.如權(quán)利要求1所述的集成電路,其中一個(gè)模塊被實(shí)現(xiàn)成ROM控制器,另一個(gè)模塊被實(shí)現(xiàn)成RAM控制器,還有一個(gè)模塊被實(shí)現(xiàn)成SDRAM控制器。
5.如權(quán)利要求1所述的集成電路,其中總線被實(shí)現(xiàn)成AMBA-AHB總線。
6.如權(quán)利要求5所述的集成電路,其中處理器通過AHB封套被連接到AMBA-AHB總線。
7.如權(quán)利要求6所述的集成電路,其中在處理器平臺(tái)中提供至少一個(gè)部件,所述部件通過AMBA-APB總線和橋接器連接到AMBA-AHB總線,地址管理器適于將地址空間的不同地址范圍以可變方式分配給至少一個(gè)部件中的至少一個(gè)。
全文摘要
本發(fā)明的目的是優(yōu)化針對集成電路模塊的地址范圍分配。根據(jù)本發(fā)明,由于可以通過中央地址管理器選擇地址空間中的地址范圍,所以能夠根據(jù)當(dāng)前負(fù)載狀況優(yōu)化對地址空間容量的利用。通過選擇地址范圍的位置和地址范圍的容量,允許靈活地利用地址空間。通過軟件程序可以自動(dòng)分配地址范圍。可以通過這樣的方式設(shè)計(jì)軟件程序,即軟件程序把地址范圍公平分配給現(xiàn)有模塊或那些當(dāng)前需要地址范圍的模塊。在沒有與其它地址范圍重疊的情況下,可以根據(jù)需要選擇所要分配的地址范圍。特定于用戶的編程可被用來向分立模塊分配具體的地址范圍。
文檔編號(hào)G06F12/06GK1407459SQ02127760
公開日2003年4月2日 申請日期2002年8月8日 優(yōu)先權(quán)日2001年8月21日
發(fā)明者卡爾·R·伯特里, 克里斯托弗·根達(dá)莫 申請人:阿爾卡塔爾公司