David,
> I am currently creating the updated "std.textio" package, and looking
> at FT-08 I have some questions/comments:
>
> 1)
> constant NL : string := LF ;
> constant CRLF : string := LF ; -- OS dependent constant to be CRLF
>
> This belong in the package "std.standard". I have them looking like this:
>
> constant NL : string := (1 => character'val(10)) ; -- LF
> constant CRLF : string := (1 => character'val(10)) ; -- OS dependent
> constant to be CRLF
> -- constant CRLF : string := (1 => character'val(13), 2 =>
> character'val(10)) ; -- OS dependent constant to be CRLF
Looks good. Only define one of them. I just was not sure
of what the appropriate name should be.
I like LF and CR better than character'val(10) and character'val(13).
Is there a reason you like character'val(13) better?
> 2)
> -- Read and Write procedures for String values
> procedure SREAD (L: inout LINE; VALUE: out STRING; STRLEN: out
> natural; GOOD : out BOOLEAN);
> procedure SREAD (L: inout LINE; VALUE: out STRING; STRLEN: out
> natural);
>
> There already is a "READ" for type string, but there is no output "STRLEN".
> You can get the length by just looking at the 'lenght of the string
> returned.
> Why do we need the extra function.
Current limitation of reading tokens with read is that
each token would need to be the same length or have an
appropriate number of blanks following the token.
From FT08 write up:
The procedure sread reads a token. Skips leading white space.
Reads characters until input_string_length or white space or end
of line are reached. If a less then the number of characters
asked for in the read procedure are available the right most characters
of the object are filled with spaces.
> 3)
>
> procedure HREAD (L: inout LINE; VALUE: out REAL; GOOD : out BOOLEAN);
> procedure HREAD (L: inout LINE; VALUE: out REAL);
> procedure HWRITE (L: inout LINE; VALUE: in REAL;
> JUSTIFIED: in SIDE := RIGHT; FIELD:in WIDTH := 0);
> procedure OREAD (L: inout LINE; VALUE: out REAL; GOOD : out BOOLEAN);
> procedure OREAD (L: inout LINE; VALUE: out REAL);
> procedure BREAD (L: inout LINE; VALUE: out REAL; GOOD : out BOOLEAN);
> procedure BREAD (L: inout LINE; VALUE: out REAL);
> procedure BWRITE (L: inout LINE; VALUE: in REAL;
> JUSTIFIED: in SIDE := RIGHT; FIELD:in WIDTH := 0);
> procedure DREAD (L: inout LINE; VALUE: out REAL; GOOD : out BOOLEAN);
> procedure DREAD (L: inout LINE; VALUE: out REAL);
> procedure DWRITE (L: inout LINE; VALUE: in REAL;
> JUSTIFIED: in SIDE := RIGHT; FIELD:in WIDTH := 0);
>
> "Real" depends. Fixed or floating point?
> I would rather handel these in my fixed and floating point packages. I can
> just do a "real" conversion right in the read/write routine.
Both. Provide an additional option (similar as what is done for
writing out time in units different than ns).
I would not want to have to include the array based fixed and
floating point packges to be able to print the type real.
Cheers,
Jim
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Jim Lewis Director of Training mailto:Jim@SynthWorks.com SynthWorks Design Inc. http://www.SynthWorks.com 1-503-590-4787 Expert VHDL Training for Hardware Design and Verification ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Received on Fri Jun 25 13:19:21 2004
This archive was generated by hypermail 2.1.8 : Fri Jun 25 2004 - 13:19:23 PDT