mirror of
https://github.com/wfjm/w11.git
synced 2026-02-14 04:04:42 +00:00
- interim release w11a_V0.52 (untagged)
- migrate to rbus protocol verion 3 - reorganize rbus and rlink modules, many renames
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
# $Id: README.txt 341 2010-11-27 23:05:43Z mueller $
|
||||
# $Id: README.txt 351 2010-12-30 21:50:54Z mueller $
|
||||
|
||||
Release notes for w11a
|
||||
|
||||
@@ -9,7 +9,7 @@ Release notes for w11a
|
||||
3. Change Log
|
||||
|
||||
|
||||
1. Documentation ----------------------------------------------------------
|
||||
1. Documentation -------------------------------------------------------------
|
||||
|
||||
More detailed information on installation, build and test can be found
|
||||
in the doc directory, specifically
|
||||
@@ -20,7 +20,7 @@ Release notes for w11a
|
||||
* w11a_os_guide.txt: booting operating systems
|
||||
* w11a_known_issues.txt: known differences, limitations and issues
|
||||
|
||||
2. Files ------------------------------------------------------------------
|
||||
2. Files ---------------------------------------------------------------------
|
||||
|
||||
doc Documentation
|
||||
rtl VHDL sources
|
||||
@@ -38,7 +38,8 @@ Release notes for w11a
|
||||
rtl/vlib/comlib - communication
|
||||
rtl/vlib/genlib - general
|
||||
rtl/vlib/memlib - memory
|
||||
rtl/vlib/rri - remote-register-interface
|
||||
rtl/vlib/rbus - rri: rbus
|
||||
rtl/vlib/rlink - rri: rlink
|
||||
rtl/vlib/serport - serial port (UART)
|
||||
rtl/vlib/simlib - simulation helper lib
|
||||
rtl/vlib/xlib - Xilinx specific components
|
||||
@@ -46,9 +47,86 @@ Release notes for w11a
|
||||
tools helper programs
|
||||
tools/bin - scripts and binaries
|
||||
|
||||
3. Change Log -------------------------------------------------------------
|
||||
3. Change Log ----------------------------------------------------------------
|
||||
|
||||
- trunk (2010-11-28: svn rev 8(oc) 341(wfjm); untagged w11a_V0.51)
|
||||
- trunk (2011-01-02: svn rev 9(oc) 352(wfjm); untagged w11a_V0.52) +++++++++
|
||||
|
||||
- Summary
|
||||
- Introduced rbus protocol V3
|
||||
- reorganize rbus and rlink modules, many renames
|
||||
|
||||
- Changes
|
||||
- module renames:
|
||||
- the rri (remote-register-interface) components were re-organized and
|
||||
cleanly separated into rbus and rlink components:
|
||||
rri/rb_sres_or_* -> rbus/rb_sres_or_*
|
||||
rri/rri_core -> rlink/rlink_core
|
||||
rri/rri_base_serport -> rlink/rlink_base_serport
|
||||
rri/rrilib -> rbus/rblib
|
||||
-> rlink/rlinklib
|
||||
rri/rri_serport -> rlink/rlink_serport
|
||||
rri/tb/rritb_sres_or_mon -> rbus/rb_sres_or_mon
|
||||
- the rri test bench monitors were reorganized and renamed
|
||||
rri/tb/rritb_cpmon -> rlink/rlink_mon
|
||||
rri/tb/rritb_cpmon_sb -> rlink/rlink_mon_sb
|
||||
rri/tb/rritb_rbmon -> rbus/rb_mon
|
||||
rri/tb/rritb_rbmon_sb -> rbus/rb_mon_sb
|
||||
- the rri low level test bench were also renamed
|
||||
rri/tb/tb_rri -> rlink/tb/tb_rlink
|
||||
rri/tb/tb_rri_core -> rlink/tb/tb_rlink_direct
|
||||
rri/tb/tb_rri_serport -> rlink/tb/tb_rlink_serport
|
||||
- the base modules for rlink+cext based test benches were renamed
|
||||
rri/tb/rritb_core_cm -> rlink/tb/tbcore_rlink_dcm
|
||||
rri/tb/rritb_core -> rlink/tb/tbcore_rlink
|
||||
rri/tb/vhpi_rriext -> rlink/tb/rlink_cext_vhpi
|
||||
rri/tb/cext_rriext.c -> rlink/tb/rlink_cext.c
|
||||
|
||||
- other rri/rbus related renames
|
||||
bplib/s3board/s3_humanio_rri -> s3_humanio_rbus
|
||||
w11a/pdp11_core_rri -> pdp11_core_rbus
|
||||
|
||||
- other renames
|
||||
w11a/tb/tb_pdp11_core -> tb_pdp11core
|
||||
|
||||
- signal renames:
|
||||
- rlink interface (defined in rlink/rlinklib.vhd):
|
||||
- rename rlink port signals:
|
||||
CP_* -> RL_*
|
||||
- rename status bit names to better reflect their usage in v3:
|
||||
ccrc -> cerr - indicates cmd crc error or other cmd level abort
|
||||
dcrc -> derr - indicates data crc error or other data level abort
|
||||
ioto -> rbnak - indicates rbus abort, either no ack or timeout
|
||||
ioerr -> rberr - indicates that rbus err flag was set
|
||||
|
||||
- migrate to rbus protocol verion 3
|
||||
- in rb_mreq use now aval,re,we instead of req,we
|
||||
- basic rbus transaction now takes 2 cycles, one for address select, one
|
||||
for data exchange. Same concept and reasoning behind as in ibus V2.
|
||||
|
||||
- vlib/rlink/rlink_core
|
||||
- cerr and derr state flags now set on command or data crc errors as well
|
||||
as on eop/nak aborts when command or wblk data is received.
|
||||
- has now 'monitor port', RL_MONI.
|
||||
- RL_FLUSH port removed, the flush logic is now in rlink_serport
|
||||
|
||||
- restructured rlink modules
|
||||
- rlink_core is the rlink protocol engine with a 9 bit wide interface
|
||||
- rlink_rlb2rl (new) is an adapter to a byte wide interface
|
||||
- rlink_base (new) combines rlink_core and rlink_rlb2rl
|
||||
- rlink_serport (re-written) is an adapter to a serial interface
|
||||
- rlink_base_serport (renamed) combines rlink_base and rlink_serport
|
||||
|
||||
- New features
|
||||
- vlib/rbus
|
||||
- added several rbus devices useful for debugging
|
||||
- rbd_tester: test target, used for example in test benches
|
||||
|
||||
- trunk (2010-11-28: svn rev 8(oc) 341(wfjm); untagged w11a_V0.51) ++++++++
|
||||
|
||||
- Summary
|
||||
- Introduced ibus protocol V2
|
||||
- Nexys2 systems use DCM
|
||||
- sys_w11a_n2 now runs with 58 MHz
|
||||
|
||||
- Changes
|
||||
- module renames:
|
||||
@@ -66,7 +144,7 @@ Release notes for w11a
|
||||
- migrate to ibus protocol verion 2
|
||||
- in ib_mreq use now aval,re,we,rmw instead of req,we,dip
|
||||
- basic ibus transaction now takes 2 cycles, one for address select, one
|
||||
for data exchange. This avoids too long logic paths in ibus sector.
|
||||
for data exchange. This avoids too long logic paths in the ibus logic.
|
||||
|
||||
- New features
|
||||
- ibus
|
||||
@@ -80,7 +158,7 @@ Release notes for w11a
|
||||
- Bug fixes
|
||||
- rtl/vlib/Makefile.xflow: use default .opt files under rtl/vlib again.
|
||||
|
||||
- w11a_V0.5 (2010-07-23) -------------------------------------
|
||||
- w11a_V0.5 (2010-07-23) ++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
Initial release with
|
||||
- w11a CPU core
|
||||
|
||||
@@ -1,10 +1,15 @@
|
||||
// $Id: w11a_seq_flow.DOT 315 2010-07-11 22:18:39Z mueller $
|
||||
// $Id: w11a_seq_flow.DOT 343 2010-12-05 21:24:38Z mueller $
|
||||
//
|
||||
// The create pdf use
|
||||
//
|
||||
// cpp w11a_seq_flow.DOT w11a_seq_flow.dot
|
||||
// dot -Tps2 w11a_seq_flow.dot > w11a_seq_flow.ps
|
||||
// ps2pdf w11a_seq_flow.ps
|
||||
// dot -Tpdf w11a_seq_flow.dot > w11a_seq_flow.pdf
|
||||
// xpdf w11a_seq_flow.pdf
|
||||
// -> gives 30.54 x 43.92 in page size
|
||||
//
|
||||
// pdflatex w11a_seq_flow_a4wrap.tex
|
||||
// xpdf w11a_seq_flow_a4wrap.pdf
|
||||
// --> gives 8.27 x 11.69 in page size (A4)
|
||||
//
|
||||
|
||||
#define FORKSTATE
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# $Id: w11a_tb_guide.txt 317 2010-07-22 19:36:56Z mueller $
|
||||
# $Id: w11a_tb_guide.txt 352 2011-01-02 13:01:37Z mueller $
|
||||
|
||||
Guide to running w11a test benches
|
||||
|
||||
@@ -65,66 +65,75 @@ Guide to running w11a test benches
|
||||
make tb_serport_uart_rx
|
||||
time tbw tb_serport_uart_rx |\
|
||||
tee tb_serport_uart_rx_dsim.log | egrep "(FAIL|DONE)"
|
||||
-> 1269955 ns 63488: DONE
|
||||
-> 1269955.0 ns 63488: DONE
|
||||
-> real 0m1.178s user 0m1.172s sys 0m0.020s
|
||||
|
||||
|
||||
- serport receiver/transmitter test
|
||||
make tb_serport_uart_rxtx
|
||||
time tbw tb_serport_uart_rxtx |\
|
||||
tee tb_serport_uart_rxtx_dsim.log | egrep "(FAIL|DONE)"
|
||||
-> 52335 ns 2607: DONE
|
||||
-> 52335.0 ns 2607: DONE
|
||||
-> real 0m0.094s user 0m0.092s sys 0m0.008s
|
||||
|
||||
- serport autobauder test
|
||||
make tb_serport_autobaud
|
||||
time tbw tb_serport_autobaud |\
|
||||
tee tb_serport_autobaud_dsim.log | egrep "(FAIL|DONE)"
|
||||
-> 367475 ns 18364: DONE
|
||||
-> 367475.0 ns 18364: DONE
|
||||
-> real 0m0.610s user 0m0.612s sys 0m0.004s
|
||||
|
||||
- rri core test
|
||||
- rlink core test
|
||||
|
||||
cd $RETROBASE/rtl/vlib/rri/tb
|
||||
make tb_rri_core
|
||||
time tbw tb_rri_core |\
|
||||
tee tb_rri_core_dsim.log | egrep "(FAIL|DONE)"
|
||||
-> 61855 ns 3083: DONE
|
||||
-> real 0m0.163s user 0m0.128s sys 0m0.020s
|
||||
cd $RETROBASE/rtl/vlib/rlink/tb
|
||||
make tb_rlink_direct
|
||||
time tbw tb_rlink_direct |\
|
||||
tee tb_rlink_direct_dsim.log | egrep "(FAIL|DONE)"
|
||||
-> 142355.0 ns 7108: DONE
|
||||
-> real 0m0.317s user 0m0.324s sys 0m0.028s
|
||||
|
||||
- rri core test via serial port interface
|
||||
- rlink core test via serial port interface
|
||||
|
||||
make tb_rri_serport
|
||||
time tbw tb_rri_serport |\
|
||||
tee tb_rri_serport_dsim.log | egrep "(FAIL|DONE)"
|
||||
-> 273355 ns 13658: DONE
|
||||
-> real 0m0.939s user 0m0.924s sys 0m0.008s
|
||||
make tb_rlink_serport
|
||||
time tbw tb_rlink_serport tb_rlink_serport_stim.dat |\
|
||||
tee tb_rlink_serport_stim2_dsim.log | egrep "(FAIL|DONE)"
|
||||
-> 72735.0 ns 3627: DONE
|
||||
-> real 0m0.266s user 0m0.264s sys 0m0.008s
|
||||
|
||||
time tbw tb_rlink_serport tb_rlink_stim.dat |\
|
||||
tee tb_rlink_serport_dsim.log | egrep "(FAIL|DONE)"
|
||||
-> 536155.0 ns 26798: DONE
|
||||
-> real 0m1.714s user 0m1.704s sys 0m0.044s
|
||||
|
||||
- w11a core test (using behavioural model)
|
||||
|
||||
cd $RETROBASE/rtl/w11a/tb
|
||||
make tb_pdp11_core
|
||||
time tbw tb_pdp11_core |\
|
||||
tee tb_pdp11_core_dsim.log | egrep "(FAIL|DONE)"
|
||||
-> 1220255 ns 61003: DONE
|
||||
-> real 0m14.964s user 0m14.977s sys 0m0.108s
|
||||
make tb_pdp11core
|
||||
time tbw tb_pdp11core |\
|
||||
tee tb_pdp11core_dsim.log | egrep "(FAIL|DONE)"
|
||||
-> 1220255.0 ns 61003: DONE
|
||||
-> real 0m10.736s user 0m10.713s sys 0m0.060s
|
||||
|
||||
- w11a core test (using post-synthesis model)
|
||||
|
||||
make ghdl_tmp_clean tb_pdp11_core_ssim
|
||||
time tbw tb_pdp11_core_ssim |\
|
||||
tee tb_pdp11_core_ssim.log | egrep "(FAIL|DONE)"
|
||||
-> 1220255 ns 61003: DONE
|
||||
-> real 1m8.230s user 1m8.144s sys 0m0.124s
|
||||
make ghdl_tmp_clean tb_pdp11core_ssim
|
||||
time tbw tb_pdp11core_ssim |\
|
||||
tee tb_pdp11core_ssim.log | egrep "(FAIL|DONE)"
|
||||
-> 1220255.0 ns 61003: DONE
|
||||
-> real 1m9.738s user 1m9.588s sys 0m0.096s
|
||||
|
||||
3. System tests benches ---------------------------------------------------
|
||||
|
||||
The system tests allow to verify to verify the full 11/70 SoC design.
|
||||
In this case vhdl test bench code contains
|
||||
- (simple) models of the memories used on the FPGA boards
|
||||
- drivers for the rri connection (currently just serialport)
|
||||
- code to interface the rri data stream to a UNIX 'named pipe',
|
||||
- drivers for the rlink connection (currently just serialport)
|
||||
- code to interface the rlink data stream to a UNIX 'named pipe',
|
||||
implemented with a C routine which is called via VHPI from VHDL.
|
||||
This way the whole ghdl simulation can be controlled via a di-directional
|
||||
byte stream.
|
||||
|
||||
The rri backend process, currently a perl script named pi_rri, can connect
|
||||
The rlink backend process, currently a perl script named pi_rri, 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 can be executed in simulation and
|
||||
on real hardware.
|
||||
@@ -134,7 +143,7 @@ Guide to running w11a test benches
|
||||
The stimulus file used in the w11a core test can be executed in the
|
||||
full system context (both s3board and nexys2 versions) with the
|
||||
following commands. Note that the cycle number printed in the DONE
|
||||
line can now vary slightly because the response time of the rri
|
||||
line can now vary slightly because the response time of the rlink
|
||||
backend process and thus scheduling of backend vs. ghdl process
|
||||
can affect the result.
|
||||
|
||||
@@ -144,10 +153,10 @@ Guide to running w11a test benches
|
||||
make tb_w11a_s3
|
||||
time pi_rri --fifo --timeout=40. --cmax=3 \
|
||||
--run="tbw tb_w11a_s3" -- \
|
||||
@../../../../w11a/tb/tb_pdp11_core_stim.dat |\
|
||||
@../../../../w11a/tb/tb_pdp11core_stim.dat |\
|
||||
tee tb_w11a_s3_stim2_dsim.log | egrep "(-[EW]:|FAIL|PEND|DONE)"
|
||||
-> 7766215 ns 388301: DONE
|
||||
-> real 0m51.300s user 0m51.711s sys 0m0.772s
|
||||
-> 7757655.0 ns 387873: DONE
|
||||
-> real 0m49.835s user 0m50.203s sys 0m0.696s
|
||||
|
||||
- sys_w11a_n2 system test
|
||||
|
||||
@@ -155,7 +164,7 @@ Guide to running w11a test benches
|
||||
make tb_w11a_n2
|
||||
time pi_rri --fifo --timeout=40. --cmax=3 \
|
||||
--run="tbw tb_w11a_n2" -- \
|
||||
@../../../../w11a/tb/tb_pdp11_core_stim.dat |\
|
||||
@../../../../w11a/tb/tb_pdp11core_stim.dat |\
|
||||
tee tb_w11a_n2_stim2_dsim.log | egrep "(-[EW]:|FAIL|PEND|DONE)"
|
||||
-> 7766855 ns 388333: DONE
|
||||
-> real 0m51.243s user 0m51.647s sys 0m0.776s
|
||||
-> 6673237.2 ns 387035: DONE
|
||||
-> real 0m56.173s user 0m56.612s sys 0m0.604s
|
||||
|
||||
Reference in New Issue
Block a user