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

兼容51指令的8位MCU IPCORE設計

發布時間:2010-8-10 14:37    發布者:lavida
關鍵詞: 指令
摘要: 本文基于目前SOC系統技術的發展情況,設計一個可用于SOC系統的核,該核的指令集完全兼容于MCS-51系列的微控制器。本設計的目的在于提高MCS-51的指令執行速度的同時兼顧面積的考慮,提升其在Soc系統中的應用價值。該IPCORE采用數據總線和指令總線相分離的哈佛總線結構和全新的指令時序以及指令實現方式,并使用PLA硬布線邏輯代替微程序控制,加快了核的速度,提高了指令執行效率。所有的模塊都采用vhdl硬件描述語言進行設計描述,使用EDA工具進行功能仿真、綜合。  

1 前言  

當前,在微電子及其應用領域正在發生一場前所未有的變革,這場變革是由片上系統(SOC)技術研究應用和發展引起的.從技術層面看SOC技術是超大規模集成電路發展的必然趨勢和主流,它以超深亞微米VDSM(Very Deep Submicon)工藝和知識產權IP核復用技術為支撐。在眾多的IP核中,MCU CORE以其在SOC中嵌入后能充分發揮其處理靈活、軟件可升級、硬件開銷少的特點,在很大程度上成為SOC芯片必需模塊。INTEL公司的MCS-51系列MCU 可以說是目前國內應用時間最長、最普及、可獲得應用資料最多的功能強大的8位MCU , 所以建立兼容51指令MCU可綜合IP核對于各種嵌入式系統和片上系統(SOC)的應用具有重要意義。  



  


圖1 IPCORE 內部結構  

2 總體構架設計  

本設計采用自頂向下的設計方法成功設計了與MCS-51 系列微處理器指令集完全兼容的8位嵌入式MCU核, 此核的內部結構如圖1所示(整個設計過程也是圍繞其產開)。  

3 核內單元(主要單元設計的概述)  

3.1 ALU 單元的設計:  

ALU單元由一些基本操作功能模塊(加/減法模塊、乘法模塊、除法模塊、十進制調整模塊和邏輯模塊)構成,整個操作是通過多路選擇器來完成的。在ALU單元的結構上,將乘、除法單元各自獨立出來完成算術運算指令中的乘、除法運算。這樣可以回避傳統典型微處理器基于累加器ACC的ALU結構,并且由于ALU單元被設計成純組合邏輯,因而速度較快,從而提高算術運算指令的執行效率。  

3.2 時序設計  

主要從簡化控制器設計、提高核的性能出發,本設計沒有采用Intel MCS-51雙相時鐘的復雜時序設計,而是采用單相時鐘(單相時鐘因為在時序和傳輸上比較簡單可靠,被一些高性能芯片使用)、全同步設計,所有時序電路均采用邊沿觸發的觸發器。采用單相時鐘全同步設計會使芯片面積有所增加,但降低了設計的復雜度,減少了生產工藝不確定性對系統性能的影響,提高了設計的成功率。  

3.3 控制單元的設計  

控制器本質上是一個結構及狀態轉移非常復雜的有限狀態機(FSM)。從程序執行的宏觀角度看,每一條指令對應著這個復雜的有限狀態機的一個狀態,一條一條指令的依次執行,就是一系列狀態轉移?刂破鞯膶崿F主要有兩種:硬布線實現方式和微程序實現方式。考慮到本次設計的是一個用于SOC的IP核所以采用PLA技術,就是用存儲技術實現硬布線邏輯,可以認為它是硬布線邏輯控制器和微程序控制器兩者的折衷方案。由于PLA微控制器集中了硬布線邏輯控制器與微程序控制器兩者的優點,與硬布線邏輯控制器相比,它的設計工作量小,修改、維護都比較方便。與微程序控制器相比,它的速度較快。這些優點都適合其作為內核整合在SOC中。為了提高FSM的效率,我們把控制單元中組合邏輯和時序邏輯分開設計,組合邏輯主要輸出控制信號并且產生次態邏輯,時序邏輯主要實現存儲單元的讀寫。  

