Fast track meeting 08-23-2004 Attendance Dave Bishop Steve Bailey John Ries Chuck Swart Charlie Guy Steve Bailey is running the meeting. N-006 Minimum and Maximum with an argument as an array. Issue here is can we define these function implicitly? We can't do it when the element type is declared because we don't know a type for that array of element. Solution is to move the operators to the declaration of an array type which have sub-elements for which the implicit binary version of minimum and maximum are defined. What are we to do if the array is NULL? Options are error or return 'HIGH/'LOW. FT04 FT04 needs to be updated to reflect the changes in name from MIN and MAX to MINIMUM and MAXIMUM. FT04 defines the implicit versions of MINIMUM and MAXIMUM. N-006 defines the overloaded versions of MINIMUM and MAXIMUM to correctly use the user defined < and =. N-006 also incorrect has find_left and find_right, they have been changed to find_msb and find_lsb. Review of David Bishop's packages. Standard_addition Added RCS header. Needs to add array versions of MINIMUM and MAXIMUM for bit_vector and string. function MINIMUM( A : bit_vector) return bit; ... Do we add types for array of boolean, integer, real, and time? Yes, name as _VECTOR. Reduction operators Short discussion of the return of null array. Current behavior in package is known. In general add comments for on operators to give some hint of what they do. standard textio Add RCS header SREAD, in the current implementation the string is padded with spaces. Discussion. Should we pad or not? Its a performance issue but currently space is used determine where the return value in the string ends. If we don't pad we need to add a length parameter to tell you how many character have been read into the string parameter. David proposed a change to allow more flexibility. Modify SREAD to remove Good parameter and add string length. Good is now indicated by a non-zero. Do we need to specify padding? FT 8 needs modification to match package. Discussion on what goes into the standard's text and what get defined by the package source. Some in group want package to define everything and text should be minimized. Some want the text to state the inputs and the resulting outputs and the have package bodies that are non-normative. Long discussion on this. Result is that the package bodies are non-normative for the following reasons. 1) It clearly tells what is important and what are degrees of freedom. This allows for fast implementations and algorithms. 2) Implementations have bugs, making the package non-normative allows for correction by implementations 3) Package bodies can be updated without re balloting. HREAD/HWRITE, OREAD/OWRITE. Allows for reading of non-multiples of 4 for hex and 3 of octal. If the high bits are 0, no error occurs. For compatibility, READ matches the Synopsys package, it reads then number of characters needed to fill the argument. Justify Returns the larger of the value and width. Pads with spaces. to_string for real and time versions different systems produce different values for real and time because 'image is used and results are not specified. For time and real need to add arguments to control digits. For real need some sort of formating, i.e. left of the decimal point. For time, the resolutions to use for values, the default being the simulator resolution. Next Meeting? Not labor day, what about next Monday Aug 30?