<!--
Set ALLOWTOPICCHANGE =
P1076AdminGroup-->
P1076 November 10, 2016 Meeting Minutes
Attendees:
- Rob Gaddi, Peter Flake, Patrick Lehmann, Brent Hayhoe, Jim Lewis, Kevin Jennings,
Agenda:
Meeting Discussion
- LCS Review
- By December, need LCS for proposals that will go into standard.
- December to March - prepare final document.
- conditional compilation
- Peter to write up LCS
- For TOOL_NAME - require/desire short name: "GHDL" and not "GHDL Student Edition"
- Add TOOL_EDITION s.t can enter as wish, such as "GHDL Student Edition"
- Change VENDOR to TOOL_VENDOR
- Add text that says vendor shall support a mechanism to pass in a user defined name and value
- Example using DEBUG and a value.
- TOOL_OPTIMIZATION with "LOW" "HIGH" - using low for automatic debug switches
- Rejected at least for now can be done with user defined names
- Change to 'end if
- Rob
- no update on time/date
- Support local time and GMT
- support for "+", "-"? No defer to future open source package
- No update on optional ;
- Patrick. Updates on <=>
- Currently static.
- Presented current strategy on Kobra.io - pasted later in the minutes.
- Kevin - updated LCS's with voting section.
- Brent - working on deferred shared variables. Will have something later.
- Revive old style shared variables?
- Protected types with initializer
- See proposal for Protected types with generics GenericTypes
- Can initialize a PT by calling a function method that returns a value (such as true) and initializes the PT by side effect.
Notes about Bundles
Big picture
==========================================================
1. Spaceship
2. bundles on top of records
3. extensions
3.1 map expression
porta => map (sig1, sig2),
3.2 map functions
...
Overall algorithm
==========================================================
1. analysis
- parse signal declarations as usual
- parse spaceship assignment statements as normal assignment statements would be parsed
2. elaboration
- gather lists for "space ship connected signals" (sscs) across hierachy
- check that:
- all signals in a sscs must have the same subtype (not only type, so the
resolution function is included in the definition and always the same)
- all signals in a sscs must be either:
- unresolved, or
- resolved. if so, the resolution function must be the same
- (the mixed kind might be relaxed in a future revision)
- ...
3. runtime
3.1 runtime init
- ...
3.2 runtime cycle
- ...
Questions:
==========================================================
- how to handle type conversions on "slip streams" (Gene Rodenberry's Andromeda - spaceships travel on slip streams)
- so the subtype already includes the resolution function?
- can I overwrite a resolution function if I sub type a subtype with another resolution function?
- you can write sig foo : resolution_func unresolved_type; -- this creates an anonimous subtype
- If I do it twice, are these anonymous sutypes compatible?
Algorithm to construct spaceship connected signals (sscs):
==========================================================
# Construction
SpaceShipConnections
for block in model.statementBlocks:
if isinstance(block,
ConcurrentStatementBlock):
for stmt in block.Statements:
if isinstance(stmt,
SpaceShipAssignment):
t = stmt.Target
s = stmt.Source
if t.SpaceShipConnections is None:
if s.SpaceShipConnections is None: # create a new SSC
ssc =
SpaceShipConnection(t, s)
s.SpaceShipConnections = ssc
else: # add t to s' SSC
ssc = s.SpaceShipConnections
ssc += t
t.SpaceShipConnections = ssc
else:
ssc = t.SpaceShipConnections
if s.SpaceShipConnections is None: # add s to t' SSC
ssc += s
else: # merge both SSCs
ssc += s.SpaceShipConnections
s.SpaceShipConnections = ssc
elif isinstance(stmt,
SignalAssignment):
t = stmt.Target
s = stmt.Source
d = Driver(s)
t.Sources.append(d)
TODO for Spaceship
- Establish runtime algorithm
- new step during signal resolution?
- Applied to the smallest resolved sub-structure of a composite?
- Determine impacted LRM sections
- Chapter 14 ...
- 14.7.3.4 Signal update ?
- ??
- 14.7.5.3 Simulation cycle
- section C & D may be impacted
- Determine full scope
- interaction with 'unresolved signals'?
- interaction with 'resolved signals'?
- possible connection scenarios
- unresolved <=> unresolved
- resolved <=> resolved
- unresolved <=> resolved?
- resolved <=> resolved with different resolution functions?
- support for 'conversion function' or 'type conversion'?
Review and Approve Meeting Minutes and Decisions by Attendees
Rob, Peter, All
Review and Approve Meeting Minutes and Decisions by non-attendees
<Add your name below. Indicate if you agree or disagree>
<If you disagree, add a list of items you disagree with and initiate a reflector discussion>
TBD
Next Meeting: Thursday November 17, 2016, 11 am Pacific