What problem does it solve? Writing RTL that actually synthesises is hard: inferred latches, multi-driven nets, blocking assignments in sequential logic, and missing resets silently produce broken hardware. This Skill encodes the exact Verilog-2005 subset, testbench shape, pin constraints, and report-reading knowledge needed to take a design from RTL to a working iCE40 bitstream with Yosys, nextpnr, and Icarus Verilog. ## Core Features & Use Cases - Full open-source flow: One command runs simulation (iverilog/vvp), synthesis (yosys synth_ice40), place-and-route (nextpnr-ice40), schematic generation (netlistsvg), and bitstream packing (icepack), with per-step logs and a JSON report. - Synthesisable subset rules: Enforces default_nettype none, non-blocking assignments in sequential logic, single-driver nets, fully assigned combinational blocks, and sized literals. - Ready-made blocks: Provides tested UART transmitter, PWM, debounce, clock divider, and block RAM inference patterns, plus the iCEBreaker (iCE40UP5K-SG48) pinout. - Use Case: Ask the agent to build a UART echo design for the iCEBreaker; it writes the RTL and testbench, runs the flow, reads the utilisation and Fmax report, fixes timing or latch warnings, and produces a flashable bitstream. ## Quick Start Use the yosys skill to write a blinking LED top module with a testbench, run the full flow, and show me the utilisation and Fmax report.