SOPC設(shè)計(jì)中的兩種片上總線分析
SoC(Systemon Chip,片上系統(tǒng))以其能提高產(chǎn)品性能、縮小產(chǎn)品體積等優(yōu)點(diǎn),逐漸成為嵌入式系統(tǒng)發(fā)展的主流趨勢(shì)。SOPC(System On a Programmable Chip,可編程片上系統(tǒng))利用可編程邏輯器件來(lái)實(shí)現(xiàn)SoC,具有設(shè)計(jì)方式靈活,可裁減、可擴(kuò)充、可升級(jí),并具備軟硬件在系統(tǒng)可配置的性能。將處理器IP(Intellectual Property,知識(shí)產(chǎn)權(quán))內(nèi)核嵌入到可編程邏輯器件是SOPC設(shè)計(jì)的前提條件。
在Altera的FPGA器件上嵌入處理器等IP核可實(shí)現(xiàn)SOPC,設(shè)計(jì)時(shí)可使用的RISC處理器核有3種:ARM的工業(yè)標(biāo)準(zhǔn)處理器硬核ARM922T、Altera的16位Nios和32位Nios II處理器軟核,而片上總線可采用AMBA和Avalon兩種總線。在嵌入了ARM922T的Excalibur系列FPGA上,使用了AMBA總線的高性能總線AHB(Advanced High-performance Bus);而在可嵌入Nios的FPGA上則使用Avalon總線。這兩種總線也是目前SoC設(shè)計(jì)使用較多的片上總線標(biāo)準(zhǔn)。
1 片上總線與傳統(tǒng)總線體系的比較
片上總線是實(shí)現(xiàn)SoC中IP核連接最常見(jiàn)的技術(shù)手段,它以總線方式實(shí)現(xiàn)IP核之間的數(shù)據(jù)通信。片上總線規(guī)范一般需要定義各個(gè)模塊之間初始化、仲裁、請(qǐng)求傳輸、響應(yīng)、發(fā)送接收等過(guò)程中的驅(qū)動(dòng)、時(shí)序、策略等關(guān)系。
傳統(tǒng)總線協(xié)議中,仲裁器控制一至多個(gè)總線主設(shè)備與從設(shè)備的通信??偩€主設(shè)備首先通過(guò)仲裁器來(lái)申請(qǐng)總線控制權(quán),然后仲裁器才允許單一主設(shè)備訪問(wèn)總線。如果多個(gè)主設(shè)備試圖同時(shí)訪問(wèn)總線,仲裁器將根據(jù)既定的仲裁策略,將總線資源分配給其中一個(gè)主設(shè)備。例如,在優(yōu)先級(jí)仲裁機(jī)制中,優(yōu)先級(jí)高的主設(shè)備將首先得到總線控制權(quán)。
控制總線的主設(shè)備會(huì)占用總線,并與相應(yīng)從設(shè)備通信。圖1說(shuō)明了優(yōu)先級(jí)仲裁總線體系的結(jié)構(gòu),該體系在傳統(tǒng)微處理器系統(tǒng)中工作良好。由于主、從設(shè)備是位于印制板或底板上的獨(dú)立部件,總線需要驅(qū)動(dòng)底板上的信號(hào)和連接器。而且,鑒于有限的印制板資源和可用I/O引腳數(shù)目,所有系統(tǒng)部件還必須共用總線。
片上總線無(wú)需驅(qū)動(dòng)底板上的信號(hào)和連接器,使用更簡(jiǎn)單且速度更快;同時(shí),為了滿足帶寬要求,片上總線普遍采用并發(fā)多主設(shè)備總線體系。這種總線體系通過(guò)消除傳統(tǒng)總線系統(tǒng)中一次僅有一個(gè)主設(shè)備可以訪問(wèn)系統(tǒng)總線的帶寬瓶頸,來(lái)增加系統(tǒng)帶寬。在此體系中,總線主設(shè)備競(jìng)爭(zhēng)的是獨(dú)立的從設(shè)備,而非總線本身。
2 AMBA總線及其應(yīng)用
2.1 AMBA總線
AMBA(Advanced Microcontroller Bus Architecture)總線用于高性能嵌入式系統(tǒng),獨(dú)立于處理器和制造工藝技術(shù),增強(qiáng)了各種應(yīng)用中外設(shè)和系統(tǒng)宏單元的可重用性。AMBA是多總線體系,目前的AMBA總線規(guī)范2.0版定義了3種可以組合使用的總線體系:APB(Advanced Peripheral Bus),ASB(Advanced System Bus),AHB。AHB是現(xiàn)階段AMBA的主要形式。
評(píng)論