MC8051單片機IP核的FPGA實現與應用
長期以來,單片機以其性價比高、體積小、功能靈活等方面的獨特優點被廣泛應用。但受其內部資源的限制,單片機需要在片外擴展相關資源。為了達到處理速度和控制靈活性方面的需求,采用微控制器和可編程邏輯器件設計單片機嵌入式系統。隨著現場可編程邏輯陣列(FPGA)及EDA技術的發展,百萬門級的FPGA、可重構的嵌入式MCU核、功能復雜的IP核及各種功能強大的EDA工具的出現,實現將MCU、存儲器和一些外圍電路集成到一個芯片成為可能。隨著IP核技術在FPCA中的應用,特別是MCU IP核技術的發展。出現了性能不同的嵌入式MCU軟核。MCS-51系列MCU是目前應用時間最長、最普及、可獲得應用資料最多的功能強大的8位MCU,建立805l MCU可綜合IP核對于各種嵌入式系統和片上系統(SOC)的應用。針對8051MCU的應用前景,出現了幾個比較典型的805l IP核,如DW8051核.OpenCore組織的0C8051核及T51核,MC805l核等。這些IP核都是采用HDL語言描述的軟MCU內核,其與工藝無關,能夠在多種FPGA上進行邏輯綜合及實現。這里采用免費的MC805lIP核,通過對MC8051結構原理的分析,詳細論述其在FPCA中的實現及應用。
2 MC8051 IP核基本結構及原理
MC8051是與MCS一5l系列微處理器指令集完全兼容的8位嵌入式微處理器,通過芯核重用技術,可廣泛應用在一些面積要求比較苛刻,而對速度要求不是很高的片上系統中。
2.1 MC8051功能特點
采用完全同步設計:指令集和標準8051微控制器完全兼容;指令執行時間為l~4個時鐘周期,執行性能優于標準805l微控制器8倍左右;用戶可選擇定時/計數器、串行接口單元的數量,最多可增加到256組;新增特殊功能寄存器用于選擇不同的定時/計數器、串行接口單元;可選擇是否使用乘法器(乘法指令MUL);可選擇是否使用除法器(除法指令DIV);可選擇是否使用十進制調整功能(十進制調整指令DA);I/0口不復用,無雙向數據I/O端口,輸入、輸出端口獨立;內部帶256Byte RAM;⑾最多可擴展至64 KB的ROM和64 KB的RAM;與工藝無關,可通過修改VHDL源代碼擴
展及參數化設置。
2.2 MC8051結構及設計層次
圖1給出MC805l_eore的頂層設計模塊及其子模塊,包括頂層的各個信號端口及3個存儲器模塊。同時給出了頂層的輸入輸出I/O口。定時/計數器和串行接口單元,對應于圖中的MC805l_tmrctr和MC8051_siu模塊,數量可選擇,圖中用虛線表示。MC8051 IP核與工業標準8051單片機不同,MC8051的輸入、輸出并口分別映射到獨立的端口上。其頂層各I/O信號的描述如表l所示。
MC805lIP核的設計層次及對應的VHDL文件如圖2所示嘲。它由定時/計數器、ALU算數邏輯單元、串行接口單元和控制單元組成。RAM及ROM模塊不包括在IP核內,處于設計的頂層,方便于不同的應用設計及仿真。
評論