OpenCores
URL https://opencores.org/ocsvn/w11/w11/trunk

Subversion Repositories w11

[/] [w11/] [tags/] [w11a_V0.74/] [doc/] [README.txt] - Blame information for rev 29

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 29 wfjm
$Id: README.txt 655 2015-03-04 20:35:21Z 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
    * INSTALL.txt: installation and building test benches and systems
17 25 wfjm
    * FILES.txt: short description of the directory layout, what is where ?
18 5 wfjm
    * w11a_tb_guide.txt: running test benches
19
    * w11a_os_guide.txt: booting operating systems
20 6 wfjm
    * w11a_known_issues.txt: known differences, limitations and issues
21 5 wfjm
 
22 25 wfjm
2. Change Log ----------------------------------------------------------------
23 5 wfjm
 
24 29 wfjm
- trunk (2015-03-01: svn rev 29(oc) 655(wfjm); untagged w11a_V0.64)  +++++++++
25
 
26
  - Preface
27
    - The w11 project started on a Spartan-3 based Digilent S3board, and soon
28
      moved on to a Nexys2 with much better connectivity. Next step was the
29
      Spartan-6 based Nexys3. Now is time to continue with 7-Series FPGAs.
30
    - When Vivado started in 2013 it was immediately clear that the architecture
31
      is far superior to ISE. But tests with the first versions were sobering,
32
      the w11a design either didn't compile at all, or produced faulty synthesis
33
      results. In 2014 Vivado matured, and the current version 2014.4 works
34
      fine with the w11a code base.
35
    - The original Nexys4 board allowed to quickly port Nexys3 version because
36
      both have the same memory chip. The newer Nexys4 DDR will be addressed
37
      later.
38
    - The BRAM capacity of FPGAs increased significantly over time. The low
39
      cost Basys3 board with the second smallest Artix-7 (XC7A35T) has 200 KB
40
      BRAM. That allows to implement a purely BRAM based w11a system with
41
      176 kB memory. Not enough for 2.11BSD, but for many other less demanding
42
      OS available for a PDP11.
43
    - The Nexyx4 and Basys3 have 16 LEDs. Not quite the 'blinking lights'
44
      console of the classic 11/45 and 11/70, but enough to display the
45
      well known OS typical light patterns the veterans remember so well.
46
    - With a new design tool, a new FPGA generation, two new boards, and a
47
      new interface for the rlink connection that some of the code and tools
48
      base had to be re-organized.
49
    - Last but not least: finally access to a bit bigger disks: RL11 support
50
    - Many changes, some known issues, some rough edges may still lurke around
51
 
52
  - Summary
53
    - added support for Vivado
54
    - added support for Nexys4 and Basys3 boards
55
    - added RL11 disk support
56
    - lots of documentation updated
57
 
58
  - New features
59
    - new directory trees for
60
      - rtl/bplib/basys3            - support for Digilent Basys3 board
61
      - rtl/bplib/nexys4            - support for Digilent Nexys4 board
62
      - rtl/make_viv                - make includes for Vivado
63
    - new files
64
      - tools/bin/xviv_ghdl_unisim  - ghdl compile Vivado UNISIM & UNIMACRO libs
65
    - new modules
66
      - rtl/ibus/ibdr_rl11          - ibus controller for RL11
67
      - rtl/vlib/rlink/ioleds_sp1c  - io activity leds for rlink+serport_1clk
68
      - rtl/vlib/xlib
69
        - s7_cmt_sfs_gsim             - Series-7 CMT: simple vhdl model
70
        - s7_cmt_sfs_unisim           - Series-7 CMT: wrapper for UNISIM
71
      - rtl/w11a
72
        - pdp11_bram_memctl           - simple BRAM based memctl
73
        - pdp11_dspmux                - mux for hio display
74
        - pdp11_ledmux                - mux for hio leds
75
        - pdp11_statleds              - status led generator
76
      - tools/src/librw11/
77
        - Rw11*RL11                   - classes for RL11 disk handling
78
      - tools/src/librwxxtpp
79
        - RtclRw11*RL11               - tcl iface for RL11 disk handling
80
    - new systems
