1
0
mirror of https://github.com/wfjm/w11.git synced 2026-01-25 20:16:00 +00:00

- interim release w11a_V0.57 (untagged)

- new C++ and Tcl based backend server supports now RK11 handling
- w11a systems operate with rlink over USB on nexsy2 and nexsy3 boards.
  See w11a_os_guide.txt for details
This commit is contained in:
Walter F.J. Mueller
2013-04-27 14:21:46 +00:00
parent 99de9893cb
commit b06cbef00a
105 changed files with 5202 additions and 593 deletions

View File

@@ -1,4 +1,4 @@
# $Id: INSTALL.txt 504 2013-04-13 15:37:24Z mueller $
# $Id: INSTALL.txt 511 2013-04-27 13:51:46Z mueller $
Guide to install and build w11a systems, test benches and support software
@@ -311,6 +311,10 @@ Guide to install and build w11a systems, test benches and support software
make <sys>.iconfig
For boards with a Cypress FX2 USB controller load the bitfile directly with
make <sys>.jconfig
If only the xst or par output is wanted just use
make <sys>.ngc
@@ -336,7 +340,7 @@ Guide to install and build w11a systems, test benches and support software
make <sys>.iconfig
For using the Cypress FX2 USB controlle on Digilent Nexys2, Nexys3 and
For using the Cypress FX2 USB controller on Digilent Nexys2, Nexys3 and
Atlys boards just connect the USB cable and
make <sys>.jconfig

View File

