一種8位嵌入式RISC MCU IP核數據通道模型設計

發(fā)布時(shí)間:2010-12-23 20:13    發(fā)布者:conniede
關(guān)鍵詞: HDL , MCU , RISC , verilog
隨著(zhù)IC產(chǎn)業(yè)的發(fā)展,IP核的需求越來(lái)越高。微控制器MCU(Micro Control Unit)是嵌入式系統的核心,8位MCU IP核具有很高的通用性和靈活性,廣泛地應用于工業(yè)控制、機械設備、家用電器以及汽車(chē)等各個(gè)領(lǐng)域。本文設計的MCU IP核與Microchip公司的PIC16C57完全兼容。MCU IP核采用哈佛結構,內部單元可簡(jiǎn)化為時(shí)序控制和數據通道兩部分。時(shí)序控制部分為數據通道提供控制信號,控制數據流動(dòng)方向以及數據通路的選擇,它是IP核的指揮中心;數據通道部分在控制部分的控制下,具體實(shí)現MCU IP核的指令功能,它是影響MCU性能、功耗等因素的關(guān)鍵,是整個(gè)芯片設計的重點(diǎn)。

本文在設計該款MCU IP核的數據通道部分過(guò)程中,提出了一種特定的數據通道模型;最后,通過(guò)對整個(gè)MCU IP核仿真綜合,對該數據通道模型進(jìn)行了驗證。

1 數據通道模型及數據總線(xiàn)Verilog HDL模型

1.1 數據通道模型結構圖

本文設計的MCU數據通道模型包含各數據通道單元及單條雙向數據總線(xiàn)。其中數據通道單元主要由特殊功能寄存器、通用寄存器及運算單元ALU等電路組成,每個(gè)通道單元還可再分為多個(gè)子通道單元。數據通道頂層模型如圖1所示,數據主要在數據總線(xiàn)及各數據通道單元中流動(dòng),由一條雙向數據總線(xiàn)完成每個(gè)數據組元的讀寫(xiě)操作,充當每個(gè)組元源總線(xiàn)及目的總線(xiàn)雙重功能,并由特定電路完成總線(xiàn)數據的讀寫(xiě)操作。該數據通道模型的最大特點(diǎn)為:通過(guò)n個(gè)子通道選擇信號,各數據通道單元內部可再分為n個(gè)子數據通道,由1/n譯碼器實(shí)現每一個(gè)時(shí)刻只有一條子通道選通。上層的數據通道控制信號仍然有效,作為子層數據通道的公共開(kāi)關(guān)。依次類(lèi)推,該數據通道模型可以是多層的。數據通道層次模型如圖2所示。



數據通道模型內數據的流動(dòng)在時(shí)間軸上是時(shí)刻向前的,而數據流動(dòng)的軌跡則呈現為相互環(huán)繞的螺旋形。

1.2 內部數據總線(xiàn)的Verilog HDL模型

數據通道模型中內部數據總線(xiàn)分別由三態(tài)門(mén)和多路選擇器實(shí)現讀寫(xiě)操作,使用特定的硬件描述語(yǔ)言Verilog HDL代碼模型進(jìn)行描述。對于掛接n個(gè)數據通道單元的m位數據通道內部數據總線(xiàn),讀、寫(xiě)兩種操作的Verilog HDL代碼模型分別表示如下:


2 設計實(shí)現

本文以數據通道單元ALU為例介紹數據通道模型的層次結構。ALU是MCU IP核的運算單元,是數據的加工處理部件,是數據通道中最特殊的數據通道單元。它實(shí)現加、減、與、或、異或、非、左移、右移、半字節交換等九種運算,其中前五種是雙操作數操作,其余四種是單操作數操作。對于雙操作數操作,ALU數據通道單元一邊采用兩條兩個(gè)源操作數數據通道,另一邊采用一條目標操作數數據通道;而單操作數操作僅需開(kāi)啟一條源操作數數據通道。

