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