<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > EDA/PCB > 設計應用 > 基于EDA技術(shù)的單片機IP核設計

基于EDA技術(shù)的單片機IP核設計

作者: 時(shí)間:2009-03-17 來(lái)源:網(wǎng)絡(luò ) 收藏

5.讀內部RAM和SFR,包括讀“字節”和讀“位”。此進(jìn)程為一純組合邏輯電路。RAM和SFR任何單元的內容的改變均可以啟動(dòng)該進(jìn)程,同時(shí)地址信號也是進(jìn)程的敏感信號之一。每一次讀的過(guò)程會(huì )讀到兩個(gè)值,一個(gè)是“字節”數據,一個(gè)是“位”數據,至于狀態(tài)機在指令的執行過(guò)程中會(huì )使用“字節”數據還是“位”數據,由狀態(tài)機根據當前指令自己決定。

6.根據狀態(tài)機發(fā)出的各種多路選擇器的值,輸出相應的地址和數據的值。多路選擇器的作用是根據狀態(tài)機的指示,即時(shí)的輸出內部RAM的地址、內部RAM數據(包括“位”數據和“字節”數據)、外部RAM的地址等。

7.計算下一個(gè)指令指針的值。它根據狀態(tài)機的指示,實(shí)現對程序計數器值的改寫(xiě)。

control_fsm模塊的作用則很單一,就是實(shí)現指令系統。不過(guò)需要說(shuō)明的是,這個(gè)狀態(tài)機在接收到來(lái)自control_mem模塊的有關(guān)中斷源有變化的信號時(shí),它會(huì )優(yōu)先發(fā)出控制指令,指示control_mem模塊改變指令指針的值,進(jìn)入中斷。沒(méi)有中斷發(fā)生的時(shí)候,它就會(huì )根據程序存儲器的指令來(lái)運作。關(guān)于指令狀態(tài)機的設計細節讀者可以參閱參考文獻【4】。

3.5.外圍存儲器模塊的實(shí)現

由于對存儲器容量在不同的場(chǎng)合有不同的要求,且實(shí)現的方式多種多樣,故本設計才把整個(gè)設計分為MCS-51內核和存儲器兩個(gè)大的部分。這樣做一方面可以方便裁減,使可以在更多的可編程器件上綜合;另外實(shí)現起來(lái)也相對容易。

MAX+ plusⅡ中為了增加原件庫的靈活性,為一些常用的功能模塊提供了參數化的元件,這些元件的規模以及具體功能可以由用戶(hù)直接指定,如同可編程元件。這一類(lèi)元件就是MAX+ plusⅡ中的LPM,即――可調參數元件。利用LPM所提供的RAM、ROM例化設計文件,設計實(shí)現了128字節內部RAM和4k ROM模塊,其中ROM模塊是一個(gè)空結構實(shí)體,在有內部程序時(shí)換成相應的結構。內部程序必須以ASCII碼形式或十六進(jìn)制形式的文件寫(xiě)入,表明每個(gè)地址的初始值,用于設計的仿真和綜合。

4.功能仿真

下面通過(guò)幾條簡(jiǎn)單的指令,來(lái)對所設計的進(jìn)行軟件仿真。幾條仿真的指令助記符和指令的操作碼、操作數、字節數、周期數如下表1所示。仿真的結果如圖5所示。圖中rom_data_i表示的程序存儲器中的數據;rom_adr_o是程序計數器PC的值;state_i為芯片內部信號,指示的是指令執行的狀態(tài),“7”表示在取指令狀態(tài),其他值為執行狀態(tài)。acc_o是內部寄存器ACC的值。從圖中可以清楚的看到各信號的變化。

表1 仿真指令表

指令助記符

操作碼

操作數

指令字節

指令周期

AJMP FFH

01H

FFH

2

2

CPL

F4H

/

1

1

MOV A,#23H

74H

23H

2

2

MOV R0,A

F8H

/

1

1

MOV23H,#05H

75H

23H,5H

3

3

ADDC A, @R0

36H

/

1

2


圖4 8051-Core軟件仿真圖

5 結束語(yǔ)

嵌入式微處理器具有廣泛的應用前景,特別是隨著(zhù)信息技術(shù)的發(fā)展,信息安全性和可靠性正逐步受到人們的重視。在FPGA的可用門(mén)和性能對高檔功能的支持中,的價(jià)值正在充分展現。IP核已成為有效地進(jìn)行大規模設計和縮短設計時(shí)間的基礎。因此,積極開(kāi)發(fā)具有自主知識產(chǎn)權的IP模塊,在SoC領(lǐng)域占有一席之地,即符合我國國情,有具有重要意義。本課題設計出的MSC-51系列IP核不僅通過(guò)了軟件仿真,而且其功能已經(jīng)通過(guò)了硬件測試,所以其不僅是一個(gè)成熟的軟IP核,也是一個(gè)成熟的硬IP核。

本項目經(jīng)濟效益:本IP核主要應用于SoC中,向相關(guān)有償機構購買(mǎi)類(lèi)似IP核一次的使用價(jià)格在3美元左右,但是附帶開(kāi)發(fā)工具在300美元左右,本IP核完全利用免費版本的MAX+plusⅡ進(jìn)行設計以及后期使用,因此若本IP核應用3000次,那么項目的經(jīng)濟效益在8萬(wàn)元左右。

本文作者創(chuàng )新點(diǎn):本次要設計的兼容MCS-51IP核有以下特色:1.完全同步的設計,系統在統一的時(shí)鐘下工作。2.指令集與工業(yè)標準的MCS-51系列完全兼容。3.指令周期較原MCS-51系列大幅提高,所有指令都可在1到4個(gè)時(shí)鐘周期內完成,時(shí)鐘周期只與所選用的FPGA/CPLD芯片的延時(shí)有關(guān),而與設計無(wú)關(guān)。4.沒(méi)有復用的I/O口。5.IP核升級方便,對于不需要的部件可以任意裁減。


上一頁(yè) 1 2 3 下一頁(yè)

關(guān)鍵詞: EDA 單片機 IP核

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>