兼容51指令的8位MCU IPCORE設(shè)計
1 前言
本文引用地址:http://2s4d.com/article/170741.htm當(dāng)前,在微電子及其應(yīng)用領(lǐng)域正在發(fā)生一場前所未有的變革,這場變革是由片上系統(tǒng)(SOC)技術(shù)研究應(yīng)用和發(fā)展引起的.從技術(shù)層面看SOC技術(shù)是超大規(guī)模集成電路發(fā)展的必然趨勢和主流,它以超深亞微米VDSM(Very Deep Submicon)工藝和知識產(chǎn)權(quán)IP核復(fù)用技術(shù)為支撐。在眾多的IP核中,MCU CORE以其在SOC中嵌入后能充分發(fā)揮其處理靈活、軟件可升級、硬件開銷少的特點,在很大程度上成為SOC芯片必需模塊。INTEL公司的MCS-51系列MCU 可以說是目前國內(nèi)應(yīng)用時間最長、最普及、可獲得應(yīng)用資料最多的功能強大的8位MCU , 所以建立兼容51指令MCU可綜合IP核對于各種嵌入式系統(tǒng)和片上系統(tǒng)(SOC)的應(yīng)用具有重要意義。
圖1 IPCORE 內(nèi)部結(jié)構(gòu)
2 總體構(gòu)架設(shè)計
本設(shè)計采用自頂向下的設(shè)計方法成功設(shè)計了與MCS-51 系列微處理器指令集完全兼容的8位嵌入式MCU核, 此核的內(nèi)部結(jié)構(gòu)如圖1所示(整個設(shè)計過程也是圍繞其產(chǎn)開)。
3 核內(nèi)單元(主要單元設(shè)計的概述)
3.1 ALU 單元的設(shè)計:
ALU單元由一些基本操作功能模塊(加/減法模塊、乘法模塊、除法模塊、十進(jìn)制調(diào)整模塊和邏輯模塊)構(gòu)成,整個操作是通過多路選擇器來完成的。在ALU單元的結(jié)構(gòu)上,將乘、除法單元各自獨立出來完成算術(shù)運算指令中的乘、除法運算。這樣可以回避傳統(tǒng)典型微處理器基于累加器ACC的ALU結(jié)構(gòu),并且由于ALU單元被設(shè)計成純組合邏輯,因而速度較快,從而提高算術(shù)運算指令的執(zhí)行效率。
3.2 時序設(shè)計
主要從簡化控制器設(shè)計、提高核的性能出發(fā),本設(shè)計沒有采用Intel MCS-51雙相時鐘的復(fù)雜時序設(shè)計,而是采用單相時鐘(單相時鐘因為在時序和傳輸上比較簡單可靠,被一些高性能芯片使用)、全同步設(shè)計,所有時序電路均采用邊沿觸發(fā)的觸發(fā)器。采用單相時鐘全同步設(shè)計會使芯片面積有所增加,但降低了設(shè)計的復(fù)雜度,減少了生產(chǎn)工藝不確定性對系統(tǒng)性能的影響,提高了設(shè)計的成功率。
3.3 控制單元的設(shè)計
控制器本質(zhì)上是一個結(jié)構(gòu)及狀態(tài)轉(zhuǎn)移非常復(fù)雜的有限狀態(tài)機(FSM)。從程序執(zhí)行的宏觀角度看,每一條指令對應(yīng)著這個復(fù)雜的有限狀態(tài)機的一個狀態(tài),一條一條指令的依次執(zhí)行,就是一系列狀態(tài)轉(zhuǎn)移。控制器的實現(xiàn)主要有兩種:硬布線實現(xiàn)方式和微程序?qū)崿F(xiàn)方式。考慮到本次設(shè)計的是一個用于SOC的IP核所以采用PLA技術(shù),就是用存儲技術(shù)實現(xiàn)硬布線邏輯,可以認(rèn)為它是硬布線邏輯控制器和微程序控制器兩者的折衷方案。由于PLA微控制器集中了硬布線邏輯控制器與微程序控制器兩者的優(yōu)點,與硬布線邏輯控制器相比,它的設(shè)計工作量小,修改、維護(hù)都比較方便。與微程序控制器相比,它的速度較快。這些優(yōu)點都適合其作為內(nèi)核整合在SOC中。為了提高FSM的效率,我們把控制單元中組合邏輯和時序邏輯分開設(shè)計,組合邏輯主要輸出控制信號并且產(chǎn)生次態(tài)邏輯,時序邏輯主要實現(xiàn)存儲單元的讀寫。
評論