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

Subversion Repositories w11

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

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 37 wfjm
$Id: README.txt 811 2016-10-03 07:24:02Z 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 37 wfjm
- trunk (2016-10-02: svn rev 37(oc) 811(wfjm); untagged w11a_V0.74)  +++++++++
26
  - Preface
27
    - the current version of the  memory controller for the micron mt45w8mw16b
28
      'cellular ram' used on nexys2, nexys3, and nexys4 uses the asynchronous
29
      access mode. The device supports a 'page mode' to speed up read access to
30
      subsequent addresses. Even though prepared in the controller logic this
31
      feature was simply forgotten. This is now properly implemented and
32
      results in a bit faster cache line load times. The overall performance
33
      of a w11a design is measurably, but marginally better.
34
    - many unit tests still used a ISE environment. All board independent
35
      tests were converted now to a vivado environment, only tests which
36
      really depend a FPGA not supported by vivado stay with ISE.
37
    - a total of 82 unit or system tests are currently available. Many of them
38
      can be executed by different simulation engines, ghdl or the ISE/vivado
39
      build-in simulators, and for different stages of the implementation flow,
40
      from initial behavioral simulation over post-synthesis functional to final
41
      post-routing timing simulation. This results in a large number of possible
42
      tests. All test benches are all self-checking, but the execution of them
43
      was so far not sufficiently automatized.
44
      This was addressed with 'tbrun', a test bench driver, which obtains a
45
      list of all available test benches from configuration files, selects
46
      a subset given by selection criteria, and executes them. It can handle
47
      the parallel execution of tests so multi-core systems can be very
48
      easily exploited. Running all tests is now a single shell command.
49
    - a new tool 'tbfilt' simplifies the logic of self-checking test benches
50
      and can also be used as a tool to analyze the full log files produced
51
      by the test benches
52
    - several test benches have been added to this release, most notably the
53
      memory tester sys_tst_sram_* which was originally developed to verify
54
      the s3board SRAM controller and later ported to verify the nexys* CRAM
55
      controller.
56
    - the system test benches with SRAM and CRAM now include the PCB trace
57
      delay between FPGA and memory chip. The new entity simbididly models a
58
      bi-directional bus delay.
59
    - so far test benches ended by stopping the clock, all processes were
60
      written such that they enter a permanent wait, which causes the simulation
61
      to stop. Worked for fine behavioral simulations, but fails when Xilinx
62
      MMCMs are involved in post-synthesis simulations. The UNISIM models
63
      apparently have timed waits. The test benches were modified to stop via a
64
      report with severity failure, the test environment detects this specific
65
      assertion/report failure and accepts it as successful termination of
66
      the simulation.
67
    - the configuration of the board switches in system test benches was done
68
      in a sub-optimal way which could lead to startup problems. tbrun_tbwrri
69
      uses now a different mechanism which ensures that all board and test
70
      bench configuration is done in the first ns of the simulation and has
71
      thus completed well before all other activities.
72
    - finally a caveat: post-synthesis simulations work fine with ISE, but
73
      currently not with vivado, even in case of almost identical designs,
74
      like sys_tst_rlink_n3 vs sys_tst_rlink_n4. Is under investigation.
75
 
76
  - Summary
77
    - upgraded CRAM controller, now with 'page mode' support
78
    - new test bench driver tbrun, give automatized test bench execution
79
 
80
  - New features
81
    - new modules
82
      - rtl/bplib/issi/tb/*         - added unit test for is61lv25616al model
83
      - rtl/bplib/micron/tb/*       - added unit test for mt45w8mw16b model
84
      - rtl/sys_gen/tst_serloop     - add serloop2 (2 clock) designs for n3,n4
85
        - nexys3/sys_tst_serloop2_n3.vhd
86
        - nexys4/sys_tst_serloop2_n4.vhd
87
      - rtl/sys_gen/tst_sram        - add sram test design for
88
        - nexys2/*
89
        - nexys3/*
90
        - nexys4/*
91
        - s3board/*
92
      - rtl/vlib/genlib/tb
93
        - clkdivce_tb.vhd             - copy for tb usage of clkdivce
94
      - rtl/vlib/rlink/tb
95
        - rlink_tba.vhd               - rlink test bench adapter
96
        - tb_rlink_tba.vhd            - test bench for rbus devices
97
        - tbd_tba_ttcombo.vhd         - tba tester for ttcombo
98
      - rtl/vlib/simlib
99
        - simbididly.vhd              - bi-di bus delay model
100
      - rtl/vlib/xlib
101
        - gsr_pulse.vhd               - pulse GSR at startup
102
        - gsr_pulse_dummy.vhd         - no-action dummy (for bsim models)
103
      - rtl/w11a/tb
104
        - tb_rlink_tba_pdp11core.vhd  - tba tester for w11a
105
 
106
    - new files
107
      - doc/man/man1                - added tbrun,tbfilt man pages
108
      - */tbrun.yml                 - test bench descriptors for tbrun
