16位微控制器的設(shè)計(jì)與實(shí)現(xiàn)-設(shè)計(jì)應(yīng)用_第1頁(yè)
16位微控制器的設(shè)計(jì)與實(shí)現(xiàn)-設(shè)計(jì)應(yīng)用_第2頁(yè)
16位微控制器的設(shè)計(jì)與實(shí)現(xiàn)-設(shè)計(jì)應(yīng)用_第3頁(yè)
16位微控制器的設(shè)計(jì)與實(shí)現(xiàn)-設(shè)計(jì)應(yīng)用_第4頁(yè)
16位微控制器的設(shè)計(jì)與實(shí)現(xiàn)-設(shè)計(jì)應(yīng)用_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

精品文檔-下載后可編輯位微控制器的設(shè)計(jì)與實(shí)現(xiàn)-設(shè)計(jì)應(yīng)用隨著信息技術(shù)的發(fā)展,網(wǎng)絡(luò)通信、信息安全和信息家電產(chǎn)品的普及,嵌入式MCU正是所有這些信息產(chǎn)品中必不可少的部件。目前國(guó)內(nèi)一些科研院校和半導(dǎo)體公司都在致力于研發(fā)自主設(shè)計(jì)的嵌入式微控制器,這對(duì)我國(guó)的半導(dǎo)體產(chǎn)業(yè)、電子產(chǎn)品產(chǎn)業(yè)的發(fā)展具有重要意義。

這里描述了一款自主研發(fā)的16位嵌入式微控制器(A8096)的設(shè)計(jì)與實(shí)現(xiàn),基于RTL級(jí)設(shè)計(jì)方法使用VerilogHDL進(jìn)行設(shè)計(jì)描述,在設(shè)計(jì)中,采用硬布線(xiàn)控制方式,減少了面積和功耗,同時(shí)MCU兼容了MSC-96指令集,目標(biāo)是可以應(yīng)用于實(shí)際嵌入式系統(tǒng)項(xiàng)目中。

1總體設(shè)計(jì)

1.1MSC-96體系結(jié)構(gòu)

圖1所示為MSC-96體系結(jié)構(gòu)。Intel8096微控制器是由通用寄存器陣列、算術(shù)邏輯單元(RALU)和微程序控制器等模塊組成。其采用的是微程序控制方式,需要使用一個(gè)片內(nèi)ROM存儲(chǔ)器,因而會(huì)造成面積和功耗都會(huì)較大。

2.3指令執(zhí)行過(guò)程

在A8096中,有兩級(jí)指令預(yù)取概念:是指令預(yù)單元IPU利用總線(xiàn)空閑從程序空間不斷預(yù)取指令存入指令隊(duì)列中;則是指令執(zhí)行過(guò)程中的指令預(yù)取,當(dāng)一條指令執(zhí)行到一個(gè)時(shí)鐘周期時(shí),CU單元就會(huì)發(fā)送取指信號(hào),進(jìn)行指令執(zhí)行級(jí)的預(yù)取指動(dòng)作,下一條指令的操作碼即被預(yù)取出來(lái)(指令隊(duì)列為空時(shí)需等待),并立刻進(jìn)行譯碼確定指令的字節(jié)長(zhǎng)度和指令執(zhí)行周期數(shù)。

如圖4所示,在加法指令的一個(gè)周期(cycle=05),CU單元取指信號(hào)codefetche有效,則下一條指令的操作碼(6C,乘法操作碼)被預(yù)取出來(lái),同時(shí)進(jìn)行查表譯碼確定其指令字節(jié)長(zhǎng)度和指令周期數(shù),隨后操作碼被存入指令寄存器instr中(此時(shí),指令周期計(jì)數(shù)器cycle又從01開(kāi)始計(jì)數(shù))。后面乘法指令的操作數(shù)也會(huì)不斷被取進(jìn)來(lái)執(zhí)行,直到乘法指令一個(gè)周期時(shí),又將下一條指令的操作碼預(yù)取進(jìn)來(lái)。

需要說(shuō)明:codefetche為取操作碼信號(hào),datafetche為取操作數(shù)信號(hào)。在指令一個(gè)周期時(shí)若有中斷請(qǐng)求,則插入LCALL指令進(jìn)行中斷處理,讀取下一條指令。其流程如圖5所示。

2.4指令譯碼過(guò)程