本文的ALU采用低功耗設計。通過(guò)控制部分譯碼得出ALU主要實(shí)現四種運算:算術(shù)運算、邏輯運算、移位運算以及半字節交換運算。本文通過(guò)加、減操作復用一個(gè)8位超前進(jìn)位加法器,將ALU模塊分為8個(gè)運算單元,構成8個(gè)子數據通道。通過(guò)對ALU子數據通道選通信號aluop[2:0]進(jìn)行譯碼對8條子通道進(jìn)行選通,如表1所示。在系統復位或者不工作時(shí),各運算單元處于休眠狀態(tài);在每條指令的執行周期,ALU中8個(gè)子數據通道始終只有一條子數據通道處于選通工作狀態(tài)。不同類(lèi)的指令對應不同的數據通道,把對ALU運算的控制轉化為對ALU內子數據通道的選擇,降低了ALU整體功耗。


一般來(lái)說(shuō),數據通道的選通由選通信號控制,而數據通道的開(kāi)啟必須由整個(gè)MCU IP核控制部分產(chǎn)生的四相不重疊時(shí)鐘節拍控制,分別為clk1、clk2、clk3、clk4。時(shí)鐘節拍不參與數據通道的選擇,所起作用只是數據通道的開(kāi)啟。數據通道內數據的流動(dòng)是有方向的,本文中數據流動(dòng)的方向性體現為不同時(shí)鐘節拍控制的不同數據通道的開(kāi)啟。以單操作數指令半字節交換指令(SWAP)為例說(shuō)明,半字節交換指令只需開(kāi)啟一條源操作數通道。如圖3所示,控制部分在clk1時(shí)取出指令,產(chǎn)生控制信號,進(jìn)入數據通道操作;在clk2時(shí),在存儲單元中選擇源操作數寫(xiě)入數據總線(xiàn),開(kāi)啟ALU運算單元的源操作數alu_xbus_a[7:0]數據通道,此時(shí)內部雙向數據總線(xiàn)充當ALU源總線(xiàn);在clk3時(shí),根據ALU模塊子通道選通信號aluop[3:0]選擇ALU功能模塊SWAP,開(kāi)啟源操作數進(jìn)入ALU進(jìn)行半字節交換運算的數據通道;在clk4時(shí),將ALU運算單元的運算結果aluout[7:0]通過(guò)數據總線(xiàn)寫(xiě)入到各目的數據通道單元中,即開(kāi)啟目的操作數數據通道,此時(shí)內部雙向數據總線(xiàn)充當ALU目的總線(xiàn)。

需要說(shuō)明的是,圖3中數據databus[7:0]來(lái)自數據總線(xiàn),由數據通道單元特殊功能寄存器和通用寄存器提供數據。其中特殊功能寄存器包括F0間址寄存器、F1實(shí)時(shí)時(shí)鐘/計數寄存器RTCC、F2程序計數器PC,F3狀態(tài)計數器STATUS、F4寄存器選擇寄存器FSR以及F5、F6、F7 I/O寄存器?梢韵蛳略俜譃8條子數據通道,子通道選通信號為fsel[2:0],而上層數據通道開(kāi)關(guān)控制信號為rf_spr_re、rf_spr_we,即特殊功能寄存器讀寫(xiě)控制信號。其具體實(shí)現與ALU數據通道單元類(lèi)似,這里不再贅述。


在該款MCUIP核數據通道模型中,數據總線(xiàn)全部采用本文所述的Verilog HDL代碼模型描述;谥行膰HSMIC 0.35μm工藝庫(工作電壓為3伏),使用Synopsys公司VCS和 DC對該款MCU IP核進(jìn)行了仿真綜合,并進(jìn)行了功耗分析。綜合分析結果得出,該數據通道電路結構規整,設計得到了簡(jiǎn)化,總體功耗約為49.5980mW,實(shí)現了低功耗設計。

本文使用固定電路結構描述內部數據總線(xiàn),通過(guò)特定層次化數據通道模型的設計,體現了自頂向下(Top-Down)的設計方法,降低了整個(gè)MCU IP 核設計的復雜度,縮短了設計周期。該設計適用于大規模系統芯片開(kāi)發(fā)設計。
本文地址:http://selenalain.com/thread-47551-1-1.html     【打印本頁(yè)】

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

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页