国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

8位高速微控制器IP軟核的設(shè)計與實現(xiàn)

發(fā)布時間:2010-12-8 12:06    發(fā)布者:techshare
關(guān)鍵詞: IP , 軟核 , 微控制器
隨著集成電路設(shè)計的不斷發(fā)展,集成電路的規(guī)模越來越大,設(shè)計難度日趨復(fù)雜,傳統(tǒng)的設(shè)計方法已越不能適應(yīng)集成電路設(shè)計發(fā)展的需要;贗P復(fù)用的數(shù)字IC設(shè)計方法是有效提高IC設(shè)計產(chǎn)能的關(guān)鍵技術(shù),有助于快速實現(xiàn)工藝先進、功能強大的產(chǎn)品。

微控制器MCU嵌入式系統(tǒng)的核心,8位MCU IP核具有很高的通用性和靈活性,廣泛地應(yīng)用于工業(yè)控制、機械設(shè)備、家用電器以及汽車電子等各個領(lǐng)域。本文介紹的是基于 RISC體系結(jié)構(gòu)的8位高速MCUIP軟核的設(shè)計與實現(xiàn),采用Verilog HDL自上而下地描述了MCUIP軟核的硬件結(jié)構(gòu),并驗證了設(shè)計的可行性和正確性。在實際硬件電路中,該IP核的運行頻率達到75MHz,可應(yīng)用于高速控制領(lǐng)域。

系統(tǒng)結(jié)構(gòu)設(shè)計

本設(shè)計的總線采用了哈佛結(jié)構(gòu),14位指令字長,8位數(shù)據(jù)字長,指令集與PIC16F676兼容。它具有35條指令,在連續(xù)工作的情況下,除了程序跳轉(zhuǎn)指令要用2個指令周期外,其它的所有指令都可以在1個指令周期內(nèi)完成。由于哈佛結(jié)構(gòu)總線具有獨立的指令總線和數(shù)據(jù)總線,可同時從程序存儲器和數(shù)據(jù)存儲器中分別讀取數(shù)據(jù),大大提高了MCU內(nèi)部執(zhí)行的并行性,簡化了控制電路的設(shè)計。與更深級流水線相比,簡單的指令周期避免了深度流水線增加電路結(jié)構(gòu)復(fù)雜性和芯片面積。

該微處理器在結(jié)構(gòu)上可以劃分為四個子系統(tǒng),分別為控制單元、數(shù)據(jù)通道、存儲單元、I/O單元。其中數(shù)據(jù)通道包含ALU和一個W工作寄存器。片內(nèi)程序存儲器ROM的容量是8k×14位;數(shù)據(jù)存儲器由包括專用寄存器在內(nèi)的256個可尋址的8位寄存器組成,通過數(shù)據(jù)總線與算術(shù)邏輯單元ALU相連,系統(tǒng)可以對數(shù)據(jù)存儲器用直接或間接尋址方式進行訪問。I/O單元提供了系統(tǒng)內(nèi)部的數(shù)據(jù)總線與外界總線的連接接口,實現(xiàn)數(shù)據(jù)的輸入/輸出?刂茊卧獎t會根據(jù)指令產(chǎn)生相應(yīng)的指示信號控制系統(tǒng)的協(xié)調(diào)運行。系統(tǒng)結(jié)構(gòu)如圖1所示。








MCU IP核的時序設(shè)計


時鐘網(wǎng)絡(luò)的時序設(shè)計

本設(shè)計的時序設(shè)計部分采用內(nèi)部包含4個節(jié)拍時鐘的結(jié)構(gòu),時鐘網(wǎng)絡(luò)模塊在復(fù)位結(jié)束后會利用兩級嵌套的D觸發(fā)器將外部時鐘(CLK)分頻產(chǎn)生4個非重疊正交的節(jié)拍時鐘信號q1、q2、q3、q4,一個指令周期分為4個狀態(tài)。節(jié)拍時鐘會與譯碼電路產(chǎn)生的控制信號配合,在不同時鐘節(jié)拍選通不同的電路操作,進而協(xié)調(diào)整個系統(tǒng)的運行。

二級流水線時序設(shè)計

本設(shè)計所采用的二級流水線劃分為取指和執(zhí)行兩級。系統(tǒng)運行時,會在前一指令周期的q4節(jié)拍從ROM中取出下一條待執(zhí)行的指令并鎖存在指令寄存器中,在下一指令周期的q1節(jié)拍從指令寄存器中取出指令,同時程序計數(shù)器(PC)加1,q2到q4對所取指令進行譯碼和執(zhí)行。因此,一條指令的完整執(zhí)行過程大概分為取指令、指令鎖存、指令譯碼、取操作數(shù)、執(zhí)行、回寫、PC+1等7個步驟。從時序上看,指令取指周期與執(zhí)行周期是并行執(zhí)行的,即在取指的同時,上一條指令正在進入執(zhí)行周期。

