當(dāng)前位置:首頁 > EDA > 電子設(shè)計自動化
[導(dǎo)讀]分析了與標(biāo)準(zhǔn)805l MCU兼容的MC805l IP核結(jié)構(gòu)原理與設(shè)計層次,詳細(xì)論述了MC8051 IP核的FPGA實現(xiàn)與應(yīng)用方法。通過試驗驗證,其性能比標(biāo)準(zhǔn)8051 MCU高,方便與系統(tǒng)其他模塊的集成。在各種嵌入式系統(tǒng)和片上系統(tǒng)中使用該IP核具有重要意義。

1 引言
   
長期以來,單片機(jī)以其性價比高、體積小、功能靈活等方面的獨(dú)特優(yōu)點被廣泛應(yīng)用。但受其內(nèi)部資源的限制,單片機(jī)需要在片外擴(kuò)展相關(guān)資源。為了達(dá)到處理速度和控制靈活性方面的需求,采用微控制器和可編程邏輯器件設(shè)計單片機(jī)嵌入式系統(tǒng)。隨著現(xiàn)場可編程邏輯陣列(FPGA)及EDA技術(shù)的發(fā)展,百萬門級的FPGA、可重構(gòu)的嵌入式MCU核、功能復(fù)雜的IP核及各種功能強(qiáng)大的EDA工具的出現(xiàn),實現(xiàn)將MCU、存儲器和一些外圍電路集成到一個芯片成為可能。隨著IP核技術(shù)在FPCA中的應(yīng)用,特別是MCU IP核技術(shù)的發(fā)展。出現(xiàn)了性能不同的嵌入式MCU軟核。MCS-51系列MCU是目前應(yīng)用時間最長、最普及、可獲得應(yīng)用資料最多的功能強(qiáng)大的8位MCU,建立805l MCU可綜合IP核對于各種嵌入式系統(tǒng)和片上系統(tǒng)(SOC)的應(yīng)用。針對8051MCU的應(yīng)用前景,出現(xiàn)了幾個比較典型的805l IP核,如DW8051核.OpenCore組織的0C8051核及T51核,MC805l核等。這些IP核都是采用HDL語言描述的軟MCU內(nèi)核,其與工藝無關(guān),能夠在多種FPGA上進(jìn)行邏輯綜合及實現(xiàn)。這里采用免費(fèi)的MC805lIP核,通過對MC8051結(jié)構(gòu)原理的分析,詳細(xì)論述其在FPCA中的實現(xiàn)及應(yīng)用。

2 MC8051 IP核基本結(jié)構(gòu)及原理
    MC8051是與MCS一5l系列微處理器指令集完全兼容的8位嵌入式微處理器,通過芯核重用技術(shù),可廣泛應(yīng)用在一些面積要求比較苛刻,而對速度要求不是很高的片上系統(tǒng)中。
2.1 MC8051功能特點
    采用完全同步設(shè)計:指令集和標(biāo)準(zhǔn)8051微控制器完全兼容;指令執(zhí)行時間為l~4個時鐘周期,執(zhí)行性能優(yōu)于標(biāo)準(zhǔn)805l微控制器8倍左右;用戶可選擇定時/計數(shù)器、串行接口單元的數(shù)量,最多可增加到256組;新增特殊功能寄存器用于選擇不同的定時/計數(shù)器、串行接口單元;可選擇是否使用乘法器(乘法指令MUL);可選擇是否使用除法器(除法指令DIV);可選擇是否使用十進(jìn)制調(diào)整功能(十進(jìn)制調(diào)整指令DA);I/0口不復(fù)用,無雙向數(shù)據(jù)I/O端口,輸入、輸出端口獨(dú)立;內(nèi)部帶256Byte RAM;⑾最多可擴(kuò)展至64 KB的ROM和64 KB的RAM;與工藝無關(guān),可通過修改VHDL源代碼擴(kuò)
