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