rsp_verif_env
2.62 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
Mary Jo Doherty
June 7, 1996
The RSP directed verification environment, sort of:
Running one of the scripts in the directory PR/rspsim/vuregre/bin
(rcpgate_misc_test, rcpgate_rsp_regression, reality_rsp_misc,
reality_rsp_regression, or rsp_regression) creates in your current
directory a file called rsp_tests.v. For every test that you run
there are a handful of lines in rsp_tests.v to initialize memories,
handle comparisons with rspsim (the C simulator), and kick off the
test. The call to "rundiag" is what kicks off the test. The rundiag
definition can be found in
PR/rspsim/vuregre/regression2/rsp_regr_include.v.
Running one of the PR/rspsim/vuregre/bin scripts also does these things,
among others:
1. Generates a list of all of the available tests in a file called
testsuite, if you don't already have a file of that name. If you already
have a file of that name, only the tests listed in your file are run.
2. Creates a Makefile and uses that Makefile to generate a simv.
Rsp_tests.v is included in the simv make.
3. Copies sources for the tests into tests/*. Assembles them,
generates data for initializing memories, and runs rspsim. Tests are
of type SU, VU, or DMA. The SU tests are copied from
PR/rspsim/[su,il,di,bp]regre/ready. If you want to regenerate them in
ready you need to check them all out and then run ../csrc/gen (or
ilgen, or bpgen, or digen). Perhaps something similar is done for VU
and DMA tests; I forget. Tests dma60 and dma70 in their go-no-go form
have been broken for some time, by the way. We tried to move where in
RDRAM the code and data lives and got it wrong.
4. Leaves results and logs in ,out and regression.log.
For more information on what's going on, read the Makefile that's
created in your current directory. Look in tests/SU and tests/VU
(relative to your current directory) and the Makefiles there. Read
the test script you're running (PR/rspsim/vuregre/bin/rsp_regression,
reality_rsp_regression, etc.) and
PR/rspsim/vuregre/regression2/rsp_regr_include.v.
Other types of tests are cosim, rsp_random_dma, which randomly inserts
halts and DMA's while an infinite code loop runs, and random, which
generates and runs random RSP code. (I think the source for random is
in PR/rspsim/random with a script in PR/rspsim/vuregre/bin/random).
Random requires some hand-holding and analysis of results. False
errors are sometimes generated (perhaps because of problems with loops
in the code?).
Jean Tsai knows about cosim. Evan Wang wrote most of the SU tests,
Rich Webb wrote random, and Kishor Agrawal wrote most of the VU tests
and rsp_random_dma and all of the scripts and infrastructure.
Good luck.