test_vectors

advertisement
------------------------------------------------------------------------BENCHMARK
: Differential Equation Solver
Model Source
: P. G. Paulin, J. P. Knight, E. F. Girczyc:
"HAL: A multi-paradigm approach to automatic data
path synthesis"
in Proc. 23rd IEEE Design Automation Conf, Las Vegas,
NV, pp. 263-270,
July 1986.
Testpattern Source : Rajesh Gupta, Stanford University , July 10 1990
Developed on Aug 17 1992 by : Champaka Ramachandran
Univ. of Calif. , Irvine.
champaka@balboa.eng.uci.edu
------------------------------------------------------------------------Testing Strategy :
1. We start of by initializing all the inputs to zero.
-- Pattern #0
Xinport <= 0;
Yinport <= 0;
Uinport <= 0;
DXport <= 0;
Aport <= 0;
2. We check if the loop executes the desired number of times and provides
the
right values for Y and U.
-- Pattern #1
Xinport <= 2;
Yinport <= 2;
Uinport <= 1;
DXport <= 1;
Aport <= 5;
3. We check if there is a overflow problem if the initial value of Y is
large.
-- Pattern #2
Xinport <= 2;
Yinport <= 12;
Uinport <= 2;
DXport <= 1;
Aport <= 5;
4. Check if Y and U change when X and Y start off with zero values.
-- Pattern # 3
Xinport <= 0;
Yinport <= 0;
Uinport <= 1;
DXport <= 1;
Aport <= 4;
5. How does the circuit behave if DX is increased ?
-- Pattern # 4
Xinport <= 0;
Yinport <= 0;
Uinport <= 1;
DXport <= 2;
Aport <= 4;
6. Check if increasing the number of loop iterations causes overflow.
-- Pattern # 5
Xinport <= 0;
Yinport <= 0;
Uinport <= 1;
DXport <= 2;
Aport <= 8;
7. Check circuit behavior of X is large, and if it ever goes into the
loop.
-- Pattern # 6
Xinport <= 20;
Yinport <= 0;
Uinport <= 1;
DXport <= -2;
Aport <= 8;
8. What happens when initial value of Y is large ?
-- Pattern # 7
Xinport <= 1;
Yinport <= 32;
Uinport <= 10;
DXport <= 1;
Aport <= 4;
9. What happens when U starts off with a zero ?
-- Pattern # 8
Xinport <= 1;
Yinport <= 1;
Uinport <= 0;
DXport <= 1;
Aport <= 4;
10. What happens when X and U start off with a zero ?
-- Pattern # 9
Xinport <= 0;
Yinport <= 1;
Uinport <= 0;
DXport <= 1;
Aport <= 4;
11. How does the behavioir change when U starts off being negative?
-- Pattern # 10
Xinport <= 0;
Yinport <= 1;
Uinport <= -2;
DXport <= 1;
Aport <= 4;
12. Is there a problem if X and Y start off as zero and U starts off
on the negative ?
-- Pattern # 11
Xinport <= 0;
Yinport <= 0;
Uinport <= -2;
DXport <= 1;
Aport <= 4;
13. What happens when X , Y and U start off with negative values?
-- Pattern # 12
Xinport <= -4;
Yinport <= -1;
Uinport <= -2;
DXport <= 1;
Aport <= 0;
Pattern 13 to Pattern 56 contain some sanity checks. We start off by
setting
Xinport <= 1;
Yinport <= 0;
Uinport <= -2;
DXport <= 1;
Aport <= 0;
For patterns 13-15, we increment X from 1 to 3
For patterns 16-18, we set Y = 1 and then increment X from 1 to 3.
For patterns 19-21, we set Y = 2 and then increment X from 1 to 3.
For
For
For
For
patterns
patterns
patterns
patterns
22-30 we set Aport = 2
22-24, we set Y = 0 and then increment X from 1 to 3
25-27, we set Y = 1 and then increment X from 1 to 3.
28-30, we set Y = 2 and then increment X from 1 to 3.
For
For
For
For
patterns
patterns
patterns
patterns
31-39
31-33,
34-36,
37-39,
we
we
we
we
set
set
set
set
Aport
Y = 0
Y = 1
Y = 2
= 3
and then increment X from 1 to 3
and then increment X from 1 to 3.
and then increment X from 1 to 3.
For
For
For
For
patterns
patterns
patterns
patterns
40-48
40-42,
43-45,
46-48,
we
we
we
we
set
set
set
set
Aport
Y = 0
Y = 1
Y = 2
= 3
and
and
and
and Uinport = -1
then increment X from 1 to 3
then increment X from 1 to 3.
then increment X from 1 to 3.
For
For
For
For
patterns
patterns
patterns
patterns
49-57
49-51,
52-54,
55-57,
we
we
we
we
set
set
set
set
Aport
Y = 0
Y = 1
Y = 2
= 6
and
and
and
and Uinport = -1
then increment X
then increment X
then increment X
and DXport = 2
from 1 to 3
from 1 to 3.
from 1 to 3.
Download