Skip to content
An attempt to implement the Gigatron TTL Microcomputer on FPGA using Migen.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
doc
gigatron-rom @ 681bf48
icestorm @ fa1c932
migen @ edcadbc
nextpnr @ ed4fc88
yosys @ 7682629
.gitmodules
Makefile
README.md
ROMv3.rom
gigatron.py
rom_example.py
rom_map.py
ubuntu-packages.txt

README.md

Migen Gigatron

An attempt to implement the Gigatron TTL Microcomputer on an FPGA, specifically the TinyFPGA BX using Migen.

Why?

To learn Migen and a bit more about FPGA programming. I've previously messed around with FuPy but it's a pretty complicated place to dive in.

Also I'm just blown away by what the Gigatron creators have achieved from so few parts and how much this would have changed the history of personal computing if Woz had homebrewed something like this instead of the MOS 6502 in the Apple 1.

It's already been done ...

Yeah, but in Verilog.

Building

Tools

Other than a bunch of Ubuntu packages, and some of the Python libraries, everything is pulled in as submodules and built within the tree, or at least that's the idea.

    git submodule update --init --recursive

    cat ubuntu-packages.txt | xargs sudo apt install -y

    make -j$(nproc)

    pip install -e migen/
    pip install tinyprog

Gateware

    PATH=$PWD/build/bin:$PATH 
    python3 test.py

Programming

First make sure systemd modemmanager isn't messing with you

Then you can run tinyprog to copy the gateway onto the FPGA. Press the reset button and then:

    tinyprog -p build/test.bin

More Information

For more information, and the story behind this project, see Migen Gigatron project on my blog ...

You can’t perform that action at this time.