1
0
mirror of https://github.com/wfjm/w11.git synced 2026-01-29 21:41:12 +00:00
Commit Graph

76 Commits

Author SHA1 Message Date
wfjm
2c049efbcf consolidate DL,LP,PC after lessons learned in DZ
- ibdr_{dl,lp,pc}11_buf: size->fuse rename; re-organize rlim handling
- ibd_{dl,lp,pc}11/util.tcl: size->fuse rename
- tbench/{dl,lp,pc}11/test_*.tcl: size->fuse rename
- librw11/Rw11CntlDL11: size->fuse rename; use unit.StatInc[RT]x
- librw11/Rw11Cntl{LP,LP}11: size->fuse rename
2019-06-01 09:19:02 +02:00
wfjm
e85de05938 add dz11 backend
- RtraceTools: TraceBuffer: add level 5 (full word dump)
- Rw11Cntl: UnitSetupAll(): now virtual
- Rw11CntlBase: add kNUnit constant
- RtclRw11CntlFactory: add DZ11
- Rw11{Cntl,Unit}DZ11: added
- rw11/util.tcl: add dz11 support
- oskit/*/*_boot.tcl: add dz11 line handling in setup_tt call
2019-05-26 08:51:34 +02:00
wfjm
3c73f61593 add M9312 (boot prom) emulation
- ibus/ibdr_maxisys: instantiate ibd_m9312
- ibus/ibd_m9312: added, boot prom emulation
- librw11/Rw11Cpu: add m9312 setup and HasM9312()
- tbench
  - m9312: added, tbench for ibd_m9312
  - kw11p: renamed from w11a_kw11p
2019-05-05 09:00:04 +02:00
wfjm
1c9dbeb4ed dl11_buf: buffered DL11; add tbench
- ibdr_dl11_buf: new DL11 interface with fifo buffering
- ibdr_dl11: drop rbuf.rrdy, set rbuf.[rx]size0 instead
- ibdr_maxisys: add ibdr_dl11_buf
- librw11/RtraceTools: new, some helper methods for buffer tracing
- librw11/Rw11CntlDL11: add dl11_buf readout
- librwxxtpp/RtclRw11CntlDL11: add getters& setters for dl11_buf readout
- ibd_dl11/util.tcl: setup defs for dl11_buf; add rdump proc
- rw11/util.tcl: setup_tt: add dl{rxqlim,txrlim}; dlrrlim->dlrxrlim
- oskit/*/*_boot.tcl: setup dlrxrlim
- tbench/dl11: tbench for dl11(_buf)
2019-04-28 12:51:58 +02:00
wfjm
4c5bcf5521 add intreq monitors; asm-11 prints erroneous lines
- ibd_kw11l:
  - add csr.ir (rem; as intreq monitor)
  - csr only loc writable
  - csr.moni can be cleared, but not set by loc write
- ibdr_{dl11,lp11,lp11_buf}: add rcsr.ir and xcsr.ir (intreq monitors)
- asm-11: print lines with errors to stderr unless -lst seen
2019-04-26 10:52:57 +02:00
wfjm
b08d8162dc KW11-P ext evt selectable; pc11copy with kw11 stress
- ibd_kw11p:
  - add csr.ir (rem; as intreq monitor)
  - the source of external events (rate=11) is now selectable vai an new rem
    accessible csr.erate field. options: sysclk, 1 Mhz, extevt, none
