23 lines
891 B
Plaintext
23 lines
891 B
Plaintext
I need some sort of signal "dereferencer" that can be easily used to translate references
|
|
to stuff via a normalized interface.
|
|
|
|
For example, if RDL defines:
|
|
my_field->next = my_other_field
|
|
Then in Python (or a template) I could do:
|
|
x = my_field.get_property('next')
|
|
y = dereferencer.get(x)
|
|
and trust that I'll get a value/identifier/whatever that accurately represents
|
|
the value being referenced
|
|
|
|
Values:
|
|
If X is a field reference:
|
|
... that implements storage, return its DFF value reference
|
|
... no storage, but has a hw input, grab from the hwif input
|
|
... no storage, and no hw input, return its constant reset value?
|
|
If X is a property reference... do whats right...
|
|
my_field->anded === (&path.to.my_field)
|
|
if X is a static value, return the literal
|
|
|
|
|
|
See `Hierarchy and Indexing` on details on how to build path references to stuff
|