伦伦影院久久影视,天天操天天干天天射,ririsao久久精品一区 ,一本大道香蕉大久在红桃,999久久久免费精品国产色夜,色悠悠久久综合88,亚洲国产精品久久无套麻豆,亚洲香蕉毛片久久网站,一本一道久久综合狠狠老

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于Intel MAX 10 FPGA實現Z80與8051單板計算機

FPGA技術江湖 ? 來源:OpenFPGA ? 2026-03-20 09:26 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

以下文章來源于OpenFPGA,作者碎碎思

項目背景

在 1970s 至 1980s,像 Zilog Z80 和 Intel MCS-51(8051) 這樣的 8 位處理器廣泛用于家用電腦嵌入式設備和各種單片機系統。

919e0f54-232e-11f1-90a1-92fbcf53809c.png

它們設計簡單、指令清晰、學習曲線淺,是許多人的入門 CPU

91fd36b4-232e-11f1-90a1-92fbcf53809c.png

而現在,隨著 FPGA 的普及,我們可以在 FPGA 內核中重新實現這些經典 CPU,并構建真實可運行的單板計算機。

92596510-232e-11f1-90a1-92fbcf53809c.png

這個項目正是這樣的一個嘗試:

在一塊 Intel MAX 10 FPGA 開發板上實現 Z80 或 8051 單板計算機(SBC),讓它能運行原始匯編程序、驅動外圍設備、顯示輸出并與用戶交互。

項目使用的硬件平臺

主板采用的是 Intel MAX 10 FPGA:

92b93206-232e-11f1-90a1-92fbcf53809c.png

是一款基于 Intel 14nm 工藝的低功耗 FPGA

IDE 支持 Quartus Prime

支持配置 Flash、SD 卡、GPIO 等外設

9313347c-232e-11f1-90a1-92fbcf53809c.png

開發者選用這塊板子的原因是:

成本低

易于學習 FPGA

有足夠的資源用于模擬 8 位 CPU

支持豐富引腳擴展

93720bb4-232e-11f1-90a1-92fbcf53809c.png

SBC 核心架構

項目實現了兩套單板計算機系統:

Z80 單板電腦

典型架構包括:

Zilog Z80 CPU 軟核

