|
LCS-2016-045a History |
|
6 |
|
2017-Mar-30 |
|
Voting |
|
Jim Lewis, Patrick Lehmann, Lieven Lemiengre |
|
Interface Construct and Port Mode Configurations Use Case - Complex RTL Signal CPU Interface |
|
Provide the independent interface mode control for the elements of composite type objects |
|
LCS-2016-045b LCS-2016-045c |
view (view_name)
syntax
[ of subtype]
type handshake is record valid, ready: bit; end record; view ControllerHandshake of handshake is valid : out; ready : in; end view; view TargetHandshake of handshake is valid : in; ready : out; end view;
type T is record a, b, c : bit; end record; view V of T is a, c : in; end view V;
mode_indication
optional in a mode_view_element_definition
?
The lexically conformance rule makes no sense. We are talking about a single lexical element: an identifier.
Why have modes default expressions?
This LCS does not describe how a mode view works/behaves. It misses what choices are allowed (e.g. array indices, because it's still a composite, what I would forbid ...) and how elements in a mode correlate with composite elements.
Don't insert auxiliary sentences with parentheses. It's still an English text in prose.
-- view V of T is a, c : in; b; end view V;
unresolved_composite_subtype_indication
: I think it needs to be an unresolved composite type mark. The text calls it reserved, which is probably an error.
mode
can appear. A mode view does always cover all subelements with modes. So there is no need for an implicit in.
#2 The default expression
only applies to simple mode indication
and thus to mode indication
, but not to mode view indication
.
#3 The mentioned paragraph describes how to infer the optional part after view myView
appended with of myBusType
.
There are 2 cases: of myBusType
in this scenario:
type SlaveType is record end record; view SlaveView of SlaveType is end view; type SlaveVector is array(natural range <>) of SlaveType; type SystemType is record Slaves : SlaveVector; end record; view myView of SystemType is Slaves : view (SlaveView); -- of SlaveVector end view;So the subtype is taken from the corresponding record element for an array mode view indication. Does it make sense so far?