OpenCores
URL https://opencores.org/ocsvn/w11/w11/trunk

Subversion Repositories w11

[/] [w11/] [tags/] [w11a_V0.6/] [doc/] [w11a_tb_guide.txt] - Diff between revs 17 and 19

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 17 Rev 19
Line 1... Line 1...
# $Id: w11a_tb_guide.txt 443 2011-12-23 11:21:03Z mueller $
# $Id: w11a_tb_guide.txt 504 2013-04-13 15:37:24Z mueller $
 
 
Guide to running w11a test benches
Guide to running w11a test benches
 
 
  Table of content:
  Table of content:
 
 
Line 157... Line 157...
 
 
   The rlink backend process can connect either via a named pipe to a ghdl
   The rlink backend process can connect either via a named pipe to a ghdl
   simulation, or via a serial port to a FPGA board. This way the same tests
   simulation, or via a serial port to a FPGA board. This way the same tests
   can be executed in simulation and on real hardware.
   can be executed in simulation and on real hardware.
 
 
   Currently two backend implementations are available:
 
   - pi_rri: written in perl (old, slow, but full functionality)
 
   - ti_tti: written in C++ and Tcl (new, fast, but as of V0.55 only with
 
               limited functionality; will replace pi_rri).
 
 
 
4. Available system tests benches -----------------------------------------
4. Available system tests benches -----------------------------------------
 
 
4a. serport tester -- --------------------------------------------
4a. serport tester -- --------------------------------------------
 
 
   The sys_tst_serloop design is a test target for validating the serial
   The sys_tst_serloop design is a test target for validating the serial
Line 215... Line 210...
     cd $RETROBASE/rtl/sys_gen/tst_rlink/s3board/tb
     cd $RETROBASE/rtl/sys_gen/tst_rlink/s3board/tb
     make tb_tst_rlink_s3
     make tb_tst_rlink_s3
     time ti_rri --run="tbw tb_tst_rlink_s3" --fifo --logl=3 -- \
     time ti_rri --run="tbw tb_tst_rlink_s3" --fifo --logl=3 -- \
       "package require tst_rlink" "tst_rlink::setup" "tst_rlink::test_all" |\
       "package require tst_rlink" "tst_rlink::setup" "tst_rlink::test_all" |\
       tee tb_tst_rlink_s3_dsim.log | egrep "(-[EFW]:|FAIL|PEND|DONE)"
       tee tb_tst_rlink_s3_dsim.log | egrep "(-[EFW]:|FAIL|PEND|DONE)"
     -> 1822195.0 ns  91100: DONE
     -> 960540.0 ns  48017: DONE
     -> real 0m13.281s
     -> real 0m4.470s
 
 
   - sys_tst_rlink_n2 test bench
   - sys_tst_rlink_n2 test bench
 
 
     cd $RETROBASE/rtl/sys_gen/tst_rlink/nexys2/tb
     cd $RETROBASE/rtl/sys_gen/tst_rlink/nexys2/tb
     make tb_tst_rlink_n2
     make tb_tst_rlink_n2
     time ti_rri --run="tbw tb_tst_rlink_n2" --fifo --logl=3 -- \
     time ti_rri --run="tbw tb_tst_rlink_n2" --fifo --logl=3 -- \
       "package require tst_rlink" "tst_rlink::setup" "tst_rlink::test_all" |\
       "package require tst_rlink" "tst_rlink::setup" "tst_rlink::test_all" |\
       tee tb_tst_rlink_n2_dsim.log | egrep "(-[EFW]:|FAIL|PEND|DONE)"
       tee tb_tst_rlink_n2_dsim.log | egrep "(-[EFW]:|FAIL|PEND|DONE)"
     -> 1769140.0 ns  88446: DONE
     -> 960560.0 ns  48017: DONE
     -> real 0m15.289s
     -> real 0m4.717s
 
 
   - sys_tst_rlink_n3 test bench
   - sys_tst_rlink_n3 test bench
 
 
     cd $RETROBASE/rtl/sys_gen/tst_rlink/nexys3/tb
     cd $RETROBASE/rtl/sys_gen/tst_rlink/nexys3/tb
     make tb_tst_rlink_n3
     make tb_tst_rlink_n3
     time ti_rri --run="tbw tb_tst_rlink_n3" --fifo --logl=3 -- \
     time ti_rri --run="tbw tb_tst_rlink_n3" --fifo --logl=3 -- \
       "package require tst_rlink" "tst_rlink::setup" "tst_rlink::test_all" |\
       "package require tst_rlink" "tst_rlink::setup" "tst_rlink::test_all" |\
       tee tb_tst_rlink_n3_dsim.log | egrep "(-[EFW]:|FAIL|PEND|DONE)"
       tee tb_tst_rlink_n3_dsim.log | egrep "(-[EFW]:|FAIL|PEND|DONE)"
     -> 893590.0 ns  89338: DONE
     -> 480380.0 ns  48017: DONE
     -> real 0m9.510s
     -> real 0m4.860s
 
 
