The current progress on the FPGA dev board project.
Managed to write some #nMigen code to display characters on these cute HPDL1414 sixteen-segment LED displays.
The current progress on the FPGA dev board project.
Managed to write some #nMigen code to display characters on these cute HPDL1414 sixteen-segment LED displays.
Electronics Let's Play - nMigen the refreshed Python toolbox for building digital hardware
https://diode.zone/videos/watch/009e324c-bc11-4f77-b886-4db451a9fe74

If only #nMigen had some way of letting me enter state decode logic in tabular form, I'd probably be done with the address generator logic by now.
@thamesynne You asked about SMG; this would be an ideal use-case. One day, I'll port it to Python and re-implement it for use with nmigen.
But, when I assert A0 to read from the data port -- I STILL GET THE STATUS PORT. 😡
So either A0 is mapped to an I/O pin off in another continent, or ... I just don't know what else could be wrong.
I strongly doubt that #nmigen is the problem, as it **HAS** been used for real products that are shipping today. I strongly doubt it has bugs on this level.
Programmed the TinyFPGA BX part for the first time (with the stock #nMigen "blinky" demo). So, I know the hardware and programmer toolchain works. #fpga #vdc2 #vdcII
I also completed soldering the header pins for the level shifters and the TinyFPGA BX board. Except for physically soldering the data bus and address line A0, I think all that needs to be done now is wire everything up in the solderless breadboard.
My very, very first attempt at using #nMigen to produce a bitstream, and it worked (to produce a bitstream) first try!!
https://github.com/sam-falvo/VDC-II/blob/master/src/top.py
I can't wait to test it when programmed onto the FPGA. Unfortunately, I need to build the rest of the external circuitry first (basically, the level shifters, soldering the extra wires onto the RC2014 bus, etc.).
Not being able to do the simplest possible thing on a project just burns me up.
Here I have created elaborate circuitry for the Z80 bus interface, the HSYNC counters, and even the register set.
But when it comes to figuring out how #nMigen binds signals to actual pins on a device .... TOTAL loss.
*sigh*