當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式教程
[導(dǎo)讀]嵌入式微處理器IP core設(shè)計(jì)與分析

摘要:本文在對(duì)傳統(tǒng)微控制器進(jìn)行系統(tǒng)分析的基礎(chǔ)上,提出了一種較好的改進(jìn)設(shè)計(jì)方法?;乇芰藗鹘y(tǒng)微控制器基于累加器的ALU結(jié)構(gòu)及算術(shù)邏輯指令:并在指令執(zhí)行時(shí)序上盡量減少指令執(zhí)行所需的時(shí)鐘周期。通過仿真驗(yàn)證證明該設(shè)計(jì)方法提高了指令的執(zhí)行效率和微控制器的運(yùn)行效率,同時(shí)避免了通常采用并行處理設(shè)計(jì)中多級(jí)流水線設(shè)計(jì)帶來(lái)的內(nèi)部復(fù)雜的控制邏輯設(shè)計(jì)。
關(guān)鍵字:微控制器;IP core;流水線

    在嵌入式系統(tǒng)的設(shè)計(jì)中,IP技術(shù)為SoC的設(shè)計(jì)提供了有效途徑,是SoC的技術(shù)支撐。當(dāng)然,在國(guó)內(nèi)開發(fā)出具有自主知識(shí)產(chǎn)權(quán)的IP模塊還面臨著許多問題,如核心算法的優(yōu)化、不同層次模塊的建立、模塊的可重用問題以及IP模塊的標(biāo)準(zhǔn)化問題等。對(duì)于嵌入式處理器IP核,面對(duì)的挑戰(zhàn)就是如何選擇一個(gè)滿足其應(yīng)用需求的處理器?,F(xiàn)已有數(shù)百種嵌入式處理器,每組都具備一組不同的外設(shè)、存儲(chǔ)器、接口和性能特性,用戶很難做出一個(gè)合理的選擇。本文設(shè)計(jì)的微處理器的指令集與標(biāo)準(zhǔn)8051單片機(jī)完全兼容,這樣有利于開發(fā)人員的使用。

1 總體設(shè)計(jì)方案的擬定
1.1 提出改進(jìn)方案
    首先在對(duì)典型八位微處理器進(jìn)行了詳盡地剖析的基礎(chǔ)上,指出在傳統(tǒng)典型微處理器內(nèi)核中制約微處理器整體性能的主要因素,然后提出以下改進(jìn)方案:
    (1)微處理器的內(nèi)核結(jié)構(gòu)上,將乘、除法單元各自獨(dú)立出來(lái)來(lái)完成算術(shù)邏輯指令中的乘、除法運(yùn)算。這樣可以回避傳統(tǒng)典型微處理器基于累加器的ALU結(jié)構(gòu)及算術(shù)邏輯指令,從而提高邏輯指令的執(zhí)行效率。
    (2)在指令系統(tǒng)上,通過采用類RISC的指令系統(tǒng)和硬布線直接產(chǎn)生控制信號(hào)的方式來(lái)簡(jiǎn)化指令譯碼器的設(shè)計(jì)。同時(shí)為內(nèi)核添加指令緩沖區(qū)、采用指令流水線技術(shù)、多管道并行執(zhí)行指令。
    (3)指令時(shí)序上,設(shè)計(jì)中盡量減少指令執(zhí)行所需的時(shí)鐘周期,提高微處理器的運(yùn)行效率。
1.2 總體設(shè)計(jì)思路
    根據(jù)IP core通用的設(shè)計(jì)方法,本文采用了標(biāo)準(zhǔn)的自頂向下的設(shè)計(jì)方法。就是根據(jù)系統(tǒng)級(jí)的內(nèi)容,把系統(tǒng)劃分為單元,然后再把每個(gè)單元?jiǎng)澐譃橄乱粚哟蔚膯卧@樣一直劃分下去,直到最底層的單元可以用硬件描述語(yǔ)言進(jìn)行設(shè)計(jì),如圖1所示;接著在完成各個(gè)模塊設(shè)計(jì)的基礎(chǔ)上完成系統(tǒng)級(jí)設(shè)計(jì);然后進(jìn)行整個(gè)系統(tǒng)的仿真驗(yàn)證;最后選用特定的FPGA芯片進(jìn)行綜合、布局布線以及功能后仿真。



2 各子模塊的設(shè)計(jì)
2.1 ALU模塊
    算術(shù)邏輯單元(ALU)是微控制器的核心部件,ALU的設(shè)計(jì)依賴于指令系統(tǒng),ALU采用什么樣的結(jié)構(gòu)、設(shè)置那些功能都是建立在對(duì)系統(tǒng)指令集分析的基礎(chǔ)上來(lái)完成。
    根據(jù)算術(shù)運(yùn)算類指令可知,ALU單元主要要完成的功能有:帶/不帶進(jìn)位加/減法、乘法、除法、十進(jìn)制調(diào)整、邏輯運(yùn)算以及布爾操作的實(shí)現(xiàn)。整個(gè)操作的完成是通過多路選擇器控制來(lái)完成。因此,我們可以對(duì)整個(gè)ALU系統(tǒng)進(jìn)行如圖2劃分,然后對(duì)各個(gè)子模塊進(jìn)行設(shè)計(jì)。


