FreeARM7 IP核的微處理器邏輯擴展與驗證
摘要:介紹了FreeARM7 IP核的基本概況及其接口特點,以LPC2101為原型對該IP核進行了擴展。結合USB 1.1設備控制器IP核和自定制硬件邏輯,構建了一種微控制器功能驗證回路。在主機端開發了驗證程序、驅動和通信軟件。驗證程序下栽執行結果表明,功能驗證回路工作正常,微處理器運行穩定。
關鍵詞:FteeARM7;LPC2101;微處理器;USB
1 FreeARM7 IP核簡介
FreeARM微處理器的ARM7系列(簡稱FreeARM7)首發于www.socvista.com,由Free-arm聯合其他ARM愛好者基于ARMv4架構開發而成。整個
IP核代碼采用可綜合的Verilog HDL描述,接口簡單,描述精煉,全部代碼不超過2000行。在整體設計上,采用了三級流水線和哈佛結構,全面兼容各種中斷和操作指令(除Thumb和協處理器指令)。經過評估可知,該IP核基于FPGA和SMIC工藝庫都有很好的實現結果。
FreeARM7接口定義如表1所列,概括起來可分為4類:
◆系統接口,提供系統控制信號;
◆中斷源,提供ARM架構需要的5個中斷信號;
◆ROM接口,與提供指令的ROM之間的接口;
◆單口RAM接口,與單口RAM和外設之間數據交互的接口。
其中,單口RAM接口可以實現兩類用途:一、掛接單口RAM,使得FreeARM7能夠正確地讀寫數據;二、掛接外設,使得FteeARM7能夠正確操作外設。
2 微處理器改進與邏輯擴展
基于FreeARM7的微處理器改進與邏輯擴展的結構如圖1所示。預期的實現目標是:在主機上編寫嵌入式程序匯編成機器碼后,經過USB 1.1設備控制器傳輸至雙端口RAM中,在微處理器代碼下載模式下,代碼下載控制邏輯將雙端口RAM中的機器代碼裝載至ROM中,之后啟動微處理器正常工作模式,微處理器執行ROM中的嵌入式代碼,接收主機通過USB傳送來的參數值,并將運行結果通過USB返回至主機。
基于Cyclone II FPGA具體實現時,ROM、RAM和雙端口RAM都是利用Quartus II軟件中MegaWizardPlug-In.Manager工具例化相應的存儲模塊,而其他硬件邏輯的擴展都是以IP核(Verilog描述)的形式出現。
評論