當(dāng)前位置:首頁 > EDA > 電子設(shè)計(jì)自動化
[導(dǎo)讀]分析軟處理器MicroBlaze的體系結(jié)構(gòu),給出MicroBlaze內(nèi)核在軟件無線電系統(tǒng)中的應(yīng)用,實(shí)現(xiàn)SOPC(可編程系統(tǒng)芯片)。

   摘要:分析軟處理器MicroBlaze的體系結(jié)構(gòu),給出MicroBlaze內(nèi)核在軟件無線電系統(tǒng)中的應(yīng)用,實(shí)現(xiàn)SOPC(可編程系統(tǒng)芯片)。

    關(guān)鍵詞:FPGA IP Core SOPC MicroBlaze CoreConnect 軟處理器 軟件無線電

Xilinx公司的MicroBlaze 32位軟處理器核是支持CoreConnect總線的標(biāo)準(zhǔn)外設(shè)集合。MicroBlaze處理器運(yùn)行在150MHz時(shí)鐘下,可提供125 D-MIPS的性能,非常適合設(shè)計(jì)針對網(wǎng)絡(luò)、電信、數(shù)據(jù)通信和消費(fèi)市場的復(fù)雜嵌入式系統(tǒng)。

1 MicroBlaze的體系結(jié)構(gòu)

MicroBlaze 是基于Xilinx公司FPGA的微處理器IP核,和其它外設(shè)IP核一起,可以完成可編程系統(tǒng)芯片(SOPC)的設(shè)計(jì)。MicroBlaze 處理器采用RISC架構(gòu)和哈佛結(jié)構(gòu)的32位指令和數(shù)據(jù)總線,可以全速執(zhí)行存儲在片上存儲器和外部存儲器中的程序,并和其它外設(shè)IP核一起,可以完成可編程系統(tǒng)芯片(SOPC)的設(shè)計(jì)。MicroBlaze處理器采用RISC架構(gòu)和哈佛結(jié)構(gòu)的32位指令和數(shù)據(jù)總線,可以全速執(zhí)行存儲在片上存儲器和外部存儲器中的程序,并訪問其的數(shù)據(jù),如圖1所示。

    (1)內(nèi)部結(jié)構(gòu)

MicroBlaze內(nèi)部有32個(gè)32位通用寄存器和2個(gè)32位特殊寄存器—PC指針和MSR狀態(tài)標(biāo)志寄存器。為了提高性能,MicroBlaze還具有指令和數(shù)據(jù)緩存。所有的指令字長都是32位,有3個(gè)操作數(shù)和2種尋址模式。指令按功能劃分有邏輯運(yùn)算、算術(shù)運(yùn)算、分支、存儲器讀/寫和特殊指令等。指令執(zhí)行的流水線是并行流水線,它分為3級流水:取指、譯碼和執(zhí)行,如圖2所示。

(2)存儲結(jié)構(gòu)

MicroBlaze是一種大端存儲系統(tǒng)處理器,使用如圖3所式的格式來訪問存儲器。

(3)中斷控制和調(diào)試接口

MicroBlaze可以響應(yīng)軟件和硬件中斷,進(jìn)行異常處理,通過外加控制邏輯,可以擴(kuò)展外部中斷。利用微處理器調(diào)試模塊(MDM)IP核,可通過JTAG接口來調(diào)試處理器系統(tǒng)。多個(gè)MicroBlaze處理器可以用1個(gè)MDM來完成多處理器調(diào)試。

(4)快速單一連接路接口

MicroBlaze處理器具有8個(gè)輸入和8個(gè)輸出快速單一鏈路接口(FSL)。FSL通道是專用于單一方向的點(diǎn)到點(diǎn)的數(shù)據(jù)流傳輸接口。FLS和MicroBlaze的接口寬度是32位。每一個(gè)FSL通道都可以發(fā)送和接收控制或數(shù)據(jù)字。

2 CoreConnect技術(shù)

CoreConnect 是由IBM開發(fā)的片上總線通信鏈,它使多個(gè)芯片核相互連接成為一個(gè)完事的新芯片成為可能。CoreConnect技術(shù)使整合變得更為容易,而且在標(biāo)準(zhǔn)產(chǎn)品平臺設(shè)計(jì)中,處理器、系統(tǒng)以及外圍的核可以重復(fù)使用,以達(dá)到更高的整體系統(tǒng)性能。

CoreConnect總線架構(gòu)包括處理器本機(jī)總線(PLB),片上外圍總線(OPB),1個(gè)總線橋,2個(gè)判優(yōu)器,以及1個(gè)設(shè)備控制寄存器(DCR)總線,CoreConnect總線架構(gòu)如圖4所示。Xilinx將為所有嵌入式處理器用戶提供IBM CoreConnect許可,因?yàn)樗撬蠿ilinx嵌入式處理器設(shè)計(jì)的基礎(chǔ)。MicroBlaze處理器使用了與IBM PowerPC相同的總線,用作外設(shè)。雖然MicroBlaze軟處理器完成獨(dú)立于PowerPC,但它讓設(shè)計(jì)者可以選擇芯片上的運(yùn)行方式,包括一個(gè)嵌入式PowerPC,并共享它的外設(shè)。