109
      - rtl/sys_gen/w11a/tb
110
        - tb_w11a_mem70*.dat          - stim files for additional tests
111
      - rtl/w11a/tb
112
        - tb_pdp11core_ubmap.dat      - stim files for additional test
113
      - tools/bin
114
        - njobihtm                    - determine #jobs
115
        - tbfilt                      - test bench output filter
116
        - tbrun                       - test bench driver
117
        - ticonv_rri                  - converts old 'mode rri' for ti_rri
118
       - tools/tcl/tst_sram/*.tcl     - support for sys_tst_sram
119
 
120
  - Changes
121
    - rtl/bplib
122
      - arty/tb/tb_arty.vhd           - add gsr_pulse (provisional....)
123
      - */tb/tb_*.vhd                 - tbcore_rlink without CLK_STOP now
124
      - fx2lib/tb/fx2_2fifo_core.vhd  - proc_ifclk: remove clock stop
125
      - nexys2/tb/tb_nexys2_core.vhd  - use simbididly
126
      - nexys3/tb/tb_nexys3_core.vhd  - use simbididly
127
      - nexys4/tb/tb_nexys4_cram.vhd  - use simbididly
128
      - nxcramlib
129
        - nx_cram_memctl_as.vhd       - add page mode support
130
        - nxcramlib.vhd               - add cram_*delay functions
131
      - s3board
132
        - s3_sram_memctl.vhd          - drop "KEEP" for data (better for dbg)
133
        - tb/tb_s3board_core.vhd      - use simbididly
134
    - rtl/make_ise
135
      - generic_ghdl.mk               - ghdl_clean: remove also gcov files
136
    - rtl/make_viv
137
      - generic_ghdl.mk               - ghdl_clean: remove also gcov files
138
      - generic_vivado.mk             - viv_clean: rm only vivado logs
139
      - generic_xsim.mk               - xsim work dir now xsim..
140
    - rtl/sys_gen/tst_serloop
141
      - */tb/tb_tst_serloop*.vhd      - remove CLK_STOP logic
142
      - tb/tb_tst_serloop.vhd         - remove CLK_STOP logic
143
    - rtl/sys_gen/w11a/nexys*
144
      - sys_conf.vhd                  - use cram_*delay functions
145
    - rtl/vlib/rlink
146
      - rlink_core.vhd                - remove 'assert false' from report stmts
147
      - tb/tb_rlink.vhd               - use clkdivce_tb
148
      - tbcore/tbcore_rlink.vhd       - conf: add .wait, CONF_DONE; drop CLK_STOP
149
    - rtl/vlib/simlib
150
      - simbus.vhd                    - rename SB_CLKSTOP > SB_SIMSTOP
151
      - simclk.vhd                    - CLK_STOP now optional port
152
    - rtl/vlib/xlib
153
      - */s*_cmt_sfs_*.vhd            - remove 'assert false' from report stmts
154
    - tools/bin
155
      - tbrun_tbwrri                  - add --r(l|b)mon,(b|s)wait; configure
156
                                        now via _conf={...}
157
      - tbw                           - use {} as delimiter for immediate mode
158
      - vbomconv                      - add VBOMCONV_GHDL_OPTS and .._GHDL_GCOV
159
      - xise_ghdl_*                   - add ghdlopts as 1st option; def is -O2
160
 
161
    - removed files
162
      - tools/bin/ghdl_assert_filter  - obsolete (use tbfilt now)
163
    - renames
164
      - rtl/make_viv/viv_*.tcl -> tools/vivado - separate make and tools
165
 
166
  - Bug fixes
167
    - tools/bin
168
      - tbw                         - xsim: append -R to ARGV (was prepended...)
169
      - xtwi                        - add ":." to PATH even under BARE_PATH
170
 
171
  - Known issues
172
    - all issues: see README_known_issues.txt
173
    - no resolved or new issues in this release
174
 
175 36 wfjm
- trunk (2016-06-26: svn rev 36(oc) 779(wfjm); untagged w11a_V0.73)  +++++++++
176
  - Preface
177
    - the 'basic vivado support' added with V0.64 was a minimal effort port of
178
      the code base used under ISE, leading to sub-optimal results under vivado.
179
      - the FSM inference under vivado is quirky and has several issues. The
180
        most essential one prevented re-coding with 'one_hot' encoding, which
181
        lead to high logic depth and low clock rates. Proper work-arounds were
182
        applied to almost all FSMs, now vivado infers all (but one) properly
