Building a 6800 CPU on an FPGA with nMigen (part 1)
Robert Baruch3 HN recommenders · 2020–2021
27K views · tutorial · dated · Uploaded 2019-12-13
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.
1:01:20Indistinguishable From Magic: Manufacturing Modern Computer Chips
Andor Gafotas
6:538-bit computer update
Ben Eater
22:21Reverse emulating the NES to give it SUPER POWERS!
suckerpinch
1:21:22Light Years Ahead | The 1969 Apollo Guidance Computer
TNMoC
27:25“Hello, world” from scratch on a 6502 — Part 1
Ben Eater
47:52Finding the Missing Memristor - R. Stanley Williams
The Qualcomm Institute
1:01:07The Ultimate Game Boy Talk (33c3)
media.ccc.de
1:48:55The Thirty Million Line Problem
Molly Rocket
4 comments from Hacker News
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]: [VIDEO]
nMigen is pretty cool and capable. I can only recommend these Youtube series, where nMigen is used to build a full 6800 CPU: [VIDEO]
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: [VIDEO]
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. [VIDEO] 6. [LINK]