The hdl-registers project is an open-source HDL register interface code generator fast enough to run in real time. It makes FPGA/ASIC development more fun by automating a lot of time-consuming manual work. It also minimizes the risk of bugs by removing the need for duplicate information. Read more
See documentation on the website: https://hdl-registers.com
Check out the source code on GitHub: https://github.com/hdl-registers/hdl-registers
The following features are supported:
Register fields
Registers can be defined using a TOML/JSON/YAML data file or the Python API. The following code can be generated:
-
AXI-Lite register file wrapper using records and native VHDL types for values.
Simulation support packages for compact read/write/wait/checking of register and field values.
-
AXI-Lite register file using structures and native types to represent field values.
-
Complete class with setters and getters for registers and fields. Uses structs and native C++ representation of values.
Includes an abstract interface header for unit test mocking.
C header with register addresses and field information.
HTML website with documentation of registers and fields.
Python class with methods to read/write/print each register and field on a target device.
The tool can also be extended by writing your own code generator using a simple but powerful API.
This project is mature and used in many production environments. The maintainers place high focus on quality, with everything having good unit test coverage and a thought-out structure.
Release files for hdl-registers 8.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| hdl_registers-8.1.0.tar.gz | 130.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hdl_registers-8.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 327.7 kB
Release files / hdl_registers-8.1.0.tar.gz
| Download URL | hdl_registers-8.1.0.tar.gz |
|---|---|
| Size | 130.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9e31794698dc113df87392a1e6fa7ac6b4c182b2ee81bce038ee1555d5770812
|
|
BLAKE2b-256 checksum How to use checksums |
d7014fda8bd7cf6d7b8bd16a00a19df434cf2522982cfb2764034c7b4faad250
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / hdl_registers-8.1.0-py3-none-any.whl
| Download URL | hdl_registers-8.1.0-py3-none-any.whl |
|---|---|
| Size | 196.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
35c67cb2743ce1828e3020b9f0ae5516ecafd92198d43a27ebb3f16f2fd068ce
|
|
BLAKE2b-256 checksum How to use checksums |
6f480acdb4a77cc461af77d81e9173599d794d1395edf319a3377e4865725127
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|