183
        and re-codes them as 'one_hot'. That is especially important for the
184
        pdp11_sequencer, which has 113 states. The sys_w11a_n4 system can now
185
        run with up to 90 MHz (was 75-80 MHz before).
186
      - due to a remaining synthesis issue the dmscnt and dmcmon debug units
187
        are currently disabled for Artix based systems (see issue V0.73-3).
188
      - memory inference is now used for all distributed and block rams under
189
        vivado. The memory generators in memlib are still used under ISE
190
        Note: they were initially setup to work around ISE synthesis issues.
191
      - vivado synthesis and implementation use now 'explore' type flows for
192
        optimal timing performance.
193
      - the two clock dram based fifo was re-written (as fifo_2c_dram2) to allow
194
        proper usage of vivado constraints (e.g. scoped xdc).
195
 
196
    - vivado is now the prime platform for all further development
197
      - the component test benches run now by default under Vivado with an
198
        Artix-7 as default target. The makefiles for ISE with a Spartan-6 target
199
        are available as 'Makefile.ise' and via the 'makeise' command.
200
      - a message filter (xviv_msg_filter) has been developed which lists only
201
        the unexpected message of a synthesis or implementation run. Filter
202
        rule sets (.vmfset files) are available for all designs.
203
      - full support for the vivado simuator 'xsim' has been added, there are
204
        make targets to build a behavioral simulation as well as post-synthesis,
205
        post-optimize, and post-routing functional and timing models. All these
206
        models are now created in separate sub-directories and can now co-exist.
207
        However see issues V.073-1 and 0.73-2 for severe caveats on xsim.
208
      - vivado write_vhdl generates code which violates a vhdl language rule.
209
        Attributes of port signals are declared in the wrong place. xsim and
210
        other simulators accept this, but ghdl doesn't. As a work-around the
211
        generated code is cleaned up by a filter (see xviv_sim_vhdl_cleanup).
212
 
213
    - additional rlink devices
214
      - the XADC block, available on all 7Series FPGAs, is now accessible via
215
        rlink on all Arty, Basys3 and Nexys4 designs. Especially useful on the
216
        Arty board because on this board also the currents are monitored.
217
      - the USR_ACCESS register, available on all 7Series FPGAs, is now readable
218
        via rlink on all Arty, Basys3 and Nexys4 designs. The vivado build flow
219
        initializes this register with the build timestamp. This allows to
220
        verify the build time of a design at run time.
221
 
222
    - the cache used by the w11a (pdp11_cache) was initialy developed with the
223
      tight block ram resources of the early Spartan-3 systems in mind. It had
224
      8 kByte and used 5 BRAMs of size 18 kBit. With very little changes the
225
      implenenation is now parametrized, and can generate also 16,32, 64 and
226
      even 128 kByte caches which also use the 36 kBit BRAMs on the Artix.
227
      There is a trade-off between cache sizes and clock rate due to routing
228
      delays to the BRAM blocks. The w11a on the nexys4 runs with 16 kByte
229
      cache and 90 MHz clock or with 64 kByte cache and 80 MHz. For practical
230
      work loads, like a kernel compile, the 64 kByte configuration is better
231
      and thus the default.
232
 
233
    - resolved known issue V0.64-7: was caused by a combination of issues
234
      and is now resolved by a combination of measures: add portsel logic for
235
      arty tb, proper portsel setup, configurable timeout, and finally proper
236
      timeout setting.
237
    - resolved known issue V0.64-3: So far the arty, basys3 and nexys4 serial
238
      port, based on a FTDI FT2232, was often operated at 10 MBaud. This rate
239
      is in fact not supported by FTDI, the chip will use 8 instead of 10 MBaud.
240
      Due to auto-bauding, which simly adapts to the actual baud rate, this went
241
      undetected for some time. Now all designs use a serport block clocked with
242
      120 MHz and can be operated with 12 MBaud.
243
 
244
  - Summary
245
    - new reference system: switched to Vivado 2016.2 (from 2015.4)
246
    - code base cleaned-up for vivado, fsm now inferred
247
    - xsim support complete (but many issues to be resolved yet)
248
    - added configurable w11a cache
249
    - removed some never documented and now strategically obsolete designs:
250
      - sys_tst_fx2loop (for nexys2 and nexys3)
251
      - sys_tst_rlink_cuff_ic3 (a three channel variant of the fx2 interface)
252
 
253
  - New features
254
    - new modules
255
      - rtl/vlib
256
        - generic_clk_100mhz.xdc    - generic 100 MHz on CLK constraint (for tbs)
257
      - rtl/vlib/cdclib             - new directory for clock domain crossing
258
        - cdc_pulse.vhd               - cdc for a pulse (moved in from genlib)
