Add support for custom attributes on Signals #1898
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Recently I needed to add some attributes to IO ports to make my module work nicely in Vivado block design. Something like this:
If there is more than one clock in the module and some AXI interfaces need to use a different clock, Vivado can't detect which clock is associated to which interface and throws errors in the block design.
I couldn't find a way to generate this automatically in the current Litex version, so here is a custom wrapper for
attr_translate
.It accepts any attribute in the form
"name = my value"
and will output it like this(* name = "my value" *)
in verilog.To annotate the axi interface like in example above, you can just do this: