1
0
mirror of https://github.com/wfjm/w11.git synced 2026-01-19 18:07:49 +00:00

157 Commits

Author SHA1 Message Date
wfjm
785016763f pc11_buf: buffered PC11; add lp11,pc11 mcodes 2019-04-24 12:59:58 +02:00
wfjm
544f1c99d2 BUGFIX: EI_ACK misrouted in rare cases (ECO-030)
- ib_intmap,ib_intmap24: BUGFIX: ensure ACK send to correct device
- ibdr_{maxi,mini}sys: add CLK port to ib_intmap,ib_intmap24
- pdp11_irq: BUGFIX: re-write, ensure ACK send to correct device
- for further details see doc/ECO-030-EI_ACK-misroute.md
2019-04-24 11:40:28 +02:00
wfjm
08b6ddcaf7 new tools/mcode area
- for test and demonstration, starting with
  - dl11/dl11echo.mac: console interface echo tester
  - sys/blink.mac: 'blinking lights' demo (rsx,bsd and other modes)
- retire tools/asm-11/w11 area
2019-04-23 18:43:43 +02:00
wfjm
71290b5142 add ExecWibr(),ExecRibr() and minor updates
- Rw11Cpu: add ExecWibr(),ExecRibr(); LoadAbs(): better trace format
- Rw11Cntl{DEUNA,DL11,LP11,RK11,RHRP,TM11}: use ExecWibr(),ExecRibr()
- ldadump: better -trec format of start address record
- asm-11: .end directive auto-creates '...end' label
- ti_w11: for -e use .end start address when available
- defs_cpu.mac: add some CPU system registers
- defs_dl.mac: fix naming typo
- defs_tm.mac: add function mnemos
2019-04-19 20:56:22 +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
f82736e5da minor updates
- tb_pdp11core.vhd: print header
- vec_devcatch_reset.mac: finish half-done change start in commit a365317
2019-03-31 09:02:50 +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
a36531709c minor updates
- Rw11Probe: ctor: fData* initialized as 0 (not false)
- tbench/*/test_*.tcl: add proper device check
- ibd_ibtst: fix sensitivity list
- RlinkContext: BUGFIX: use proper polarity of status mask
- tools/asm-11/lib
  - defs_*.tcl: add va.xxx and vp.xxx vector defs
  - vec_devcatch{_reset}.mac: rename v..deu to v..xu
2019-03-17 09:48:03 +01:00
wfjm
ed5c8b7fc1 add cp -brf,-bwf; fix rblk handling for aborted transfers
- RlinkCommand:
  - add BlockDoneAll()
  - Print(): use BlockDone() as length for rblk
- RlinkConnect: DecodeResponse(): rblk expect check over BlockDone
- RtclRlinkConnect: M_exec(): tranfer BlockDone values after rblk
- RtclRw11Cpu:
  - M_cp(): tranfer BlockDone values after rblk
  - add cp -brf and -bwf; add range checks for cp -wa
2019-03-15 20:40:14 +01:00
wfjm
8abe1ed421 tbench: add ibd_ibmon, finish ibd_ibtst 2019-03-10 14:37:21 +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
481260827c ibdr_maxisys,sys_conf ready for buffered DL,PC,LP and dz11,ibtst
- use type code instead of boolean for sys_conf_ibd_{dl11,lp11,pc11}
- add sys_conf_ibtst (enabled in all systems)
- add sys_conf_ibd_dz11 (enabled in all systems)
2019-03-02 09:01:02 +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
8d323848b3 Some minor updates
- top-level Makefile: drop w11a/arty_bram
- sys_w11a_s3: set BTOWIDTH 7 (was 6, must be > vmbox atowidth (6))
- RtclGet.ipp: use const& for oper() of string& and Rtime&
- *.Doxyfile: bump version to 0.77
- comment and docu updates
2019-02-24 12:50:38 +01:00
wfjm
5a3c40a846 ready for V0.76 2019-02-16 08:31:36 +01:00
wfjm
39a6280cda remove iist from Spartan-3,6 designs 2019-02-09 09:13:46 +01:00
wfjm
c47ac81e78 down rate sys_w11a_arty to 75 Mhz for viv 2018.3 2019-02-08 20:30:19 +01:00
wfjm
f613babe57 add w11a system for Arty S7 with MIG 2019-02-03 09:23:05 +01:00
wfjm
3cb0bc6924 add MIG support for Arty S7 2019-02-02 09:36:23 +01:00
wfjm
bb8669630b minor docu updates 2019-02-01 18:43:16 +01:00
wfjm
302dc20cb7 add w11a system for Nexys4 DDR with MIG 2019-01-27 09:54:19 +01:00
wfjm
b238f9bce2 add sys_tst_sram_n4d (memory tester for Nexys4 DDR) 2019-01-26 20:43:16 +01:00
wfjm
69e3fb5e68 add sys_tst_mig_n4d (MIG tester for Nexys4 DDR) 2019-01-18 19:34:15 +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
3a8da10b96 add MIG support for Nexys4 DDR 2019-01-12 09:48:18 +01:00
wfjm
dd7cdfeceb add w11a system for Arty with MIG 2019-01-04 09:19:00 +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
fefa952a4d Makefile: drop boost includes and libs 2019-01-02 12:00:31 +01:00
wfjm
0e87dd8670 add sramif2migui: w11a SRAM to MIG UI interface core 2019-01-02 10:06:25 +01:00
wfjm
f50a85e646 add sys_tst_mig_arty system: a MIG tester 2019-01-01 22:41:44 +01:00
wfjm
14362b2a56 Add basic DDR memory support
- arty board support
- viv_tools_build: export log and rpt generated in OOC synthesis runs
- s7_cmt_sfs_2: dual-channel frequency synthesis MMCM/PLL wrapper
- s7_cmt_1ce1ce2c: clocking block for 7-Series: 2 clk+CEs + 2 clk
- cdc_signal_s1_as: clock domain crossing for a signal, 2 stage, asyn input
- migui_core_gsim: highly simplified MIG UI simulation model
2018-12-31 10:00:14 +01:00
wfjm
b8dfa6d41e get ready for w11a_V0.753 release
- rtl/sys_gen/*/*.vhd: drop superfluous genlib call
- rtl/sys_gen/*/*.vmfset: accomodate recent code changes
- tools/bin/tbrun: show correct 'found count' in summary message
- tools/dox/*.Doxyfile: push version to 0.753
- tools/src/librtools/Rtime.ipp: change list-init make some gcc happy
2018-12-29 14:14:08 +01:00
wfjm
0fe9cd8acc mixed bag of small backend code updates
- RlinkCommand,RlinkCommandList: add move version of methods
- use constructor delegation
- use nullptr
- drop empty destructors for pod-only classes
- RlinkCommand: rename IsBlockExt -> HasBlockExt
- RlinkConnect: add BadPort(); used on all hard port checks
- remove contraproductive moves (-Wpessimizing-move)
- add casts (-Wfloat-conversion, -Wdouble-promotion)
- virtual dtor now outlined to streamline vtable
- make Dump non virtual in some cases (-Wnon-virtual-dtor)
- rename variables in shadow situations (-Wshadow)
2018-12-27 09:04:19 +01:00
wfjm
89732fe3e0 update xviv_msg_filter
- add c type rules for 'count-only' filters
- add support for bitstream generation checking ([bit] section)
- update vmfsets
2018-12-26 09:40:03 +01:00
wfjm
a73bda34de perl scripts: add and use bailout 2018-12-24 09:02:41 +01:00
wfjm
5bf5d405c3 use std::boolalpha; add and use RosPrintf(bool) 2018-12-23 09:07:25 +01:00
wfjm
93bf5ce03b use c++ style casts 2018-12-22 09:20:02 +01:00
wfjm
674762d6d8 consolidate clock generation in 7-Series designs
- s7_cmt_1ce1ce: add clock generator block used in many 7-Series designs
- sys_gen/*/*: use s7_cmt_1ce1ce in 7-Series designs
- tbcore_rlink: wait 40 cycles after CONF_DONE
- serport_master_tb: add 100 ps RXSD,TXSD delay to allow clock jitter
2018-12-21 09:06:16 +01:00
wfjm
4e2f1c3d19 use std::thread instead of boost; final boost cleanup
- no boost:: classes used anymore
- no boost/*.hpp headers included anymore
- significantly improved compilation speed
2018-12-19 11:53:54 +01:00
wfjm
dcaf39ff84 use mutex and friends from std:: instead from boost::
- use std::mutex
- use std::recursive_mutex
- use std::condition_variable
- use std::lock_guard
2018-12-18 10:22:35 +01:00
wfjm
783778f2bb use =delete for noncopyable instead of boost 2018-12-17 09:00:15 +01:00
wfjm
1620ee3a84 phase-out boost::function,bind
- use std::function instead of boost
- use c++11 lambda instead of boost::bind in most cases
- use std::bind in few cases where this deems more readable
- use move semantics for passing of function objects
2018-12-16 12:24:07 +01:00
wfjm
11e6c81379 add HasPort/HasVirt(); Port() and Virt() return reference 2018-12-15 14:49:34 +01:00
wfjm
70f0911b37 use std::shared_ptr instead of boost 2018-12-14 18:24:24 +01:00
wfjm
cd97fb0f45 add and use move semantic in RlinkCommandExpect 2018-12-13 20:53:56 +01:00