airhdl Feature Requests
24 results found
-
Add Verilog / SystemVerilog RTL Output
AirHDL currently generates VHDL RTL output.
21 votesairhdl now includes generators for SystemVerilog packages and modules.
-
Automatic register address offset allocation
Add a button in the register map view to automatically allocate register addresses so that there are no address conflicts and no address gaps.
10 votesThe register map view now has an "auto-compute register offsets" button.
-
Bit-level register definition
It would be nice if we have more control of registers at the bit level. That is, to be able to define masks that operate on the 32-bit word such that multiple commands/status can be mapped to one 32-bit word. Names entered in the editor would then be reflected in the C header as bit masks and offsets that can be applied to insert/extract the necessary information.
10 votes -
Provide separate input and output ports for read-write register
Read-write registers are currently implemented with only an output port to user logic. This could alternatively be implemented with both input and output ports to user logic such that you essentially have both a read-only and write-only register at the same address. Users could wire these ports together if it is required for reads and writes to this address to return the same data.
There are a number of applications where it would be valuable for reads to return a value different to the last written value. Currently, this is only possible by creating read-only and a write-only registers at…
10 votesVolatile register fields are now available as a preview feature. More information about them is available here: https://airhdl.com/blog/2023/01/07/new-feature-volatile-register-fields/
Thanks for supporting that feature request!
-
Share Register Maps
Share register maps with selected users, or make them public.
7 votes -
Verilog Testbench
You have a VHDL testbench.. how about a Verilog testbench?
5 votesairhdl supports the generation of SystemVerilog testbenches.
-
Enumerations for register fields
Add support for enumerations for register fields so that debuggers can utilize the json register output to display the meaning of the current field value rather than the entire description
4 votes -
Support Register Arrays
This could be useful for things like filter coefficients, or in multi-channel systems where you need the exact same control and status register for every channel.
3 votes -
Add a timestamp disable for file headers
It would be great if the timestamp generation used in the generated file headers could be disabled. Our build process generates the files each build which in most cases only updates the timestamp in the header. This causes issues with our CM tool (Git) because it thinks the vhdl files have changed.
This causes issues with other git operations (like switching branches/commiting files)
It would be help us greatly if there was a "disable timestamp" switch or something similar in the command line tool.
3 votes -
Adoption of Records
Be able to wrap up registers as record types to stop the port maps becoming so verbose.
3 votes -
Duplicate Register map option
I have a Register map as a base for all my design, it would be perfect for me if we have an option to clone that register map and customize it without modifying the original
3 votesairhdl now supports register map duplication. I’ve created a short video to demonstrate this feature. You can watch it at: https://youtu.be/B-lyavWiK6Y
-
2 votes
-
Could we create a namespace around constants in the header file?
Thanks, great code generator! The only thing is that I would prefer to have a c++ namespace isolating all the constants for a register map and "static const" values instead of defines.
2 votes -
Option for generating memory interface enable signals
Currently memory interface doesn't provide any indication when memory is accessed. In block RAM this means enable inputs have to be permanently kept active causing unnecessary reads and wastes power
2 votesThe latest version of airhdl (2021.05.1) now generates a memory read enable signal. We hope you’ll find it useful!
-
Add a duplicate register feature
Having the ability to copy an existing register and then edit it to update the identifier would save time on larger systems.
2 votes -
Specify base addresses in the project space instead of the register map
When adding a register map to a project I want to be able to specify the base address of that map in the project, not in the register map itself. This will allow for the use of library modules that may be used multiple times in the current project, or in multiple projects where the base address is different.
2 votesWe have just deployed initial support for project-specific base addresses. The description is available here: https://airhdl.com/docs/user-guide/views/project-view#setting-a-register-maps-base-address
Thanks for suggesting this feature. We hope you'll find it useful!
-
Native memory interface at user interface logic
Adding native memory interface at use logic enable to connect to BRAM and write and read from it via software.
This can be achive if we have an option of Depth along with Offset during register creation
1 voteThis feature is available in the latest airhdl update (version 2018.07.1)
-
Add support for scripting to get register artifacts
As a user of airhdl, I would like to be able to get the register articats (c header, vhdl etc) via a scripting languange instead of accessing the site, selecting the register bank and press "Download"
1 vote -
1 vote
-
Collective delete
It would be nice if I could select a set of registers in a map to be able to delete more than one at the same time
1 vote
- Don't see your idea?