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