Using, learning, programming and modding the Gigatron and anything related.
3 posts • Page 1 of 1
Thanks for posting your design. It was very helpful in putting together my own Gigatron FPGA. I've been working on this for the past 6 or 7 weekends. It's still a work in progress, but I'm declaring partial victory now that it boots!!!menloparkinnovation wrote: ↑11 Sep 2018, 03:13Hi, I have created an implementation of the Gigatron on an FPGA.
The project site is at https://github.com/menloparkinnovation/menlo_gigatron
Thanks, and happy hacking.
1. Re-learn Verilog. My last FPGA design was in 2006. I really need to work on testbench creation, but wouldn't you know it, the Gigatron is so simple that my simulation candidate booted before I could get a stimulus file put together!
2. Upcycle as much as possible. FPGA development board is actually a satellite modem from the RF bone pile that was being tossed. The FPGA is a Xilinx Kintex-7 with ~160k Logic Cells, so plenty of Distributed/Block RAM and room to grow. It also is supported by the free Vivado WEBPACK, so I didn't have to spend any money on development tools. Fortunately the math for 3.3V R2R DAC worked out and were resistor values I already had in my toolbox. Cables and LEDs were all salvaged together with the board.
3. "Upgrade" to 64k SRAM.
4. Direct drive a TFT display? Have to research whether this is possible.
5. Along the way, ROMv3 showed up and I just had to add that too.
2. VGA display
What needs work:-
1. Right now, I'm trying to assemble a controller with a 74LS165 PISO shift register chip and some pushbuttons I salvaged before I can test input.
2. I don't have an R2R SIP in my toolbox, and I don't quite have enough room on my salvaged perfboard to build one from scratch. I do have a boatload of resistors and caps, as well as a PAM8403 Class D amp and salvaged speaker that I was going to use. I just need to find a perfboard to build it up on. I might just cave and break open a new perfboard so I can work on the audio DAC over Thanksgiving.
3. Even with using distributed RAM instead of block RAM, I'm comfortably under 25% utilization. With all that room left over, I might also have to look into implementing keyboard interface/Pluggy McPlugface too. https://git.morgothdisk.com/VERILOG/VER ... core_opt.v
4. Figure out how to port Floppy Bird https://github.com/icebreaker/floppybird to the Gigatron. My last assembly program was in 1996.