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:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user