基于FPGA的面向Linux核的基本硬件系統(tǒng)構(gòu)建和測(cè)試
前言
本文引用地址:http://2s4d.com/article/128992.htm隨著信息的高速發(fā)展,片上可編程系統(tǒng)SoPC(System on Programmable Chip)成為人們討論的熱門(mén)話題。具有高邏輯密度和高性能硬件模塊的FPGA(Field Programmable Gate Array)使得高效率的片上處理器的設(shè)計(jì)成為現(xiàn)實(shí)。目前,片上系統(tǒng)的設(shè)計(jì)已有一定發(fā)展, Xilinx公司開(kāi)發(fā)的嵌入式開(kāi)發(fā)包EDK(Embedded Development Kit)被眾多嵌入式研究者們所使用。
技術(shù)介紹
EDK
嵌入式開(kāi)發(fā)套件(EDK)是用于設(shè)計(jì)嵌入式可編程系統(tǒng)的全面解決方案。EDK自帶了許多工具和IP,可以用來(lái)設(shè)計(jì)完整的嵌入式處理器系統(tǒng),主要包括Xilinx 平臺(tái)工作室XPS(Xilinx Platform Studio)和軟件開(kāi)發(fā)套件SDK(Software Development Kit)。本文既用到了Xilinx平臺(tái)工作室XPS也用到了軟件開(kāi)發(fā)套件SDK。Xilinx公司的EDK不僅可以用FPGA做邏輯設(shè)計(jì),并且可以使用PowerPC和MicroBlaze處理器,實(shí)現(xiàn)從硬件到軟件的整個(gè)嵌入式系統(tǒng)設(shè)計(jì)。
MicroBlaze
本文用到的MicroBlaze是一個(gè)被優(yōu)化過(guò)的可以在Xilinx公司FPGA中運(yùn)行的軟核處理器,并且可以和其它外設(shè)IP核一起完成可編程系統(tǒng)芯片的設(shè)計(jì)。它具有運(yùn)行速度快、占用資源少、可配置性強(qiáng)等優(yōu)點(diǎn),廣泛應(yīng)用于通信、軍事、高端消費(fèi)市場(chǎng)等領(lǐng)域。MicroBlaze處理器采用RISC(Reduced Instruction Set Computer)指令集結(jié)構(gòu)和哈佛存儲(chǔ)結(jié)構(gòu),指令、數(shù)據(jù)總線位寬均為32位。MicroBlaze指令的執(zhí)行有三級(jí)和五級(jí)流水線之分。當(dāng)采用面積優(yōu)化時(shí),流水線分為三級(jí),即取指,譯碼和執(zhí)行,這樣可以減少硬件開(kāi)銷。當(dāng)不使用面積優(yōu)化時(shí),流水線分為五級(jí):取指、譯碼、執(zhí)行、訪問(wèn)存儲(chǔ)器和回寫(xiě),這樣可以提高性能。本文用到的MicroBlaze版本是v6.00.b,其指令的執(zhí)行為3級(jí)流水線模式。
基本的硬件系統(tǒng)的搭建
本文的硬件開(kāi)發(fā)和調(diào)試環(huán)境是在Windows系統(tǒng)下,使用的是ISE_DS13.2開(kāi)發(fā)工具。而內(nèi)核編譯等軟件開(kāi)發(fā)則是Linux操作系統(tǒng)下完成。
評(píng)論