內存(RAM / ROM

串口 UART

視頻輸出控制器

鍵盤輸入模塊

整個 CPU 子系統在 FPGA 內部運行,執行傳統匯編指令,像真實的 Z80 一樣工作。

93cdf0e6-232e-11f1-90a1-92fbcf53809c.png

MCS-51 (8051) 單板電腦

類似地,這部分實現包括:

8051 CPU 軟核

程序 ROM

I/O 模塊

串口 / UART

計時器和控制邏輯

8051 是最經典的單片機之一,也是微控制器課程教學中的主力架構之一。

942c998e-232e-11f1-90a1-92fbcf53809c.png

9489a340-232e-11f1-90a1-92fbcf53809c.png

Zilog Z80 SBC 基于 MAX10 FPGA

對于運行 Microsoft BASIC 4.7b 版本的最小 Z80 單板計算機,需要 8kB 的 ROM 空間和 4kB 的 RAM 空間。此外,還有大量的邏輯元件和存儲位可用,這有利于未來的擴展。

SBC 系統使用 Quartus II 18.1 版本編譯和測試。只需打開 Quartus II 并恢復歸檔文件即可。

項目文件夾還包含 SRAM 目標文件 (SOF) 和可編程目標文件 (POF),無需編譯即可使用。

將 Micro USB 數據線連接到 MAX10 開發板,并寫入 SOF 或 POF 文件。SOF 文件在斷電重啟后會丟失。POF 文件會存儲在 FLASH 閃存中,每次上電后都會被激活。

下面這段 BASIC 代碼只是在 Z80 SBC I/O 端口上從 0 計數到 255。

05 REM COUNT 0 To 255 on PORT 145 (Z80)
10 FOR I = 0 TO 255
20 PRINT I,
30 OUT 145, 255-I
35 FOR J = 0 TO 99 : NEXT J
40 NEXT I
45 FOR K = 0 TO 4095 : NEXT K
46 OUT 145,255
50 END

以下代碼使用 Microsoft BASIC 4.7b 版本,在 Z80 上實現 ASCIIART 功能,并采用循環方式運行。要退出循環,請按 Ctrl+C。

10 FOR Y=-12 TO 12
20 FOR X=-39 TO 39
30 CA=X*0.0458
40 CB=Y*0.08333
50 A=CA
60 B=CB
70 FOR I=0 TO 15
80 T=A*A-B*B+CA
90 B=2*A*B+CB
100 A=T
110 IF (A*A+B*B)>4 THEN GOTO 200
120 NEXT I
130 PRINT" ";
140 GOTO 210
200 IF I>9 THEN I=I+7
205 PRINT CHR$(48+I);
210 NEXT X
220 PRINT
230 NEXT Y
240 PRINT
250 GOTO 10

基于 MAX10 FPGA 的 Intel MCS-51 單板計算機

有兩個項目鏡像可供直接使用。英特爾最初將 BASIC-52 Ver 1.1 發布到公共領域。但該代碼包含大量漏洞和隱藏的惡意信息。

最后一個版本是 BASIC-52 Ver 1.31,由 Hans-Jürgen B?hling 于 2001 年 2 月發布。Hans-Jürgen B?hling 還發布了 I2C 支持的擴展代碼。

8kB ROM 和 32kB RAM,頻率 50 MHz:

此鏡像僅包含 8kB 代碼內存,不支持任何 I2C 擴展。系統包含 32kB RAM 用于用戶程序。系統時鐘頻率為 50MHz,由 MAX10 內部鎖相環 (PLL) 從 12MHz 頻率轉換而來。

16kB ROM 和 16kB RAM,頻率為 11.059200 MHz:

此鏡像包含 16kB 代碼內存,支持 I2C 擴展。系統包含 16kB RAM 用于用戶程序。系統時鐘頻率為 11.059200 MHz。即使在 11.059200 MHz 的頻率下,該系統的性能也比傳統的 12T 內核快 10 倍。I2C 功能在 11.059200 MHz 的系統時鐘頻率下運行良好。

以下程序使用 BASIC-52 語言,在 PORT1 端口上將一個 LED 從最低有效位 (LSB) 移到最高有效位 (MSB),并重復執行。PORT1 端口映射到 8 個 LED。

01 REM 8 LED SHIFT
02 REM SHIFT LEFT AND RIGHT
10 LED = 1
20 IF LED <= 80H THEN PORT1 = 0FFH.XOR.LED ELSE GOTO 1000
30 LED = LED * 2
40 FOR J = 0 TO 999 : NEXT J
50 GOTO 20
900 REM RIGHT SHIFT
1000 LED = 080H
1100 IF LED >= 1 THEN PORT1 = 0FFH.XOR.LED ELSE GOTO 10
1120 LED = LED/2
1130 FOR J = 0 TO 999 : NEXT J
1200 GOTO 1100

以下程序是使用 BASIC-52 編寫的 ASCIIART 程序。

01 REM ASCII ART SOFT CPU
02 REM ASCII ART FOR MAX10
03   XTAL=50000000
05   TIME=0 : CLOCK 1
10   FOR Y=-12 TO 12
20   FOR X=-39 TO 39
30  CA=X*0.0458
40  CB=Y*0.08333
50  A=CA
60  B=CB
70  I=0
80  T=A*A-B*B+CA
90  B=2*A*B+CB
100  A=T
110  IF (A*A+B*B)>4 THEN GOTO 150
120  I=I+1 : IF I<=15 THEN ?GOTO 80
130 ? ?PRINT?" ",
140 ? ?GOTO 170
150 ? ?IF I>9 THEN I=I+7
160  PRINT CHR(48+I),
170  NEXT X
180  PRINT
190  NEXT Y
200  PRINT TIME
210  GOTO 10
220  END

我們可以注意到上面列出的 Z80 BASIC 和 BASIC-52 之間只有非常細微的差別。如果單板計算機運行在 11.059200 MHz 頻率,則需要注釋掉第 3 行。上述程序適用于 50 MHz 系統。

否則,我們可以在命令提示符中聲明系統頻率。

XTAL = 50000000

上述ASCIIART代碼計算程序運行所需的時間(以秒為單位)。因此,為了精確計算時間,我們需要設置系統時鐘頻率。

我們還可以根據需要實現其他功能以及 ROM、RAM 組合。

可用鏈接

https://github.com/mit41301/10M08SAM153C8G_Zilog-Z80_Intel-8051

https://www.hackster.io/mit41301/z80-and-mcs-51-sbc-on-a-max-10-fpga-742a9c

結語

這個項目展示了一個非常有趣且實用的方向:

用 FPGA 重建經典單板計算機,讓你從軟核 CPU 到外設設計全面理解嵌入式系統

對于:

FPGA 初學者

想理解 CPU / 單片機架構

喜歡復古計算與硬件實現

想做軟硬件協同系統實驗

這個項目都有很強的啟發意義。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 處理器
    +關注

    關注

    68

    文章

    20282

    瀏覽量

    253061
  • FPGA
    +關注

    關注

    1661

    文章

    22440

    瀏覽量

    637275
  • 單片機
    +關注

    關注

    6077

    文章

    45515

    瀏覽量

    671553
  • 單板電腦
    +關注

    關注

    0

    文章

    11

    瀏覽量

    7850

原文標題:在 FPGA 上重生的經典:實現 Z80 與 8051 單板電腦

文章出處:【微信號:HXSLH1010101010,微信公眾號:FPGA技術江湖】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    GE最新雙核Intel Core處理器的單板計算機

    繼最近發布三款基于四核第三代Intel Core處理器的加固單板計算機之后,GE智能平臺發布了最新的基于雙核Intel Core處理器的單板計算機。SBC625, XVR15 和 XC
    發表于 06-19 09:32 ?2529次閱讀
    GE最新雙核<b class='flag-5'>Intel</b> Core處理器的<b class='flag-5'>單板計算機</b>

    【作品合集】賽昉科技VisionFive 2單板計算機開發板測評

    賽昉科技VisionFive 2單板計算機開發板測評作品合集 產品介紹: 昉·星光 2是全球首款集成了3D GPU的高性能量產RISC-V單板計算機,搭載昉·驚鴻-7110(型號:JH-7110
    發表于 09-04 09:08

    基于PowerPC的單板計算機該怎樣去設計?

    基于PowerPC的單板計算機該怎樣去設計?實時操作系統VxWorks的BSP開發過程是怎樣進行的?
    發表于 04-27 06:37

    如何使用工業相機和單板計算機組建視覺采集系統,通過利用labview實現該系統的遠程控制和圖像采集?

    前面板來實現。請問各位老哥這種方法可行嗎?或者有什么更好的思路可以交流一下。另外聽說可以通過單板計算機運行wince系統實現labview的嵌入式開發,這樣是否可行?
    發表于 05-08 17:21

    構建基于WDC65C02S和Z80 CPU的微型計算機

    描述Gerber_PCB_CPLD_EPM3064_Programmer_PCB我正在尋找一些舊零件來構建基于 WDC65C02S 和 Z80 CPU 的微型計算機。這些板將幫助我對一些
    發表于 08-31 06:20

    什么是單板計算機

    單板計算機基于單一電路板而構建的完整計算機,包括微處理器、內存、以太網、I/O、視頻和音頻輸出。設計的核心架構是微處理器。第一臺真正的單板計算機可能是基于 Intel 8080 CPU
    發表于 03-09 14:51 ?1.8w次閱讀

    2014國外創客最具創意10大DIY單板計算機項目

    在2014即將結束之際,廠商積極抓住機會發布新的單板計算機(SBC)設計。此外,今年創客DIY設計的單板計算機同樣很吸引眼球。本文是國外10大有創意的項目。
    的頭像 發表于 12-29 16:57 ?4w次閱讀
    2014國外創客最具創意<b class='flag-5'>10</b>大DIY<b class='flag-5'>單板計算機</b>項目

    基于Intel處理器技術的高性能單板計算機產品

    英國并行科技公司(CCT)作為生產高性能嵌入式系統的世界級企業,相對于其它公司產品全面的各層次覆蓋,并行公司專注于設計和開發基于Intel處理器技術的高性能單板計算機產品。
    的頭像 發表于 04-13 07:56 ?3082次閱讀

    STD Bus 8085單板計算機開源分享

    電子發燒友網站提供《STD Bus 8085單板計算機開源分享.zip》資料免費下載
    發表于 08-11 09:34 ?3次下載
    STD Bus 8085<b class='flag-5'>單板計算機</b>開源分享

    Z80 MBC3單板計算機開源

    電子發燒友網站提供《Z80 MBC3單板計算機開源.zip》資料免費下載
    發表于 11-17 10:23 ?5次下載
    <b class='flag-5'>Z80</b> MBC3<b class='flag-5'>單板計算機</b>開源

    單板計算機為什么對于嵌入式計算設計很重要?

    幾乎所有計算解決方案都嵌入了單板計算機。從智能設備到交互式數字標牌,有大量的應用程序在幕后部署了單板計算機。為什么將單板計算機嵌入到所有這些應用程序中?主要原因是它是所有應用程序的“大
    的頭像 發表于 09-27 16:15 ?1772次閱讀
    <b class='flag-5'>單板計算機</b>為什么對于嵌入式<b class='flag-5'>計算</b>設計很重要?

    如何選擇適合教育用途的單板計算機?

    在當今數字化時代,計算機科學和編程已經成為教育中不可或缺的一部分。為了幫助學生培養解決問題的能力、創造力和創新思維,單板計算機(SBCs)成為了一種強大的工具。單板計算機(SBCs)是一種集成
    的頭像 發表于 09-01 10:26 ?1552次閱讀

    單板計算機是什么?它與其他計算機有何不同?

    單板計算機是什么?它與其他計算機有何不同? 單板計算機(Single Board Computer,SBC)是一種集成了所有計算機部件的完整計算機
    的頭像 發表于 12-15 09:58 ?3174次閱讀

    使用邏輯和轉換優化單板計算機(SBC)系統

    電子發燒友網站提供《使用邏輯和轉換優化單板計算機(SBC)系統.pdf》資料免費下載
    發表于 09-21 11:28 ?0次下載
    使用邏輯和轉換優化<b class='flag-5'>單板計算機</b>(SBC)系統

    貿澤電子開售全新Arduino UNO Q單板計算機

    貿澤電子開售全新Arduino UNO Q單板計算機。Arduino UNO Q單板計算機(SBC)將高性能計算與實時控制結合,提供理想的創新平臺。
    的頭像 發表于 11-08 09:50 ?1402次閱讀