1
0
mirror of https://github.com/wfjm/w11.git synced 2026-04-28 04:56:06 +00:00

- interim release w11a_V0.562 (untagged)

- C++ and Tcl based backend server: many support classes for interfacing to 
  w11 system designs, and the associated Tcl bindings.
- add 'asm-11', a simple, Macro-11 syntax subset combatible, assembler. 
- use now doxygen 1.8.3.1, generate c++,tcl, and vhdl source docs
This commit is contained in:
Walter F.J. Mueller
2013-04-13 17:13:15 +00:00
parent 29d2dc5bef
commit 99de9893cb
439 changed files with 21913 additions and 1980 deletions

View File

@@ -1,4 +1,4 @@
# $Id: INSTALL.txt 467 2013-01-02 19:49:05Z mueller $
# $Id: INSTALL.txt 504 2013-04-13 15:37:24Z mueller $
Guide to install and build w11a systems, test benches and support software
@@ -22,6 +22,7 @@ Guide to install and build w11a systems, test benches and support software
a. General instructions
b. Configuring FPGAs
c. Available systems
9. Generate Doxygen based source code view
1. Download ---------------------------------------------------------------
@@ -75,6 +76,9 @@ Guide to install and build w11a systems, test benches and support software
- ghdl
-> see INSTALL_ghdl.txt for the unfortunately gory details
- for doxygen documentation an up-to-date installation of doxygen is
required, version 1.8.3.1 or later
- optional but very useful is:
- gtkwave
-> package: gtkwave
@@ -89,13 +93,15 @@ Guide to install and build w11a systems, test benches and support software
- the definition of the environment variables:
- RETROBASE: must refer to the installation root directory
- BOOSTINC: pathname for includes of boost library
- TCLINC: pathname for includes of Tcl runtime library
- RETRO_FX2_VID and RETRO_FX2_PID: default USB VID/PID, see below
- that the tools binary directory is in the path
- that the tools library directory is in the library path
- optional environment variables:
- BOOSTINC: pathname for includes of boost library
- BOOSTLIB: pathname for libraries of boost library
{Note: Either both must be undefined, or both must be defined}
For bash and alike use
export RETROBASE=<wdir>
@@ -105,9 +111,10 @@ Guide to install and build w11a systems, test benches and support software
In most cases the boost library version coming with the distribution will
work, similar for Tcl, in those cases simply use
export BOOSTINC=/usr/include
export TCLINC=/usr/include/tcl8.5
and don't setup BOOSTINC and BOOSTLIB.
After that building functional model based test benches will work. If you
want to also build post-xst or post-par test benches read next section.
@@ -378,3 +385,22 @@ Guide to install and build w11a systems, test benches and support software
cd $RETROBASE/rtl/sys_gen/w11a/nexys3
make sys_w11a_n3.bit
9. Generate Doxygen based source code view --------------------------------
Currently there is not much real documentation included in the source
files. The doxygen generated html output is nevertheless very useful
to browse the code. C++, Tcl and Vhdl source are covered by setup files
contained in the project files.
To generate the html files
cd $RETROBASE/tools/dox
export RETRODOXY <desired root of html documentation>
./make_doxy
If RETRODOXY is not defined '/tmp' is used. To view the docs use
firefox $RETRODOXY/w11/cpp/html/index.html &
firefox $RETRODOXY/w11/tcl/html/index.html &
firefox $RETRODOXY/w11/vhd/html/index.html &

View File

@@ -1,4 +1,4 @@
# $Id: README.txt 472 2013-01-06 14:39:10Z mueller $
# $Id: README.txt 504 2013-04-13 15:37:24Z mueller $
Release notes for w11a
@@ -8,7 +8,6 @@ Release notes for w11a
2. Files
3. Change Log
1. Documentation -------------------------------------------------------------
More detailed information on installation, build and test can be found
@@ -58,6 +57,9 @@ Release notes for w11a
rtl/vlib/xlib - Xilinx specific components
rtl/w11a - w11a core
tools helper programs
tools/asm-11 - pdp-11 assembler code
tools/asm-11/tests - test bench for asm-11
tools/asm-11/tests-err - test bench for asm-11 (error check part)
tools/bin - scripts and binaries
tools/dox - Doxygen documentation configuration
tools/make - make includes
@@ -71,10 +73,51 @@ Release notes for w11a
tools/src/librtcltools - support classes to implement Tcl bindings
tools/src/librtools - general support classes and methods
tools/src/librutiltpp - Tcl support commands implemented in C++
tools/src/librw11 - w11 over rlink interface
tools/src/librwxxtpp - C++ to tcl binding for w11 over rlink iface
tools/tbench - w11 CPU test bench
tools/tcl - Tcl scripts
3. Change Log ----------------------------------------------------------------
- trunk (2013-06-13: svn rev 19(oc) 505(wfjm); untagged w11a_V0.562) +++++++++
- Summary
- V0.53 introduced a new C++ and Tcl based backend server, but only the
very basic rlink handling layer. This step release add now many support
classes for interfacing to w11 system designs, and the associated Tcl
bindings.
- add 'asm-11', a simple, Macro-11 syntax subset combatible, assembler.
Can be used stand-alone to generate 'absolute loader' format files,
but also integrates tightly into the Tcl environment and is used as
building block in the creation of CPU test benches.
- use now doxygen 1.8.3.1, generate c++,tcl, and vhdl source docs
See section 9. in INSTALL.txt for details.
- New features
- new directory trees for
- tools/asm-11 - asm-11 code
- tools/asm-11/tests - test bench for asm-11
- tools/asm-11/tests-err - test bench for asm-11 (error check part)
- tools/src/librw11 - w11 over rlink interface
- tools/src/librwxxtpp - C++ to tcl binding for w11 over rlink iface
- tools/tbench - w11 CPU test bench
- new modules
- tools/bin
- asm-11 - simple, Macro-11 syntax subset compatible, assembler
- asm-11_expect - expect checker for asm-11 test bench
- tools/dox
- *.Doxyfile - new descriptors c++,tcl,vhdl docs
- make_dox - driver script to generate c++,tcl,vhdl doxygen docs
- Changes
- vhdl module renames:
vlib/serport -> vlib/serportlib
- vhdl module splits:
bplib/bpgen/bpgenlib -> bpgenlib + bpgenrbuslib
- C++ class splits
librtcltools/RtclProxyBase -> RtclCmdBase + RtclProxyBase
- trunk (2013-01-06: svn rev 18(oc) 472(wfjm); untagged w11a_V0.561) +++++++++
- Summary

