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

          新聞中心

          EEPW首頁 > 嵌入式系統 > 設計應用 > 使用LX9開發板對兼容ARM9處理器的開源軟核進行Dhrystone Benchmark測試(上)

          使用LX9開發板對兼容ARM9處理器的開源軟核進行Dhrystone Benchmark測試(上)

          作者:free-arm(網名)時間:2013-02-27來源:電子產品世界收藏

            開發板由安富利設計生產,體積小,便于攜帶。一端是普通的USB接口,可以插入筆記本或臺式機,用ISE編程,下載到上。另外,為了便于調試,在另外一端也配備了USB的Type B接口,通過連接線,連到電腦后,可以實現USB轉串口的功能。所以,筆者現在的開發就是通過在兩個連接線把這塊開發板與電腦的兩個USB串口連接起來,一端是用來編程的,一端是串口調試的。接下來,筆者想與讀者分享下如何使用這款兼容ARM9處理器的CPU內核進行Dhrystone Benchmark的測試。

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

            首先,針對Spartan 6 這塊開發板新建 project,須在Family中選擇Spartan 6,在Device中選擇XC6S,在Package中選擇CSG324,在Speed中選擇-2,如圖2所示?! ?/p>

           

            新建工程后,我們就可以增加頂層文件,以及各種設計文件。下面是筆者做Dhrystone Benchmark的工程結構圖。如圖3所示,這個工程采用的是XC6SLX9-2CSG324,完全符合開發板中的FPGA設定。它有一個頂層文件: dhry_top(dhry_top.v),這個頂層文件涵蓋了幾個基本模塊。這些基本模塊有:u_pll模塊(負責生成時鐘);u_arm9模塊:這就是兼容ARM9處理器內核;u_rom模塊:存儲處理器運行指令的ROM;u_ram模塊:處理器運行需要的;u_uart模塊:一個簡單的串口生成模塊;dhry_top.ucf:整個工程的管腳約束文件。

            首先介紹u_arm9-arm9(arm9.v),這是筆者設計的兼容ARM9處理器的CPU內核。它設計簡單,易于集成到自己的設計當中,下表是它的接口列表。

            為了讓它工作起來,必須為它配備ROM提供執行的指令,配備提供運行的空間。下面是它的簡單的ROM和模型。

            這兩個模型非常簡單,容易采用FPGA內部的Block RAM來實現。ISE為我們準備了非常好的生成IP的工具——CORE Generator,只要我們選擇Project-> New Source即可調出下面的界面。選擇IP(CORE Generator & Architecture Wizard),可以生成本次Dhrystone Benchmark測試需要的三個IP: PLL、ROM、RAM。

            具體的生成過程,大家可以自己摸索。下面通過頂層dhry_top.v來看看,這三個IP和uart模塊是如何合并一起實現Dhrystone Benchmark測試的。

          網線測試儀相關文章:網線測試儀原理


          關鍵詞: FPGA RAM LX9

          評論


          相關推薦

          技術專區

          關閉
          看屁屁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); })();