展及參數(shù)化設(shè)置。
2.2 MC8051結(jié)構(gòu)及設(shè)計層次
    圖1給出MC805l_eore的頂層設(shè)計模塊及其子模塊,包括頂層的各個信號端口及3個存儲器模塊。同時給出了頂層的輸入輸出I/O口。定時/計數(shù)器和串行接口單元,對應(yīng)于圖中的MC805l_tmrctr和MC8051_siu模塊,數(shù)量可選擇,圖中用虛線表示。MC8051 IP核與工業(yè)標(biāo)準(zhǔn)8051單片機(jī)不同,MC8051的輸入、輸出并口分別映射到獨(dú)立的端口上。其頂層各I/O信號的描述如表l所示。

    MC805lIP核的設(shè)計層次及對應(yīng)的VHDL文件如圖2所示嘲。它由定時/計數(shù)器、ALU算數(shù)邏輯單元、串行接口單元和控制單元組成。RAM及ROM模塊不包括在IP核內(nèi),處于設(shè)計的頂層,方便于不同的應(yīng)用設(shè)計及仿真。

    圖2中,最頂層是用戶的實際應(yīng)用設(shè)計模塊,它將ROM、RAM及mc8051_core封裝在內(nèi)部。實際應(yīng)用中用戶可添加自定義附加邏輯模塊,與設(shè)計層次中的RAM、ROM模塊處于同一個層次。
2.3 MC8051硬件模塊
    單片機(jī)作為一個大型設(shè)計,其內(nèi)核由定時器時鐘管理單元、ALU算數(shù)邏輯單元、串口及控制單元、存儲單元RAM及ROM等模塊組成。
2.3.1 時鐘管理單元
    MC8051內(nèi)核采用完全同步的時鐘設(shè)計。只有一個時鐘信號控制每個存儲單元的輸入。沒有使用門時鐘,時鐘沒有輸入到任何組合邏輯單元。中斷輸入線使用兩級同步(鎖存2次)與全局時鐘同步。可以達(dá)到完全同步,即使用其他時鐘的外部電路在驅(qū)動。并行I/0端口沒有采用這種同步方式。
2.3.2 定時器、串口和中斷
   
標(biāo)準(zhǔn)8051微控制器只提供兩個定時/計數(shù)器單元、一個串口單元及兩個外部中斷源。而在MC805l IP核中,這些單元最多可增加到256組,只需修改VHDL源代碼增加兼容的單元數(shù)。在VHDL源程序文件mc8051_p.vhd中,更改C_IMPL_N_TMR、C_IMPL_N_SIU、C_IMPL_N_EXT的常量值就可以,其范圍是1~256。相關(guān)的VHDL代碼如圖3所示。

    這里C_IMPL_N_TMR、C_IMPL_N_SIU、C_IMPL_N_EXT3個常量參數(shù)不能獨(dú)立修改數(shù)值,只能同時增減。C_IMPL_N_TMR加l意味著對應(yīng)的添加了2個定時/計數(shù)器、一個串口單元和2個外部中斷源。為了能尋址所生成的單元而不改變微控制器的地址空間,在微控制器的特殊功能寄存器(SFR)內(nèi)存空間增加了2個8位寄存器作為附加功能寄存器:分別是TSEL(定時/計數(shù)器選擇寄存器,地址為Ox8E)和SSEL(串口選擇寄存器,地址為Ox9A)。如果以上的寄存器指向不存在的器件單元,將使用默認(rèn)的l單元,如果沒有對這兩個寄存器賦值,其缺省值為1。如果在中斷發(fā)生期間設(shè)備(寄存器)沒被選中(比如TSEL),那么相應(yīng)的中斷標(biāo)志位將保持置位,直到執(zhí)行中斷服務(wù)程序。
2.3.3 存儲器接口單元
   
由于采用優(yōu)化結(jié)構(gòu)設(shè)計,存儲器采用同步結(jié)構(gòu),限制輸入、輸出的時序,因而存儲器輸入、輸出數(shù)據(jù)沒用寄存器寄存。
2.3.4 可選擇指令
   
在某些場合,有些指令是用不到的,因此,通過禁用這些指令節(jié)省片上資源。這些指令有8位乘法器(MUL)、8位除法器(DIV)和8位十進(jìn)制調(diào)整器(DA)。禁用時只需要在VHDL源程序文件mc8051_p.vh中將C_IMPL_MUL(乘法指令MUL)、C_IMPL_DIV(除法指令DIV)或C_IMPL_DA(十進(jìn)制調(diào)整指令DA)的常量值設(shè)置為0即可。如果這3條可選指令沒有被執(zhí)行,器件可節(jié)省約10%的資源。相應(yīng)的VHDL程序代碼段如圖4所示。

2.3.5 并行I/O端口
   
