1 |
34 |
wfjm |
$Id: README.txt 722 2015-12-30 19:45:46Z mueller $
|
2 |
5 |
wfjm |
|
3 |
|
|
Release notes for w11a
|
4 |
|
|
|
5 |
|
|
Table of content:
|
6 |
|
|
|
7 |
|
|
1. Documentation
|
8 |
25 |
wfjm |
2. Change Log
|
9 |
5 |
wfjm |
|
10 |
9 |
wfjm |
1. Documentation -------------------------------------------------------------
|
11 |
5 |
wfjm |
|
12 |
|
|
More detailed information on installation, build and test can be found
|
13 |
|
|
in the doc directory, specifically
|
14 |
|
|
|
15 |
|
|
* README.txt: release notes
|
16 |
30 |
wfjm |
* README_known_issues.txt: known issues
|
17 |
5 |
wfjm |
* INSTALL.txt: installation and building test benches and systems
|
18 |
25 |
wfjm |
* FILES.txt: short description of the directory layout, what is where ?
|
19 |
5 |
wfjm |
* w11a_tb_guide.txt: running test benches
|
20 |
|
|
* w11a_os_guide.txt: booting operating systems
|
21 |
6 |
wfjm |
* w11a_known_issues.txt: known differences, limitations and issues
|
22 |
5 |
wfjm |
|
23 |
25 |
wfjm |
2. Change Log ----------------------------------------------------------------
|
24 |
5 |
wfjm |
|
25 |
34 |
wfjm |
- trunk (2015-12-30: svn rev 34(oc) 722(wfjm); untagged w11a_V0.71) +++++++++
|
26 |
32 |
wfjm |
- Preface
|
27 |
34 |
wfjm |
- the w11a so far lacked any 'hardware debugger' support, which made the
|
28 |
|
|
debugging of CPU core issues a bit tedious. This release added a first
|
29 |
|
|
implementation of CPU debugger and monitoring features
|
30 |
|
|
- dmhbpt: hardware break point unit. Allows to set multiple break points
|
31 |
|
|
on instruction fetches (thus code break points) and on data
|
32 |
|
|
reads/writes (thus data access break points). The number of
|
33 |
|
|
breakpoints is configurable between 0 and 4, in current
|
34 |
|
|
designs 2 are available
|
35 |
|
|
- dmcmon: CPU state monitor. A buffer of configurable size which holds
|
36 |
|
|
a wide range of information on execution of the most recent
|
37 |
|
|
instructions. Tracing can be a instruction as well as on
|
38 |
|
|
micro cycle level.
|
39 |
|
|
- dmscnt: micro state counter. A counter array which allows to monitor
|
40 |
|
|
in which micro state the CPU time is spend, separated for
|
41 |
|
|
kernel and supervisor/user mode.
|
42 |
|
|
These three units together with the already existing ibus monitor allow
|
43 |
|
|
a very detailed and specific monitoring and debugging of the CPU.
|
44 |
32 |
wfjm |
|
45 |
34 |
wfjm |
The w11a CPU core is not functionally modified in this release, the only
|
46 |
|
|
exception is the suspend logic needed to implement hardware break points.
|
47 |
|
|
Both the hardware break point and the instruction level tracing in dmcmon
|
48 |
|
|
require a clean definition of instruction boundaries, which the current
|
49 |
|
|
w11a core does not provide in some cases. This leads to imprecise
|
50 |
|
|
breakpoints (CPU executes one additional instruction) and incomplete
|
51 |
|
|
dmcmon traces (at instruction level when exceptions are taken).
|
52 |
|
|
|
53 |
|
|
The w11a core will be modified in the next release to handle the above
|
54 |
|
|
mentioned conditions properly. The dmhbpt and dmcmon will be fully
|
55 |
|
|
documented when the w11a core changes are done, they work as expected
|
56 |
|
|
under all conditions, and the full back end integration is completed.
|
57 |
32 |
wfjm |
|
58 |
34 |
wfjm |
- bottom line is that this release has little added value for normal w11
|
59 |
|
|
usage. It is technically necessary to separate the addition of all
|
60 |
|
|
the debug units and modification of the CPU core into two releases.
|
61 |
32 |
wfjm |
|
62 |
|
|
- Summary
|
63 |
34 |
wfjm |
- new reference system
|
64 |
|
|
- switched to Vivado 2015.4 (from 2014.4)
|
65 |
|
|
Note: 2015.4 has WebPACK support for Logic Analyser and HLS. Both are
|
66 |
|
|
not used so far, but the logic analyser may come in handy soon.
|
67 |
|
|
- switched to tcl8.6 (from tcl8.5)
|
68 |
|
|
Note: tcl8.6 is default tcl in Ubuntu 2014.04LTS, but up to now the
|
69 |
|
|
tclshcpp helper was linked against tcl8.5. So far no tcl8.6
|
70 |
|
|
langauge features are used, but may be in future.
|
71 |
32 |
wfjm |
|
72 |
|
|
- New features
|
73 |
31 |
wfjm |
- new modules
|
74 |
34 |
wfjm |
- rtl/w11a
|
75 |
|
|
- pdp11_dmcmon - pdp11: debug&moni: cpu monitor
|
76 |
|
|
- pdp11_dmhbpt - pdp11: debug&moni: hardware breakpoint
|
77 |
|
|
- pdp11_dmhbpt_unit - pdp11: dmhbpt - individual unit
|
78 |
|
|
- pdp11_dmscnt - pdp11: debug&moni: state counter
|
79 |
|
|
- new files
|
80 |
31 |
wfjm |
- tools/bin
|
81 |
34 |
wfjm |
- dmscntanal - analyze dmscnt data
|
82 |
|
|
- dmscntconv - convert dmscnt data
|
83 |
|
|
- tools/asm-11/lib
|
84 |
|
|
- defs_mmu.mac - definitions for mmu registers
|
85 |
|
|
- defs_nzvc.mac - definitions for condition code combos
|
86 |
|
|
- defs_reg70.mac - definitions for 11/70 CPU registers
|
87 |
|
|
- tcode_std_base.mac - Default tcode base code for simple tests
|
88 |
|
|
- tcode_std_start.mac - Default tcode startup code
|
89 |
|
|
- vec_devcatch.mac - vector catcher for device interrupts
|
90 |
|
|
- vec_devcatch_reset.mac - re-write vector catcher
|
91 |
|
|
- tools/tbench
|
92 |
|
|
- w11a_cmon - directory with dmcmon tests
|
93 |
|
|
- w11a_hbpt - directory with dmhbpt tests
|
94 |
|
|
- tools/tcl
|
95 |
|
|
- ibd_(dl|lp|pc|rk|rl)11 - directory with register regdsc's
|
96 |
|
|
- tools/tcl/rutil
|
97 |
|
|
- fileio.tcl - new tofile and fromfile procs
|
98 |
31 |
wfjm |
- tools/tcl/rw11
|
99 |
34 |
wfjm |
- dmcmon.tcl - support code for dmcmon
|
100 |
|
|
- dmhbpt.tcl - support code for dmhbpt
|
101 |
|
|
- dmscnt.tcl - support code for dmscnt
|
102 |
|
|
- shell.tcl - new w11a tcl shell
|
103 |
|
|
- shell_egd.tcl - code for e,g,d commands
|
104 |
|
|
- tools/tcl/rw11util
|
105 |
|
|
- regmap.tcl - support for 'map of regdsc' definitions
|
106 |
31 |
wfjm |
|
107 |
|
|
- Changes
|
108 |
28 |
wfjm |
- rtl/vlib/rlink
|
109 |
34 |
wfjm |
- rlink_core.vhd - add proc_sres: strip 'x' from RB_SRES.dout
|
110 |
|
|
- rtl/vlib/rlink/tb
|
111 |
|
|
- tbcore_rlink - drive SB_CNTL from start to avoid 'U'
|
112 |
28 |
wfjm |
- rtl/w11a
|
113 |
34 |
wfjm |
- pdp11 - add defs for pdp11_dm(scnt|hbpt|cmon)
|
114 |
|
|
- pdp11_* - add support for pdp11_dm(scnt|hbpt|cmon)
|
115 |
|
|
- rtl/sys_gen/w11a/*
|
116 |
|
|
- sys_conf - add sys_conf_(dmscnt|dmhbpt*|dmcmon*)
|
117 |
|
|
- rtl/sys_gen/w11a/*/tb
|
118 |
|
|
- sys_conf_sim - add sys_conf_(dmscnt|dmhbpt*|dmcmon*)
|
119 |
27 |
wfjm |
- tools/bin/
|
120 |
34 |
wfjm |
- ti_w11 - add -ghw option
|
121 |
|
|
- tmuconv - fix '.' handling for br/sob instructions
|
122 |
|
|
correct xor (now r,dst, and not src,r)
|
123 |
|
|
- tools/tcl/rutil
|
124 |
|
|
- regdsc.tcl - add regbldkv,reggetkv
|
125 |
|
|
- util.tcl - rename optlist2arr->args2opts, new logic
|
126 |
|
|
- tools/tcl/rw11
|
127 |
|
|
- asm.tcl - new arg list format in asm(run|treg|tmem)
|
128 |
|
|
- dasm.tcl - add dasm_inst2txt
|
129 |
|
|
- tools/tcl/ibd_ibmon
|
130 |
|
|
- util.tcl - add symbolic register dump
|
131 |
27 |
wfjm |
|
132 |
|
|
- Bug fixes
|
133 |
34 |
wfjm |
- rtl/bplib/micron
|
134 |
|
|
- mt45w8mw16b - fix issue when 1st access is to addr 0
|
135 |
|
|
- rtl/bplib/nxcramlib
|
136 |
|
|
- nx_cram_memctl_as - always define imem_oe in do_dispatch()
|
137 |
|
|
- rtl/ibus
|
138 |
|
|
- ibdr_tm11 - add missing BESET to sensitivity list
|
139 |
|
|
- rtl/w11a
|
140 |
|
|
- pdp11_sequencer - proper trap_mmu and trap_ysv handling
|
141 |
|
|
- tools/bin
|
142 |
|
|
- asm-11 - fix '.' handling in instructions
|
143 |
27 |
wfjm |
|
144 |
|
|
- Known issues
|
145 |
34 |
wfjm |
- all issues: see README_known_issues.txt
|
146 |
27 |
wfjm |
|
147 |
34 |
wfjm |
- w11a_V0.7 (2015-06-21) +++++++++++++++++++++++++++++++++++++++++++++++++++++
|
148 |
|
|
cummulative summary of key changes from w11a_V0.6 to w11a_V0.7
|
149 |
|
|
- Bugfix for DIV instruction (in w11a_V0.61, see ECO-026-div.txt)
|
150 |
|
|
- revised rbus protocol V4 (in w11a_V0.62, see README_Rlink_V4.txt)
|
151 |
|
|
- add basic Vivado support (in w11a_V0.64)
|
152 |
|
|
- add Nexys4 and Basys3 port of w11a (in w11a_V0.64)
|
153 |
|
|
- add RL11/RL02 disk support (in w11a_V0.64)
|
154 |
|
|
- add RH70+RP/RM disk support (in w11a_V0.65)
|
155 |
|
|
- add TM11/TY10 tape support (in w11a_V0.66)
|
156 |
|
|
- reference system now ISE 14.7, Vivado 2014.4; Ubuntu 14.04 64 bit, ghdl 0.31
|
157 |
27 |
wfjm |
|
158 |
34 |
wfjm |
for details see README-w11a_V.60-w11a_V0.70.txt
|
159 |
5 |
wfjm |
|
160 |
25 |
wfjm |
- w11a_V0.6 (2014-06-06) +++++++++++++++++++++++++++++++++++++++++++++++++++++
|
161 |
|
|
|
162 |
34 |
wfjm |
cummulative summary of key changes from w11a_V0.5 to w11a_V0.6
|
163 |
23 |
wfjm |
- revised ibus protocol V2 (in w11a_V0.51)
|
164 |
|
|
- revised rbus protocol V3 (in w11a_V0.52)
|
165 |
|
|
- backend server rewritten in C++ and Tcl (in w11a_V0.53 and w11a_V0.562)
|
166 |
|
|
- add Nexys3 port of w11a (in w11a_V0.54)
|
167 |
|
|
- add Cypress FX2 support (in w11a_V0.56 and w11a_V0.57)
|
168 |
|
|
- added LP11,PC11 support (in w11a_V0.58)
|
169 |
|
|
- reference system now ISE 14.7 and Ubuntu 12.04 64 bit, ghdl 0.31
|
170 |
|
|
- many code cleanups; use numeric_std
|
171 |
|
|
- many documentation improvements
|
172 |
|
|
- development status upgraded to beta (from alpha)
|
173 |
|
|
|
174 |
25 |
wfjm |
for details see README-w11a_V.50-w11a_V0.60.txt
|
175 |
23 |
wfjm |
|
176 |
11 |
wfjm |
- w11a_V0.5 (2010-07-23) +++++++++++++++++++++++++++++++++++++++++++++++++++++
|
177 |
6 |
wfjm |
|
178 |
5 |
wfjm |
Initial release with
|
179 |
|
|
- w11a CPU core
|
180 |
|
|
- basic set of peripherals: kw11l, dl11, lp11, pc11, rk11/rk05
|
181 |
|
|
- just for fun: iist (not fully implemented and tested yet)
|
182 |
|
|
- two complete system configurations with
|
183 |
29 |
wfjm |
- for a Digilent S3board rtl/sys_gen/w11a/s3board/sys_w11a_s3
|
184 |
5 |
wfjm |
- for a Digilent Nexys2 rtl/sys_gen/w11a/nexys2/sys_w11a_n2
|