1
0
mirror of https://github.com/wfjm/w11.git synced 2026-02-08 01:21:59 +00:00
Commit Graph

41 Commits

Author SHA1 Message Date
wfjm
785016763f pc11_buf: buffered PC11; add lp11,pc11 mcodes 2019-04-24 12:59:58 +02:00
wfjm
f9f7000a4a minor w11 shell fix; forgotten file 2019-04-24 11:33:04 +02:00
wfjm
9b7b3bd5c8 UnitSetup overhaul; new pc11 boot loader; minor changes
- ibus/ib_rlim_gen: add CPUSUSP port; RLIM_CEV now slv8
- ibus/ib_rlim_slv: RLIM_CEV now slv8
- ibus/ibdr_{dl11,lp11_buf}: RLIM_CEV now slv8
- bin/asm-11: fix -help text
- bin/ldadump: added, lda file dumper
- src
  - Rw11Cntl: add UnitSetup(), UnitSetupAll()
  - Rw11Cntl{DEUNA,DL11,RHRP,RK11,RL11,TM11}: call UnitSetupAll() in Start()
  - Rw11CntlLP11: remove SetOnline(), use UnitSetup()
  - Rw11CntlPC11:
    - BootCode(): boot loader rewritten
    - remove SetOnline(), use UnitSetup()
  - Rw11Cpu
    - add defs for w11 cpu component addresses;
    - add MemSize(),MemWriteByte()
    - LoadAbs(): return start, better odd byte handling;
  - Rw11VirtStream: add Error(),Eof()
  - RtclRw11Cpu:
    - BUGFIX: M_wtcpu(): check cpu attn in no-server case
    - add MemSize() getter
    - M_loadabs(): add -trace and start
- ibd_pc11/util.tcl: use rdy instead of done in PCSR
- rw11/util.tcl: setup_lp: add rlim option
2019-04-14 15:52:12 +02:00
wfjm
2ae1055ee5 ibdr_{pc11,dl11}: changes for buffered version compat
- ibdr_dl11
  - now xbuf.val in bit 15 and 8;
  - use rbuf instead xbuf for rdry reporting
  - remove maintenance mode
  - use ib_rlim_slv; add RLIM_CEV, drop CE_USEC
- ibdr_pc11
  - pbuf.pval in bit 15 and 8
  - move rbusy reporting from pbuf to rbuf register
