當前位置:首頁 > 工業(yè)控制 > 工業(yè)控制
[導讀]為了提高嵌入式系統(tǒng)的集成度,降低系統(tǒng)成本,設計出一款16位復雜指令集微控制器軟核IP,可以集成于FPGA內部。該設計采用基于寄存器傳輸級RTL(RegisterTransfer Level)的設計方法,并進行FPGA而綜合實現。實驗結果表明,該微控制器只占用3 565個LE(Logic Ele-ment),面積較小;在性能上其譯碼周期小于Intel 8096;并與MSC-96指令集兼容,基本具備實際應用價值。

隨著信息技術的發(fā)展,網絡通信、信息安全和信息家電產品的普及,嵌入式MCU正是所有這些信息產品中必不可少的部件。目前國內一些科研院校和半導體公司都在致力于研發(fā)自主設計的嵌入式微控制器,這對我國的半導體產業(yè)、電子產品產業(yè)的發(fā)展具有重要意義。
    這里描述了一款自主研發(fā)的16位嵌入式微控制器(A8096)的設計與實現,基于RTL級設計方法使用VerilogHDL進行設計描述,在設計中,采用硬布線控制方式,減少了面積和功耗,同時MCU兼容了MSC-96指令集,目標是可以應用于實際嵌入式系統(tǒng)項目中。

1 總體設計
1.1 MSC-96體系結構

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


    MCU內部的寄存器陣列通過一個控制器和2條總線與RALU相連。這兩條總線是8位的A-BUS和16位的D-BUS。DBUS只用于RALU與寄存器之間的數據傳輸,而A-BUS用作上述傳輸過程中的地址總線。當MCU通過寄存器控制器訪問片內外寄存器時,A-BUS可作為多路轉換的地址/數據總線。
1.2 A8096總體結構
    為了減少面積和功耗,A8096采用硬布線邏輯控制方式取代上述的微程序控制器。依據MSC-96的體系結構,A8096主要功能模塊包括:IPU(Instruction Pre-fetch Unit。指令預取單元)、CU(Control Unit,控制單元)、ALU(Arithmetic Logical Unit,算術邏輯單元)、MEM_C-TRL(MEM控制器)、RF_CTRL(寄存器堆控制器)、ISR(Interrupt Service Routine unit,中斷服務單元)、GPIO(General Purpose Input Out-put,通用輸入輸出單元)等主要功能部件。其結構如圖2所示。


1.3 系統(tǒng)總線
    A8096采用3條總線:一條是MEM總線,用于IPU和MEM CTRL對程序空間和數據空間的讀寫控制;16 bit的數據線,16 bit的地址線,讀寫信號memrd/memwr;一條是內部寄存器陣列(Register File)總線,用于RF_CTRL對內部寄存器陣列的讀寫訪問,地址線是8 bit的,數據線為16 bit,讀寫信號為rf_rd/rf_wr;一條是SFR總線,用于訪問數據空間地址在00H~19H的特殊定義的寄存器空間。8 bit的地址總線,16bit的數據總線,讀寫信號sfrrd/sfrwr。另外IPU和MEMCTR的數據交互是通過8 bit的數據線instr_bus完成的,其作用是從預取指令隊列中將指令傳給CU單元等。

2 MCU設計與實現
2.1 MCU工作原理

    A8096通過IPU(指令預取單元)指令預取,并存放在預取指令隊列中,CU(控制單元)從IPU指令隊列中取指并進行譯碼,產生控制時序等信號。ALU單元、RAM控制器、MEM控制器等部件中均有譯碼模塊,依據當前指令和當前指令周期主動工作。如:RAM控制器在加法指令的相應周期取操作數送往ALU單元,ALU在相應周期接收數據,然后進行運算并將結果輸出。
2.2 MCU啟動過程
    在上電復位時,MCU處于復位態(tài)(rst信號有效)。復位時,IPU單元中的指令隊列清空(empty信號有效),總線處于空閑態(tài),IPU立刻進行指令預取動作,程序空間的首地址(2080H)指令即被取人指令隊列,隨后隊列空信號(empty)無效,同時指令被發(fā)送出去(instr_bus)。在復位同時,控制單元(CU)的取指信號(codefetche)即一直有效,在指令隊列空信號empty無效后(在empty無效之前CU一直等待),指令即通過instr_ bus進入了CU,指令操作碼被存入了指令寄存器,如圖3中instr寄存器更新為加法指令的操作碼74。至此,MCU完成了復位、自動取指操作,并開始往下執(zhí)行該指令,IPU單元也會繼續(xù)進行指令預取操作。


