Рет қаралды 3,922
We get from design to FPGA/ASIC in this complete walk-through of implementation using the Amaranth language in Python. Part 2 of project Neptune, where a digital logic hardware frequency discriminator is used as a guitar tuner.
The previous video actually describes the project and this one shows how I complete a small but non-trivial project in a single day thanks to the power of Python and Amaranth. The built-in simulation is used to validate modules and inspect traces with gtkwave and the whole thing spits out Verilog that is tested on a Lattice FPGA. Finally, I try and squeeze it into the space afforded by a tinytapeout slot, so it can be produced as a real integrated circuit at low cost.
Of interest
Source Code! github.com/psy...
Neptune Part 1: • Python design of a har...
I got introduced to Amaranth (nee nMigen) with Robert Baruch's excellent series on creating a 6800 CPU with it--it's was worth the time
• Building a 6800 CPU on...
Two versions were handred put on TinyTapeout03:
github.com/psy...
github.com/psy...
Amaranth docs: amaranth-lang....
TinyTapeout (for ASIC production): tinytapeout.com/