@@ -1,4 +1,4 @@
# $Id: README.txt 504 2013-04-13 15:37:24Z mueller $
# $Id: README.txt 511 2013-04-27 13:51:46Z mueller $
Release notes for w11a
@@ -80,7 +80,35 @@ Release notes for w11a
3. Change Log ----------------------------------------------------------------
- trunk (2013-06-13: svn rev 19(oc) 505(wfjm); untagged w11a_V0.562) +++++++++
- trunk (2013-04-27: svn rev 20(oc) 511(wfjm); untagged w11a_V0.57) +++++++++
- Summary
- new C++ and Tcl based backend server supports now RK11 handling
- w11a systems operate with rlink over USB on nexsy2 and nexsy3 boards.
See w11a_os_guide.txt for details
- New features
- new modules
- rtl/bplib/fx2rlink - new vhdl lib with rlink over fx2 modules
- ioleds_sp1c_fx2 - io activity leds for rlink_sp1c_fx2
- rlink_sp1c_fx2 - rlink over serport + fx2 combo
- tools/src/librw11
- Rw11*RK11 - classes for RK11 disk handling
- Rw11*Disk* - classes for Virtual disk handling
- tools/src/librwxxtpp
- RtclRw11*RK11 - tcl iface for RK11 disk handling
- RtclRw11*Disk* - tcl iface for Virtual disk handling
- new files
- rtl/sys_gen/w11a/tb/torri - quick starter for new backend
- Changes
- tcl module renames:
tools/tcl/rw11a -> tools/tcl/rw11
- Bug fixes
- tools/src/ReventLoop: poll list update logic in DoPoll() corrected
- trunk (2013-04-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

View File

@@ -1,4 +1,4 @@
# $Id: w11a_os_guide.txt 469 2013-01-05 12:29:44Z mueller $
# $Id: w11a_os_guide.txt 511 2013-04-27 13:51:46Z mueller $
Guide to run operating system images on w11a systems
@@ -13,41 +13,56 @@ Guide to run operating system images on w11a systems
1. I/O emulation setup ----------------------------------------------------
All UNIBUS peripherals which exchange data (currently DL11, LP11, PC11, RK11)
are currently emulated via a backend process. In the current version the
communication between FPGA board and backend is via the serial port, either
directly or via a USB-RS232 adapter. A direct connection is limited to 115k
Baud on most PCs, while a connection via a USB-RS232 adapter was tested up
to 460k Baud.
are currently emulated via a backend process. The communication between
FPGA board and backend server can be via
Notes: - A USB-RS232 cable with a Prolific Technology PL2303 chip simply
never gave reliable connections for higher Baud rates.
- A USB-RS232 cable with a FTDI FT232R chip, like the cable offered
by FTDI as US232R-100 worked fine.
- On older linux kernels (prior 2.6.32) it is essential to set the
latency timer for the FTDI USB-RS232 cable to 1 ms (from the power
in default of 16 ms), e.g. with
sudo $RETROBASE/tools/bin/set_ftdi_lat USB0 1
For linux kernel 2.6.32 or newer the default is 1 ms already.
- the following assumes that a USB-RS232 cable with FTDI chip is used
- Serial port
- via direct (/dev/ttySx) or via a USB-RS232 adapter. A direct connection
is limited to 115k Baud on most PCs, while a connection via a USB-RS232
adapter was tested up to 460k Baud. A USB-RS232 adapter is thus highly
recommended
- via integrated USB-RS232 adapter, like on nexys3 board. This is much
faster, allows bitrates up to 2 M Baud.
Notes: - A USB-RS232 cable with a Prolific Technology PL2303 chip simply
never gave reliable connections for higher Baud rates.
- A USB-RS232 cable with a FTDI FT232R chip, like the cable offered
by FTDI as US232R-100 worked fine.
- On older linux kernels (prior 2.6.32) it is essential to set the
latency timer for the FTDI USB-RS232 cable to 1 ms (from the
power up default of 16 ms), e.g. with
sudo $RETROBASE/tools/bin/set_ftdi_lat USB0 1
For linux kernel 2.6.32 or newer the default is 1 ms already.
- The rest assumes that a USB-RS232 cable with FTDI chip is used
- A 460k Baud connection gives in practice a disk throughput of
about 20 kB/s. This allows to test the system but is a bit slow
to real usage. In an OS with good disk caching like 2.11BSD the
impact of such a 'slow disk' is actually smaller than the bare
numbers suggest.
A 460k Baud connection gives in practice a disk throughput of about 20 kB/s.
This allows to test the system but is a bit slow to real usage. In an OS
with good disk caching like 2.11BSD the impact of such a 'slow disk' is
actually smaller than the bare numbers suggest.
- Direct USB connection using a Cypress FX2 USB controller
- is supported on the nexys2 and nexys3 FPGA boards
- clearly much faster than serial port connections
- also allows to configure the FPGA over the same USB connection
2. FPGA Board setup -------------------------------------------------------
- for s3board and nexys2
- connect the USB-RS232 cable to the RS232 port of the s3board or nexys2
- for kernel < 2.6.32: set the latency timer of the USB-RS232, e.g. with
sudo $RETROBASE/tools/bin/set_ftdi_lat USB0 1
- ensure that all 8 switches are in the indicated positions (SWI=xxxxxxxx)
- load the w11a design into the FPGA, e.g. via impact
- Using serial port
- for s3board and nexys2
- connect the USB-RS232 cable to the RS232 port of the s3board or nexys2
- for kernel < 2.6.32: set the latency timer of the USB-RS232, e.g. with
sudo $RETROBASE/tools/bin/set_ftdi_lat USB0 1
- ensure that all 8 switches are in the indicated positions (SWI=...)
- load the w11a design into the FPGA, e.g. via impact
- for nexys3
- connect USB cable to the 'usb uart' port (next to the 5 buttons)
- ensure that all 8 switches are in the indicated positions (SWI=...)
- load the w11a design into the FPGA, e.g. via impact
- for nexys3
- connect USB cable to the 'usb uart' port (next to the 5 buttons)
- ensure that all 8 switches are in the indicated positions (SWI=xxxxxxxx)
- load the w11a design into the FPGA, e.g. via impact
- Using Cypress FX2 USB controller
- for nexys2
- connect USB cable to mini-USB connector (between RS232 and PS/2 port)
! Must be connected to a USB port able to deliver 500 mA !
3. Unix V5 system ---------------------------------------------------------
@@ -56,13 +71,11 @@ Guide to run operating system images on w11a systems
Download, unpack and copy the disk images (*.dsk) to
$RETROBASE/rtl/sys_gen/w11a/tb
- Setup USB-RS232 cable, start xterm in vt100 mode and the server backend
Note: It is essential that the settings of the board switches are correct
in the following indicated by SWI = xxxxxxxx.
- Using old (pi_rri) backend server (serial port only)
cd $RETROBASE/rtl/sys_gen/w11a/tb
sudo $RETROBASE/tools/bin/set_ftdi_lat USB0 1
telnet_starter -d DL0 &
[for s3,n2:]
SWI = 00000010
dorri -u0,460,1,2 @uv5_boot.pcmd
@@ -70,6 +83,22 @@ Guide to run operating system images on w11a systems
SWI = 00000010
dorri -u0,2000,1,2 @uv5_boot.pcmd
- Using new (ti_rri) backend server (serial and fx2 supported)
cd $RETROBASE/rtl/sys_gen/w11a/tb
telnet_starter -d DL0 &
[for s3,n2 over serial:]
SWI = 00000010
torri -tu0,460k,break,xon @uv5_boot.tcl
[for n3 over serial:]
SWI = 00000010
torri -tu0,2M,break,xon @uv5_boot.tcl
[for n2,n3 over fx2:]
SWI = 00000100
torri -u @uv5_boot.tcl
- the boot dialog in the console xterm window will look like
(required input is in {..}, with {<CR>} denoting a carriage return:
@@ -101,14 +130,13 @@ Guide to run operating system images on w11a systems
Download, unpack and copy the disk images (*.dsk) to
$RETROBASE/rtl/sys_gen/w11a/tb
- Setup USB-RS232 cable, start two xterm in vt100 mode and the server backend
Note: It is essential that the settings of the board switches are correct
in the following indicated by SWI = xxxxxxxx.
- Using old (pi_rri) backend server (serial port only)
cd $RETROBASE/rtl/sys_gen/w11a/tb
sudo $RETROBASE/tools/bin/set_ftdi_lat USB0 1
telnet_starter -d DL0 &
telnet_starter -d DL1 &
[for s3,n2:]
SWI = 00000010
dorri -u0,460,1,2 @211bsd_rk_boot.pcmd
@@ -116,6 +144,22 @@ Guide to run operating system images on w11a systems
SWI = 00000010
dorri -u0,2000,1,2 @211bsd_rk_boot.pcmd
- Using new (ti_rri) backend server (serial and fx2 supported)
cd $RETROBASE/rtl/sys_gen/w11a/tb
telnet_starter -d DL0 &
[for s3,n2 over serial:]
SWI = 00000010
torri -tu0,460k,break,xon @211bsd_rk_boot.tcl
[for n3 over serial:]
SWI = 00000010
torri -tu0,2M,break,xon @211bsd_rk_boot.tcl
[for n2,n3 over fx2:]
SWI = 00000100
torri -u @211bsd_rk_boot.tcl
- the boot dialog in the console xterm window will look like
(required input is in {..}, with {<CR>} denoting a carriage return:
@@ -156,10 +200,7 @@ Guide to run operating system images on w11a systems
starting local daemons:Sun Jan 4 16:46:37 PST 2009
January 4 16:46:37 init: kernel security level changed from 0 to 1
January 4 16:46:40 getty: /dev/tty01: Device not configured
January 4 16:46:40 getty: /dev/tty00: Device not configured
...
2.11 BSD UNIX (curly.2bsd.com) (console)
@@ -187,4 +228,4 @@ Guide to run operating system images on w11a systems
syncing disks... done
halting
Now the server process can be stopped with two ^D.
Now the server process can be stopped with ^D.

View File

@@ -1,4 +1,4 @@
# $Id: w11a_tb_guide.txt 504 2013-04-13 15:37:24Z mueller $
# $Id: w11a_tb_guide.txt 511 2013-04-27 13:51:46Z mueller $
Guide to running w11a test benches
@@ -161,7 +161,7 @@ Guide to running w11a test 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
link UART stack. Send and receive throughput as well as loop-back tests
@@ -248,9 +248,9 @@ Guide to running w11a test benches
cd $RETROBASE/rtl/sys_gen/w11a/s3board/tb
make tb_w11a_s3
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" |\
time ti_rri --pack=rw11 --run="tbw tb_w11a_s3" --fifo --logl=3 -- \
"rw11::setup_cpu" \
"rw11::run_pdpcp ../../../../w11a/tb/tb_pdp11core_stim.dat" |\
tee tb_w11a_s3_stim2_dsim.log | egrep "(-[EFW]:|FAIL|PEND|DONE)"
-> 10225140.0 ns 511247: DONE
-> real 0m52.105s user 0m0.260s sys 0m0.132s
@@ -259,9 +259,9 @@ Guide to running w11a test benches
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::run_pdpcp ../../../../w11a/tb/tb_pdp11core_stim.dat" |\
time ti_rri --pack=rw11 --run="tbw tb_w11a_n2" --fifo --logl=3 -- \
"rw11::setup_cpu" \
"rw11::run_pdpcp ../../../../w11a/tb/tb_pdp11core_stim.dat" |\
tee tb_w11a_n2_stim2_dsim.log | egrep "(-[EFW]:|FAIL|PEND|DONE)"
-> 10278380.0 ns 513908: DONE
-> real 1m26.388s user 0m0.312s sys 0m0.156s
@@ -270,9 +270,9 @@ Guide to running w11a test benches
cd $RETROBASE/rtl/sys_gen/w11a/nexys3/tb
make tb_w11a_n3
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" |\
time ti_rri --pack=rw11 --run="tbw tb_w11a_n3" --fifo --logl=3 -- \
"rw11::setup_cpu" \
"rw11::run_pdpcp ../../../../w11a/tb/tb_pdp11core_stim.dat" |\
tee tb_w11a_n3_stim2_dsim.log | egrep "(-[EFW]:|FAIL|PEND|DONE)"
-> 5167410.0 ns 516720: DONE
-> real 1m26.611s user 0m0.248s sys 0m0.196s
@@ -284,8 +284,8 @@ Guide to running w11a test benches
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" | \
time ti_rri --pack=rw11 --run="tbw tb_w11a_n2" --fifo --logl=3 -- \
"rw11::setup_cpu" "rw11::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