(1)片上外設(shè)總線(OPB)

內(nèi)核通過片上外設(shè)總線(OPB)來訪問低速和低性能的系統(tǒng)資源。OPB是一種完全同步總線,它的功能處于一個(gè)單獨(dú)的總線層級。它不是直接連接到處理器內(nèi)核的。OPB接口提供分離的32位地址總線和32位數(shù)據(jù)總線。處理器內(nèi)核可以借助“PLB to OPB”橋,通過OPB訪問從外設(shè)。作為OPB總線控制器的外設(shè)可以借助“OPB to PLB”橋,通過PLB訪問存儲器。

    (2)處理器本機(jī)總線(PLB)

PLB接口為指令和數(shù)據(jù)一側(cè)提供獨(dú)立的32位地址和64位數(shù)據(jù)總線。PLB支持具有PLB總線接口的主機(jī)和從機(jī)通過PLB信號連接來進(jìn)行讀寫數(shù)據(jù)的傳輸??偩€架構(gòu)支持多主從設(shè)備。每一個(gè)PLB主機(jī)通過獨(dú)立的地址總線、讀數(shù)據(jù)總線和寫數(shù)據(jù)總線與PLB連接。PLB從機(jī)通過共享但分離的地址總線、讀數(shù)據(jù)總線和寫數(shù)據(jù)總線與PLB連接,對于每一個(gè)數(shù)據(jù)總線都有一個(gè)復(fù)雜的傳輸控制和狀態(tài)信號。為了允許主機(jī)通過競爭來獲得總線的所有權(quán),有一個(gè)中央判決機(jī)構(gòu)來授權(quán)對PLB的訪問。

(3)設(shè)備控制寄存器總線(DCR)

設(shè)備控制寄存器總線(DCR)是為在CPU通用寄存器(GPRs)和DCR的從邏輯設(shè)備控制寄存器(DCRs)之間傳輸數(shù)據(jù)而設(shè)計(jì)的。

3 MicroBlaze的開發(fā)

應(yīng)用EDK(嵌入式開發(fā)套件)可以進(jìn)行MicroBlaze IP核的開發(fā)。工具包中集成了硬件平臺生產(chǎn)器、軟件平臺產(chǎn)生器、仿真模型生成器、軟件編譯器和軟件調(diào)試工具等。EDK中提供一個(gè)集成開發(fā)環(huán)境XPS(Xilinx平臺工作室),以便使用系統(tǒng)提供的所有工具,完成嵌入式系統(tǒng)開發(fā)的整個(gè)流程。EDK中還帶有一些外設(shè)接口的IP核,如LMB、OPB總線接口、外部存儲控制器、SDRAM控制器、UART、中斷控制器、定時(shí)器等。利用這些資源,可以構(gòu)建一個(gè)較為完善的嵌入式微處理器系統(tǒng)。

在FPGA上設(shè)計(jì)的嵌入式系統(tǒng)層次結(jié)構(gòu)為5級??稍谧畹蛯佑布Y源上開發(fā)IP核,或或已開發(fā)的IP核搭建嵌入式系統(tǒng),這是硬件開發(fā)部件;開發(fā)IP核的設(shè)備驅(qū)動、應(yīng)用接口(API)和應(yīng)用層(算法),屬軟件開發(fā)內(nèi)容。

利用MicroBlaze構(gòu)建基本的嵌入式系統(tǒng)如圖5所示。通過標(biāo)準(zhǔn)總線接口—LMB總線和OPB總線的IP核,MicroBlaze就可以和各種外設(shè)IP核相連。

EDK中提供的IP核均有相應(yīng)的設(shè)備驅(qū)動和應(yīng)用接口,使用者只需利用相應(yīng)的函數(shù)庫,就可以編寫自己的應(yīng)用軟件和算法程序。對于用戶自己開發(fā)的IP核,需要自己編寫相應(yīng)的驅(qū)動和接口函數(shù)。軟件設(shè)計(jì)流程如圖6所示。

4 MicroBlaze的應(yīng)用

在軟件無線電系統(tǒng)中,一般采用“微處理器+協(xié)處理器”結(jié)構(gòu)。微處理器一般使用通用DSP,主要完成系統(tǒng)通信和基帶處理等工作;協(xié)處理器用FPGA實(shí)現(xiàn),主要完成同步和預(yù)處理等底層算法的運(yùn)算任務(wù)。在本課題中,采用的基帶處理算法比較簡單,應(yīng)用軟處理器IP核代替DSP,在一片F(xiàn)PGA內(nèi)就能實(shí)現(xiàn)整個(gè)系統(tǒng)的設(shè)計(jì)。這樣可以簡化系統(tǒng)的結(jié)構(gòu),提高系統(tǒng)的整體性能。