View File

@@ -1,4 +1,4 @@
# $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
@@ -159,11 +159,6 @@ Guide to running w11a test benches
simulation, or via a serial port to a FPGA board. This way the same tests
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 -----------------------------------------
4a. serport tester -- --------------------------------------------
@@ -217,8 +212,8 @@ Guide to running w11a test benches
time ti_rri --run="tbw tb_tst_rlink_s3" --fifo --logl=3 -- \
"package require tst_rlink" "tst_rlink::setup" "tst_rlink::test_all" |\
tee tb_tst_rlink_s3_dsim.log | egrep "(-[EFW]:|FAIL|PEND|DONE)"
-> 1822195.0 ns 91100: DONE
-> real 0m13.281s
-> 960540.0 ns 48017: DONE
-> real 0m4.470s
- sys_tst_rlink_n2 test bench
@@ -227,8 +222,8 @@ Guide to running w11a test benches
time ti_rri --run="tbw tb_tst_rlink_n2" --fifo --logl=3 -- \
"package require tst_rlink" "tst_rlink::setup" "tst_rlink::test_all" |\
tee tb_tst_rlink_n2_dsim.log | egrep "(-[EFW]:|FAIL|PEND|DONE)"
-> 1769140.0 ns 88446: DONE
-> real 0m15.289s
-> 960560.0 ns 48017: DONE
-> real 0m4.717s
- sys_tst_rlink_n3 test bench
@@ -237,8 +232,8 @@ Guide to running w11a test benches
time ti_rri --run="tbw tb_tst_rlink_n3" --fifo --logl=3 -- \
"package require tst_rlink" "tst_rlink::setup" "tst_rlink::test_all" |\
tee tb_tst_rlink_n3_dsim.log | egrep "(-[EFW]:|FAIL|PEND|DONE)"
-> 893590.0 ns 89338: DONE
-> real 0m9.510s
-> 480380.0 ns 48017: DONE
-> real 0m4.860s
4c. w11a systems -----------------------------------------------------
@@ -253,32 +248,44 @@ Guide to running w11a test benches
cd $RETROBASE/rtl/sys_gen/w11a/s3board/tb
make tb_w11a_s3
time pi_rri --fifo --timeout=40. --cmax=3 \
--run="tbw tb_w11a_s3" -- \
@../../../../w11a/tb/tb_pdp11core_stim.dat |\
time ti_rri --pack=rw11a --run="tbw tb_w11a_s3" --fifo --logl=3 -- \
"rw11a::setup_cpu" \
"rw11a::run_pdpcp ../../../../w11a/tb/tb_pdp11core_stim.dat" |\
tee tb_w11a_s3_stim2_dsim.log | egrep "(-[EFW]:|FAIL|PEND|DONE)"
-> 7852095.0 ns 392595: DONE
-> real 0m49.835s user 0m50.203s sys 0m00.696s
-> 10225140.0 ns 511247: DONE
-> real 0m52.105s user 0m0.260s sys 0m0.132s
- sys_w11a_n2 test bench
cd $RETROBASE/rtl/sys_gen/w11a/nexys2/tb
make tb_w11a_n2
time pi_rri --fifo --timeout=40. --cmax=3 \
--run="tbw tb_w11a_n2" -- \
@../../../../w11a/tb/tb_pdp11core_stim.dat |\
time ti_rri --pack=rw11a --run="tbw tb_w11a_n2" --fifo --logl=3 -- \
"rw11a::setup_cpu" \
"rw11a::run_pdpcp ../../../../w11a/tb/tb_pdp11core_stim.dat" |\
tee tb_w11a_n2_stim2_dsim.log | egrep "(-[EFW]:|FAIL|PEND|DONE)"
-> 7836580.0 ns 391818: DONE
-> real 1m0.854s user 1m1.332s sys 0m0.800s
-> 10278380.0 ns 513908: DONE
-> real 1m26.388s user 0m0.312s sys 0m0.156s
- sys_w11a_n3 test bench
cd $RETROBASE/rtl/sys_gen/w11a/nexys3/tb
make tb_w11a_n3
time pi_rri --fifo --timeout=40. --cmax=3 \
--run="tbw tb_w11a_n3" -- \
@../../../../w11a/tb/tb_pdp11core_stim.dat |\
time ti_rri --pack=rw11a --run="tbw tb_w11a_n3" --fifo --logl=3 -- \
"rw11a::setup_cpu" \
"rw11a::run_pdpcp ../../../../w11a/tb/tb_pdp11core_stim.dat" |\
tee tb_w11a_n3_stim2_dsim.log | egrep "(-[EFW]:|FAIL|PEND|DONE)"
-> 3956540.0 ns 395633: DONE
-> real 1m13.811s user 1m14.389s sys 0m0.948s
-> 5167410.0 ns 516720: DONE
-> 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