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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > Xilinx FPGA的嵌入式系統(tǒng)開發(fā)過程

          Xilinx FPGA的嵌入式系統(tǒng)開發(fā)過程

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

          摘要:圍繞Xilinx公司中的軟核微處理器,對其體系結(jié)構(gòu)、設(shè)計流程和相關(guān)開發(fā)工具進行了詳細介紹,并且通過一個實例說明了以軟核處理器為內(nèi)核的嵌入式系統(tǒng)的開發(fā)過程。
          關(guān)鍵詞:;

          引言
          隨著技術(shù)的迅速發(fā)展,可編程片上系統(tǒng)(SOPC)作為一種特殊的嵌入式微處理器系統(tǒng),融合了SoC和FPGA各自的優(yōu)點,并具備軟硬件在系統(tǒng)可編程、可裁減、可擴充、可升級的功能,已逐漸成為一個新興的技術(shù)方向。SOPC的核心是在FPGA上實現(xiàn)的嵌入式微處理器核,目前主要有Xilinx公司集成的32位軟核MicroBlaze,32位PowerPC系列處理器硬核PowerPC405、PowerPCA40,ARM公司的Cortex-A9,以及Altera公司的Nios系列微處理器軟核等。本文主要介紹Xilinx公司的MicroBlaze軟核結(jié)構(gòu),對其體系結(jié)構(gòu)、設(shè)計流程和相關(guān)開發(fā)工具一一進行介紹,并在實際的無線電監(jiān)測系統(tǒng)中采用此方案,構(gòu)建了一個小型化、智能化、網(wǎng)絡(luò)化的軟件無線電處理平臺。

          1 MicroBlaze處理器結(jié)構(gòu)
          MicroBlaze軟核處理器是可配置的精簡指令集(RISC)32位CPU,該RISC核針對Xilinx公司的FPGA芯片進行了優(yōu)化。設(shè)計人員可以根據(jù)設(shè)計定制處理器的可選配置,根據(jù)版本的不同,配置不同的選項。該軟核處理器具有以下幾個方面的特征:
          ◆32個32位通用寄存器;
          ◆32位3個操作數(shù)的指令字,指令字有2種尋址模式;
          ◆分離的32位地址總線和數(shù)據(jù)總線;
          ◆具有高速的指令和數(shù)據(jù)緩存,3級和5級流水線操作;
          ◆靈活的總線結(jié)構(gòu),支持LMB、OPB、PLB、XCL、FSL片上總線接口等,新推出的系列還支持AXI總線接口;
          ◆支持MMU存儲管理、FPU浮點單元、高速緩存、異常處理和調(diào)試邏輯等可根據(jù)性能需求和邏輯區(qū)域成本任意裁減的高級特性。
          MicroBlaze的這些特性極大地擴展了其應(yīng)用范圍,MicroBlaze處理器的內(nèi)核仍在不斷更新之中,目前使用的版本MicroBlaze v7.1,其內(nèi)部架構(gòu)如圖1所示。

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

          c.JPG


          上一頁 1 2 3 下一頁

          評論


          相關(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); })();