3.3.1 指令狀態的設計  



  


圖2 指令狀態機狀態圖  

如圖2 所示狀態機共有五種狀態,每個狀態轉換時間都對應一個時鐘周期,所有指令共有狀態為取指狀態(取指令操作碼)和開始狀態(復位后的狀態),中間的執行狀態根據不同指令來分別采取1 到3 個執行步驟,比如ADD A RN 需要一個執行步驟,ADD A #DATA 需要兩個執行步驟等。這樣所有的指令就可以在一到四個時鐘周期內完成整個指令的執行過程。  

3.3.2 指令狀態機的實現  

51指令按功能分為五類:數據傳送類;算術操作類;邏輯操作類;控制程序轉移類;布爾變量操作類。出于減少內部連線和控制方便的考慮,我們將不同類的指令放在了不同的模塊中解碼執行。  

算術操作類指令和邏輯操作類指令由指令譯碼控制模塊實現譯碼,產生操作數和ALU控制命令,然后傳送給算術邏輯運算單元ALU 完成運算,ALU 模塊將運算結果送回指令譯碼控制模塊,再由指令譯碼控制模塊將結果寫回目的單元。  

數據傳送類指令中的MOVX指令的實現需要所有外部控制時序信號的配合。在輸出控制邏輯中直接產生MOVX所需的控制信號。數據的輸入輸出則在指令譯碼控制模塊中實現。數據傳送類中其他指令和布爾變量操作類指令中的非轉移指令都直接在指令譯碼控制模塊中實現,通過內部總線實現內部存儲器、寄存器,外部存儲器之間的數據傳送。  

控制程序轉移類指令由于與程序計數器直接相關,因而這一類指令中的長調用指令、絕對調用指令、長轉移指令、絕對轉移指令、相對轉移指令、子程序返回指令的PC計算放在了狀態機時序部分PC計算模塊,完成取指操作;而條件轉移指令和布爾變量操作類中的測試轉移指令則由指令譯碼控制模塊完成測試比較操作,將比較結果送回PC計算模塊使其根據比較結果來完成轉移操作;由于數據傳送類指令中的MOVC指令直接操作程序計數器,因而它的實現也放在了這個模塊中。  

4 核內其他單元的設計  

4.1 中斷單元的實現: 此次IPCORE 共有5 個中斷包括兩個外部中斷,三個中斷。中斷源的檢測是在狀態機時序部分完成,執行中斷程序之前操作如PC 裝載中斷向量值,PC 值的保存,清除中斷標志等是在狀態機的組合邏輯部分實現。  

4.2 定時計數單元和UART 的設計:兩個多功能16 位定時/ 計數器,我們用兩個進程分別來實現。定時/ 計數器1 與定時/ 計數器0 類似,但它輸出一個溢出脈沖到串行接口,給串行接口提供波特率。溢出中斷標志輸出到中斷處理模塊。串行口是一個全雙工通信接口,它可作UART 用,也可以作同步移位寄存器用。我們用兩個進程來分別實現其收發功能。收發所需時鐘在進程外實現,模式1、2、3 的區別只是時鐘和位數不同,故放在一起實現。  

4.3 存儲器設計:核內包含256B 的存儲器,其中低128 單元作為用戶RAM,高128 單元作為SFR.外部RAM 和ROM 可根據需要任意擴展到64KB。此次設計采用哈佛總線結構,ROM 和RAM 區由控制模塊分別提供數據,地址傳送總線以及控制信號線。內部RAM 和外部RAM 的讀寫也采用不同的控制線獨立控制。這樣的并行結構加速了指令執行的過程,有利于速度的提升。  

5 功能和時序仿真的結果  

5.1 功能測試  

