v1.2.0 — SystemVerilog Output Support

AXI Register Space Generator
AXI4-Lite Register Generation. One Command.

Automate AXI register generation for FPGA and ASIC. Create AXI4-Lite register interfaces from VHDL annotations, YAML, XML, JSON, or TOML. Built-in CDC synchronizers, subregisters, and complete documentation.

pip install axion-hdl
terminal
$ axion-hdl -s pwm_controller.sv -o output/ --vhdl --sv --c-header

# Generated files:
 pwm_controller_axion_reg.vhd  AXI4-Lite slave (VHDL)
 pwm_controller_axion_reg.sv   AXI4-Lite slave (SV)
 pwm_controller_regs.h         C header

→ All files generated successfully!

Everything You Need for Register Automation

From simple LED controllers to complex SoC peripherals — Axion-HDL handles it all.

Multi-Format Input

Define registers in VHDL or SystemVerilog annotations, YAML, XML, JSON, or TOML. Use whatever fits your workflow.

CDC Synchronizers

Built-in 2/3/4-stage clock domain crossing. Safe register access across clock domains.

Subregisters

Pack multiple bit fields into a single address. Perfect for status/control registers.

Wide Signals

Automatically split 64-bit+ signals across multiple addresses. No manual splitting needed.

Read/Write Strobes

Generate pulse signals for register access. Ideal for FIFOs and interrupt handlers.

Full Documentation

Auto-generate Markdown docs, C headers, and IP-XACT XML for every register map.

SystemVerilog Support

Parse annotations from .sv source files and generate register interfaces in SystemVerilog or VHDL — your pick.

Three Ways to Use

Pick the interface that suits your workflow best.

Command Line

Perfect for scripts and CI/CD pipelines. Fast, scriptable, and easy to integrate.

axion-hdl -s src/ -o output/ --all

Python API

Full programmatic control for custom workflows and tool integration.

from axion_hdl import AxionHDL

Web GUI

Interactive visual editor for register maps. Great for exploration and prototyping.

pip install axion-hdl[gui]

Try It Live

Edit the register definition below and click Generate to see real output.

terminal
Click "Generate" to run axion-hdl...
generated VHDL
Generated VHDL will appear here...