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.

Watch on YouTube

4 comments from Hacker News

@magicalhippo2020 · in “Show HN: 1.5kb Microkernel for Ben Eater's 6502 Computer”

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]

RecommendsView on HN
@krasin2020 · in “Glasgow: Scots Army Knife for Electronics”

nMigen is pretty cool and capable. I can only recommend these Youtube series, where nMigen is used to build a full 6800 CPU: [VIDEO]

RecommendsView on HN
@MrRadar2021 · in “Lion: A formally verified, 5-stage pipeline RISC-V core”

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]

RecommendsView on HN
@krasin2021 · in “Awesome Lattice FPGA Boards”

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]

RecommendsView on HN