81
      - rtl/sys_gen/tst_rlink       - rlink tester
82
        - basys3/sys_tst_rlink_b3     - for Basys3
83
        - nexys4/sys_tst_rlink_n4     - for Nexys4
84
      - rtl/sys_gen/tst_serloop     - serport loop tester
85
        - nexys4/sys_tst_serloop_n4   - for Nexys4
86
      - rtl/sys_gen/tst_snhumanio   - human I/O tester
87
        - basys3/sys_tst_snhumanio_b3 - for Basys3
88
        - nexys4/sys_tst_snhumanio_n4 - for Nexys4
89
      - rtl/sys_gen/w11a            - w11a
90
        - basys3/sys_w11a_b3          - small BRAM only (176 kB memory)
91
        - nexys4/sys_w11a_n4          - with full 4 MB memory using cram
92
    - new oskits
93
      - tools/oskit/211bsd_rl       - new oskit for 2.11BSD on RL02
94
      - tools/oskit/rt11-53_rl      - new oskit for RT11 V5.3 on RL02
95
      - tools/oskit/xxdp_rl         - new oskit for XXDP 22 and 25 on RL02
96
 
97
  - Changes
98
    - renames
99
      - ensure that old ISE and new Vivado co-exists, ensure telling names
100
        - rtl/make                        -> make_ise
101
        - rtl/bplib/bpgen/sn_4x7segctl    -> sn_7segctl
102
        - tools/bin/isemsg_filter         -> xise_msg_filter
103
        - tools/bin/xilinx_ghdl_unisim    -> xise_ghdl_unisim
104
        - tools/bin/xilinx_ghdl_simprim   -> xise_ghdl_simprim
105
 
106
    - retired files
107
      - rtl/bplib/fx2lib
108
        - fx2_2fifoctl_as    - obsolete, wasn't actively used since long
109
      - tools/bin
110
        - set_ftdi_lat       - obsolete, since kernel 2.6.32 the default is 1 ms
111
        - xilinx_vhdl_chop   - obsolete, since ISE 11 sources come chopped
112
 
113
    - functional changes
114
      - $RETROBASE/Makefile           - re-structured, many new targets
115
      - rtl/bplib/bpgen
116
        - sn_7segctl                  - handle also 8 digit displays
117
        - sn_humanio                  - configurable SWI and DSP width
118
        - sn_humanio_rbus             - configurable SWI and DSP width
119
      - rtl/vlib/serport
120
        - serport_1clock              - export fractional part of divider
121
      - rtl/ibus
122
        - ibdr_maxisys                - add RL11 (ibdr_rl11)