編完代碼后,將所有模塊整合,接下來就需要搭建測試平臺(testbench),寫激勵文件,進行功能仿真。在源代碼調試階段,編寫一簡單的指令來進行仿真,然后看波形就可以了。當所有指令的調試基本通過的時候,就要對其進行全功能仿真,因此,針對此核的不同功能,如外中斷、定時器/計數器、UART等需要編寫不同的測試文件,以保證其在多種情況下都能正常工作。  

測試平臺見圖  



  


圖3 測試平臺的建立模式  

利用Mentor Graphics 的工具MODELSIM SE/對模型進行了模擬驗證。此處僅給出了一個簡單的指令執行后的模擬結果(見圖4)。圖中所示為ADD A RN指令的波形圖,可以看出,模擬結果與指令執行結果一致。該模型也通過了MODELSIM的可綜合性檢查。  



  


圖4 指令ADD A RN 執行結果  

5.2 時序測試  

在時序測試中我們選用了ALTERA 公司的不同系列FPGA 芯片來對次IPCORE 進行綜合,綜合后的性能如下表所示:  



  


從上表我們可以看出雖然不同的器件綜合后的結果不相同,但是本文設計的8 位MCUIPCORE 可以完全可以容納到一個相對門數為20 萬門以上的FPGA 中,并且具有較好的時鐘頻率特性。  

6 結論  

雖然這里只設計了一款八位的MCU IP CORE,但我們所提出的架構和模塊設計新思路可以推廣到16位、32位以及64位MCU的設計中。因為不管是多少位的MCU CORE,設計中需要重點考慮的架構以及指令系統基本上是一致的,所不同的只是一些總線位數以及寄存器的位數而已。當然隨著位數的增加,一些驗證和測試的復雜度也將顯著增加,但從設計思路的角度來講,它們是一樣的。在具體的推廣中,要根據應用領域的不同,對這些方法進行適當的取舍或適當的改進,以更加符合某些具體應用領域的要求。  

本文創新點:本文設計了一種新結構的兼容51指令的MCU IPCORE。設計中引入了純組合的ALU單元,增加了并行乘除法器,重新設計了外圍組件,在設計控制單元的時候,重新設計了指令的時序,并且把指令狀態機的時序和組合部分分開設計,提高了狀態機的執行效率。從結果上看,時鐘頻率提高了很多,可由用戶根據需要選擇合適的ROM和RAM 的大小,并且完全可以把此核放在一個相對門數在20萬門以上的FPGA的中。
本文地址:http://m.qingdxww.cn/thread-20604-1-1.html     【打印本頁】

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

廠商推薦

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

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 狂野欧美老黑粗又硬 | 台湾在线视频 | 三级毛片在线看 | 四虎国产成人永久精品免费 | 麻豆精品永久免费视频 | 久久久99精品免费观看 | 日韩在线视频一区二区三区 | 欧美日中文字幕 | 免费一级毛片麻豆精品 | 久久网免费视频 | 精品欧美视频 | 久久九九99热这里只有精品 | 亚洲欧美日韩一区高清中文字幕 | 四虎精品成人免费影视 | 亚洲成年人专区 | 成人网址大全 | 久久国产精品免费视频 | 国产特级淫片免费看 | 美女被爆羞羞视 | 爱草在线视频 | 日韩色网 | 96精品专区国产在线观看高清 | 99国产牛牛视频在线网站 | 国产成人永久免费视频 | 91九色丨porny丨制服 | 国产欧美精品区一区二区三区 | 一级成人a毛片免费播放 | 亚洲香蕉在线视频 | 夜夜操网站 | 一区精品麻豆入口 | 国产精欧美一区二区三区 | 日韩天堂在线 | 欧美日韩国产一区二区三区播放 | 国产白嫩在线 | 日韩精品中文字幕一区三区 | 欧美人交性视频在线香蕉 | h录音 国产 在线 | 亚洲视频在线观看一区 | 国产精品欧美久久久久天天影视 | 日韩福利视频高清免费看 | 国产亚洲一欧美一区二区三区 |