<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > EDA/PCB > 設計應用 > 基于MicroBlaze軟核的FPGA片上系統設計

基于MicroBlaze軟核的FPGA片上系統設計

作者: 時(shí)間:2004-12-08 來(lái)源:網(wǎng)絡(luò ) 收藏
摘要:分析軟處理器的體系結構,給出內核在軟件無(wú)線(xiàn)電系統中的應用,實(shí)現SOPC(可編程系統芯片)。

關(guān)鍵詞: IP Core SOPC CoreConnect 軟處理器 軟件無(wú)線(xiàn)電

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

1 MicroBlaze的體系結構

MicroBlaze 是基于Xilinx公司的微處理器IP核,和其它外設IP核一起,可以完成可編程系統芯片(SOPC)的設計。MicroBlaze 處理器采用RISC架構和哈佛結構的32位指令和數據總線(xiàn),可以全速執行存儲在片上存儲器和外部存儲器中的程序,并和其它外設IP核一起,可以完成可編程系統芯片(SOPC)的設計。MicroBlaze處理器采用RISC架構和哈佛結構的32位指令和數據總線(xiàn),可以全速執行存儲在片上存儲器和外部存儲器中的程序,并訪(fǎng)問(wèn)其的數據,如圖1所示。

(1)內部結構

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

(2)存儲結構

MicroBlaze是一種大端存儲系統處理器,使用如圖3所式的格式來(lái)訪(fǎng)問(wèn)存儲器。

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

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

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

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

2 CoreConnect技術(shù)

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

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

(1)片上外設總線(xiàn)(OPB)

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

(2)處理器本機總線(xiàn)(PLB)

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

(3)設備控制寄存器總線(xiàn)(DCR)

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

3 MicroBlaze的開(kāi)發(fā)

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

上設計的嵌入式系統層次結構為5級??稍谧畹蛯佑布Y源上開(kāi)發(fā)IP核,或或已開(kāi)發(fā)的IP核搭建嵌入式系統,這是硬件開(kāi)發(fā)部件;開(kāi)發(fā)IP核的設備驅動(dòng)、應用接口(API)和應用層(算法),屬軟件開(kāi)發(fā)內容。

利用MicroBlaze構建基本的嵌入式系統如圖5所示。通過(guò)標準總線(xiàn)接口―LMB總線(xiàn)和OPB總線(xiàn)的IP核,MicroBlaze就可以和各種外設IP核相連。

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

4 MicroBlaze的應用

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

本課題的系統設計如圖7和圖8所示,FPGA主要完成兩個(gè)任務(wù)―發(fā)送和接收數據。對于發(fā)送任務(wù),FPGA完成硬件算法的初始化,接收串口數據,并將數據存儲在雙口SRAM中,系統硬件算法部分對雙口SRAM中數據進(jìn)行基帶處理,并將結果送給D/A轉換器。對于接收任務(wù),FPGA接收A/D轉換器送來(lái)的數據,進(jìn)行基帶處理,并將數據存儲在雙口SRAM中,把存儲在雙口SRAM中的數據通過(guò)串口發(fā)送回主機。

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

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

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

XuartLite_Initialize(UART,XPAR_MYUARTLITE_DEVICE_ID);

//發(fā)送接收數據

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

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

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

利用系統的硬件模型以及RAM塊的組織結構文件、ELF文件和用戶(hù)結束文件,應用FPGA綜合實(shí)現工具(如Xilinx XST)進(jìn)行綜合,然后下載生成的配置BIT文件

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

結語(yǔ)

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



關(guān)鍵詞: MicroBlaze FPGA 軟核 片上系統

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>