SV-EC Committee Meeting Monday October 9 2006 11:00am - 1:00pm PST [Minutes distributed for approval at next (sv-ec) committee meeting] (12120) Day (48159) (00001) Month (88990) (00000) Year (66666) --------- Attendees ---------- (-AAAA) Arturo Salz (--AAA) Cliff Cummings (AAAAA) Dave Rich (AA-A-) Francoise Martinolle (-AAAA) Mehdi Mohtashemi (AAAAA) Neil Korpusik (AAAAA) Ray Ryan (-----) Surrendra Dudani (AAAAA) Gordon Vreugdenhil (AAAAA) Steven Sharp (--AAA) Phil Moorby (---AA) Doug Warmke (AAAAA) Stu Sutherland (-AAAA) Heath Chambers (-AAAA) Don Mills (--AA-) Jonathan Bromley (--A--) Logie (----A) Melvin Cardoza ** Minutes taken by Neil Korpusik and Mehdi Mohtashemi ////////////////// October 9th 2006 ///////////////////////// Agenda: 1. IEEE patent policy ref: http://standards.ieee.org/board/pat/pat-slideset.ppt Move: Cliff - Assume that the patent policy was read Second: Heath Abstain: none Opposed: none passed 2. Review Meeting minutes, of and September 11th and September 25 2006 http://www.eda-stds.org/sv-ec/Minutes/SV-EC_Meeting_September_11_2006_Minutes.txt http://www.eda-stds.org/sv-ec/Minutes/SV-EC_Meeting_September_25_2006_Minutes.txt Move: Heath - Approve the minutes of Sept 11th, and Sept 25th 2006 Second: Neil Abstain: none Opposed: none passed 3. Action items review Action items: September 25, 2006 ------------------------- AI: 1323 (name resolution) SVEC - review it, any feedback should go to the champions. Neil - reviewed it and it looked fine. Related to 890: AI: Arturo - 15.10 - add details on ##0 - keep first item in "orange" box. AI: Cliff - update the example in 15.12 AI: Arturo, Cliff, Doug and Jonathan ; re-write the proposal for final discussion and vote Action items: previous meetings, 2006 AI/Neil - fix 1308 AI/Mehdi - contact the svac - that we want to have some time to review this. AI/Ray - 1545 put together a proposal AI/Neil - 1552 add a proposal. AI: follow-up to mantis 978 Neil - rewrite unique(), the first 2 sentences appear to be contradictory. - Make sure that it is clear that array elements are returned. - Add some examples for unique(). Neil - Array reduction methods can operate on arrays of non-integral values when a with clause is specified, as long as the type of the expression is an integral value. Gord - re-write section 5.15.4 - only the default argument value makes sense. Dave - what order is used for find and find_index (e.g. traversal is left to right of the bounds, associative is min to max) - 5.15.1 - change last sentence in first paragraph. All - can anyone come up with a realistic example? (last example5.15.4) - not only where you would need it but also what does it mean. 4. Name Resolution sub-group update --------------------------------------- Gord - no updates. Little activity in past 2 weeks. - import into class scopes - will be made illegal One new sentence (class scope). A new mantis item was created for this -- 1609 (assigned to SVBC) Arturo - Is import Ok in functions? Gord - Yes, since the only issues arise due to inheritance. AI/SVEC - Review the proposal for 1609. import not allowed for class scopes. 5. Review mantis items list. ---------------------------------------- 890 08-31-06 clarifications in program and clocking blocks (Doug) Cliff - There has been a sub-group working on this Jonathan, Doug, Cliff, Heath, Arturo This sub-group is trying to work out consensus among themselves. Doug - Areas of agreement within the subgroup They just put together a summary of what was discussed in the previous meeting. - Jonathan attempted to re-write portions of previous proposals based on the results of their last meetings. Doug - main issues are in the area of the program block design versus program object Steven - an NBA to a wire is not allowed There are issues with port collapsing program objects versus non-program objects - different rules Gord - wants to keep port collapsing consistent everywhere - clocking block behavior within a program makes a difference Doug - program objects can't be updated with an nba - a clockvar can connect to a program variable Jonathan- wants a rule to disallow clocking block outputs to drive a program variable. Arturo - disagrees with that idea Steven - drop the rule about no nba to program block variables Cliff - goal is to have program code to execute separate from design code - is program port the same as rtl? Dave - keep the rules simple, there are several loopholes program ports, pass by ref, etc. Gord - passing a program var as a ref arg to a separate program is messy - we must be able to reason about what is valid behavior Mehdi - it appears that a f2f meeting would be best Cliff - it doesn't appear that much progress was made in the past 2 weeks. Arturo - it would help to have a smaller agenda to allow progress. Gord - there is a philosophical issue: some restrictions lead to a design flow -- hope's there would be a well defined design flow. Should LRM even have restrictions just to force predictable design results. Another approach is to describe how to use constructs in a way to help ensure well-defined behavior. Cliff - Perhaps add editorial comments (warnings). Gord - if there are open doors to allow ill-defined behavior - users will complain. Non-trivial gaps in armor - means it doesn't make sense to define it. Steven - why put in a bunch of restrictions if it only does a half-assed job of protecting users. (loose paraphrasing) Cliff - concerned about allowing a bunch of new race conditions. There should be some comments to warn users if we allow them. Gord - as long as constructs are well-defined, not too concerned about a recommendation on practices to follow. - ambiguity is a bigger concern Cliff - would like to do things such that we can back off of restrictions in the future. Arturo - we are advocating a methodology Gord - is that appropriate for the LRM? There shouldn't be restrictions just to enforce a methodology if we can't make it bullet-proof. Ray - You are saying LRM shouldn't enforce a methodology (gord agreed) Gord - best to describe behavior for nba and non-nba instead of just restricting to only non-nba. Arturo - passing by ref to static functions Gord - that is a technical issue of lifetime Steven - that example is a semantic issue, not a methodology issue Gord - wants to see a technical decision, not a methodology. Steven - The LRM shouldn't restrict behavior just to enforce a methodology. Gord - NBA example - when can and can't use. no NBA to a program variable These nba should be scheduled in regular nba region (design code) Arturo - this would undo the whole thing that we have worked out. Gord - doesn't care about methodology, only cares about semantics Gord - what about NBA to a ref Arturo - not allowed today (Steven agreed) Gord - ref to a module function from a program Arturo - agrees that there are some small holes. Doesn't want to create a bigger hole. Steven - need an NBA to output ports? Cliff - in favor of patching small holes if possible Arturo - for NBA from program to program, prefers to create a separate reactive region for this which mirrors the design nba region Doug - prefers adding a reactive region for NBA Dave - isn't there still a loop? - we have a clocking block to help Arturo - if design isn't synchronous - may not want to use clocking block Mehdi - would like to get closure on parts of this versus opening up everything - existing holes - - perhaps get input from users that have been using SVTB already Neil - can we get a list of holes? Gord - what type of holes? - all of the holes are methodology holes Doug - nba to port not defined Steven - variable and variable connected to a port you assign to the variable and there is an implicit continuous assign - must use the same rules as in modules. - the 1364 LRM spells it out Gord - what is most consistent clear way to describe restrictions - doesn't want 37 special case situations (too tough to understand the interactions). Simple rules are better than complex ones. - if we can come up with a small set of rules, he would be ok, but would object if there are a lot of special cases. Steven - somewhere we are going down the wrong path. - adding more queues is an issue Ray - doesn't like idea of adding more regions in the event queue Doug - what does an NBA mean in a program block? we need to define this. Dave - reactive region scheduling - something that blocks Doug - some additional questions continuous assignment in program scope interactions of ports between program port-collapsing - Can we do port-collapsing and continuous assignments the same way in program and design? - RHS of a continuous assignment in program from design block Steven - could possibly go back out of program output port, without requiring processing by reactive region. - if can't allow continuous assign immediately then we probably can't do port collapsing. Arturo - is willing to discuss all of these ideas. It is a possible way to go. Doug - LRM isn't clear on the point of cont assigns... we need to define it Steven - what is in LRM for cont assign Arturo - only schedule nba updates today. Doug - 16.3 "....in program block that are sensitive to program... are sched in reactive??? Steven - cont assign is a process? (we need to check this) Gord - what if wire is essentially shorted? if module connected two program ports via 1 net, then when cont assign happens would be important wouldn't it? Doug - was originally thinking that all updates in program would need to be in reactive region (now willing to back off from this). Steven - continuous assign where RHS is a program function? Doug - you probably just get what you asked for in this case. Doug - program blocks seem to be more of a stumbling point as opposed to just the clocking blocks. Steven - not sure if the current scheduling semantics are "decent". 594 09-09-06 15.8 special syntax for accessing interfaces through clocking (Doug) Doug - proposal is to remove the shorthand syntax Ray - removes the BNF discrepancy by removing the example. Cliff - cb.var_name now is the way to reference a clockvar Gord - cd1.data // valid cd1.a.data // used to also be valid (used an implicit alias) Cliff - better to make one of the labels different from the last name in the hierarchical path (en for b.enable) AI/Doug - 594 - change label used in one of the clockvar in the new blue example AI/Doug - upload a pdf for mantis 594 (instead of an html file) Move: Doug - Approve the proposal for mantis 594, with the friendly amendment Second: Arturo Abstain: none Opposed: none passed 1480 05-19-06 method_call_root BNF should use primary, not expression(Brad) Neil - September 11 meeting (see those notes for comments on this item) - Sound like moving to primary is a step forward but may not be where we would like to ultimately end up. Gord - pretty sure that there are some holes here but not sure what they are. Steven - a+b+c - could mean to apply c method after a+b? Arturo, Steven - agree that 'primary' still has too much allowed. Gord - this will come up again in the name resolution group as well. Move: Gord - Approve the proposal for mantis 1480 Second: Steven Abstain: none Opposed: none passed 1545 07-20-06 13.12.1: $urandom example error [Shalom] Arturo - why does the new example use a slice? - parenthesis were always optional on system calls. Neil, Cliff, Steven - we can't see any red strike-outs in the html file AI/Ray - upload a pdf with the strike-outs visible for 1545. Move: Ray - Approve the proposal for mantis 1545 Second: Arturo Abstain: none Opposed: none passed 6. Next meetings: A) Proposal: October 23rd, 2006 B) Face-to-Face meeting? (when/where?) Next meeting: October 23, 2006, Conference call, 11-1pm PDT Face-to-face meeting - planning for 11/6 Dave is able to host it in San Jose, at the Mentor campus. Mehdi wants a "tight" agenda. Presentations should be prepared ahead of time. program block clocking block scheduling semantics Stu - would like to have a detailed strawman proposal - we need to identify the issues and then get some proposals. Mehdi - we have a group of 4 that have been trying to converge on the issues 11/2 Doug out 11/6 Stu, Cliff, Dave ok with date - Stu, Cliff need to leave that day 11/9 cliff out, Neil - p1800, stu - P1800 11/13 Stu-no, Cliff-ok If it is a non-voting meeting we may not need to have a 30-day notice. AI/Mehdi - talk to Matt about the conflict that would exist on 11/6. Gord says to ignore the svbc conflict ========== ADDITION TO the minutes, not part of regular ========= ========== meeting discussions, informational purposes ========= ========== Action Items updated based on October 9 2006 ==== Action items: October 9, 2006 ------------------------- AI: name-space resolution: for SVEC - Review the proposal for 1609. import not allowed for class scopes. AI: 594 Doug: change label used in one of the clockvar in the new blue example Doug: upload a pdf for mantis 594 (instead of an html file) AI: 1545 Ray - upload a pdf with the strike-outs visible for 1545. AI: face-to-face meeting, Mehdi inform Matt of 11/6 sv-ec face to face meeting