123
      - rtl/sys_gen/w11a/*
124
        - sys_w11a_*                  - use new led and dsp control modules
125
      - tools/src/librlink
126
        - RlinkConnect                - drop LogOpts, indivitual getter/setter
127
        - RlinkPortTerm               - support custom baud rates (5M,6M,10M,12M)
128
      - tools/src/librtcltools
129
        - RtclGetList                 - add '?' (key list) and '*' (kv list)
130
        - RtclSetList                 - add '?' (key list)
131
        - RlogFile                    - Open(): now with cout/cerr support
132
      - tools/src/librlinktpp
133
        - RtclRlinkConnect            - drop config cmd, use get/set cmd
134
        - RtclRlinkPort               - drop config cmd, use get/set cmd
135
      - tools/src/librw11
136
        - Rw11Rdma                    - PreExecCB() with nwdone and nwnext
137
        - Rw11UnitDisk                - add Nwrd2Nblk()
138
      - tools/src/librwxxtpp
139
        - RtclRw11CntlFactory         - add RL11 support
140
      - tools/bin
141
        - xise_ghdl_unisim            - handle also UNIMACRO lib
142
        - vbomconv                    - handle Vivado flows too
143
 
144
  - Bug fixes
145
    - tools/src/librw11
146
      - Rw11CntlRK11                  - revise RdmaPostExecCB() logic
147
 
148
  - Known issues
149
    - V0.64-7: ghdl simulated OS boots via ti_w11 (-n4 ect options) fail due to
150
        a flow control issue (likely since V0.63).
151
    - V0.64-6: IO delays still unconstraint in vivado. All critical IOs use
152
        explicitly IOB flops, thus timing well defined.
153
    - V0.64-5: w11a_tb_guide.txt covers only ISE based tests (see also V0.64-4).
154
    - V0.64-4: No support for the Vivado simulator (xsim) yet. With ghdl only
155
        functional simulations, post synthesis (_ssim) fails to compile.
156
    - V0.64-3: Highest baud rate with basys3 and nexys4 is 10 MBaud. 10 MBaud
157
        is not supported according to FTDI, but works. 12 MBaud in next release.
158
    - V0.64-2: rlink throughput on basys3/nexys4 limited by serial port stack
159
        round trip times. Will be overcome by libusb based custom driver.
160
    - V0.64-1: The large default transfer size for disk accesses leads to bad
161
        throughput in the DL11 emulation for low speed links, like the
162
        460kBaud the S3board is limited too. Will be overcome by a DL11
163
        controller with more buffering.
164
    - V0.62-2: rlink v4 error recovery not yet implemented, will crash on error
165
    - V0.62-1: Command lists aren't split to fit in retransmit buffer size
166
        {last two issues not relevant for w11 backend over USB usage because
167
        the backend produces proper command lists and the USB channel is
168
        usually error free}
169
 
170 28 wfjm
- trunk (2015-01-04: svn rev 28(oc) 629(wfjm); untagged w11a_V0.63)  +++++++++
171
 
172
  - Summary
173
    - the w11a rbus interface used so far a narrow dynamically adjusted
174
      rbus->ibus window. Replaces with a 4k word window for whole IO page.
175
    - utilize rlink protocol version 4 features in w11a backend
176
      - use attn notifies to dispatch attn handlers
177
      - use larger blocks (7*512 rather 1*512 bytes) for rdma transfers
178
      - use labo and merge csr updates with last block transfer
179
      - this combined reduces the number of round trips by a factor 2 to 3,
180
        and in some cases the throughput accordingly.
181
 
182
  - Remarks on reference system
183
    - still using tcl 8.5 (even though 8.6 is now default in Ub 14.04)
184
    - don't use doxygen 1.8.8 and 1.8.9, it fails to generate vhdl docs
185
 
186
  - New features
187
    - new modules
188
      - tools/bin
189
        - ghdl_assert_filter      - filter to suppress startup warnings
190
        - tbrun_tbw               - wrapper for tbw based test benches
191
        - tbrun_tbwrri            - wrapper for ti_rri + tbw based test benches
192
      - tools/src/librw11
193
        - Rw11Rdma                - Rdma engine base class
194
        - Rw11RdmaDisk            - Rdma engine for disk emulation
195
 
196
  - Changes
197
    - rtl/vlib/rlink
198
      - rlink_core                - use 4th stat bit to signal rbus timeout
199
    - rtl/vlib/rbus
200
      - rbd_rbmon                 - reorganized, supports now 16 bit addresses
201
    - rtl/w11a
202
      - pdp11_core_rbus           - use full size 4k word ibus window
203
    - tools/bin/tbw               - add -fifo and -verbose options
204
    - tools/src/librtools
205
      - Rexception                - add ctor from RerrMsg
206
    - tools/src/librlink
207
      - RlinkCommandExpect        - rblk/wblk done counts now expectable
208
      - RlinkConnect              - cleanups and minor enhancements
209
      - RlinkServer               - use attn notifies to dispatch handlers
210
    - tools/src/librw11
211
      - Rw11CntlRK11              - re-organize, use now Rw11RdmaDisk
212
      - Rw11Cpu                   - add ibus address map
213
    - tools/src/librwxxtpp
214
      - RtclRw11CntlRK11          - add get/set for ChunkSize
215
      - RtclRw11Cpu               - add amap sub-command for ibus map access
216
 
217
  - Resolved known issues from V0.62
218
    - the rbus monitor (rbd_rbmon) has been updated to handle 16 bit addresses
219
 
220
  - Known issues
221
    - (V0.62): rlink v4 error recovery not yet implemented, will crash on error
222
    - (V0.62): command lists aren't split to fit in retransmit buffer size
223
      {both issues not relevant for w11 backend over USB usage because the
224
       backend produces proper command lists and the USB channel is error free}
225
 
226 27 wfjm
- trunk (2014-12-20: svn rev 27(oc) 614(wfjm); untagged w11a_V0.62)  +++++++++
227 5 wfjm
 
228 25 wfjm
  - Summary
229 27 wfjm
    - migrate to rlink protocol version 4
230
      - Goals for rlink v4
231
        - 16 bit addresses (instead of 8 bit)
232
        - more robust encoding, support for error recovery at transport level
233
        - add features to reduce round trips
234
          - improved attention handling
235
          - new 'list abort' command
236
      - For further details see README_Rlink_V4.txt
237
    - use own C++ based tcl shell tclshcpp instead of tclsh
238
 
239
    Notes:
240
      1. rlink protocol, core, and backend are updated in this release
241
      2. error recovery in backend not yet implemented
242
      3. the designs using rlink are still essentially unchanged
243
      4. the new rlink v4 features will be exploited in upcoming releases
244
 
245
  - New reference system
246
    The development and test system was upgraded from Kubuntu 12.04 to 14.04.
247
    The version of several key tools and libraries changed:
248
       linux kernel    3.13.0   (was  3.2.0)
249
       gcc/g++         4.8.2    (was  4.6.3)
250
       boost           1.54     (was  1.46.1)
251
       libusb          1.0.17   (was  1.0.9)
252
       perl            5.18.2   (was  5.14.2)
253
       tcl             8.5.15   (was  8.5.11)
254
       sdcc            3.3.0    (was  2.9.0)
255
       doxygen         1.8.7    {installed from sources; Ub 14.04 has 1.8.6}
256
 
257
    Notes:
258
      1. still using tcl 8.5 (even though 8.6 is now default in Ub 14.04)
259
      2. sdcc 3.x is not source compatible with sdcc 2.9. The Makefile
260
         allows to use both, see tools/fx2/src/README.txt .
261
      3. don't use doxygen 1.8.8, it fails to generate vhdl docs
262
 
263
  - New features
264
    - new environment variables TCLLIB and TCLLIBNAME. TCLLIBNAME must be
265
      defined, and hold the library name matching the Tcl version already
266
      specified with TCLINC.
267
    - new modules
268
      - rtl/vlib/comlib/crc16     - 16 bit crc generator (replaces crc8)
269
      - tools/src/tclshcpp/*      - new tclshcpp shell
270
 
271
  - Changes
272
    - rtl/vlib/comlib
273
      - byte2cdata,cdata2byte     - re-write, commas now 2 byte sequences
274
    - rtl/vlib/rlink
275
      - rlink_core                - re-write for rlink v4
276
    - rtl/*/*                     - use new rlink v4 iface and 4 bit STAT