- w11a_hbpt/test_hbpt_basics.tcl: leave system in clean state at end
- mcode/pc11/pc11copy.mac: add kw11-l/p stress (further ECO-030 testing)
2019-04-26 10:44:42 +02:00
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
afcf56463a minor updates
- ibdr_lp11_buf.vhd: remove fifo clear on BRESET
- lib/defs_kwp.mac: use 'kp.' instead of 'kw.'
- lib/defs_kwl.mac: added
- rw11/shell_egd.tcl: shell_aspec_parse: allow 8,9 in numeric address
2019-04-21 19:30:16 +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
f9faf937b1 lp11_buf: output buffered; add tbench
- ib_rlim_{gen,slv}: new modules for implementation of rate limiters
- ibdr_lp11_buf: new LP11 interface with fifo buffering
- ibdr_maxisys: add ib_rlim_gen, ibdr_lp11_buf
- tbench/test_lp11_all.tcl: tbench for lp11 and lp11_buf
- Rw11CntlLP11: handles now also buffered lp11
2019-03-23 08:20:25 +01:00
wfjm
059d3b7f14 ibdr_lp11: move valid bit to msb 2019-03-17 10:01:38 +01:00
wfjm
374dfe30cc update ibd_ibtst and ibd_ibmon
- ibd_ibtst: rename dly[rw]->bsy[rw]; datto for write; add datab
- ibd_ibmon: revise iface, busy 10->8, delay 14->16 bits; track ack properly
2019-03-09 09:05:34 +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
e14d92f9cc comment&code cosmetics 2019-03-08 16:44:44 +01:00
wfjm
1206e5d938 add ibd_ibtst; tbench code for ibd_ibtst and sdreg
- ibd_ibtst: added, an ibus tester device
- pdp11_sys70: instantiate ibd_ibtst (when sys_conf_ibtst = true)
- Rw11Cpu,RtclRw11Cpu: add ibmon setup and HasIbtst()
- tcl/ibd_ibtst/util.tcl: added, tcl support for ibd_ibtst
- tbench/w11a/test_w11a_sdreg.tcl: added, tbench for sdreg
- tools/tbench/w11a_ibtst/: added tbench for ibd_ibtst
2019-03-01 09:05:29 +01:00
wfjm
4a64a63c4c rbd_tester: use fifo_simple_dram 2019-02-23 09:37:19 +01:00
wfjm
74ad445c1e Some minor updates:
- tbrun: add --list option
- ti_w11: add add -ar,-n4d (ddr versions)
- travis: run all  sys_tst_sram,sys_w11a also for arty (cover ddr)
- tst_mig/test_mem.tcl: add low level iface tests
- comment changes
2019-01-13 09:46:54 +01:00
wfjm
cb7b906089 Add memory tester for Arty and MIG
- sys_tst_sram_arty: add system and tb
- sramif_mig_arty: add SRAM to DDR via MIG adapter for arty
- cdc_pulse: add clock domain crossing for a slowly changing value
- cdc_vector_s0: add ENA port (now used in cdc_pulse)
- tst_mig/util.tcl: test_rwait: add optional lena argument
- viv_tools_build.tcl: downgrade SSN critical warnings to warnings
2019-01-03 09:15:07 +01:00
wfjm
f50a85e646 add sys_tst_mig_arty system: a MIG tester 2019-01-01 22:41:44 +01:00
wfjm
47a1c58e53 tbench: don't test memory controller reset anymore 2018-12-20 09:18:45 +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
a500e62912 make all_tcl now quiet, use setup_packages_filt 2018-10-12 20:00:59 +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
05c7d937c7 Add Digilent Cmod A7 (35 die size) support
- general board support
- c7_sram_memctl: SRAM memory controller (incl tb)
- is61wv5128bll: simple memory model (incl tb)
- sn_humanio_emu_rbus: human IO emulator
- 92-retro-usb-persistent.rules: add more board rules
- associated changes
  - sn_humanio_rbus: add stat_rbf_emu (=0); single cycle btn pulses
  - rgbdrv_analog(_rbus): add ACTLOW generic to invert output polarity
  - ti_rri: adopt Digilent autodetect for CmodA7
- add systems
  - tst_rlink: rlink tested
  - tst_sram: SRAM tester
  - w11a: w11a system with 672 kB memory (512 SRAM + 160 BRAM)
2017-06-28 22:29:09 +02:00
wfjm
4aa1db49c7 Cleanups; 17bit support for tst_sram
- s3_sram_memctl: drop superfluous idata_cei=1 in s_write2
- arty_bram/tb/tbrun.yml: retire mem70 - now in tbcpu
- tst_sram.vhd: allow AWIDTH=17; sstat_rbf_awidth instead of _wide
- tcl/tst_sram/*.tcl: 17bit support; use sstat(awidth); add isnarrow
- rtl/vlib/rutil.vhd: added package, with imin helper function
2017-06-25 20:20:48 +02:00
wfjm
60b6a660d0 shell_egd.tcl: BUGFIX: shell_pspec_map: fix mapping for addr>20000 2017-06-10 11:40:40 +02:00
wfjm
a9425599e7 Miscellaneous fixes and changes
- ibdr_deuna: add logic to handle 'PDMD issued while busy'
- Rw11CntlDEUNA: adopt trace and statistics
- hook_ibmon_xua.tcl: use .imf,.ime
2017-05-28 13:33:39 +02:00
Walter F.J. Mueller
9e309c81b9 Miscellaneous fixes and changes
- Makefile: add all_tcl to all; use njobihtm
- rlink_core: BUGFIX: correct re-transmit after nak aborts
- tb_rlink_stim.dat: start section B (error aborts) and C (retransmit)
- ticonv_rri: use 'rlc rawwblk' instead of 'rlc rawio -wblk'
- rbmoni/test_regs.tcl: add data/addr logic tests
2017-05-07 18:57:45 +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
b115cba926 tcl support for DEUNA 2017-04-17 21:21: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