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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > AEMB軟核處理器的SoC系統(tǒng)驗證平臺的構(gòu)建

          AEMB軟核處理器的SoC系統(tǒng)驗證平臺的構(gòu)建

          作者: 時間:2010-05-25 來源:網(wǎng)絡(luò) 收藏

            3.5 地址空間的分配

            根據(jù)DE2-70開發(fā)板上各器件的特點與微處理器的中斷例外向量表及wb_conmax的邏輯實現(xiàn),系統(tǒng)地址空間分配結(jié)果為:

          AEMB軟核處理器的SoC系統(tǒng)驗證平臺的構(gòu)建

            4 系統(tǒng)的綜合實現(xiàn)

            針對DE2-70開發(fā)板在進行系統(tǒng)的綜合時選用CycloneII系列器件EP2C70F896C6。系統(tǒng)時鐘頻率預(yù)設(shè)為50 MHz,不加額外約束條件下進行綜合,綜合后的邏輯資源占用報告如圖3所示。

          SOC系統(tǒng)FPGA綜合后邏輯資源使用情況

            圖3 SOC系統(tǒng)綜合后邏輯資源使用情況

            通過時序分析報告可知,該系統(tǒng)在滿足時序的前提下,系統(tǒng)實際運行頻率可達到65.31 MHz。

            5 SoC軟件支持

            考慮到SoC驗證平臺所包含的硬件部件與該平臺的具體應(yīng)用,系統(tǒng)軟件主要構(gòu)成如圖4所示。Mini Bootloader負責應(yīng)用程序從Flash器件向程序運行空間的加載。在DE2-70開發(fā)板上,借助于NiosII開發(fā)工具與開發(fā)板自帶的基于NiosII的SOPC硬件系統(tǒng),燒寫Flash很方便。系統(tǒng)啟動時可以從Flash開始啟動,完成應(yīng)用程序的拷貝后再跳轉(zhuǎn)到主程序運行的存儲器空間。在本系統(tǒng)中,為了使編程更加方便,將拷貝程序放在片上RAM中存儲。系統(tǒng)從片上RAM開始啟動,完成應(yīng)用程從Flash到SDRAM的拷貝之后,跳轉(zhuǎn)到SDRAM開始執(zhí)行應(yīng)用程序。

          AEMB軟核處理器的SoC系統(tǒng)驗證平臺的構(gòu)建

            圖4 SoC系統(tǒng)軟件支持

            微處理器在指令上與MicroBlaze達到99%的兼容,而后者的應(yīng)用程序及操作系統(tǒng)的開發(fā)已經(jīng)有非常成熟的范例。操作系統(tǒng)的移植主要是完成對硬件地址空間的修改與操作系統(tǒng)一些底層初始化代碼的編寫。最終在該SoC上完成了μC/OS-II的移植工作。

            結(jié) 語

            本文基于32位微處理器設(shè)計了一款SoC,給出了SoC系統(tǒng)經(jīng)過FPGA綜合后的邏輯資源占用情況,以及系統(tǒng)能夠運行的最高時鐘頻率。該平臺已在臺灣友晶公司的DE2-70開發(fā)板上完成了FPGA驗證。


          上一頁 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); })();