- ibdr_maxisys,ibdr_minisys: adapt to new ibdr_dl11 iface
- tb_rlink_tba_pdp11core_ibdr.dat: adapt to new ibdr_dl11 iface
- tcl/rw11/util.tcl: setup_tt: rename dlrlim to dlrrlim
- oskit/*/*_boot.tcl: use dlrrlim instead of dlrlim
- Rw11CntlDL11,Rw11CntlPC11: adapt to new dl11,pc11 iface
- tools/asm-11/lib/defs_{dl,pc}.mac: added definition file
- tools/oskit/hook/hook_ibmon_{pca,tta}.tcl: added imon hook file
2019-04-07 15:43:27 +02:00
wfjm
895755ef72 finalize lp11 and minor updates
- RlinkServer: trace now with timestamp and selective
- Rw11CntlLP11: add fQueBusy and queue protection; fix logic; better trace
- test_lp11_all.tcl: check csr.err and csr.rlim not changed by breset
- rw11/asm.tcl: asmwait: allow alternate stop symbol
2019-04-07 13:04:23 +02:00
wfjm
059d3b7f14 ibdr_lp11: move valid bit to msb 2019-03-17 10:01:38 +01:00
wfjm
73adad79e1 minor changes and fixes
- *.Doxyfile: update to 1.8.15 template format (from 1.8.7)
- tst_sram: define and use init_rbf_*
- rbd_rbmon: more robust ack,err trace when busy
- pdp11.vhd: define c_init_rbf_greset
- pdp11_core_rbus: rename state field rbinit to greset
- pdp11_sys70: add and use RESET_SYS; fix pdp11_mem70 reset
- test_cp_ibrbasics.tcl: use imap addresses for test area
- rbmoni/test_regs.tcl: add a few cntl logic tests
- rbmoni/util.tcl: streamline raw_check
- rw11/defs.tcl: define INIT bits
- rw11/tbench.tcl: bench_list: ignore whitespace and empty lines
- tst_sram/util.tcl: define INIT
2019-03-08 17:52:34 +01:00
wfjm
e1abc27983 comment&code cosmetics; minor changes 2018-11-11 09:50:46 +01:00
wfjm
e29aa10096 finalize performance counter support
- rw11/dmpcnt.tcl: add pc_* procs to start and stop logger
- dmpcntanal: added, a script to analyse logger data
2018-10-30 15:14:55 +01:00
wfjm
f903bda7b4 Workaround for tclreadline and after interference
- using in tcl 8.6 a timed `after` together with `tclreadline` injects
  spurious text of the form `after#nnn` into the readline input buffer.
- the `rw11/shell` overloads `unknown`, inviting for a bloody HACK which
  simply checks for such prefixes, scrubs them, and retries the command.
2018-10-29 11:57:38 +01:00
wfjm
3eedd7f5c8 comment&code cosmetics; minor changes 2018-10-14 14:57:39 +02:00
wfjm
f40108cb95 drop DM_STAT_SY, add DM_STAT_CA and cache monitoring 2018-10-07 08:50:11 +02:00
wfjm
1be14ad15f Integrate dmpcnt in all w11 designs and backend
- pdp11_sequencer: add DM_STAT_SE.(cpbusy,idec)
- pdp11_sys70: only preliminary set of signals, cache signals kludged
2018-09-30 09:35:30 +02:00
wfjm
4df1d3e549 minor comment corrections/additions 2018-09-21 19:35:31 +02:00
wfjm
af57bb4201 add KW11-P test bench 2018-09-15 17:31:54 +02:00
wfjm
15a8f0e4e4 get disclaimers in line with GPL V3 License.txt 2018-01-03 10:04:30 +01:00
wfjm
60b6a660d0 shell_egd.tcl: BUGFIX: shell_pspec_map: fix mapping for addr>20000 2017-06-10 11:40:40 +02:00
Walter F.J. Mueller
7977206a8b code and comment cosmetics 2017-05-07 18:54:16 +02:00
Walter F.J. Mueller
d14626ce29 dmcmon: new interface, proper wait handling, vivado friendly
- dmcmon has now the sta,sto,sus,res logic as rbmon and ibmon
- dmcmon does not depend on full state number generation anymore
- dmcmon missed WAIT instructions so far, has been fixed
- related changes:
  - pdp11_sequencer can now return a simple instruction type based snum
  - sys_w11a_n4 includes dmcmon again (now independent of dmscnt!)
2017-04-23 18:13:52 +02:00
Walter F.J. Mueller
509c3719bd integrate rbus monitor in w11 shell; setup procs idempotent
- RlinkConnect: add rbus monitor probe, add HasRbmon()
- RtclRlinkConnect: M_amap: -testname opt addr check; add hasrbmon get
- RtclRw11Cpu: M_(imap|rmap): -testname optional addr check
- ti_rri: setup rbus monitor if detected
- rw11/shell.tcl: integrate rbmon: add .rme,.rmd,.rmf,.rml
- ibd_ibmon/util.tcl: setup: now idempotent; move out imap_reg2addr
- rbmoni/util.tcl: setup: now idempotent; add procs filter,rme,rmf
- rlink/util.tcl: add amap_reg2addr
- rw11/util.tcl: move in imap_reg2addr; add imap_range2addr
- rw11/shell.tcl: integrate rbmon: add .rme,.rmd,.rmf,.rml
- rw11/dmhbpt.tcl: hb_set: use imap_range2addr, allow regnam and range
- */util.tcl: setup: now idempotent
2017-04-22 15:33:04 +02:00
Walter F.J. Mueller
4cb079d5a0 backend for DEUNA
- Rw11CntlDEUNA: controller and almost all logic
- Rw11UnitDEUNA: unit
2017-04-17 21:15:37 +02:00
Walter F.J. Mueller
95c9a63626 w11 shell: add /u option (memory access via ubmap) 2017-04-09 22:57:38 +02:00
Walter F.J. Mueller
8e6d604de4 revise interface for ibd_ibmon and rbd_rbmon
- use start,stop,suspend,resume functions; improved stop on wrap handling
  - add 'repeat collapse' logic (store only first and last of a sequence)