本課題的系統(tǒng)設(shè)計(jì)如圖7和圖8所示,F(xiàn)PGA片上系統(tǒng)主要完成兩個(gè)任務(wù)—發(fā)送和接收數(shù)據(jù)。對于發(fā)送任務(wù),F(xiàn)PGA完成硬件算法的初始化,接收串口數(shù)據(jù),并將數(shù)據(jù)存儲在雙口SRAM中,系統(tǒng)硬件算法部分對雙口SRAM中數(shù)據(jù)進(jìn)行基帶處理,并將結(jié)果送給D/A轉(zhuǎn)換器。對于接收任務(wù),F(xiàn)PGA接收A/D轉(zhuǎn)換器送來的數(shù)據(jù),進(jìn)行基帶處理,并將數(shù)據(jù)存儲在雙口SRAM中,把存儲在雙口SRAM中的數(shù)據(jù)通過串口發(fā)送回主機(jī)。

在EDK開發(fā)套件的XPS集成開發(fā)環(huán)境下進(jìn)行系統(tǒng)硬件設(shè)計(jì)。在其界面環(huán)境下,添加IP核,進(jìn)行系統(tǒng)連接和各項(xiàng)參數(shù)設(shè)置。由于系統(tǒng)中包含的硬件算法模塊不是標(biāo)準(zhǔn)模塊,因此工程需要設(shè)置成子模塊方式,利用平臺產(chǎn)生器,根據(jù)硬件描述文件(.MHS文件),生成嵌入式系統(tǒng)子模塊的網(wǎng)表文件(.NGC)。然后在ISE設(shè)計(jì)環(huán)境下,從外部通過GPIO端口與硬件算法模塊相連,從而構(gòu)成整個(gè)應(yīng)用系統(tǒng)的硬件模型。

    在EDK中,每一個(gè)外設(shè)IP模塊都有自己的軟件函數(shù)庫。利用Libgen工具,將所需外設(shè)函數(shù)數(shù)庫的頭文件添加進(jìn)工程中,通過調(diào)用這些函數(shù)可以操作和控制這些外設(shè)。例如對串口的操作如下:

//初始化串口,設(shè)置波特率等參數(shù),清空發(fā)送和接收緩沖,禁止中斷;

XuartLite_Initialize(&UART,XPAR_MYUARTLITE_DEVICE_ID);

//發(fā)送接收數(shù)據(jù)

XuartLite_Send(&UART,&send_data,1);XUartLite_Recv(&UART,&recv_data,1);

使用標(biāo)準(zhǔn)C語言進(jìn)行應(yīng)用程序的開發(fā),編寫相應(yīng)的算法軟件,完成系統(tǒng)功能。軟件流程如圖9所示。

將編寫的程序代碼利用mb-gcc編譯工具,根據(jù)系統(tǒng)的軟件一并,生成.ELF文件。在編譯鏈接之前,若選擇調(diào)試方式,就會在生成文件中加入調(diào)試接口SMDstub,進(jìn)行程序的硬件調(diào)試。

利用系統(tǒng)的硬件模型以及RAM塊的組織結(jié)構(gòu)文件、ELF文件和用戶結(jié)束文件,應(yīng)用FPGA綜合實(shí)現(xiàn)工具(如Xilinx XST)進(jìn)行綜合,然后下載生成的配置BIT文件

到目標(biāo)板上。利用EDK中提供的GDB調(diào)試工具可以進(jìn)行程序調(diào)試。有兩種調(diào)試方法:軟件仿真和硬件調(diào)試。軟件仿真可以進(jìn)行程序的功能調(diào)試,在開發(fā)工具內(nèi)部就可以進(jìn)行,不需要硬件支持。硬件調(diào)試就是通過JTAG接口或串口(可在硬件設(shè)計(jì)時(shí)選擇),連接到目標(biāo)板上的應(yīng)用系統(tǒng)中的XMD調(diào)試接口,將軟件程序下載到系統(tǒng)中進(jìn)行調(diào)試。本課題使用的目標(biāo)板上的主芯片為Xilinx Spartan IIE 30萬門的FPGA,系統(tǒng)時(shí)鐘為50MHz。實(shí)際運(yùn)行完全滿足設(shè)計(jì)要求。

結(jié)語

采用FPGA和MicroBlaze進(jìn)行嵌入式系統(tǒng)設(shè)計(jì),實(shí)現(xiàn)了多片專用芯片的功能,大大縮小了接收機(jī)體積,便于系統(tǒng)實(shí)現(xiàn)小型化、集成化。捕獲及跳頻同步等算法采用硬件實(shí)現(xiàn),加快了捕獲跟蹤速度。實(shí)驗(yàn)結(jié)果表明,F(xiàn)PGA系統(tǒng)設(shè)計(jì)是正確可行的。如果在系統(tǒng)中配置大容量的SDRAM,加入以太網(wǎng)或USB等高速通信接口,將實(shí)時(shí)操作系統(tǒng)運(yùn)行于處理器上,就可以構(gòu)建一個(gè)較為完善的,基于FPGA的嵌入式系統(tǒng)。這將在網(wǎng)絡(luò)、通信、消費(fèi)類產(chǎn)品等多方面有著廣闊的應(yīng)用前景。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