<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于Microblaze軟核的嵌入式系統(tǒng)設(shè)計

          基于Microblaze軟核的嵌入式系統(tǒng)設(shè)計

          作者: 時間:2011-04-12 來源:網(wǎng)絡(luò) 收藏

          摘要:結(jié)合實際項目的開發(fā)經(jīng)驗,詳細講解了Xilinx 開發(fā)的整個流程,包括硬件平臺搭建、軟件平臺開發(fā)、操作的加載以及用非易失性存儲設(shè)備對FPGA進行上電配置等內(nèi)容。利用FPGA進行開發(fā),將得到越來越多的關(guān)注和應(yīng)用。
          關(guān)鍵詞:;;片上可編程系統(tǒng);可編程邏輯門陣列

          引言
          近十年來,F(xiàn)PGA行業(yè)獲得了突飛猛進的發(fā)展,其在系統(tǒng)開發(fā)工作中的地位已從簡單的膠合邏輯上升到了數(shù)字系統(tǒng)的核心處理器件??删幊唐舷到y(tǒng)SOPC(Systern On Programmable Chip)將CPU核與外設(shè)核以及系統(tǒng)軟件集成到單一芯片中,幫助用戶快速“量身定制”所需要的產(chǎn)品,創(chuàng)造性地為用戶提供了FPGA的嵌入式方案。
          Xilinx公司作為FPGA嵌入式軟核解決方案商,在其所有系列的FPGA中提供了 32位軟核處理器,并推出了用于嵌入式系統(tǒng)編程的EDK(Embedded Development Kit)集成開發(fā)解決方案。本文結(jié)合實際項目的開發(fā)經(jīng)驗,詳細講解了軟核開發(fā)的整個流程,包括硬件平臺開發(fā)、軟件平臺開發(fā)、嵌入式操作系統(tǒng)的加載以及用非易失性存儲設(shè)備對FPGA進行上電配置等內(nèi)容。

          1 Microblaze的體系結(jié)構(gòu)
          Microblaze處理器采用RISC架構(gòu)和哈佛結(jié)構(gòu),在時鐘頻率為150 MHz的情況下可以達到125 DMIPS的性能,該處理器(版本7.30)具有以下一些特征:
          ①32個32位通用寄存器和最多18個專用寄存器;
          ②32位指令系統(tǒng),支持3個操作數(shù)和2種尋址方式;
          ③分離的32位指令和數(shù)據(jù)總線;
          ④通過本地存儲器總線LMB直接訪問片內(nèi)的塊存儲器BRAM;
          ⑤具有高速的指令和數(shù)據(jù)緩存Cache,5級流水線結(jié)構(gòu);
          ⑥自帶硬件調(diào)試模塊MIDM;
          ⑦帶有8個主/從快速單工鏈路接口。
          圖1給出了Microblaze的內(nèi)部功能塊圖。

          本文引用地址:http://www.ex-cimer.com/article/150858.htm

          a.jpg


          從圖1可以看出,Microblaze軟核與其他專用集成芯片的硬CPU核在結(jié)構(gòu)上沒有大的差別,但它卻可以通過PLB總線(Processor Local Bus )與EDK軟件包將自帶的各種軟外設(shè)進行按需連接,并且支持用戶自定義IP通過PLB總線(Microblaze從7.30版本開始取消了原有的OPB總線)和FSL(Fast Simple Link)總線與Microblaze軟核連接,從而最大限度地發(fā)揮FPGA的靈活性。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          上一頁 1 2 3 4 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();