程序跳轉(zhuǎn)指令與其它單周期指令一樣進入流水線,在執(zhí)行程序跳轉(zhuǎn)指令時,屏蔽下一條指令進入指令譯碼單元,用空操作指令NOP代替。這樣,控制邏輯不需要做太大修改就能滿足流水線的執(zhí)行。二級指令流水線操作過程如圖2所示。





MCU IP核的內(nèi)部電路實現(xiàn)

指令寄存器

指令寄存器(IR)是為了實現(xiàn)兩級指令流水線而設(shè)計的。如果沒有指令寄存器,那么取指和執(zhí)行就分別需要占用一個指令周期。但如果利用IR,在上條指令執(zhí)行的同時把下一條指令從程序存儲器ROM中取出來寄存在IR中,這樣在每個指令周期內(nèi)同時有指令的取出和執(zhí)行,等效來看,一條指令只需要一個指令周期就可以執(zhí)行完畢,從而提高了效率。

指令寄存器IR的另外一個功能是當執(zhí)行分支指令的時候產(chǎn)生空操作,這是采用指令流水線結(jié)構(gòu)所必需的。例如在執(zhí)行程序跳轉(zhuǎn)指令GOTO的時候,由于GOTO指令會改變程序計數(shù)器PC的值,跳轉(zhuǎn)到另外的地址,那么在執(zhí)行GOTO指令時取得的緊接GOTO的下一條指令就不是要執(zhí)行的下一條指令,這個已經(jīng)取得的指令就必須被屏蔽。具體的操作是在執(zhí)行GOTO指令的時候,指令譯碼單元產(chǎn)生清零信號使得指令寄存器內(nèi)部14位寄存單元被清零,那么下一指令周期的輸出就變?yōu)镹OP指令。在執(zhí)行該空操作的同時把GOTO指令跳轉(zhuǎn)后指向地址對應(yīng)的指令取出來,在下個指令周期執(zhí)行。

指令譯碼單元

指令譯碼單元在每個時鐘周期的q1節(jié)拍接收來自IR的14位執(zhí)行指令,并對指令進行譯碼工作,給出其它各單元的操作控制信號,包括算術(shù)邏輯單元(ALU)的運算控制信號、RAM的讀寫控制、總線控制器的選擇信號、PC尋址等。

算術(shù)邏輯單元

算術(shù)邏輯單元(ALU)是微控制器運算電路的核心部分,主要功能是按照指令譯碼器輸出的控制信號,實現(xiàn)算術(shù)運算、邏輯運算、循環(huán)移位等操作。ALU的字寬是8位,在ALU中做運算的2個操作數(shù)分別來自W寄存器和數(shù)據(jù)總線,最后運算的結(jié)果由指令譯碼后的控制信號決定是存放在W寄存器中,還是通用寄存器RAM中。本文通過將加、減操作復(fù)用到一個8位超前進位加法器,大大縮短了ALU算術(shù)運算的時間,進而提高了整個系統(tǒng)的運行速度。

程序計數(shù)器和堆棧

13位的PC對8k×14bit的ROM進行尋址,八級堆棧存儲的是ROM的地址,即在主程序中調(diào)用的子程序最多允許嵌套8次。當系統(tǒng)復(fù)位后PC從0000h地址開始執(zhí)行,然后在每個指令周期q1節(jié)拍,PC自動加1。當執(zhí)行GOTO指令時,就從指令中獲取地址來改變PC的值,然后PC再在此基礎(chǔ)上自動加1,順序執(zhí)行指令。當執(zhí)行調(diào)用子程序指令CALL指令時,把取指的地址送到堆棧保護起來,然后PC裝載子程序入口的地址,接著順序執(zhí)行子程序指令直到子程序執(zhí)行完,程序返回時把堆棧中的地址裝載到PC,PC繼續(xù)自動加1順序執(zhí)行指令。

在每個時鐘周期,PC會檢測是否有來自中斷處理單元的中斷請求信號發(fā)生,一旦有中斷響應(yīng),PC就會進入中斷處理模式,把中斷現(xiàn)場的地址送入堆棧保護起來,并在下一指令周期PC指向中斷向量地址0004h,這是中斷服務(wù)程序的入口地址,系統(tǒng)執(zhí)行中斷服務(wù)程序直到中斷返回,再把保護在堆棧的中斷現(xiàn)場地址加載到PC中,然后又順序執(zhí)行指令。