259
        - cdc_signal_s1.vhd           - cdc for a signal, 2 stage
260
        - cdc_vector_s0.vhd           - cdc for a vector, 1 stage
261
      - rtl/vlib/memlib
262
        - fifo_2c_dram2.vhd             - re-write of fifo_2c_dram to allow
263
                                          proper usage of vivado constraints
264
      - rtl/vlib/rbus
265
        - rb_sres_or_6.vhd              - rbus result or, 6 input
266
        - rbd_usracc.vhd                - return usr_access register
267
      - rtl/vlib/rlink
268
        - rlink_sp2c.vhd                - rlink_core8 + serport_2clock2 combo
269
      - rtl/vlib/serport
270
        - serport_2clock2.vhd           - like serport_2clock, use fifo_2c_dram2
271
      - rtl/vlib/xlib
272
        - usr_access_unisim.vhd         - Wrapper for USR_ACCESS* entities
273 37 wfjm
    - new files
274 36 wfjm
      - tools/bin
275
        - xise_msg_summary            - list all filtered ISE messages
276
        - xviv_msg_filter             - message filter for vivado
277
        - xviv_msg_summary            - list all filtered vivado messages
278
        - xviv_sim_vhdl_cleanup       - cleanup vivado generated vhdl for ghdl
279
        - makeise                     - wrapper for make -f Makefile.ise
280
      - tools/tcl/rbtest
281
        - test_flow.tcl               - test back pressure and flow control
282
 
283
  - Changes
284
    - rtl/bplib/*/*_pins.xdc        - add BITSTREAM.CONFIG.USR_ACCESS setup
285
    - rtl/bplib/*/tb/tb_*.vbom      - use -UUT attribute
286
    - rtl/sys_gen/*/*/tb/tb_*.vbom  - use -UUT attribute
287
    - rtl/make_ise
288
      - generic_ghdl.mk               - use ghdl.?sim as workdir for ghdl
289
      - generic_xflow.mk              - use .imfset for ISE message rules
290
    - rtl/make_viv
291
      - generic_ghdl.mk               - use ghdl.?sim as workdir for ghdl
292
      - generic_vivado.mk             - add [sorep]sim.v and %.vivado targets
293
                                      - vmfset support, use xviv_sim_vhdl_cleanup
294
      - generic_xsim.mk               - [rep]sim models; use xsim.?sim as workdir
295
      - viv_tools_build.tcl           - use explore flows;  prj,opt,pla modes
296
      - viv_tools_config.tcl          - add USR_ACCESS readback
297
      - viv_tools_model.tcl           - add [sor]sim_vhdl [sorepd]sim_veri modes
298
    - rtl/sys_gen/*/*                 (all rlink based designs)
299
      - sys_*.vhd                     - define rlink SYSID
300
    - rtl/sys_gen/*/*                 (all rlink and 7series based designs)
301
      - sys_*.vhd                     - add rbd_usracc, use serport_2clock2
302
      - sys_conf.vhd                  - use PLL for clkser_gentype
303
    - rtl/sys_gen/w11a/*
304
      - sys_conf.vhd                  - add sys_conf_cache_twidth
305
    - rtl/sys_gen/tst_serloop/nexys4
306
      - sys_tst_serloop1_n4.vhd       - clock now from cmt and configurable
307
    - rtl/sys_gen/tst_serloop/tb
308
      - tb_tst_serloop.vhd            - use serport_(uart_rxtx|xontx)_tb
309
    - rtl/vlib/*/tb/tb_*.vbom       - use -UUT attribute
310
    - rtl/vlib/*/tb/tbd_*.vbom      - use generic_clk_100mhz.xdc
311
    - rtl/vlib/comlib/comlib.vhd    - leave return type unconstraint
312
    - rtl/vlib/simlib/simlib.vhd    - add writetimens()
313
    - rtl/w11a
314
      - pdp11_bram_memctl.vhd         - use memory inference now
315
      - pdp11_cache.vhd               - now configurable size (8,16,32,64,128 kB)
316
      - pdp11_sequencer.vhd           - proc_snum conditional (vivado fsm fix)
317
    - rtl/*/*.vbom                  - use memory inference for vivado
318
    - rtl/*/*.vhd                   - workarounds and fixes to many FSMs
319
    - tools/bin
320
      - tbrun_tbw                     - use _bsim.log for behavioral sim log
321
      - tbrun_tbwrri                  - use _bsim.log for behavioral sim log
322
                                        use 120 sec timeout for simulation
323
      - tbw                           - add '-norun', -run now default
324
      - ti_rri                        - add --tout option
325
                                        use 120 sec timeout for simulation
326
      - vbomconv                      - add file properties (-UUT,-SCOPE_REF)
327
                                        full xsim support now in -vsim_prj
328
      - tools/src/librlink
329
        - RlinkConnect                - add USR_ACCESS register support
330
      - tools/src/librlinktpp
331
        - RtclRlinkConnect            - add USR_ACCESS, timeout access
332
      - tools/tcl/rbtest
333
        - test_data.tcl               - add dinc register tests
334
      - tools/tcl/rlink
335
        - util.tcl                    - add USR_ACCESS register support
336
 
337
    - removed designs
338
      - rtl/sys_gen/tst_fx2loop/nexys*/*/sys_tst_fx2loop_*_n*
