找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5855|回復: 0
收起左側

FPGA模擬MC8051—擴展ROM和RAM

[復制鏈接]
ID:244167 發(fā)表于 2017-11-17 15:03 | 顯示全部樓層 |閱讀模式
最近在搞一個測試板,用FPGA模擬MCU,當然,選用的是MC8051的內核,誰讓人家是免費的呢。當然也有人說可以用NIOS II系統(tǒng),仁者見仁,智者見智吧。

首先,我使用的是黑金系列的Demo板 (Cyclone IV系列的),接口足夠豐富,實際上,我只需要一個核心板就可以了。

介紹一下這個FPGA,可以讓大家直觀的了解一下,該芯片型號:EP4CE15F256,64K 的RAM,因此,在MC8051分配內存的時候,選擇32K ROM,16K的XRAM,以及128byte的RAM。應該足夠放我的程序了,網上很多教程是2K的ROM,對于我而言,大小了。核心板上有50M和40M兩個時鐘,然后我分頻至18M,也是足夠了,已經比其他通用的51單片機快了。其他資源呢?目前還好,沒啥特別的要求,只是跑個51系列的核而已,對FPGA來說小菜一碟。


大家都知道MC8051基本上沒有額外的一些模塊,比如ADC,DAC,IIC,定時器也是只有兩個,這些模塊呢,ADC和DAC沒有辦法,只能用外部器件,比較幸運的是,我目前用不到ADC和DAC,IIC可以用GPIO來模擬,定時器太少的話可以復用,當然這些涉及一些中斷嵌套等技術問題。之后我們可以詳細介紹。

上干貨。關于如何配置FPGA,有一個網上的教程,我是按著這個來的,不過,我的一些需求和他的那個不一樣,因此,在這里需要特別說明一下。
www點cnblogs點com/xiaomeige/p/6403094.html

干貨一:如何擴展ROM和RAM,擴展至32K ROM,以及16K的XRAM。
首先用上面鏈接的MC8051源代碼進行模塊的擴展。大家可以嘗試這先建立2K的ROM,這樣熟悉一下流程,然后再來改ROM和RAM的大小也是可以的。
詳細步驟見附件。。。

Quartus II軟件版本為16.1。


首先,在下面鏈接中有詳細的關于用 FPGA 模擬 MC8-51,先熟悉一下整個流程。


在已經有了一個小系統(tǒng)的基礎上。


1. 點擊左上角的 Project Navigator,選擇 IP Components,然后你就可以看到我們自己新 加的 IP Core,一個 ROM,兩個 RAM(內部 RAM 和外部 RAM),還有最后的鎖相環(huán)(PLL)




2. 雙擊 ROM 的 IP 核, 然后將 ROM 的值改為 32K,其他選項維持不變。同理,將 RAM
的 IP 核的 RAM 值改為 16K,其他值保持不變,改完之后,系統(tǒng)可能要求你進行 IP core 的更 新,點擊更新即可,可能需要幾分鐘,改過之后的樣子還要維持圖 1 所示。具體改動地方見 下圖。





3. 點擊左上角的 Project Navigator,選擇 Files,你可以看到所有增加的源文件。
點擊 ROM 的源文件 mc8051_rom.vhd,然后就可以看到 ROM 的相關信息。見下面兩圖? 以發(fā)現(xiàn),address 的大小是隨著 ROM 的大小而變化,這個可以理解。如果是 1024byte,那就 是 2 的 10 次方,32KB 就是 2 的 15 次方,如果地址是從 0 到 14.這一步應該大家都明白吧。

看到這個有啥用呢,因為我們要改 TOP 層的設置信息。








4. 然后打開 mc8051_top_struc.vhd 文件,你可以看到下圖的部分,其中 s_rom_adr_sml
是用來聲明 ROM 的地址位數(shù)的,將其改為 14,和上面保持一致。注意,在這個文件中,有 兩個地方需要修改。


5. 最后打開 mc8051_p.vhd 文件,找到下面圖示的部分,那是各個模塊的定義,同樣將地址 信息改過來。


6. 關于 RAM 的修改,這個就不用我講了吧,和 ROM 的一樣,只是名字從 ROM 改成了 RAM。 注意這里的 RAM 是指外部 RAM,不要改片內的 RAM,有可能失敗,我沒試過,也沒必要試。


7.最后的最后,編譯就好了。然后一個 32K 的 ROM,16K 的片外 RAM 就搞定了,你可以隨 意揮霍 8051 的存儲資源了。


全部資料51hei下載地址:
FPGA模擬MC8051—擴展ROM和RAM.docx.pdf (291.37 KB, 下載次數(shù): 21)


評分

參與人數(shù) 1黑幣 +100 收起 理由
admin + 100 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表