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
$ axion-hdl -s spi_master.yaml -o output/ --all
# Generated files:
✓ spi_master_axion_reg.vhd AXI4-Lite slave
✓ spi_master_regs.h C header
✓ spi_master_regs.xml IP-XACT
✓ spi_master_regs.yaml YAML map
✓ register_map.md Documentation
→ All files generated successfully!
From simple LED controllers to complex SoC peripherals — Axion-HDL handles it all.
Define registers in VHDL comments, YAML, XML, JSON, or TOML. Use whatever fits your workflow.
Built-in 2/3/4-stage clock domain crossing. Safe register access across clock domains.
Pack multiple bit fields into a single address. Perfect for status/control registers.
Automatically split 64-bit+ signals across multiple addresses. No manual splitting needed.
Generate pulse signals for register access. Ideal for FIFOs and interrupt handlers.
Auto-generate Markdown docs, C headers, and IP-XACT XML for every register map.
Pick the interface that suits your workflow best.
Perfect for scripts and CI/CD pipelines. Fast, scriptable, and easy to integrate.
axion-hdl -s src/ -o output/ --all
Full programmatic control for custom workflows and tool integration.
from axion_hdl import AxionHDL
Interactive visual editor for register maps. Great for exploration and prototyping.
pip install axion-hdl[gui]
Edit the register definition below and click Generate to see real output.
Click "Generate" to run axion-hdl...
Generated VHDL will appear here...