2.2 控制通路的設(shè)計(jì)
    本文中的控制通路由譯碼器模塊和控制器模塊兩部分組成。這部分的設(shè)計(jì)是在對(duì)指令系統(tǒng)進(jìn)行正確分析的基礎(chǔ)上來(lái)完成。
    設(shè)計(jì)控制通路有兩種主要的方法。微程序控制(或微序列控制)方式使用存儲(chǔ)器查表方式來(lái)輸出控制信號(hào),而硬連線控制使用時(shí)序邏輯和組合邏輯來(lái)產(chǎn)生控制信號(hào)。硬件直接實(shí)現(xiàn)的控制單元一般用有限狀態(tài)機(jī)實(shí)現(xiàn),通常有較高的運(yùn)算速度;但是通用性差,每個(gè)電路都必須專門設(shè)計(jì)控制單元。每一種方法都有一些變形形式。由于本文中微處理器的控制相對(duì)簡(jiǎn)單,所以在設(shè)計(jì)中采用了硬連線控制方法。[!--empirenews.page--]
    (1)控制器模塊的狀態(tài)機(jī)實(shí)現(xiàn)
    根據(jù)本文中多數(shù)輸出要保持一個(gè)完整的時(shí)鐘周期,此時(shí)鐘周期內(nèi)輸出不能受時(shí)鐘信號(hào)的影響,所以采用Moore型有限狀態(tài)機(jī)來(lái)完成控制器模塊的設(shè)計(jì)。整個(gè)控制模塊的設(shè)計(jì)通過主狀態(tài)機(jī)和子狀態(tài)機(jī)兩步來(lái)完成。注狀態(tài)機(jī)模型如圖3所示。


    以中斷處理子狀態(tài)機(jī)設(shè)計(jì)為例,對(duì)子狀態(tài)機(jī)的設(shè)計(jì)進(jìn)行說明,狀態(tài)轉(zhuǎn)換圖如圖4所示。


    (2)存儲(chǔ)器模塊的設(shè)計(jì)
    存儲(chǔ)器是數(shù)字系統(tǒng)的重要組成部分,數(shù)據(jù)處理單元的處理結(jié)果需要存儲(chǔ),許多處理單元的初始化數(shù)據(jù)也需要存放在存儲(chǔ)器中。本文的存儲(chǔ)器結(jié)構(gòu),采用的是將程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分開尋址的哈佛結(jié)構(gòu)。同時(shí)又將數(shù)據(jù)存儲(chǔ)器分為內(nèi)部數(shù)據(jù)存儲(chǔ)器和外部數(shù)據(jù)存儲(chǔ)器兩部分來(lái)設(shè)計(jì)。
    (3)中斷系統(tǒng)設(shè)計(jì)
    本文中的中斷系統(tǒng)在控制通路來(lái)完成,共提供了5個(gè)中斷源,同時(shí)通過對(duì)中斷優(yōu)先級(jí)寄存器IP中的某位的置位或清除,可以把每個(gè)中斷源分別編程為高優(yōu)先級(jí)或低優(yōu)先級(jí)。如表1所示。


    (4)定時(shí)器/計(jì)數(shù)器模塊的設(shè)計(jì)
    定時(shí)器/計(jì)數(shù)器是微處理器中重要的外圍模塊,它主要是完成作為定時(shí)器和事件計(jì)數(shù)器的功能。在作為定時(shí)器工作時(shí),每一個(gè)機(jī)器周期使定時(shí)寄存器加1計(jì)數(shù)。在作為事件計(jì)數(shù)器工作時(shí),是對(duì)外部輸入負(fù)跳變信號(hào)做加法計(jì)數(shù),規(guī)定在每個(gè)機(jī)器周期的某一狀態(tài)采樣此信號(hào),在前一個(gè)周期采樣到“1”,后一個(gè)周期采樣到“0”時(shí)計(jì)數(shù)加1,而在檢測(cè)到跳變信號(hào)后的那個(gè)周期的下一個(gè)狀態(tài)時(shí),新的計(jì)數(shù)值裝入計(jì)數(shù)寄存器。