2017-04-09 22:56:23 +02:00
Walter F.J. Mueller
1ac2d8bfbf defs for auxilliary devices (kw11l,kw11p,iist) 2017-04-09 22:52:51 +02:00
Walter F.J. Mueller
20b4becd38 minor updates:
- asm.tcl: asmrun: allow 'ps' in initializer list
- Rw11UnitStream: Pos(): return -1 if not attached
2017-02-04 17:12:15 +01:00
Walter F.J. Mueller
d08545fc47 re-shuffle rw11::shell code 2017-01-07 18:28:29 +01:00
Walter F.J. Mueller
b2e7c1cdbb rw11::shell.tcl now default environemnt in ti_w11
- tools/bin/ti_w11: use rw11::shell by default; add -ns to suppress it
- tools/oskit/*/*_boot.tcl: remove activation of cpucons and cpumon
- tools/src/librwxxtpp
  - RtclRw11Cpu.cpp: use 'ssr' instead of 'mmr' for MMU register names
- tools/tcl/rw11:
  - defs.tcl: fix typo in regmap_add for SDR's
  - shell.tcl: add '@' command
  - shell_simh.tcl: added, simh command converter
- *: README updates
2016-12-31 11:04:22 +01:00
Walter F.J. Mueller
00e78a1117 major overhaul of rw11::shell.tcl
- tools/tcl/rw11/shell.tcl
  - rename all command, add leading '.' to guarantee uniqueness
  - add .csus,.csto,.cres,.csta: suspend, stop, reset and start CPU
  - add .cme,.cmd,.cml: enable, disable and list cpu monitor (dmcmon)
  - add .ime,.imd,.imf,iml:  enable, diable, setup filter and list ibus monitor
  - add ?m,?u: show mmu and ubmap status
  - add .hr: help on registers
  - improve buildin help, better .h and additional .ha (for aspec's)
  - redo ^D,.q..qq logic (assuming that it's default shell in ti_w11)
- tools/tcl
  - ibd_ibmon/util.tcl: add proc filter
  - rw11/dmcmon.tcl: cm_print: protect against empty lists
2016-12-30 16:24:15 +01:00
Walter F.J. Mueller
cfd8802218 re-organize .gitignores 2016-12-17 20:18:29 +01:00
Walter F.J. Mueller
238b6e4276 rename .cvsignore -> .gitignore 2016-12-17 16:28:37 +01:00
Walter F.J. Mueller
e1479d4e5d - Add Arty support (BRAM only)
- Add sysmon/xadc support (for nexys4,basys3,arty designs)
- Add Vivado simulator support (DPI not yet working)
2016-03-19 15:45:59 +00:00
Walter F.J. Mueller
677773d123 - Add CPU debug and monitoring units (dmhbpt,dmscnt,dmcmon) 2015-12-30 20:21:18 +00:00
Walter F.J. Mueller
24fde41c6a - added TM11/TU10 tape support 2015-06-05 12:11:41 +00:00
Walter F.J. Mueller
4a032e9436 - added RH70/RP/RM big disk support
- many cleanups
2015-05-14 17:00:36 +00:00
Walter F.J. Mueller
e91847f8db - added support for Vivado
- added support for Nexys4 and Basys3 boards
- added RL11 disk support
- lots of documentation updated
2015-03-09 19:26:25 +00:00
Walter F.J. Mueller
dde49d52e4 - the w11a rbus interface used so far a narrow dynamically adjusted
rbus->ibus window. Replaces with a 4k word window for whole IO page.
- utilize rlink protocol version 4 features in w11a backend
  - use attn notifies to dispatch attn handlers
  - use larger blocks (7*512 rather 1*512 bytes) for rdma transfers
  - use labo and merge csr updates with last block transfer
  - this combined reduces the number of round trips by a factor 2 to 3, 
    and in some cases the throughput accordingly.
2015-01-04 19:18:35 +00:00
Walter F.J. Mueller
d87ac86f53 - migrate to rlink protocol version 4
- Goals for rlink v4
    - 16 bit addresses (instead of 8 bit)
    - more robust encoding, support for error recovery at transport level
    - add features to reduce round trips
      - improved attention handling
      - new 'list abort' command
  - For further details see README_Rlink_V4.txt
- use own C++ based tcl shell tclshcpp instead of tclsh
2014-12-20 16:39:52 +00:00
Walter F.J. Mueller
093d540121 - The div instruction gave wrong results in some corner cases when either
divisor or quotient were the largest negative integer (100000 or -32768).
  This is corrected now, for details see ECO-026-div.txt
- some minor updates and fixes to support scripts
- xtwi usage and XTWI_PATH setup explained in INSTALL.txt
2014-08-10 14:32:48 +00:00
Walter F.J. Mueller
4732555297 - interim release w11a_V0.581 (untagged)
- new reference system
  - switched from ISE 13.3 to 14.7.
  - map/par behaviour changed, unfortunately unfavorably for w11a. 
    On Nexys3 no timing closure anymore for 80 MHz, only 72 MHz can 
    be achieved now.
- new man pages (in doc/man/man1/)
- support for Spartan-6 CMTs in PLL and DCM mode
2014-05-29 21:30:01 +00:00
Walter F.J. Mueller
200ba69364 - interim release w11a_V0.58 (untagged)
- C++ and Tcl based backend server now fully functional, supports with 
    DL11, RK11, LP11 and PC11 all devices available in w11a designs
- the old perl based backend server (pi_rri) is obsolete and removed
- operating system kits reorganized
2013-05-12 19:15:30 +00:00
Walter F.J. Mueller
b06cbef00a - 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
2013-04-27 14:21:46 +00:00