rcp_verification.html 9.85 KB
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
   <meta http-equiv="Content-Type" content="text/html">
   <meta name="GENERATOR" content="Mozilla/4.72 [en] (X11; U; Linux 2.2.14-5.0 i686) [Netscape]">
   <title> RCP Verification </title>
</head>
<body>

<center>
<h1>
RCP Verification</h1></center>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RCP verification can be grouped
into four categories:&nbsp; iosim,&nbsp; rsp,&nbsp; rdp&nbsp; and misc.
We already ported all of them from indy to Linux(x86) platform,&nbsp;&nbsp;
here are results:
<p><font size=+1>1.&nbsp; iosim</font>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; iosim includes two tests: iosim
and iorand. The former test is some kind of individual functional test
to test each io interfaces(ai, pi, sp, si, rdram and ebus),&nbsp; the later
one is&nbsp; stress test to use iosim mechanism to driven all modules together.
All of them worked and checked in.
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; To run iosim test, you need to
:
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (1)&nbsp; iosim uses INET socket
to communicate with verilog server, before run iosim you need to specified
two environment variables:
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
IOSIM_SERVER and IOSIM_PORT
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
For example, in bash, you can
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
export&nbsp; IOSIM_SERVER = 10.0.0.57
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
export IOSIM_PORT = 8888
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (2)&nbsp; Build iosim
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
cd&nbsp; ${ROOT}/PR/iosim/src
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
make
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (3)&nbsp; Build simulator(verilog
ipc server)
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
cd&nbsp; ${ROOT}/PR/hw2/chip/sim
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
make ipc
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (4)&nbsp; If you want to run iosim
test individually.
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
cd&nbsp; ${ROOT}/PR/iosim/data/directed
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
make&nbsp;&nbsp; # to build data files
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
make&nbsp; ai_test | pi_test | sp_test | si_test | rdram_test | ebus_test
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
or
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
make tests
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
to run all of them.
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (5)&nbsp; Results are stored
in log files(xx.log).
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Note, the originally sp,
rdram and ebus&nbsp; are running on 6MBytes system, you can change ${ROOT}/PR/hw2/chip/rcp/include/define.vh
to make your system to 6/8 Mbytes or change test script to make tests running
on 4MBytes system. I have tested both of them, all of them&nbsp; worked.
I checked in 4 MByte test script to make life easier(you do not need to
recompile simulator again), you can checkout the older version of {ROOT}/PR/iosim/test/xx.tst
if you want to test as&nbsp; 6Mbytes system.
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; To run iorand,&nbsp; the
first three steps are exactly same, then:
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
cd&nbsp; ${ROOT}/PR/iosim/data/dma80
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
make&nbsp;&nbsp; #build data files
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
make&nbsp; tests
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; the result is store in iorand.log
<p>&nbsp;<font size=+1>2.&nbsp; RSP test</font>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Rsp tests
are used to test SP unit. There are 7 tests: su, su_single(single step
test) , vu, vu_single, pin, pin_single amd dma. All of them are ported
and tested.
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; To run
it:
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
(1)&nbsp; Build rspasm utility
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
cd ${ROOT}/PR/rspasm1201
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
make
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
(2)&nbsp; Build rsp c-simulator
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
cd ${ROOT}/PR/rspsim
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
make
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
(3)&nbsp; Run test
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
cd&nbsp;&nbsp; ${ROOT}/PR/rspsim/vuregre
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
make "test_name" to run indivadual test
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
or
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
make all&nbsp; to run all of them.
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The
results are store in rsptest/"name"/regression.log.
<p><font size=+1>3.&nbsp;&nbsp; RDP test</font>
<p><font size=+1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font>Rdp tests are a
little bit complicated, basically, you can run those test on rdp_cv(verilog)
, c-sim or through iosim(we did not test gate level), then compare result
images with golden images.&nbsp;&nbsp; David believed that the golded images
which were checked in as archiev files were not consistent with rdram images.&nbsp;
We re-captured the rdram image from hardware(indy), and run those tests
through C-sim and iosim, and found that iosim resultes match(some of them
are not perfectly matched due to dithering) hardware(indy) results, but
some of them does not matched with c-sim, they are:
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ATT:
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; test014
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; test015
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; COV:
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; test022
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; test023
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; test024
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; test040
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; test122
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; test123
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; test124
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EW:
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TEX:
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; test036
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; test037
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; test038
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; test040
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; test042
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; test140
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MS
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; test015
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; test016
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; To run those tests, you need to
add "-m -b" for testit in GNUmakefile in ${ROOT}/PR/rdpsim/test/rdp, then
make (rgb filename) or nightly_rdp_xx .
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; You also need to make image_diff_xx
to get the final result,&nbsp; please put "-b" for nightly_image_diff.sh
in GNUmakefile, if original source files are captured from hardware(indy).
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Note: Dithering is using
random number which is based on system uptime and we cannot make it consistent.
<p><font size=+1>4.&nbsp; MISC</font>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MISC tests includes
vi test, backend Iosim and video test.
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; To run
vi test,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
cd&nbsp; ${ROOT}/PR/rdpsim/test/vi
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
make rtests
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The results
is store in&nbsp; file rcheckall000.out at each subdirs. All of those tests
are passed.
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; To
run backend Iosim,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
cd&nbsp; ${ROOT}/PR/rdpsim/backend/test/Iosim
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
make allvi
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Results are store in file OutData/Results.
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
We cannot make h18 h32 and v32 worked.
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; To
run video test,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
cd&nbsp;&nbsp;&nbsp; ${ROOT}/PR/hw2/chip/sim
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
make&nbsp; mln1test&nbsp; mln2test mlp1test mhn1test mhf2test dth2test
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
All tests are passed.
</body>
</html>