3 系統(tǒng)綜合、仿真驗(yàn)證與性能分析
    在整個(gè)微處理器IP核的設(shè)計(jì)過程中,利用可編程邏輯器件進(jìn)行電路驗(yàn)證對(duì)于保證設(shè)計(jì)的正確性和投片成功十分重要。在FPGA的設(shè)計(jì)流程中包括三種基本的驗(yàn)證方法:HDL、RTL級(jí)描述仿真,門級(jí)仿真和布線后的時(shí)序仿真。具體驗(yàn)證流程如圖5所示。仿真的目的就是要確認(rèn)設(shè)計(jì)的正確性。如果出錯(cuò)的話,則通過分析仿真器的輸出波形,找出出錯(cuò)的原因,并對(duì)原設(shè)計(jì)進(jìn)行修改。

[!--empirenews.page--]
3.1 仿真驗(yàn)證
    驗(yàn)證方法:首先編寫各種測(cè)試代碼:然后轉(zhuǎn)化為vhdl文件,再寫入ROM模塊;最后在仿真環(huán)境中運(yùn)行IP核,完成對(duì)整個(gè)系統(tǒng)的全指令集測(cè)試。一般內(nèi)部RAM和寄存器的值無(wú)法直接檢測(cè),可以通過多條指令將其輸出到IP核的四個(gè)輸出端口供檢查。本文采用Model Tech公司的仿真工具M(jìn)oledsim來(lái)進(jìn)行功能仿真和時(shí)序仿真。


    圖6是對(duì)基本子程序調(diào)用指令的測(cè)試仿真時(shí)序。包括子程序調(diào)用、傳送、加法以及返回等指令。根據(jù)測(cè)試指令集,如果程序執(zhí)行正確,那么在程序執(zhí)行完后,輸出端口P0口就會(huì)出現(xiàn)21H。
    測(cè)試指令集:MOV A,#20H;ACALL DELY;MOV P0,A;DELAY:INC A;MOVP0,A。
3.2 綜合及綜合結(jié)果分析
    本文中的綜合及優(yōu)化都是由綜合工具SynplifyPro來(lái)完成的。利用Synplify Pro工具提供的邏輯綜合與適配工具和設(shè)計(jì)的約束條件,可以方便的實(shí)現(xiàn)本文各模塊的邏輯綜合和布局布線。
    對(duì)于本文中的八位微處理器來(lái)說,由于它是一個(gè)非常復(fù)雜的數(shù)字邏輯電路,不僅包含大量的組合邏輯電路,而且包含了時(shí)序復(fù)雜的時(shí)序邏輯電路。通過邏輯綜合估計(jì)整個(gè)系統(tǒng)超過一百萬(wàn)門,因此要用大容量的可編程邏輯器件來(lái)做電路驗(yàn)證。通過比較各種可編程邏輯器件的性能和結(jié)構(gòu)特點(diǎn)(見表2),決定采用器件Xilinx Virtex2 XC2V1000bg575—6來(lái)完成本文的電路驗(yàn)證。


    綜合結(jié)果分析主要是利用結(jié)構(gòu)視圖、綜合報(bào)告分析綜合結(jié)果是否滿足時(shí)序要求,分析綜合的頻率、面積等信息。
3.3 性能分析
    本文的器件資源的占用情況如表3。 (由于內(nèi)部存儲(chǔ)器要占用很多的資源,故此表列出的是縮減內(nèi)部?jī)?nèi)存后器件的資源占用情況)。


    將經(jīng)過FPGA驗(yàn)證的MCU核與傳統(tǒng)的微處理器做比較,可以看出,由于所設(shè)計(jì)的微處理器核是采用硬布線邏輯產(chǎn)生控制信號(hào),所以其工作時(shí)鐘頻率要大大優(yōu)于傳統(tǒng)的微處理器。FPGA驗(yàn)證的結(jié)果是,工作時(shí)鐘頻率大于60MHz,是傳統(tǒng)微控制器工作時(shí)鐘頻率的五倍;在每MHz時(shí)鐘頻率的指令執(zhí)行效率指標(biāo)上,所設(shè)計(jì)微處理器核的性能約為傳統(tǒng)微控制器的12倍。這得益于微控制器內(nèi)核采用類RISC指令結(jié)構(gòu),及設(shè)計(jì)指令執(zhí)行周期的大大減小。

4 結(jié)束語(yǔ)
    由于整個(gè)微控制器內(nèi)核都是采用可綜合的VHDL語(yǔ)言描述,這使得該內(nèi)核具有很好的可移植性、可重復(fù)利用性和實(shí)用性。也可以適當(dāng)?shù)赝貙挃?shù)據(jù)總線的寬度,以減少內(nèi)存訪問的次數(shù),從而提高指令執(zhí)行效率。此外,還可借助EDA工具,方便地與AD/DA轉(zhuǎn)換器、LCD顯示驅(qū)動(dòng)器、串行通信接口等外圍功能模塊綜合成各種嵌入式控制系統(tǒng)。

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

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

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

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

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

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

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

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

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

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

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

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

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

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

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

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