2.3 指令執(zhí)行過程
    在A8096中,有兩級指令預取概念:一級是指令預單元IPU利用總線空閑從程序空間不斷預取指令存入指令隊列中;一級則是指令執(zhí)行過程中的指令預取,當一條指令執(zhí)行到最后一個時鐘周期時,CU單元就會發(fā)送取指信號,進行指令執(zhí)行級的預取指動作,下一條指令的操作碼即被預取出來(指令隊列為空時需等待),并立刻進行譯碼確定指令的字節(jié)長度和指令執(zhí)行周期數。


    如圖4所示,在加法指令的最后一個周期(cycle=05),CU單元取指信號codefetche有效,則下一條指令的操作碼(6C,乘法操作碼)被預取出來,同時進行查表譯碼確定其指令字節(jié)長度和指令周期數,隨后操作碼被存入指令寄存器instr中(此時,指令周期計數器cycle又從01開始計數)。后面乘法指令的操作數也會不斷被取進來執(zhí)行,直到乘法指令最后一個周期時,又將下一條指令的操作碼預取進來。
    需要說明:codefetche為取操作碼信號,datafetche為取操作數信號。在指令最后一個周期時若有中斷請求,則插入LCALL指令進行中斷處理,讀取下一條指令。其流程如圖5所示。


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


    1)加法指令 ADD OPl OP2(將OPl+0P2結果寫入OPl中);其目標碼格式為:ADD OP2 OPl,其中OPl和OP2均為操作數地址。
    2)0周期 實際指上一條指令的最后一個時鐘周期,此周期codefetche取指信號有效,IPU單元將指令送入CU單元確定了指令周期和指令長度。
    3)l周期 取操作數信號datafetche有效,op2(地址)進來,被送入RAM地址線,發(fā)讀信號(從RAM寄存器陣列取操作數2)。
    4)2周期 操作數2被取入,并存入ALU中的a寄存器;此周期取操作數信號datafetche有效,opl(地址)進來,被送入RAM地址線,發(fā)讀信號。
    5)3周期 操作數l被取入,并存入ALU中的b寄存器;加法器立刻進行a+b運算。
    6)4周期 將加法結果放到RAM數據線上,地址線=opl,發(fā)寫信號。將加法結果寫回到opl中,并依據結果對PSW進行處理。
    7)5周期 無動作,用于寫回操作的過程。

3 驗證結果
3.1 仿真驗證

    芯片的功能與結構設計,只是設計流程的一部分,為保證最終設計成功,必須對其全面仿真與功能驗證。對MCU的測試方法如下:1)功能模塊的單元測試,驗證模塊的功能正確性,包括接口時序等。2)系統(tǒng)集成測試,首先編寫簡單的機器碼測試向量進行初步調試:然后使用編譯器寫匯編程序,編譯成二進制機器碼進行程序功能測試。在集成測試中,編寫匯編測試程序,用編譯器編譯成機器碼,在Cadenee NC下運行這些測試程序進行仿真測試。對每條指令均測試了其各種尋址方式,且測試程序自動向DEBUG寄存器寫測試結果,以方便調試。經過復雜的測試和不斷修正,驗證結果顯示MCU指令執(zhí)行的正確性。
3.2 FPGA驗證
    使用的FPGA器件是StratixⅡ型號為EP1S40F780C7。綜合結果顯示:A8096使用3 565個LE(Logic Element)。時序分析結果:A8096可以運行在49.93 MHz的時鐘頻率下。A8096占用FPGA資源分布情況如圖6所示。



4 結論
    本設計中,采用RISC技術中的硬布線控制邏輯,有利于減少MCU面積、降低功耗以及提高MCU執(zhí)行效率,FPGA實現表明其只占用了3 565個LE單元,工作時鐘可達50 MHz。同時該MCU具有很強的擴展性與實用性,應用領域廣泛,可方便與定時器、串行通訊接口(I2C)、串行外圍接口(SPI)、模數(A/D)轉換器等外圍功能單元組成各種嵌入式系統(tǒng),完全具備實際應用價值。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯系該專欄作者,如若文章內容侵犯您的權益,請及時聯系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據媒體報道,騰訊和網易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數據產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數據產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數字經濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯合牽頭組建的NVI技術創(chuàng)新聯盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現場 NVI技術創(chuàng)新聯...

關鍵字: VI 傳輸協議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