為了便于IC設(shè)計,MC805l IP核的I/0口不提供復(fù)用功能,包括4個8位輸入輸出口、串行接口、計數(shù)器輸入端和擴(kuò)展存儲器接口。如果要想將。MC8051 IP核的并行I/O端口改為雙向I/0端口,設(shè)計時可以添加一些外圍邏輯電路來實現(xiàn)。其基本電路結(jié)構(gòu)如圖5所示。圖中的2個D觸發(fā)器起同步輸入信號的作用(mc805l_core的輸入I/O不做同步處理),也可以不用。上拉電阻是必要的,因為I/0端口輸出高電平是靠上拉電阻實現(xiàn)的。

2.4 MC8051其他說明
    (1)MC8051 IP核的定時器和串口波特率的計算與標(biāo)準(zhǔn)8051一樣,由系統(tǒng)時鐘經(jīng)12倍分頻獲得計數(shù)時鐘。
    (2)外部中斷信號是經(jīng)兩級寄存器做同步處理后輸入的。
    (3)MC805l_core的輸入I/0不做同步處理,必要時可自行添加,如圖5所示。
    (4)寫應(yīng)用程序時,I/O端口如果沒有做成雙向端口,而是輸入和輸出分開的,應(yīng)特別注意諸如Pl=一P1、P1^O=P1^0這樣的I/0取反操作是無效的,因為讀回的值不是I/O寄存器的值,而是輸入引腳的狀態(tài)。

3 MC8051的RTL封裝
    利用綜合工具Synplify Pro軟件實現(xiàn)對MC8051核的RTL封裝,從而生成最終所需的MC8051 IP核(.vqm文件)。
3.1 MC8051存儲模塊生成
    MC8051中所需的存儲模塊:內(nèi)部RAM、擴(kuò)展RAM和ROM。其中內(nèi)部RAM和ROM是必要的,內(nèi)部RAM固定為128字節(jié),ROM最大可選64 K字節(jié),鑒于FPGA片上RAM資源有限,這里選用4 K字節(jié)(可根據(jù)需要修改);擴(kuò)展RAM是可選,最大也可以達(dá)到64 K字節(jié),這里選用2 K字節(jié)。
    由于采用Altera公司的FPGA來實現(xiàn),所以可以利用Al—tera公司的集成開發(fā)環(huán)境Quartus II來創(chuàng)建ROM、RAM模塊。在具體的FPGA實現(xiàn)中,可根據(jù)不同廠家的器件,用廠家提供的工具來生成ROM和RAM,或者采用HDL描述實現(xiàn)。
3.2 MC8051 IP核RTL封裝
   
由于用的MC8051 IP核源代碼頂層設(shè)計文件中的存儲模塊(RAM、ROM)是仿真時使用的,實際應(yīng)用設(shè)計時,必須改成實際應(yīng)用中用到的RAM、ROM模塊(也就是前面生成的RAM、ROM模塊)。
    (1)打開源代碼中的mc805l_p.vhd程序包文件,將原文件中的RAM(包括內(nèi)部RAM、擴(kuò)展RAM)、ROM元件例化語句全部替換成實際應(yīng)用設(shè)計的程序代碼;
    (2)打開源代碼中的mc805l_top_stru.vhd文件,將原文件中的RAM(包括內(nèi)部RAM、擴(kuò)展RAM)ROM元件端口映射語句全部修改成應(yīng)用設(shè)計的端口映射。因為實際應(yīng)用中RAM、ROM的容量與MC8051核中存儲器容量不一致及控制信號的差異,需要修改實際應(yīng)用中RAM、ROM的地址線及控制信號線的端口映射。
    (3)新建Synplify Pro工程,將修改后的MC8051 IP核的VHDL文件添加到工程中。選擇綜合的目標(biāo)FPGA器件,設(shè)置相關(guān)綜合參數(shù),生成MC8051 IP核的RTL封裝文件.vqm,其綜合后的RTL圖如圖6所示。

    (4)因為VHDL文件編譯是有順序的,所以在向SynplifyPro工程添加VHDL源代碼文件時,應(yīng)注意的是:首先添加MC805l_p.vhd文件,然后添加其他文件,最后添加mc805l_top_.vhd和mc8051_top_strut.vhd文件。注意文件名后為_cfg.vhd的配置文件可以不添加到工程中,前面生成的RAM、ROM源代碼文件也不必添加到工程里面。
    (5)綜合編譯成功后,需要檢查頂層設(shè)計是否正確,這時可通過RTL圖來檢查。在RTL圖中可看到MC8051 IP核的頂層結(jié)構(gòu)圖。在RTL圖中主要檢查ROM、RAM模塊的連線是否正確,是否符合實際應(yīng)用設(shè)計。

