mirror of
https://github.com/wfjm/w11.git
synced 2026-02-19 14:15:23 +00:00
185 lines
8.8 KiB
Plaintext
185 lines
8.8 KiB
Plaintext
$Id: README.txt 722 2015-12-30 19:45:46Z mueller $
|
|
|
|
Release notes for w11a
|
|
|
|
Table of content:
|
|
|
|
1. Documentation
|
|
2. Change Log
|
|
|
|
1. Documentation -------------------------------------------------------------
|
|
|
|
More detailed information on installation, build and test can be found
|
|
in the doc directory, specifically
|
|
|
|
* README.txt: release notes
|
|
* README_known_issues.txt: known issues
|
|
* INSTALL.txt: installation and building test benches and systems
|
|
* FILES.txt: short description of the directory layout, what is where ?
|
|
* w11a_tb_guide.txt: running test benches
|
|
* w11a_os_guide.txt: booting operating systems
|
|
* w11a_known_issues.txt: known differences, limitations and issues
|
|
|
|
2. Change Log ----------------------------------------------------------------
|
|
|
|
- trunk (2015-12-30: svn rev 34(oc) 722(wfjm); untagged w11a_V0.71) +++++++++
|
|
- Preface
|
|
- the w11a so far lacked any 'hardware debugger' support, which made the
|
|
debugging of CPU core issues a bit tedious. This release added a first
|
|
implementation of CPU debugger and monitoring features
|
|
- dmhbpt: hardware break point unit. Allows to set multiple break points
|
|
on instruction fetches (thus code break points) and on data
|
|
reads/writes (thus data access break points). The number of
|
|
breakpoints is configurable between 0 and 4, in current
|
|
designs 2 are available
|
|
- dmcmon: CPU state monitor. A buffer of configurable size which holds
|
|
a wide range of information on execution of the most recent
|
|
instructions. Tracing can be a instruction as well as on
|
|
micro cycle level.
|
|
- dmscnt: micro state counter. A counter array which allows to monitor
|
|
in which micro state the CPU time is spend, separated for
|
|
kernel and supervisor/user mode.
|
|
These three units together with the already existing ibus monitor allow
|
|
a very detailed and specific monitoring and debugging of the CPU.
|
|
|
|
The w11a CPU core is not functionally modified in this release, the only
|
|
exception is the suspend logic needed to implement hardware break points.
|
|
Both the hardware break point and the instruction level tracing in dmcmon
|
|
require a clean definition of instruction boundaries, which the current
|
|
w11a core does not provide in some cases. This leads to imprecise
|
|
breakpoints (CPU executes one additional instruction) and incomplete
|
|
dmcmon traces (at instruction level when exceptions are taken).
|
|
|
|
The w11a core will be modified in the next release to handle the above
|
|
mentioned conditions properly. The dmhbpt and dmcmon will be fully
|
|
documented when the w11a core changes are done, they work as expected
|
|
under all conditions, and the full back end integration is completed.
|
|
|
|
- bottom line is that this release has little added value for normal w11
|
|
usage. It is technically necessary to separate the addition of all
|
|
the debug units and modification of the CPU core into two releases.
|
|
|
|
- Summary
|
|
- new reference system
|
|
- switched to Vivado 2015.4 (from 2014.4)
|
|
Note: 2015.4 has WebPACK support for Logic Analyser and HLS. Both are
|
|
not used so far, but the logic analyser may come in handy soon.
|
|
- switched to tcl8.6 (from tcl8.5)
|
|
Note: tcl8.6 is default tcl in Ubuntu 2014.04LTS, but up to now the
|
|
tclshcpp helper was linked against tcl8.5. So far no tcl8.6
|
|
langauge features are used, but may be in future.
|
|
|
|
- New features
|
|
- new modules
|
|
- rtl/w11a
|
|
- pdp11_dmcmon - pdp11: debug&moni: cpu monitor
|
|
- pdp11_dmhbpt - pdp11: debug&moni: hardware breakpoint
|
|
- pdp11_dmhbpt_unit - pdp11: dmhbpt - individual unit
|
|
- pdp11_dmscnt - pdp11: debug&moni: state counter
|
|
- new files
|
|
- tools/bin
|
|
- dmscntanal - analyze dmscnt data
|
|
- dmscntconv - convert dmscnt data
|
|
- tools/asm-11/lib
|
|
- defs_mmu.mac - definitions for mmu registers
|
|
- defs_nzvc.mac - definitions for condition code combos
|
|
- defs_reg70.mac - definitions for 11/70 CPU registers
|
|
- tcode_std_base.mac - Default tcode base code for simple tests
|
|
- tcode_std_start.mac - Default tcode startup code
|
|
- vec_devcatch.mac - vector catcher for device interrupts
|
|
- vec_devcatch_reset.mac - re-write vector catcher
|
|
- tools/tbench
|
|
- w11a_cmon - directory with dmcmon tests
|
|
- w11a_hbpt - directory with dmhbpt tests
|
|
- tools/tcl
|
|
- ibd_(dl|lp|pc|rk|rl)11 - directory with register regdsc's
|
|
- tools/tcl/rutil
|
|
- fileio.tcl - new tofile and fromfile procs
|
|
- tools/tcl/rw11
|
|
- dmcmon.tcl - support code for dmcmon
|
|
- dmhbpt.tcl - support code for dmhbpt
|
|
- dmscnt.tcl - support code for dmscnt
|
|
- shell.tcl - new w11a tcl shell
|
|
- shell_egd.tcl - code for e,g,d commands
|
|
- tools/tcl/rw11util
|
|
- regmap.tcl - support for 'map of regdsc' definitions
|
|
|
|
- Changes
|
|
- rtl/vlib/rlink
|
|
- rlink_core.vhd - add proc_sres: strip 'x' from RB_SRES.dout
|
|
- rtl/vlib/rlink/tb
|
|
- tbcore_rlink - drive SB_CNTL from start to avoid 'U'
|
|
- rtl/w11a
|
|
- pdp11 - add defs for pdp11_dm(scnt|hbpt|cmon)
|
|
- pdp11_* - add support for pdp11_dm(scnt|hbpt|cmon)
|
|
- rtl/sys_gen/w11a/*
|
|
- sys_conf - add sys_conf_(dmscnt|dmhbpt*|dmcmon*)
|
|
- rtl/sys_gen/w11a/*/tb
|
|
- sys_conf_sim - add sys_conf_(dmscnt|dmhbpt*|dmcmon*)
|
|
- tools/bin/
|
|
- ti_w11 - add -ghw option
|
|
- tmuconv - fix '.' handling for br/sob instructions
|
|
correct xor (now r,dst, and not src,r)
|
|
- tools/tcl/rutil
|
|
- regdsc.tcl - add regbldkv,reggetkv
|
|
- util.tcl - rename optlist2arr->args2opts, new logic
|
|
- tools/tcl/rw11
|
|
- asm.tcl - new arg list format in asm(run|treg|tmem)
|
|
- dasm.tcl - add dasm_inst2txt
|
|
- tools/tcl/ibd_ibmon
|
|
- util.tcl - add symbolic register dump
|
|
|
|
- Bug fixes
|
|
- rtl/bplib/micron
|
|
- mt45w8mw16b - fix issue when 1st access is to addr 0
|
|
- rtl/bplib/nxcramlib
|
|
- nx_cram_memctl_as - always define imem_oe in do_dispatch()
|
|
- rtl/ibus
|
|
- ibdr_tm11 - add missing BESET to sensitivity list
|
|
- rtl/w11a
|
|
- pdp11_sequencer - proper trap_mmu and trap_ysv handling
|
|
- tools/bin
|
|
- asm-11 - fix '.' handling in instructions
|
|
|
|
- Known issues
|
|
- all issues: see README_known_issues.txt
|
|
|
|
- w11a_V0.7 (2015-06-21) +++++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
cummulative summary of key changes from w11a_V0.6 to w11a_V0.7
|
|
- Bugfix for DIV instruction (in w11a_V0.61, see ECO-026-div.txt)
|
|
- revised rbus protocol V4 (in w11a_V0.62, see README_Rlink_V4.txt)
|
|
- add basic Vivado support (in w11a_V0.64)
|
|
- add Nexys4 and Basys3 port of w11a (in w11a_V0.64)
|
|
- add RL11/RL02 disk support (in w11a_V0.64)
|
|
- add RH70+RP/RM disk support (in w11a_V0.65)
|
|
- add TM11/TY10 tape support (in w11a_V0.66)
|
|
- reference system now ISE 14.7, Vivado 2014.4; Ubuntu 14.04 64 bit, ghdl 0.31
|
|
|
|
for details see README-w11a_V.60-w11a_V0.70.txt
|
|
|
|
- w11a_V0.6 (2014-06-06) +++++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
|
|
cummulative summary of key changes from w11a_V0.5 to w11a_V0.6
|
|
- revised ibus protocol V2 (in w11a_V0.51)
|
|
- revised rbus protocol V3 (in w11a_V0.52)
|
|
- backend server rewritten in C++ and Tcl (in w11a_V0.53 and w11a_V0.562)
|
|
- add Nexys3 port of w11a (in w11a_V0.54)
|
|
- add Cypress FX2 support (in w11a_V0.56 and w11a_V0.57)
|
|
- added LP11,PC11 support (in w11a_V0.58)
|
|
- reference system now ISE 14.7 and Ubuntu 12.04 64 bit, ghdl 0.31
|
|
- many code cleanups; use numeric_std
|
|
- many documentation improvements
|
|
- development status upgraded to beta (from alpha)
|
|
|
|
for details see README-w11a_V.50-w11a_V0.60.txt
|
|
|
|
- w11a_V0.5 (2010-07-23) +++++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
|
|
Initial release with
|
|
- w11a CPU core
|
|
- basic set of peripherals: kw11l, dl11, lp11, pc11, rk11/rk05
|
|
- just for fun: iist (not fully implemented and tested yet)
|
|
- two complete system configurations with
|
|
- for a Digilent S3board rtl/sys_gen/w11a/s3board/sys_w11a_s3
|
|
- for a Digilent Nexys2 rtl/sys_gen/w11a/nexys2/sys_w11a_n2
|