Winzig is a programmable logic module designed to be plugged into a solderless breadboard.
This repo contains schematics, pinouts and example gateware.
Find more information on the Winzig product page.
There are currently two ways to program Winzig:
- Remove the MMOD flash module, connect the Winzig MMOD socket to a device supported by ldprog and program the configuration SRAM. This is useful for development.
- Remove the MMOD flash module and program it with a GPIO or SPI-capable device. This is useful when you want the gateware to persist without power.
Building the blinky example requires Yosys, nextpnr-ice40 and IceStorm.
Assuming they are installed, you can simply type make
to build the gateware, which will be written to output/blinky.bin. You can then use ldprog to write the gateware to the device.
Connect the MMOD socket to the appropriate pins of an ldprog-supported device.
You will need to use the manual reset option (-m) with ldprog and press the Winzig reset button when prompted to do so. Alternatively, you can solder a wire to the CRESET pad on the back of Winzig to automate this step.
$ ldprog -m -s output/blinky.bin
It should be possible to connect and program the MMOD using any device capable of GPIO. If using a Müsli or Raspberry Pi [Pico] you can use the ldprog tool:
$ ldprog -f output/blinky.bin
Pin | Signal |
---|---|
1 | GPIO0 |
2 | GPIO1 |
3 | GPIO2 |
4 | GPIO3 |
5 | GPIO4 |
6 | GPIO5 |
7 | GND |
8 | PWR3V3 (out) |
The MMOD socket can be used to program the FPGA SRAM or can be populated with an MMOD containing a bitstream.
Pin | Signal |
---|---|
6 | PWR3V3 |
5 | GND |
4 | CSPI_SCK |
3 | CSPI_SI (MISO) |
2 | CSPI_SO (MOSI) |
1 | CSPI_SS |