在MCU設(shè)計(jì)過(guò)程中,首先完成對(duì)各條指令的指令分析工作,確定每個(gè)周期該做的動(dòng)作,然后各部件依據(jù)指令分析表進(jìn)行相關(guān)的指令譯碼(RAM控制器只譯RAM要做的動(dòng)作,ALU只譯ALU要做的動(dòng)作)。過(guò)程描述如下:在預(yù)取操作碼時(shí),CU單元對(duì)操作碼進(jìn)行譯碼確定指令的字節(jié)長(zhǎng)度(nr_bytes)和指令周期數(shù)(nr_cycles)。然后CU依據(jù)指令字節(jié)長(zhǎng)度(nr_bytes)取操作數(shù),其他部件依據(jù)指令和當(dāng)前指令周期(curcycle)執(zhí)行相應(yīng)的指令操作。表1為加法指令分析表,下面以加法指令的譯碼過(guò)程來(lái)說(shuō)明整個(gè)譯碼流程:

1)加法指令A(yù)DDOPlOP2(將OPl+0P2結(jié)果寫(xiě)入OPl中);其目標(biāo)碼格式為:ADDOP2OPl,其中OPl和OP2均為操作數(shù)地址。

2)0周期實(shí)際指上一條指令的一個(gè)時(shí)鐘周期,此周期codefetche取指信號(hào)有效,IPU單元將指令送入CU單元確定了指令周期和指令長(zhǎng)度。

3)l周期取操作數(shù)信號(hào)datafetche有效,op2(地址)進(jìn)來(lái),被送入RAM地址線(xiàn),發(fā)讀信號(hào)(從RAM寄存器陣列取操作數(shù)2)。

4)2周期操作數(shù)2被取入,并存入ALU中的a寄存器;此周期取操作數(shù)信號(hào)datafetche有效,opl(地址)進(jìn)來(lái),被送入RAM地址線(xiàn),發(fā)讀信號(hào)。

5)3周期操作數(shù)l被取入,并存入ALU中的b寄存器;加法器立刻進(jìn)行a+b運(yùn)算。

*周期將加法結(jié)果放到RAM數(shù)據(jù)線(xiàn)上,地址線(xiàn)=opl,發(fā)寫(xiě)信號(hào)。將加法結(jié)果寫(xiě)回到opl中,并依據(jù)結(jié)果對(duì)PSW進(jìn)行處理。

7)5周期無(wú)動(dòng)作,用于寫(xiě)回操作的過(guò)程。

3驗(yàn)證結(jié)果

3.1仿真驗(yàn)證

芯片的功能與結(jié)構(gòu)設(shè)計(jì),只是設(shè)計(jì)流程的一部分,為保證終設(shè)計(jì)成功,必須對(duì)其全面仿真與功能驗(yàn)證。對(duì)MCU的測(cè)試方法如下:1)功能模塊的單元測(cè)試,驗(yàn)證模塊的功能正確性,包括接口時(shí)序等。2)系統(tǒng)集成測(cè)試,首先編寫(xiě)簡(jiǎn)單的機(jī)器碼測(cè)試向量進(jìn)行初步調(diào)試:然后使用編譯器寫(xiě)匯編程序,編譯成二進(jìn)制機(jī)器碼進(jìn)行程序功能測(cè)試。在集成測(cè)試中,編寫(xiě)匯編測(cè)試程序,用編譯器編譯成機(jī)器碼,在CadeneeNC下運(yùn)行這些測(cè)試程序進(jìn)行仿真測(cè)試。對(duì)每條指令均測(cè)試了其各種尋址方式,且測(cè)試程序自動(dòng)向DEBUG寄存器寫(xiě)測(cè)試結(jié)果,以方便調(diào)試。經(jīng)過(guò)復(fù)雜的測(cè)試和不斷修正,驗(yàn)證結(jié)果顯示MCU指令執(zhí)行的正確性。

3.2FPGA驗(yàn)證

使用的FPGA器件是StratixⅡ型號(hào)為EP1S40F780C7。綜合結(jié)果顯示:A8096使用3565個(gè)LE(LogicElement)。時(shí)序分析結(jié)果:A8096可以運(yùn)行在49.93MHz的時(shí)鐘頻率下。A8096占用FPGA資源分布情況如圖6所示。

4結(jié)論

本設(shè)計(jì)中,采用RISC技術(shù)中的硬布線(xiàn)控制邏輯,有利于減少M(fèi)CU面積、降低功耗以及提高M(jìn)CU執(zhí)行效率,F(xiàn)PGA實(shí)現(xiàn)表明其只占用了3565

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論