Building a 6800 CPU on an FPGA with nMigen (part 1)
Robert Baruch3 HN recommenders · recommended in 4 months, 2020–2021
tutorial · intermediate · 2020–2021 on HN
The first part of Robert Baruch's series on building a 6800 CPU on an FPGA with nMigen, a Python-based hardware description language. It introduces the HDL while implementing a simpler 6800 core.
HN recommends the series as a practical introduction to nMigen and formal verification for CPU design.
Up next
3 mo on HNWhy Starting A Rocket Engine Is So Hard!
Everyday Astronaut
3 HN recommender · 2023–2026
3 mo on HNA4 / V2 Rocket in detail: Turbopump
Astronomy and Nature TV
3 HN recommender · 2019–2022
3 mo on HNWhy guitarists USED TO play more in tune! (Microtonal Frets)
Brandon Acker
3 HN recommender · 2022–2026
2 mo on HNSuperluminal Time Travel + Time Warp Challenge Answer
PBS Space Time
2 HN recommender · 2018–2022
2 mo on HNStrange Spheres in Higher Dimensions - Numberphile
Numberphile
2 HN recommender · 2020–2025
2 mo on HNDelvon Lamarr Organ Trio - Warm-up Set (Live on KEXP)
KEXP
2 HN recommender · 2020–2025
13 mo on HNMIT's Pathway to Fusion Energy (IAP 2017) - Zach Hartwig
MIT Plasma Science and Fusion Center
16 HN recommender · 2017–2023
7 mo on HNmRNA Translation (Advanced)
DNA Learning Center
4 HN recommender · 2014–2025
12 mo on HN8-bit computer update
Ben Eater
14 HN recommender · 2017–2023
11 mo on HNLight Years Ahead | The 1969 Apollo Guidance Computer
TNMoC
11 HN recommender · 2021–2026
11 mo on HN“Hello, world” from scratch on a 6502 — Part 1
Ben Eater
11 HN recommender · 2019–2026
10 mo on HNFinding the Missing Memristor - R. Stanley Williams
The Qualcomm Institute
12 HN recommender · 2010–2024
4 comments from Hacker News
TinyFPGA BX ([1]) and nmigen/yosys as the fully open source toolchain for generating logic with Python and formally verifying it ([2], [3]). There is a good nMigen tutorial by Robert Baruch ([4]. [5]). Alternatively, if you really want to try Verilog first (not a bad idea), I enjoyed reading a book "Designing Video Game Hardware in Verilog" ([6]). 1. link 2. link 3. link 4. link 5. ▶ this video 6. link
Robert Baruch on Youtube is building a RISC-V CPU core of comparable complexity to the one in the OP using nMigen which is an HDL based on Python and it looks like a very nice tool to work with relative to other HDLs I've seen (though I've never had to actually use an HDL myself before so I may not be the best judge). Here's a playlist of the video series, with the earlier videos basically being an introduction to nMigen: link He's got another series that's focused more on the HDL itself building a (relatively much simpler) 6800 CPU core: ▶ this video
nMigen is pretty cool and capable. I can only recommend these Youtube series, where nMigen is used to build a full 6800 CPU: ▶ this video
Semi-related, I've been enjoying Robert Baruch's videos[1] on creating a FPGA implementation of the 6800, using nMigen and formal verification. First videos are almost like live coding, then he skips to a more compact format. As a regular programmer, it's quite interesting to get into how the bits actually end up getting the work done. [1]: ▶ this video