339
      - rtl/sys_gen/tst_rlink_cuff/nexys2/ic3/sys_tst_rlink_cuff_ic3_n2
340
    - renames
341
      - *.mfset -> *.imfset         - to be complementary to new .vmfset
342
      - Makefile -> Makefile.ise    - old ISE makefiles in component areas
343
 
344
  - Bug fixes
345
    - rtl/bplib/arty/tb
346
      - tb_arty.vhd:                - add portsel logic
347
    - rtl/bplib/sysmon
348
      - sysmon_rbus_core.vhd        - use s_init (and not s_idle) after RESET
349
    - rtl/vlib/xlib
350
      - s7_cmt_sfs_*.vhd            - correct mmcm range check boundaries
351
    - tools/bin
352
      - ti_w11:                     - proper portsel oob for -fx
353
      - tbrun_tbwrri:               - proper portsel oob for -hxon
354
 
355
  - Known issues
356
    - all issues: see README_known_issues.txt
357
    - resolved issues:
358
      - V0.72-1: since vivado 2016.1 xelab builds models which use DPI in a
359
          mixed vhdl-verilog language environment.
360
      - V0.72-2: now full support to build behavioral as well as functional and
361
          timing simulations with xsim. See V.073-1 and 0.73-2 for caveats.
362
      - V0.64-7: flow control issues with simulation models resolved
363
      - V0.64-3: basys3, nexys4 and arty designs support now 12 MBaud.
364
 
365
    - new issues:
366
      - V0.73-1: as of vivado 2016.2 xelab shows sometimes extremely long build
367
          times, especially for generated post-synthesis vhdl models. But also
368
          building a behavioral simulation for a w11a design can take 25 min.
369
          Even though post-synthesis or post-routing models are now generated
370
          in verilog working with xsim is cumbersome and time consuming.
371
      - V0.73-2: Many post-synthesis functional and especially post-routing
372
          timing simulations currently fail due to startup and initialization
373
          problems. Cause is MMCM/PLL startup, which is not properly reflected
374
          in the test bench. Will be resolved in an upcoming release.
375
      - V0.73-3: The 'state number generator' code in pdp11_sequencer causes
376
          in vivado 2016.1 (and .2) that the main FSM isn't re-coded anymore,
377
          which has high impact on achievable clock rate. The two optional
378
          debug units depending on the state number, dmscnt and dmcmon, are
379
          therefore currently deactivated in all Artix based systems (but are
380
          available on all Spartan based systems).
381
 
382 35 wfjm
- trunk (2016-03-19: svn rev 35(oc) 746(wfjm); untagged w11a_V0.72)  +++++++++
383
  - Preface
384
    - The new low-cost Digilent Arty board is a very attractive platform.
385
      The DDR3 memory will take some time to integrate, in this release thus
386
      only designs using the BRAMs.
387
    - added support for the Vivado simulator. Simple test benches work fine.
388
      Rlink based test benches don't work due to a bug in Vivado 2015.4.
389
    - A rather esoteric CPU bug was fixed in release V0.71 but forgotten to
390
      mention in the README. See ECO-027-trap_mmu.txt for details.
391
 
392
  - Summary
393
    - added Arty support. The w11a design uses BRAMs as memory, like the
394
      Basys3 version. This gives 176 KByte memory, not enough for 2.11BSD,
395
      but for many other less demanding OS available for a PDP11.
396
    - added support for SYSMON/XADC (see README_xadc.txt)
397
    - Vivado flow is now default for test benches of components and all Artix
398
      based systems. If applicable an ISE flow is available under Makefile.ise
399
      (resolves known issues V0.64-4 and V0.64-5).
400
    - re-factored tbcore_rlink to support DPI and VHPI
401
    - Vivado supports with DPI (from SystemVerilog) a mechanism to call
402
      external C code. The rlink test bench code so far relies on VHPI, which
403
      is supported by ghdl, but not by ISE ISim or Vivado xsim. The code was
404
      restructured and can use now DPI or VHPI to support both ghdl and
405
      Vivado. Unfortunately has Vivado 2015.4 a bug, DPI doesn't work in a
406
      mixed vhdl-verilog language environment (see Known issues), so the