4 MC8051 IP核應(yīng)用構(gòu)建
    采用Ahera公司的FPGA實現(xiàn),可以利用Ahera公司的集成開發(fā)環(huán)境0uartus II構(gòu)建實際應(yīng)用系統(tǒng)。
4.1 MC8051硬件系統(tǒng)構(gòu)建
    在QuartusⅡ中新建應(yīng)用工程,創(chuàng)建頂層圖形設(shè)計文件并保存。
    (1)將MC8051 IP核進(jìn)行RTL封裝時用Quartus II創(chuàng)建的RAM、ROM模塊文件添加到工程中;
    (2)在工程中調(diào)用FPGA自帶的PLL數(shù)字鎖相環(huán)模塊,將目標(biāo)系統(tǒng)板上的時鐘調(diào)整到MC805l IP核的應(yīng)用時鐘頻率。MC805l IP核經(jīng)Quartus II綜合編譯后,查看時序分析報告,其最高運(yùn)行頻率為18.96 MHz(每次編譯都可能不同,I/0分配不同結(jié)果可能不同),因此系統(tǒng)時鐘不能超過時序報告的時鐘最高頻率(即fmax)??梢赃x擇18 MHz,利用PLL對目標(biāo)系統(tǒng)板上的時鐘進(jìn)行分頻;
    (3)將Synplifyr Pro綜合生成的RTL封裝文件.vqm拷貝到Quartus II工程文件目錄下,并添加到工程中。然后再將添加.vqm文件生成MC8051_top.bsf圖形文件;
    (4)打開創(chuàng)建的應(yīng)用設(shè)計頂層圖形設(shè)計文件,將前面生成的PLL模塊、MC8051_top模塊添加到頂層設(shè)計文件中。添加輸入/輸出引腳,并對引腳命名,連接引腳與各模塊.設(shè)置相關(guān)編譯參數(shù)。生成FPGA的配置文件*.sof。其實際應(yīng)用系統(tǒng)頂層原理圖如圖7所示。

    可將并行I/O端口設(shè)計成雙向I/O端口,以節(jié)約FPGA的引腳資源,其方法參見圖5。根據(jù)實際應(yīng)用的需要,利用FPGA剩余的資源,添加其他邏輯模塊,與MC8051 core模塊、PLL模塊一起構(gòu)成應(yīng)用系統(tǒng)。這里只討論MC8051 IP核的FPGA實現(xiàn)。
4.2 MC8051應(yīng)用程序創(chuàng)建
    在MC8051應(yīng)用系統(tǒng)建立后,根據(jù)具體應(yīng)用編寫應(yīng)用程序??梢允荂語言程序,也可以是匯編語言程序。MC8051的應(yīng)用程序與標(biāo)準(zhǔn)的8051應(yīng)用程序完全兼容,可以采用熟悉的開發(fā)工具進(jìn)行應(yīng)用程序的編寫。在編寫完成、仿真調(diào)試通過后,利用編譯工具編譯生成.hex文件,供固化ROM使用。
4.3 MC8051實際應(yīng)用系統(tǒng)實現(xiàn)
   
將生成的.hex應(yīng)用程序文件拷貝到Quartus II工程文件目錄下,替代原創(chuàng)建ROM存儲器模塊時使用的初始化.hex文件。然后重新編譯Quarius II工程生成FPGA的配置文件.sof,將應(yīng)用程序代碼嵌入(同化)到ROM中。最后利用Quartus II的Programmer將FPGA的配置文件.sof下載到FPGA或EPCS中,實現(xiàn)MC8051的實際應(yīng)用系統(tǒng)。

5 結(jié)語
   
本文在分析了MC805lIP Core的結(jié)構(gòu)原理,設(shè)計層次,內(nèi)核各組成模塊及參數(shù)設(shè)置的基礎(chǔ)上,詳細(xì)論述了MC8051 IP核的FPGA實現(xiàn)與應(yīng)用的實際設(shè)計步驟。試驗驗證,根據(jù)需求修改后的MC8051 IP核,能很好滿足對8051MCU的應(yīng)用需求,而且其性能比標(biāo)準(zhǔn)8051 MCU高,系統(tǒng)集成度也比采用標(biāo)準(zhǔn)8051 MCU構(gòu)成的應(yīng)用系統(tǒng)高。因此,MC8051 IP核在基于可編程邏輯和MCU的應(yīng)用領(lǐng)域中具有廣泛的應(yīng)用前景。

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

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

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

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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