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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于VLSI 平臺(tái)的AVR 處理器仿真與設(shè)計(jì)

          基于VLSI 平臺(tái)的AVR 處理器仿真與設(shè)計(jì)

          作者: 時(shí)間:2013-10-09 來(lái)源:網(wǎng)絡(luò) 收藏

            3 Virtual 實(shí)現(xiàn)

            通過(guò)對(duì)FPGA和MCU的深入了解,可知使用FPGA的豐富資源來(lái)虛擬出MCU是完全可行的。首先,需設(shè)計(jì)一個(gè)總體結(jié)構(gòu),如圖3所示。ROM用于存放被執(zhí)行程序及二進(jìn)制代碼,RAM 為運(yùn)行內(nèi)存,用總線將VirtualMCU Core與各外設(shè)相連。使用該結(jié)構(gòu)可簡(jiǎn)化設(shè)計(jì),無(wú)需對(duì)外設(shè)重復(fù)設(shè)計(jì),只要使Virtual MCU Core滿足同一接口即可。

            

            

            Virtual MCU Core由幾部分構(gòu)成:算術(shù)邏輯單元,運(yùn)算的主要單元;譯碼器,由二進(jìn)制文件判斷指令類(lèi)型并獲得源操作數(shù)和目的操作數(shù)等;寄存器,用于參加運(yùn)算和存儲(chǔ)某些中間值等。

            Virtual Core 以ATmega103為參考,核心采用RISC結(jié)構(gòu),3級(jí)流水線結(jié)構(gòu),因?yàn)槭枪鸾Y(jié)構(gòu),所以分為數(shù)據(jù)存儲(chǔ)器和指令存儲(chǔ)器。它的核心如圖4所示。同時(shí)ATmega103共有130條指令,每條指令都是固定結(jié)構(gòu),為16 位。在該設(shè)計(jì)中,移植了Open-Cores開(kāi)源組織的8位核,它支持3級(jí)流水線,兼容標(biāo)準(zhǔn)AVR微

            

            ALU的實(shí)現(xiàn)采用模塊化設(shè)計(jì),共分為控制模塊、加減法模塊和乘除法模塊。3級(jí)流水線設(shè)計(jì)如下:

            stage0:FETCH,給出指令地址,并讀取相應(yīng)的指令,主要由譯碼機(jī)構(gòu)負(fù)責(zé);stage1:ALU/MEM,ALU運(yùn)算,或數(shù)據(jù)存儲(chǔ)器操作,讀數(shù)據(jù)存儲(chǔ)器時(shí),在地址總線上給出正確的值,當(dāng)寫(xiě)數(shù)據(jù)存儲(chǔ)器時(shí),不僅需要提供正確的地址,還需要在數(shù)據(jù)總線上提供正確的數(shù)據(jù),主要由運(yùn)算機(jī)構(gòu)和總線控制機(jī)構(gòu)負(fù)責(zé)。

            Stage2:LOAD,從數(shù)據(jù)線上獲取數(shù)據(jù),存至寄存器中,主要由寄存器機(jī)構(gòu)負(fù)責(zé)。

            在一個(gè)系統(tǒng)中光有處理器是不夠的,需要有豐富的外設(shè)來(lái)滿足各種控制要求或數(shù)據(jù)傳輸功能,而片內(nèi)總線便是將處理器與總線連接的重要途徑。文中采用Sili-core的Wishbone總線進(jìn)行設(shè)計(jì),具有簡(jiǎn)單、開(kāi)放、高效和方便實(shí)現(xiàn)等特點(diǎn),且完全開(kāi)放并沒(méi)有專利保護(hù)。Wish-bone有四種連接模式:點(diǎn)對(duì)點(diǎn)、數(shù)據(jù)流、共享總線和十字交叉互聯(lián)。文中使用共享總線連接方式,其中充當(dāng)Master為Virtual Core,而外設(shè)為Slaver.

            為使Virtual Core能與外部器件進(jìn)行通信,需要外設(shè)的支持。外設(shè)按數(shù)據(jù)流類(lèi)型分為串行和并行,常用的串行外設(shè)有SPI、I2C、UART 等,常用的并行外設(shè)有GPIO等。

            4 硬件支持與測(cè)試

            硬件環(huán)境主要分為兩部分:第一部分為核心板,用以支持Virtex-Ⅱ Pro的運(yùn)行;第二部分為底板,主要為添加外設(shè)環(huán)境,豐富系統(tǒng)的功能。選用XC2VP50FFG1152芯片作為核心的FPGA,在外圍又添加了DDR和SDRAM,方便自由選擇存儲(chǔ)器類(lèi)型。FP-GA掉電后,內(nèi)容自動(dòng)消失,每上電需要重新配置,為讓FPGA 上電后自動(dòng)配置,需加一片PROM,使用XCF32P.FPGA采用并行主模式。底板上則是增加大量外設(shè):UART、PS2、VGA、ETHERNET、VIDEO、A/D、D/A、SD、USB等。

            Virtual Core執(zhí)行的程序都是固化在ROM中,為達(dá)到測(cè)試要求,要多次更新ROM中內(nèi)容,為此使用嵌入式開(kāi)發(fā)套件(Embedded Development Kit,EDK)來(lái)開(kāi)發(fā)一個(gè)測(cè)試工具。首先將BRAM配置為雙端口RAM,一端口給Virtual Core來(lái)進(jìn)行讀取操作,一端口給EDK,來(lái)更新程序存儲(chǔ)器。同時(shí)EDK也可提供簡(jiǎn)單的控制任務(wù),如重啟Virtual Core 等,EDK 使用UART 和計(jì)算機(jī)進(jìn)行操作。為方便控制,設(shè)計(jì)一個(gè)較為簡(jiǎn)單的PC端串口程序,用于將EDK與PC交互,主要是將用戶的命令或文件經(jīng)串口發(fā)送至EDK,如圖5所示。搭建一個(gè)簡(jiǎn)易測(cè)試系統(tǒng),使用ISE工具,進(jìn)行綜合布局布線,其資源消耗如圖6所示。編寫(xiě)一個(gè)跑馬燈程序,代碼如下:



          關(guān)鍵詞: VLSI平臺(tái) AVR 處理器

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

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