407
      code base is there, but utilization will habe to wait.
408
    - Vivado synthesis by default keeps hierarchy. This leads to doubly defined
409
      modules if a component is used in both test bench and unit under test.
410
      To avoid this copies of s7_cmt_sfs and some serport_* modules were
411
      created and are now used in the test benches.
412
 
413
  - New features
414
    - new directory trees for
415
      - rtl/bplib/arty              - board support files for arty
416
      - rtl/bplib/sysmon            - driver + rbus iface for SYSMON/XADC
417
      - rtl/vlib/rlink/tbcore       - new location for rlink tb iface code
418
      - tools/tcl/rbsysmon          - sysmon/xadc support
419
    - new modules
420
      - rtl/bplib/bpgen
421
        - rgbdrv_*                  - driver + rbus iface for 3 color RGBLED
422
      - rtl/vlib/rlink/tbcore
423
        - rlink_cext_iface_dpi.sv     - DPI based cext iface
424
        - rlink_cext_iface_vhpi.vhd   - VHPI based cext iface
425
        - rlink_cext_dpi.c            - dpi to vhpi adapter
426
      - rtl/vlib/serport/tb
427
        - serport_uart_*_tb           - added copies for tb usage
428
      - rtl/vlib/xlib/tb
429
        - s7_cmt_sfs_tb               - added copy for tb usage
430 36 wfjm
 
431 35 wfjm
    - new files
432
      - doc/man/man1
433
        - tbrun_tbw.1               - man file for tbrun_tbw
434
        - tbrun_tbwrri.1            - man file for tbrun_tbwrri
435
    - new systems
436
      - rtl/sys_gen/tst_rlink       - rlink tester
437
        - arty/sys_tst_rlink_arty     - for Arty
438
      - rtl/sys_gen/w11a            - w11a
439
        - arty_bram/sys_w11a_br_arty  - for Arty (BRAM only, 176 MByte)
440
 
441
  - Changes
442
    - */.cvsignore                  - all ignore files re-organized
443
    - */tb/Makefile                 - Vivado now default, keep Makefile.ise