277
    - rtl/vlib/rbus/rbd*          - new addresses in 16 bit rlink space
278
    - rtl/vlib/simlib/simlib      - add simfifo_*, wait_*, writetrace
279
    - tools/bin/
280
      - fx2load_wrapper           - use _ic instead of _as as default firmware
281
      - ti_rri                    - use tclshcpp (C++ based) rather tclsh
282
    - tools/fx2/bin/*.ihx         - recompiled with sdcc 3.3.0 + bugfixes
283
    - tools/fx2/src/Makefile      - support sdcc 3.3.0
284
    - tools/src/
285
      - */*.cpp                   - adopt for rlink v4; use nullptr
286
      - librlink/RlinkCrc16       - 16 crc, replaces RlinkCrc8
287
      - librlink/RlinkConnect     - many changes for rlink v4
288
      - librlink/RlinkPacketBuf*  - re-write for for rlink v4
289
    - tools/tcl/*/*.tcl           - adopt for rlink v4
290
    - renames:
291
      - tools/bin/telnet_starter  -> tools/bin/console_starter
292
 
293
  - Bug fixes
294
    - tools/fx2/src
295
      - dscr_gen.A51              - correct string 0 descriptor
296
      - lib/syncdelay.h           - handle triple nop now properly
297
 
298
  - Known issues
299
    - rlink v4 error recovery not yet implemented, will crash on error
300
    - command lists aren't split to fit in retransmit buffer size
301
      {both issues not relevant for w11 backend over USB usage because the
302
       backend produces proper command lists and the USB channel is error free}
303
    - the rbus monitor (rbd_rbmon) not yet handling 16 bit addresses and
304
      therefore of limited use
305
 
306
- trunk (2014-08-08: svn rev 25(oc) 579(wfjm); tagged w11a_V0.61)  +++++++++++
307
 
308
  - Summary
309 25 wfjm
    - The div instruction gave wrong results in some corner cases when either
310
      divisor or quotient were the largest negative integer (100000 or -32768).
311
      This is corrected now, for details see ECO-026-div.txt
312
    - some minor updates and fixes to support scripts
313
    - xtwi usage and XTWI_PATH setup explained in INSTALL.txt
314 5 wfjm
 
315 25 wfjm
  - New features
316
    - the Makefile's for in all rtl building block directories allow now to
317
      configure the target board for a test synthesis via the XTW_BOARD
318
      environment variable or XTW_BOARD= make option.
319
 
320
  - Changes
321
    - tools/bin/asm-11            - add call and return opcodes
322
    - tools/bin/create_disk       - add RM02,RM05,RP04,RP07 support
323
    - tools/bin/tbw               - use xtwi to start ISim models
324
    - tools/bin/ticonv_pdpcp      - add --tout and --cmax; support .sdef
325
    - tools/dox/*.Doxyfile        - use now doxygen 1.8.7
326
    - tools/src/librw11
327
      - Rw11CntlRK11              - add statistics
328
 
329
  - Bug fixes
330
    - rtl/w11a                    - div bug ECO-026
331
      - pdp11_munit                 - port changes; fix divide logic
332
      - pdp11_sequencer             - s_opg_div_sr: check for late div_quit
333
      - pdp11_dpath                 - port changes for pdp11_munit
334
    - tools/bin/create_disk       - repair --boot option (was inaccessible)
335
    - tools/bin/ti_w11            - split args now into ti_w11 opts and cmds
336
    - tools/src/librwxxtpp
337
      - RtclRw11Cpu                 - redo estatdef logic; avoid LastExpect()
338
    - tools/dox/make_doxy         - create directories, fix 'to view use' text
339
 
340
- w11a_V0.6 (2014-06-06) +++++++++++++++++++++++++++++++++++++++++++++++++++++
341
 
342
  cummulative summary of key changes from w11a_V0.5 to w11a_V0.60
343 23 wfjm
  - revised ibus protocol V2  (in w11a_V0.51)
344
  - revised rbus protocol V3  (in w11a_V0.52)
345
  - backend server rewritten in C++ and Tcl (in w11a_V0.53 and w11a_V0.562)
346
  - add Nexys3 port of w11a (in w11a_V0.54)
347
  - add Cypress FX2 support (in w11a_V0.56 and w11a_V0.57)
348
  - added LP11,PC11 support (in w11a_V0.58)
349
  - reference system now ISE 14.7 and Ubuntu 12.04 64 bit, ghdl 0.31
350
  - many code cleanups; use numeric_std
351
  - many documentation improvements
352
  - development status upgraded to beta (from alpha)
353
 
354 25 wfjm
  for details see README-w11a_V.50-w11a_V0.60.txt
355 23 wfjm
 
356 11 wfjm
- w11a_V0.5 (2010-07-23) +++++++++++++++++++++++++++++++++++++++++++++++++++++
357 6 wfjm
 
358 5 wfjm
  Initial release with
359
  - w11a CPU core
360
  - basic set of peripherals: kw11l, dl11, lp11, pc11, rk11/rk05
361
  - just for fun: iist (not fully implemented and tested yet)
362
  - two complete system configurations with
363 29 wfjm
    - for a Digilent S3board    rtl/sys_gen/w11a/s3board/sys_w11a_s3
364 5 wfjm
    - for a Digilent Nexys2     rtl/sys_gen/w11a/nexys2/sys_w11a_n2

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.