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.
Metadata
Release files for hdl-registers 8.2.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.2.0.tar.gz | 131.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hdl_registers-8.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 328.4 kB
Release files / hdl_registers-8.2.0.tar.gz
| Download URL | hdl_registers-8.2.0.tar.gz |
|---|---|
| Size | 131.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
34ea2f73c3dc2e95d046850e487d0f628e3e83c6b9577f4dfa6c5d76e9792ff0
|
|
BLAKE2b-256 checksum How to use checksums |
c75df5d378fcc19feb0c5b2b6441aa649c6ed8d269692b7987a6456741400eed
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / hdl_registers-8.2.0-py3-none-any.whl
| Download URL | hdl_registers-8.2.0-py3-none-any.whl |
|---|---|
| Size | 197.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5feb1db3844a8772ca0ca886d82a8c9ce6eecf5d2c315aac1d766c1dc5048638
|
|
BLAKE2b-256 checksum How to use checksums |
5df9cc814213aacb7c49d9db4b22b952f15e74db1c7e783ff0deb649d700d021
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|