4c. w11a systems -----------------------------------------------------
4c. w11a systems -----------------------------------------------------
 
 
   The stimulus file used in the w11a core test can be executed in the
   The stimulus file used in the w11a core test can be executed in the
   full system context (both s3board and nexys2 versions) with the
   full system context (both s3board and nexys2 versions) with the
Line 251... Line 246...
 
 
   - sys_w11a_s3 test bench
   - sys_w11a_s3 test bench
 
 
     cd $RETROBASE/rtl/sys_gen/w11a/s3board/tb
     cd $RETROBASE/rtl/sys_gen/w11a/s3board/tb
     make tb_w11a_s3
     make tb_w11a_s3
     time pi_rri --fifo --timeout=40. --cmax=3 \
     time ti_rri --pack=rw11a --run="tbw tb_w11a_s3" --fifo --logl=3 -- \
        --run="tbw tb_w11a_s3" -- \
         "rw11a::setup_cpu" \
         @../../../../w11a/tb/tb_pdp11core_stim.dat |\
         "rw11a::run_pdpcp ../../../../w11a/tb/tb_pdp11core_stim.dat" |\
       tee tb_w11a_s3_stim2_dsim.log | egrep "(-[EFW]:|FAIL|PEND|DONE)"
       tee tb_w11a_s3_stim2_dsim.log | egrep "(-[EFW]:|FAIL|PEND|DONE)"
     -> 7852095.0 ns 392595: DONE
     -> 10225140.0 ns 511247: DONE
     -> real 0m49.835s   user 0m50.203s   sys 0m00.696s
     -> real 0m52.105s  user 0m0.260s  sys 0m0.132s
 
 
   - sys_w11a_n2 test bench
   - sys_w11a_n2 test bench
 
 
     cd $RETROBASE/rtl/sys_gen/w11a/nexys2/tb
     cd $RETROBASE/rtl/sys_gen/w11a/nexys2/tb
     make tb_w11a_n2
     make tb_w11a_n2
     time pi_rri --fifo --timeout=40. --cmax=3 \
     time ti_rri --pack=rw11a --run="tbw tb_w11a_n2" --fifo --logl=3 -- \
        --run="tbw tb_w11a_n2" -- \
         "rw11a::setup_cpu" \
         @../../../../w11a/tb/tb_pdp11core_stim.dat |\
         "rw11a::run_pdpcp ../../../../w11a/tb/tb_pdp11core_stim.dat" |\
       tee tb_w11a_n2_stim2_dsim.log | egrep "(-[EFW]:|FAIL|PEND|DONE)"
       tee tb_w11a_n2_stim2_dsim.log | egrep "(-[EFW]:|FAIL|PEND|DONE)"
     -> 7836580.0 ns 391818: DONE
     -> 10278380.0 ns 513908: DONE
     -> real 1m0.854s   user 1m1.332s   sys 0m0.800s
     -> real 1m26.388s  user 0m0.312s  sys 0m0.156s
 
 
   - sys_w11a_n3 test bench
   - sys_w11a_n3 test bench
 
 
     cd $RETROBASE/rtl/sys_gen/w11a/nexys3/tb
     cd $RETROBASE/rtl/sys_gen/w11a/nexys3/tb
     make tb_w11a_n3
     make tb_w11a_n3
     time pi_rri --fifo --timeout=40. --cmax=3 \
     time ti_rri --pack=rw11a --run="tbw tb_w11a_n3" --fifo --logl=3 -- \
        --run="tbw tb_w11a_n3" -- \
         "rw11a::setup_cpu" \
         @../../../../w11a/tb/tb_pdp11core_stim.dat |\
         "rw11a::run_pdpcp ../../../../w11a/tb/tb_pdp11core_stim.dat" |\
       tee tb_w11a_n3_stim2_dsim.log | egrep "(-[EFW]:|FAIL|PEND|DONE)"
       tee tb_w11a_n3_stim2_dsim.log | egrep "(-[EFW]:|FAIL|PEND|DONE)"
     -> 3956540.0 ns 395633: DONE
     -> 5167410.0 ns 516720: DONE
     -> real 1m13.811s   user 1m14.389s   sys 0m0.948s
     -> real 1m26.611s   user 0m0.248s   sys 0m0.196s
 
 
 
   A new, modular w11a test bench is under construction. So far it is very
 
   incomplete. This very preliminary version can be executed with
 
 
 
   - sys_w11a_n2 test bench
 
 
 
     cd $RETROBASE/rtl/sys_gen/w11a/nexys2/tb
 
     make tb_w11a_n2
 
     time ti_rri --pack=rw11a --run="tbw tb_w11a_n2" --fifo --logl=3 -- \
 
         "rw11a::setup_cpu" "rw11a::tbench @w11a_all.dat" | \
 
       tee w11a_tbench_dsim.log | egrep "(-[EFW]:|FAIL|PASS|DONE)"
 
     -> 904180.0 ns  45198: DONE
 
     -> real 0m5.739s   user 0m0.576s   sys 0m0.076s

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.