{"slug": "atmega-compatible-8-bit-core-in-systemverilog-on-skywater-130nm", "title": "ATmega-compatible 8-bit core in SystemVerilog on Skywater 130nm", "summary": "A developer released Akmega, a 100% ATmega-compatible 8-bit microcontroller core written in pure SystemVerilog, and carried it through the OpenLane flow to a synthesized GDSII layout on the Skywater 130nm (Sky130) process. Akmega supports the ATmega328P instruction set, including 16-bit word arithmetic and hardware multiplication, and uses AXI4-Lite buses for instruction fetch and data memory instead of standard AVR interfaces. The project, developed in an interactive session with an LLM and inspired by Mike Matera's argument that the ATmega ISA is poorly documented, includes a Python-based functional golden model for bit-perfect RTL verification and a C-to-GDS flow tested with a Fibonacci firmware program.", "body_md": "**Akmega** is a 100% ATmega-compatible 8-bit microcontroller core implemented in pure SystemVerilog, featuring modern AXI4-Lite instruction and data buses.\n\nThis project is an exploration of the boundaries of AI-assisted hardware engineering, developed entirely through an interactive session with an LLM.\n\nThe idea for this project was suggested by my good friend, **Mike Matera**, following a short text exchange. Mike's thesis was that while the ATmega architecture is incredibly popular, it is surprisingly poorly documented from an ISA (Instruction Set Architecture) perspective compared to modern standards. He noted that the toolchain visibility is often lacking, making it significantly tougher to bootstrap a custom core from scratch.\n\nMy primary goal was to determine if I could achieve a complete physical layout (GDSII) of a functional core. I had previously attempted a similar experiment with a larger RISC-V design, but that project ultimately failed at the **placement** stage—the physical complexity was simply too high for the initial automated flow.\n\nAkmega represents several personal and technical \"firsts\":\n\n- **Simulation Success** : This is the first chip I've designed that is trivially easy to simulate and verify against real-world C code.\n- **SystemVerilog Design** : One of my first complete designs implemented in SystemVerilog.\n- **Silicon Ready** : This is the first design where I have successfully navigated the entire OpenLane flow to produce a synthesized GDSII file using the**Skywater 130nm (Sky130)** process.\n\n- **AVR Compatible** : Supports the core ATmega328P instruction set, including 16-bit word arithmetic and hardware multiplication.\n- **AXI4-Lite Integration** : Unlike standard AVR cores, Akmega uses standard AXI4-Lite buses for both instruction fetch and data memory, making it SoC-ready.\n- **Verification-First** : Includes a Python-based**Functional Golden Model** used for bit-perfect behavioral verification of the RTL.\n- **C-to-GDS Flow** : Fully integrated pipeline from C firmware (Fibonacci test) to GDSII layout.\n\n```\nbrew install uv avr-gcc simavr icarus-verilog\nmake setup\n```\n\nThis creates/updates `./venv` and installs the cocotb-based test stack from `requirements.txt`.\n\nTo compile the firmware, run the RTL simulation, and verify behavior against the golden model:\n\n```\nmake verify\n```\n\nTo run a directed ISA program, cross-check RTL vs simavr, and enforce opcode-class coverage:\n\n```\nmake verify_isa\n```\n\nThis target validates trace equivalence and checks coverage for all implemented decode classes.\n\nTo run the full ASIC flow and generate the GDSII layout:\n\n```\nmake gds\n```\n\nTo remove generated simulation/build artifacts:\n\n```\nmake clean\n```\n\n- **Mike Matera** : For the inspiration and the \"ATmega Thesis.\"\n- **OpenLane/Sky130** : For providing the open-source tools and PDK that made the physical layout possible.", "url": "https://wpnews.pro/news/atmega-compatible-8-bit-core-in-systemverilog-on-skywater-130nm", "canonical_source": "https://github.com/wkoszek/akmega", "published_at": "2026-11-01 20:52:47+00:00", "updated_at": "2026-11-01 21:21:13.906366+00:00", "lang": "en", "topics": ["ai-tools", "developer-tools", "ai-research"], "entities": ["Akmega", "ATmega", "ATmega328P", "SystemVerilog", "Skywater 130nm", "OpenLane", "Mike Matera", "AXI4-Lite"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/atmega-compatible-8-bit-core-in-systemverilog-on-skywater-130nm", "markdown": "https://wpnews.pro/news/atmega-compatible-8-bit-core-in-systemverilog-on-skywater-130nm.md", "text": "https://wpnews.pro/news/atmega-compatible-8-bit-core-in-systemverilog-on-skywater-130nm.txt", "jsonld": "https://wpnews.pro/news/atmega-compatible-8-bit-core-in-systemverilog-on-skywater-130nm.jsonld"}}