444
    - rtl/bplib/*/tb/tb_*.vhd       - use s7_cmt_sfs_tb and serport_master_tb
445
    - rtl/vlib/comlib
446
      - comlib.vhd                  - add work-around for vivado 2015.4 issue
447
    - rtl/vlib/rbus
448
      - rb_sres_or_mon              - supports 6 inputs now
449
    - rtl/vlib/serport
450
      - serport_master              - moved to tb, _tb appended to name
451
    - rtl/vlib/rlink/tbcore
452
      - tbcore_rlink                - re-structured to use rlink_cext_iface
453
    - rtl/sys_gen/...
454
      - sys_tst_rlink_b3            - hardwire XON=1, support XADC
455
      - sys_tst_rlink_n4            - support XADC and RGBLEDs
456
      - sys_w11a_b3                 - hardwire XON=1, support XADC; 72 MHz now
457
      - sys_w11a_n4                 - support XADC
458
    - tools/bin
459
      - tbrun_tbw                   - add vivado xsim and Makefile.ise support
460
      - tbrun_tbwrri                - use --sxon and --hxon instead of --xon
461
      - tbw                         - add XSim support
462
      - ti_w11                      - add arty support, add -fx
463
      - vbomconv                    - add [ise,viv]; add @uut tag handling;
464
                                      add preliminary --(vsyn|vsim)_export;
465
                                      add vivado xsim support;
466
      - xtwi,xtwv                   - add BARE_PATH to provide clean environment
467
 
468
  - Bug fixes
469
    - tools/tcl/rutil
470
      - regdsc.tcl                  - regdsc: fix variable name in error msg
471
 
472
  - Known issues
473
    - all issues: see README_known_issues.txt
474
    - resolved issues:
475
      - V0.64-4: support added for Vivado xsim. See however issue V0.72-1+2.
476
      - V0.64-5: w11a_tb_guide.txt covers xsim tests too.
477
 
478
    - new issues:
479
      - V0.72-1: Vivado 2015.4 xelab crashes when DPI is used in a mxied
480
          vhdl-verilog language environment. This prevents currently to
481
          build a xsim simulation model for rlink based test benches.
482
      - V0.72-2: xsim simulations with timing annotation not yet available.
483
 
484 34 wfjm
- trunk (2015-12-30: svn rev 34(oc) 722(wfjm); untagged w11a_V0.71)  +++++++++
485 32 wfjm
  - Preface
486 34 wfjm
    - the w11a so far lacked any 'hardware debugger' support, which made the
487
      debugging of CPU core issues a bit tedious. This release added a first
488
      implementation of CPU debugger and monitoring features
489
      - dmhbpt: hardware break point unit. Allows to set multiple break points
490
                on instruction fetches (thus code break points) and on data
491
                reads/writes (thus data access break points). The number of
492
                breakpoints is configurable between 0 and 4, in current
493
                designs 2 are available
494
      - dmcmon: CPU state monitor. A buffer of configurable size which holds
495
                a wide range of information on execution of the most recent
496
                instructions. Tracing can be a instruction as well as on
497
                micro cycle level.
498
      - dmscnt: micro state counter. A counter array which allows to monitor
499
                in which micro state the CPU time is spend, separated for
500
                kernel and supervisor/user mode.
501
      These three units together with the already existing ibus monitor allow
502
      a very detailed and specific monitoring and debugging of the CPU.
503 32 wfjm
 
504 34 wfjm
      The w11a CPU core is not functionally modified in this release, the only
505
      exception is the suspend logic needed to implement hardware break points.
506
      Both the hardware break point and the instruction level tracing in dmcmon
507
      require a clean definition of instruction boundaries, which the current
508
      w11a core does not provide in some cases. This leads to imprecise
509
      breakpoints (CPU executes one additional instruction) and incomplete
510
      dmcmon traces (at instruction level when exceptions are taken).
511
 
512
      The w11a core will be modified in the next release to handle the above
513
      mentioned conditions properly. The dmhbpt and dmcmon will be fully
514
      documented when the w11a core changes are done, they work as expected
515
      under all conditions, and the full back end integration is completed.
516 32 wfjm
 
517 34 wfjm
    - bottom line is that this release has little added value for normal w11
518
      usage. It is technically necessary to separate the addition of all
519
      the debug units and modification of the CPU core into two releases.
520 32 wfjm
 
521
  - Summary
522 34 wfjm
    - new reference system
523
      - switched to Vivado 2015.4 (from 2014.4)
524
        Note: 2015.4 has WebPACK support for Logic Analyser and HLS. Both are
525
              not used so far, but the logic analyser may come in handy soon.
526
      - switched to tcl8.6 (from tcl8.5)
527
        Note: tcl8.6 is default tcl in Ubuntu 2014.04LTS, but up to now the
528
              tclshcpp helper was linked against tcl8.5. So far no tcl8.6
529
              langauge features are used, but may be in future.
530 32 wfjm
 
531
  - New features
532 31 wfjm
    - new modules
533 34 wfjm
      - rtl/w11a
534
        - pdp11_dmcmon              - pdp11: debug&moni: cpu monitor
535
        - pdp11_dmhbpt              - pdp11: debug&moni: hardware breakpoint
536
        - pdp11_dmhbpt_unit         - pdp11: dmhbpt - individual unit
537
        - pdp11_dmscnt              - pdp11: debug&moni: state counter
538
    - new files
539 31 wfjm
      - tools/bin
540 34 wfjm
        - dmscntanal                - analyze dmscnt data
541
        - dmscntconv                - convert dmscnt data
542
      - tools/asm-11/lib
543
        - defs_mmu.mac              - definitions for mmu registers
544
        - defs_nzvc.mac             - definitions for condition code combos
545
        - defs_reg70.mac            - definitions for 11/70 CPU registers
546
        - tcode_std_base.mac        - Default tcode base code for simple tests
547
        - tcode_std_start.mac       - Default tcode startup code
548
        - vec_devcatch.mac          - vector catcher for device interrupts
549
        - vec_devcatch_reset.mac    - re-write vector catcher
550
      - tools/tbench
551
        - w11a_cmon                 - directory with dmcmon tests
552
        - w11a_hbpt                 - directory with dmhbpt tests
553
      - tools/tcl
554
        - ibd_(dl|lp|pc|rk|rl)11    - directory with register regdsc's
555
      - tools/tcl/rutil
556
        - fileio.tcl                - new tofile and fromfile procs
557 31 wfjm
      - tools/tcl/rw11
558 34 wfjm
        - dmcmon.tcl                - support code for dmcmon
559
        - dmhbpt.tcl                - support code for dmhbpt
560
        - dmscnt.tcl                - support code for dmscnt
561
        - shell.tcl                 - new w11a tcl shell
562
        - shell_egd.tcl             - code for e,g,d commands
563
      - tools/tcl/rw11util
564
        - regmap.tcl                - support for 'map of regdsc' definitions
565 31 wfjm
 
566
  - Changes
567 28 wfjm
    - rtl/vlib/rlink
568 34 wfjm
      - rlink_core.vhd              - add proc_sres: strip 'x' from RB_SRES.dout
569
    - rtl/vlib/rlink/tb
570
      - tbcore_rlink                - drive SB_CNTL from start to avoid 'U'
571 28 wfjm
    - rtl/w11a
572 34 wfjm
      - pdp11                       - add defs for pdp11_dm(scnt|hbpt|cmon)
573
      - pdp11_*                     - add support for pdp11_dm(scnt|hbpt|cmon)
574
    - rtl/sys_gen/w11a/*
575
      - sys_conf                    - add sys_conf_(dmscnt|dmhbpt*|dmcmon*)
576
    - rtl/sys_gen/w11a/*/tb
