Initial import
git-svn-id: http://moon:8086/svn/vhdl/trunk@5 cc03376c-175c-47c8-b038-4cd826a8556b
This commit is contained in:
@@ -0,0 +1,206 @@
|
||||
PCK_FIO.out: TESTBENCH OUTPUT FOR PCK_FIO
|
||||
-----------------------------------------
|
||||
|
||||
This is the result of running the PCK_FIO testbench.
|
||||
This file should be compared with PCK_FIO.out.gold, which is
|
||||
the reference output. Any difference indicates a portability
|
||||
issue or a simulator non-compliance or bug.
|
||||
|
||||
|
||||
--------------------
|
||||
-- Basic features --
|
||||
--------------------
|
||||
|
||||
-- First some auxiliary declarations
|
||||
> file RESULT: text is out "PCK_FIO.out";
|
||||
> variable L: line;
|
||||
> variable BoolTrue: boolean := TRUE;
|
||||
> variable BoolFalse: boolean := FALSE;
|
||||
> variable IntPos: integer := 5678;
|
||||
> variable BigIntPos: integer := 12345678;
|
||||
> variable IntNeg: integer := -8765;
|
||||
> variable BigIntNeg: integer := -87654321;
|
||||
> variable Uns: unsigned(6 downto 0) := unsigned'("1010010");
|
||||
> variable Unk: unsigned(6 downto 0) := unsigned'("1X10Z10");
|
||||
> variable Std: std_logic_vector(6 downto 0) := std_logic_vector'("0010010");
|
||||
> variable SigPos: signed(6 downto 0) := signed'("0010010");
|
||||
> variable SigNeg: signed(6 downto 0) := signed'("1010010");
|
||||
> variable BitX: std_logic := 'X';
|
||||
> variable Bit1: std_logic := '1';
|
||||
> variable Bit0: std_logic := '0';
|
||||
|
||||
|
||||
-- fprint call with no arguments
|
||||
> fprint(RESULT, L, "No arguments.\n);"
|
||||
No arguments.
|
||||
|
||||
-- Special characters need to be escaped
|
||||
> fprint(RESULT, L, "Special characters: \% \\ " \n");
|
||||
Special characters: % \ "
|
||||
|
||||
-- Various format specifiers interprete the same object differently
|
||||
> fprint(RESULT, L, "Format specifiers: %r %d %b %q\n);"
|
||||
> fo(Uns), fo(Uns), fo(Uns), fo(Uns)
|
||||
> );
|
||||
Format specifiers: 0x52 82 1010010 U:1010010
|
||||
|
||||
-- Format string can be shortened by using the iteration specifier
|
||||
> fprint(RESULT, L, "Iteration specifier: %4{%r }\n);"
|
||||
> fo(Uns), fo(SigPos), fo(SigNeg), fo(Std)
|
||||
> );
|
||||
Iteration specifier: 0x52 0x12 0x52 0x12
|
||||
|
||||
------------------------------------
|
||||
-- Support for bit-oriented types --
|
||||
------------------------------------
|
||||
|
||||
-- Reasonable format
|
||||
> fprint(RESULT, L, "Reasonable format: %9{%r }\n",
|
||||
> fo(Std), fo(Uns), fo(SigPos), fo(SigNeg), fo(Unk),
|
||||
> fo(Bit1), fo(BitX), fo(BoolTrue), fo(BoolFalse)
|
||||
> );
|
||||
Reasonable format: 0x12 0x52 0x12 0x52 0x?? 1 X T F
|
||||
|
||||
-- Decimal format
|
||||
> fprint(RESULT, L, "Decimal format: %7{%d }\n",
|
||||
> fo(Std), fo(Uns), fo(SigPos), fo(SigNeg), fo(Unk),
|
||||
> fo(Bit1), fo(BitX), fo(BoolTrue), fo(BoolFalse)
|
||||
> );
|
||||
Decimal format: 18 82 18 -46 -1 1 -1 1 0
|
||||
|
||||
-- Bit format
|
||||
> fprint(RESULT, L, "Bit format: %7{%b }\n",
|
||||
> fo(Std), fo(Uns), fo(SigPos), fo(SigNeg), fo(Unk),
|
||||
> fo(Bit1), fo(BitX), fo(BoolTrue), fo(BoolFalse)
|
||||
> );
|
||||
Bit format: 0010010 1010010 0010010 1010010 1X10Z10 1 X 1 0
|
||||
|
||||
|
||||
-- Alignment
|
||||
-- Template of the call: (<fs> stands for the format specifier)
|
||||
|
||||
> fprint(RESULT, L, "Bitvectors with <fs>: %4{<fs>|}\n",
|
||||
> fo(Std), fo(Uns), fo(SigPos), fo(SigNeg)
|
||||
> );
|
||||
|
||||
-- Results of the call with various format specifiers
|
||||
|
||||
Bitvectors with %1r: 0x52|0x12|0x12|0x52|
|
||||
Bitvectors with %2r: 0x52|0x12|0x12|0x52|
|
||||
Bitvectors with %3r: 0x52|0x12|0x12|0x52|
|
||||
Bitvectors with %4r: 0x52|0x12|0x12|0x52|
|
||||
Bitvectors with %5r: 0x52| 0x12| 0x12| 0x52|
|
||||
Bitvectors with %6r: 0x52| 0x12| 0x12| 0x52|
|
||||
Bitvectors with %7r: 0x52| 0x12| 0x12| 0x52|
|
||||
Bitvectors with %8r: 0x52| 0x12| 0x12| 0x52|
|
||||
Bitvectors with %9r: 0x52| 0x12| 0x12| 0x52|
|
||||
|
||||
Bitvectors with %-1r: 0x52|0x12|0x12|0x52|
|
||||
Bitvectors with %-2r: 0x52|0x12|0x12|0x52|
|
||||
Bitvectors with %-3r: 0x52|0x12|0x12|0x52|
|
||||
Bitvectors with %-4r: 0x52|0x12|0x12|0x52|
|
||||
Bitvectors with %-5r: 0x52 |0x12 |0x12 |0x52 |
|
||||
Bitvectors with %-6r: 0x52 |0x12 |0x12 |0x52 |
|
||||
Bitvectors with %-7r: 0x52 |0x12 |0x12 |0x52 |
|
||||
Bitvectors with %-8r: 0x52 |0x12 |0x12 |0x52 |
|
||||
Bitvectors with %-9r: 0x52 |0x12 |0x12 |0x52 |
|
||||
|
||||
Bitvectors with %1d: 82|18|18|-46|
|
||||
Bitvectors with %2d: 82|18|18|-46|
|
||||
Bitvectors with %3d: 82| 18| 18|-46|
|
||||
Bitvectors with %4d: 82| 18| 18| -46|
|
||||
Bitvectors with %5d: 82| 18| 18| -46|
|
||||
Bitvectors with %6d: 82| 18| 18| -46|
|
||||
Bitvectors with %7d: 82| 18| 18| -46|
|
||||
Bitvectors with %8d: 82| 18| 18| -46|
|
||||
Bitvectors with %9d: 82| 18| 18| -46|
|
||||
|
||||
Bitvectors with %-1d: 82|18|18|-46|
|
||||
Bitvectors with %-2d: 82|18|18|-46|
|
||||
Bitvectors with %-3d: 82 |18 |18 |-46|
|
||||
Bitvectors with %-4d: 82 |18 |18 |-46 |
|
||||
Bitvectors with %-5d: 82 |18 |18 |-46 |
|
||||
Bitvectors with %-6d: 82 |18 |18 |-46 |
|
||||
Bitvectors with %-7d: 82 |18 |18 |-46 |
|
||||
Bitvectors with %-8d: 82 |18 |18 |-46 |
|
||||
Bitvectors with %-9d: 82 |18 |18 |-46 |
|
||||
|
||||
|
||||
-------------------------------
|
||||
-- Support for integer types --
|
||||
-------------------------------
|
||||
|
||||
|
||||
-- Template of the call: (<fs> stands for the format specifier)
|
||||
|
||||
> fprint(RESULT, L, "Integers with <fs>: %4{<fs>|}\n",
|
||||
> fo(IntPos), fo(IntNeg), fo(BigIntPos), fo(BigIntNeg)
|
||||
> );
|
||||
|
||||
-- Results of the call with various format specifiers
|
||||
|
||||
Integers with %5d: 5678|-8765|12345678|-87654321|
|
||||
Integers with %6d: 5678| -8765|12345678|-87654321|
|
||||
Integers with %7d: 5678| -8765|12345678|-87654321|
|
||||
Integers with %8d: 5678| -8765|12345678|-87654321|
|
||||
Integers with %9d: 5678| -8765| 12345678|-87654321|
|
||||
Integers with %10d: 5678| -8765| 12345678| -87654321|
|
||||
|
||||
Integers with %-5d: 5678 |-8765|12345678|-87654321|
|
||||
Integers with %-6d: 5678 |-8765 |12345678|-87654321|
|
||||
Integers with %-7d: 5678 |-8765 |12345678|-87654321|
|
||||
Integers with %-8d: 5678 |-8765 |12345678|-87654321|
|
||||
Integers with %-9d: 5678 |-8765 |12345678 |-87654321|
|
||||
Integers with %-10d: 5678 |-8765 |12345678 |-87654321 |
|
||||
|
||||
Integers with %5r: 5678|-8765| 5678|-4321|
|
||||
Integers with %6r: 5678|- 8765| 45678|-54321|
|
||||
Integers with %7r: 5678|- 8765| 345678|-654321|
|
||||
Integers with %8r: 5678|- 8765| 2345678|-7654321|
|
||||
Integers with %9r: 5678|- 8765| 12345678|-87654321|
|
||||
Integers with %10r: 5678|- 8765| 12345678|- 87654321|
|
||||
|
||||
Integers with %-5r: 5678|-8765| 1234|-8765|
|
||||
Integers with %-6r: 5678 |-8765 | 12345|-87654|
|
||||
Integers with %-7r: 5678 |-8765 | 123456|-876543|
|
||||
Integers with %-8r: 5678 |-8765 | 1234567|-8765432|
|
||||
Integers with %-9r: 5678 |-8765 | 12345678|-87654321|
|
||||
Integers with %-10r: 5678 |-8765 | 12345678 |-87654321 |
|
||||
|
||||
|
||||
----------------------
|
||||
-- Support for time --
|
||||
----------------------
|
||||
-- For portability reasons, time is converted
|
||||
-- into an integer value (of nanoseconds)
|
||||
> wait for 648 ns
|
||||
> fprint (RESULT, L, "The time is now %d ns\n", fo(now));
|
||||
The time is now 648 ns
|
||||
|
||||
----------------------------------------
|
||||
-- Erroneous calls and error messages --
|
||||
----------------------------------------
|
||||
|
||||
-- Less arguments than formats specifiers
|
||||
> fprint(RESULT, L, "%d %d %d %d \n", fo(Uns), fo(Std));
|
||||
82 18
|
||||
** Warning: FIO_PrintLastValue: Format specifier beyond last argument
|
||||
** in format string: "%d %d %d %d \n"
|
||||
** ------^
|
||||
|
||||
-- Unsupported format specifier
|
||||
> fprint(RESULT, L, "%r %v %r %r\n", fo(Uns), fo(Std), fo(Uns), fo(Std));
|
||||
0x52
|
||||
** Warning: FIO_PrintArg: Unexpected format specifier 'v'
|
||||
** in format string: "%r %v %r %r\n"
|
||||
** ----^
|
||||
** Assuming 'q' to proceed: V:0010010 0x52 0x12
|
||||
|
||||
|
||||
----------------------------------------
|
||||
-- Things you wouldn't expect to work --
|
||||
----------------------------------------
|
||||
|
||||
-- Nested iteration
|
||||
> fprint(RESULT, L, "%3{<<%3{_END_}>>}\n");
|
||||
<<_END__END__END_>><<_END__END__END_>><<_END__END__END_>>
|
||||
Reference in New Issue
Block a user