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 two separate addresses, which potentially wastes address space.
Volatile 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!
-
Luca Colombini commented
This is a request that will also address mine!
See https://airhdl.uservoice.com/forums/279130-airhdl-feature-requests/suggestions/41672026-option-for-an-external-register-implementation