577
      - sys_conf_sim                - add sys_conf_(dmscnt|dmhbpt*|dmcmon*)
578 27 wfjm
    - tools/bin/
579 34 wfjm
      - ti_w11                      - add -ghw option
580
      - tmuconv                     - fix '.' handling for br/sob instructions
581
                                      correct xor (now r,dst, and not src,r)
582
    - tools/tcl/rutil
583
      - regdsc.tcl                  - add regbldkv,reggetkv
584
      - util.tcl                    - rename optlist2arr->args2opts, new logic
585
    - tools/tcl/rw11
586
      - asm.tcl                     - new arg list format in asm(run|treg|tmem)
587
      - dasm.tcl                    - add dasm_inst2txt
588
    - tools/tcl/ibd_ibmon
589
      - util.tcl                    - add symbolic register dump
590 27 wfjm
 
591
  - Bug fixes
592 34 wfjm
    - rtl/bplib/micron
593
      - mt45w8mw16b                 - fix issue when 1st access is to addr 0
594
    - rtl/bplib/nxcramlib
595
      - nx_cram_memctl_as           - always define imem_oe in do_dispatch()
596
    - rtl/ibus
597
      - ibdr_tm11                   - add missing BESET to sensitivity list
598
    - rtl/w11a
599
      - pdp11_sequencer             - proper trap_mmu and trap_ysv handling
600
    - tools/bin
601
      - asm-11                      - fix '.' handling in instructions
602 27 wfjm
 
603
  - Known issues
604 34 wfjm
    - all issues: see README_known_issues.txt
605 27 wfjm
 
606 34 wfjm
- w11a_V0.7 (2015-06-21) +++++++++++++++++++++++++++++++++++++++++++++++++++++
607
  cummulative summary of key changes from w11a_V0.6 to w11a_V0.7
608
  - Bugfix for DIV instruction  (in w11a_V0.61, see ECO-026-div.txt)
609
  - revised rbus protocol V4    (in w11a_V0.62, see README_Rlink_V4.txt)
610
  - add basic Vivado support    (in w11a_V0.64)
611
  - add Nexys4 and Basys3 port of w11a (in w11a_V0.64)
612
  - add RL11/RL02  disk support (in w11a_V0.64)
613
  - add RH70+RP/RM disk support (in w11a_V0.65)
614
  - add TM11/TY10 tape support  (in w11a_V0.66)
615
  - reference system now ISE 14.7, Vivado 2014.4; Ubuntu 14.04 64 bit, ghdl 0.31
616 27 wfjm
 
617 34 wfjm
  for details see README-w11a_V.60-w11a_V0.70.txt
618 5 wfjm
 
619 25 wfjm
- w11a_V0.6 (2014-06-06) +++++++++++++++++++++++++++++++++++++++++++++++++++++
620
 
621 34 wfjm
  cummulative summary of key changes from w11a_V0.5 to w11a_V0.6
622 23 wfjm
  - revised ibus protocol V2  (in w11a_V0.51)
623
  - revised rbus protocol V3  (in w11a_V0.52)
624
  - backend server rewritten in C++ and Tcl (in w11a_V0.53 and w11a_V0.562)
625
  - add Nexys3 port of w11a (in w11a_V0.54)
626
  - add Cypress FX2 support (in w11a_V0.56 and w11a_V0.57)
627
  - added LP11,PC11 support (in w11a_V0.58)
628
  - reference system now ISE 14.7 and Ubuntu 12.04 64 bit, ghdl 0.31
629
  - many code cleanups; use numeric_std
630
  - many documentation improvements
631
  - development status upgraded to beta (from alpha)
632
 
633 25 wfjm
  for details see README-w11a_V.50-w11a_V0.60.txt
634 23 wfjm
 
635 11 wfjm
- w11a_V0.5 (2010-07-23) +++++++++++++++++++++++++++++++++++++++++++++++++++++
636 6 wfjm
 
637 5 wfjm
  Initial release with
638
  - w11a CPU core
639
  - basic set of peripherals: kw11l, dl11, lp11, pc11, rk11/rk05
640
  - just for fun: iist (not fully implemented and tested yet)
641
  - two complete system configurations with
642 29 wfjm
    - for a Digilent S3board    rtl/sys_gen/w11a/s3board/sys_w11a_s3
643 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.