San Jose Meeting 11-16-04. Attendance Chuck Swart Jim Lewis Peter Ashenden John Ries Tim Schnieder Dave Bishop Alex Zamfirescu Deepak Pant Ajay Varikat Charlie Guy Review of List to determine what to discuss. FT5A revised and posted FT7 need to update FT8 new revision to review FT11 to do FT12 to do FT13 to review FT16 deferred due to lack of support FT19 10-04, need to re-review FT20 Issues with ranges, To do FT22 new proposal for review FT23 new proposal for review FT24 discussion list on implicit vs explicit. FT25 needs work FT26 Done, ISAC gave nod New IP proposal incorporates comments Remove pragmas, used back tick to indicate directives New proposals adding rising_edge and falling edge to package standard for bit Dave has a roll up proposal of several comment. CP-007 new version to review from Dave. Review of FT9 in item B Need to add left most element of the equivalent bit_string literal is replicated. Change warning in item B to an error if the unsigned and lost bits are 1. and if the sign bit differs from the upper bits removed. Update the examples from 7X"8F" to be error 7SX"8F" is an error. Add example of 7SX"CF" would be OK. When updated move to Done Review of FT5a Add to_hstring and to_ostring. Discussion of NL as a deferred constant vs. function. Impact on having a deferred constant on having a body for package standard. Function NL should be impure. Note to make sim_resolution function impure. More discussion on using a single non-printable as a character to be translated into the correct line break. Add NL to list of non-portable construct and tell that it will be different sized. General consensus is to use NL function, add as impure and non-portable appendix. Justify function is intented for to_string fucntions to a have justify argument and just pass it through to justify function. Why not just have the user call justify directly? Dave selected the embedded justify because of consistency with write. Proposal to remove justify and width from to_string. For Peter, Chuck Against Alex, Jim Jim -> having justify and width parameter in to_string does preclude user using Justify Could we move the justify and width fields to_string for real and time to end. Would match Discussion on to_string of time on resolution function. There is a problem with sim_resolution being an impure function, default argument must be static expression, An impure function here is not a static expression. Discussion on what happens with various resolutions. Current implementation of function prints the value at the precision of the resolution. Counter proposal is to change the to_string(TIME,...) to match the write function currently for time. Action item is to change to_string to match the write functions behavior and arguments. Modify to_string for real to apply format to produce string and the string is passed to justify function Chuck's issue ISO/IEC 9899:1990 why not 9899:1995, Alex will provide Dave updated standard. Homograph problem with having a version of to_string(real .. DIGITS) and to_string(real, ... FORMAT). To fix make FORMAT not have a default value. FT8 Tee function TEE does it write to STD_OUTPUT or OUTPUT? Proposal says STD_OUTPUT, it should refer to the FILE named std.textio.OUTPUT. Question on how sread parses a blank line. Returns a strlen 0. But don't use bad because it may be considered an error. Delete the (alternately we ...) Should we make std.textio.all defaultly visible? Because we are in effect doing this in std_logic_1164. Issue is backward compatibility. We also have std_logic_1164. Consensus appears to be not to make std.textio.all visible. *Read functions have to handle case where values get truncated. Issue warnings if the upper bits are removed not zero for unsigned case and if the sign bit to the left bit don't match. Discussion of std_logic_textio place holder. Should we put aliases in the package? There is issues with aliases so currently we don't plan to do it. ( Do aliases to the same item hide each other?) Discussion on merging of packages together. The issue here backward compatibility Is the architecture of package driven by backward compatibility or by usage. With the moving of textio functions to package of types this may cause backward compatibility problems Action items 1) Peter explore alternative package architectures to minimize backward compatibility issues. 2) Post to Comp.lang.vhd and ft reflector on issues of package separation 3) Peter will look again at the context. Are FT8 and FT5 done? Do we do code review first? Next step code review. FT12 In section 2.1.1.2 bullet 2 needs to change to specify reading is effective value not the driving value. Should variables parameters added yes. Action of Peter to update. FT11 Looked over proposal. Consensus on the requirements. Need a little more analysis. Action John to do analysis. Need to specify equivalent process. Side issue: Minimum and Maximum operators using implicit < vs explicit <. We should be using implicit < instead of explicit for consistency. FT13 Peter provided LCS for this. Updated to reflect that although function is VHPI_CONTROL, the simulator must provide this even if it doesn't support VHPI. Discussion on should we make VHPI_CONTROL directly visible and accessible or making specific functions available. There was much discussion on this. Desire that stop and finish have the ability to pass some sort of status. Use of enums for options has problems because integers are used by VHPI. Action to define an ENV package and put stop and finish in there. The functions take single integer argument. Intention to allow other environment access like command line arguments and environment variables. FT7 Peter looked at pathnames across the various attributes and VHPI names. For time frame need, we need go the package approach, the alias approach appears to have to many problems with to deal with. Discussion of Model Tech definition. Functions should be defined in terms of VHPI functionality. FT19 Process_comb Jim's intent was to make process_comb and process_latch is just process(all) in the simulator/compiler. It is required for the synthesis tools to check that processes are combination or generate latches. For process_ff simulator may consider it a process(ALL), the synthesis tools would enforce the flip-flop types. Discussion on ALL somatic and why global signal reads are allowed and not an error. Consensus if we read a global signal in a subprogram from a process(ALL) this is an error an must. Should we split process_comb to process(ALL) and attribute. Resolution 1) PROCESS(ALL) where we allow reads of signals from process, locals to all subprograms and non-local reads in subprograms for subprogram declared within the architecture. Error for non-local signal reads in subprograms in package. 2) Have simplified attribute specification. of the form attribute_designatore IS value; 3) Allow for simplified attributes in declarative region not just declarative parts 4) Allow all attribute specification in declarative region possibly FT23 Add packages to modified part. Action John, done FT22 Reviewed, done FT24 Discussion. Chuck how about implicit operator that uses an exploit operator. What can we do for Fast track? Do we just build it in for std_logic and worry about it later. Action item John, rewrite FT24 supporting only std_logic_1164 type and one-dimensional arrays of them. Action items John add negation example to FT9, John update FT9, Dave FT5 NL and sim_resolution function updates and changes. Dave FT5 Change to_string for TIME to be like write for time Dave FT5 Change justification behavior of to_string for real. Alex FT5 provide Dave with the updated ISO standard. Dave FT5 add to_string(value: real, justify, digits) make format not have default value to remove homographs. Dave FT8 Change STD_OUTPUT to std.std_textio.OUTPUT. Dave FT8 remove statement ( alternately ... ) Dave FT8 *read function warning/error condition on truncation.( numeric standard package) All do code review for FT8 and FT5 Peter FT12 update and then to vote John FT11 do analysis Peter FT13 update per minutes Peter FT16 to look at on flight Jim and Peter FT7 to update for package and define in terms of VHPI John FT 19 update for 4 resolved items John FT 23 update package list in Modified:.... John FT 24 rewrite FT24 supporting only std_logic_1164 type and one-dimensional arrays of them.