定時器/計數(shù)器

TIMER0為8位可讀寫的定時器/計數(shù)器單元,其內(nèi)部有一個分頻器,可以通過寄存器配置選擇定時或計數(shù)工作方式,以及分頻器的分頻比,分頻比最高可達l:128。當TIMER0從FFh到00h計數(shù)溢出時,將產(chǎn)生TIMER0中斷。

中斷處理單元

中斷處理單元會響應(yīng)各個中斷源的中斷,并向系統(tǒng)的控制電路發(fā)出總中斷請求信號。該單元設(shè)置有8位中斷控制寄存器和外設(shè)中斷寄存器,使用標志位來記錄各種中斷請求。中斷控制寄存器還包括各中斷的使能控制位以及全局中斷使能位。全局中斷使能位將使能(置1時)所有未被屏蔽的中斷,或禁止(清零時)所有中斷。一旦進入中斷服務(wù)程序,可通過查詢中斷標志位確定中斷源。

雙向I/O

PORTA和PORTC為2個6位雙向I/O端口,每個端口有2個物理寄存器,分別是方向寄存器和數(shù)據(jù)寄存器。方向寄存器控制對應(yīng)端口的輸入/輸出屬性,數(shù)據(jù)寄存器負責鎖存輸入/輸出數(shù)據(jù)。

MCU IP核的硬件仿真

IP軟核的仿真測試是設(shè)計過程中非常重要的環(huán)節(jié),通過自主建立的測試向量庫,編寫了覆蓋所有指令的測試文件,對軟核的多種指令、地址和數(shù)據(jù)組合進行了仿真測試,提高了軟核功能仿真的測試覆蓋率,保證了設(shè)計的正確性。由PORTA和PORTC的輸出來驗證設(shè)計正確性。部分信號波形如圖3所示,在正常情況下,地址是在每個指令周期進行加1取指的;當中斷信號int_req=1時,地址在下一指令周期跳到中斷向量地址0004h,同時屏蔽下一條指令進入指令譯碼單元,用NOP指令代替。







結(jié)語

本文介紹了一個8位RISC結(jié)構(gòu)的高速微控制器IP軟核的設(shè)計,其指令集與PIC16F676兼容,采用模塊化結(jié)構(gòu),面向硬件映射,保證可綜合性。該核使用VerilogHDL為RTL級描述語言,通過了ActiveHDL仿真驗證后,用Quartus II 5.0進行綜合,并在Altera的EP1C12Q24C08器件上實現(xiàn)了布局布線。經(jīng)測試,時鐘頻率達到了75MHz,驗證了設(shè)計的正確性,為今后的設(shè)計積累了大量有益的經(jīng)驗。
本文地址:http://m.qingdxww.cn/thread-44991-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點和對其真實性負責;文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區(qū)
  • 使用SAM-IoT Wx v2開發(fā)板演示AWS IoT Core應(yīng)用程序
  • 使用Harmony3加速TCP/IP應(yīng)用的開發(fā)培訓(xùn)教程
  • 集成高級模擬外設(shè)的PIC18F-Q71家族介紹培訓(xùn)教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿(mào)澤電子(Mouser)專區(qū)

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 特级淫片aaaa毛片aa视频| 思思99热在线观看精品| 影音先锋国产| 亚洲狠狠婷婷综合久久久久网站| 成人亚洲视频| 免费a视频在线观看| 亚洲国产精品无码中文字满| 亚洲国产精品第一页| 蜜桃99影院| 欧美日本综合一区二区三区| 亚洲国产日韩欧美在线a乱码| 午夜小影院| 偷拍色网| 中国色妞| 精品国产免费第一区二区| 用快播看黄的网站| 色老头一区二区三区在线观看| 日本午色www高清视频| 亚洲网站免费观看| 四虎欧美| 成人在线不卡视频| 学校女性奴sm训练调教| 欧美中文字幕无线码视频| 人人干日日操| 亚洲吹箫| 有码在线视频| 国产制服丝袜91在线| 日韩AV爽爽爽久久久久久| 亚洲国产剧情在线精品视| 欧洲一区| 亚洲手机在线观看| 中文字幕成人免费高清在线| 欧美v1deossexo高清| 欧美一块操| 日本国产一区| 午夜精品久久久久久| 性xxxxⅹhd成人| 国产欧美一区二区三区免费| 午夜伦理网| 欧美一区二区三区在线播放 | 午夜免费福利网站|