1
0
mirror of https://github.com/wfjm/w11.git synced 2026-04-03 21:33:08 +00:00

sysid: encode system type

This commit is contained in:
wfjm
2022-08-22 08:50:07 +02:00
parent 823c738a9b
commit 4a7f5612cf
6 changed files with 54 additions and 13 deletions

View File

@@ -36,6 +36,7 @@ The full set of tests is only run for tagged releases.
- remove Atlys support (only test designs, a w11 design was never done)
- cleanup SimH setup files (\*.scmd), use autoconfig, set disk types
- cleanup code base, use page,mmr\*,pdr,par instead of segment,ssr\*,sdr,sar
- sysid encodes now system type, allows to distingish w11,SimH,e11
### New features
- new verification codes
- tools/tcode: fast cpu verification codes
@@ -69,9 +70,15 @@ The full set of tests is only run for tagged releases.
- rtl/sys_gen/tst_rlink_cuff/atlys/sys_tst_rlink_cuff_atlys
- rtl/sys_gen/tst_snhumanio/atlys/sys_tst_snhumanio_atlys
- general changes
- DEC used in early documents 'segment', later on 'page' for the MMU object
- in the w11a code base (\*.vhd,\*.\*pp,\*.tcl,\*.mac) the naming was mixed
- now all changed to page,mmr\*,pdr,par; all segment,ssr\*,sdr,sar removed
- segment -< page rename
- DEC used in early documents 'segment', later on 'page' for the MMU object
- in the w11a code base (\*.vhd,\*.\*pp,\*.tcl,\*.mac) the naming was mixed
- now all changed to page,mmr\*,pdr,par; all segment,ssr\*,sdr,sar removed
- usage of 11/70 sysid
- encodes emulator(15),type(14:12),cpu_number(11:09) and serial number(8:0)
- pdp11_reg70: set sysid to 010123 --> real w11
- *.scmd: set sysid to 110234 --> emu Simh
- *.ecmd: set sysid to 120345 --> emu e11
### Bug Fixes
- tools/asm-11/lib
- tcode_std_start.mac: fix sdreg probe code
@@ -375,7 +382,7 @@ The full set of tests is only run for tagged releases.
## <a id="w11a_v0.753">2018-12-29: [w11a_V0.753](https://github.com/wfjm/w11/releases/tag/w11a_V0.753) - rev 1096(wfjm)</a>
### Summary
- add continuous integration support via [Travis CI](https://travis-ci.org),
add [project wfjm/w11](https://travis-ci.org/wfjm/w11), and setup
add [project wfjm/w11](https://travis-ci.org/wfjm/w11), and set up
a `.travis.yml` ([see blog](https://wfjm.github.io/blogs/w11/2018-09-16-travis-based-ci-cd-workflow.html)).
- use static source code analysis [Coverity Scan](https://scan.coverity.com),
add [project wfjm/w11](https://scan.coverity.com/projects/wfjm-w11).
@@ -438,7 +445,7 @@ The full set of tests is only run for tagged releases.
- DM_STAT_SY: removed, now replaced by DM_STAT_CA
- DM_STAT_EXP: added, for signals exported by pdp11_sys70
- pdp11_sys70:
- instantiate pdp11_dmpcnt, setup performance counter sigs
- instantiate pdp11_dmpcnt, set up performance counter sigs
- drop ITIMER,DM_STAT_DP, use DM_STAT_EXP, add PERFEXT port
- pdp11_sequencer: drive DM_STAT_SE.(cpbusy,idec,pcload,itimer), drop ITIMER
- pdp11_cache: drop CHIT, add DM_STAT_CA port, add detailed monitoring
@@ -679,7 +686,7 @@ The full set of tests is only run for tagged releases.
- w11 shell .bs now support ibus register names and ranges
- rw11/dmhbpt.tcl: hb_set: use imap_range2addr, allow regnam and range
- integrate rbus monitor in w11 shell
- ti_rri: setup rbus monitor if detected
- ti_rri: set up rbus monitor if detected
- rw11/shell.tcl: add .rme,.rmd,.rmf,.rml
- ibd_ibmon/util.tcl: move out imap_reg2addr
- rbmoni/util.tcl: add procs filter,rme,rmf

View File

@@ -10,6 +10,7 @@ The issues of the w11 CPU and systems are listed in a separate document
- [Differences in unspecified behavior cases between w11a and
KB11-C (11/70)](#user-content-unspec)
- [Known limitations](#user-content-lim)
- [Other differences](#user-content-other)
### <a id="diff">Known differences between w11a and KB11-C (11/70)</a>
@@ -82,3 +83,20 @@ this is considered as acceptable implementation difference.
to a timeout, again mostly in test programs.
**--> a 'watch dog' mechanism will be added in a future version which
suspends the CPU when the server doesn't respond fast enough.**
### <a id="other">Other differences</a>
- usage of 11/70 SYSID register
- in real 11/70's sysid held the individual serial number
- in the w11 project sysid encodes the execution environment
- this allows to distinguish between real w11 and emulation under SimH or e11
- the SYSID is divided in fields
- bit 15: emulator flag (0=w11,1=emulator)
- bit 14:12: type, encodes w11 or emulator type
- bit 11:09: cpu number on 11/74 systems
- bit 8:0: serial number
- current assignments are
- w11a: 010123
- SimH: 110234
- e11: 120345

View File

@@ -1,6 +1,6 @@
-- $Id: pdp11_reg70.vhd 1181 2019-07-08 17:00:50Z mueller $
-- $Id: pdp11_reg70.vhd 1279 2022-08-14 08:02:21Z mueller $
-- SPDX-License-Identifier: GPL-3.0-or-later
-- Copyright 2008-2015 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
-- Copyright 2008-2022 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
--
------------------------------------------------------------------------------
-- Module Name: pdp11_reg70 - syn
@@ -9,10 +9,11 @@
-- Dependencies: -
-- Test bench: tb/tb_pdp11_core (implicit)
-- Target Devices: generic
-- Tool versions: ise 8.2-14.7; viv 2014.4-2016.1; ghdl 0.18-0.33
-- Tool versions: ise 8.2-14.7; viv 2014.4-2022.1; ghdl 0.18-2.0.0
--
-- Revision History:
-- Date Rev Version Comment
-- 2022-08-14 1279 1.1.3 set sysid to 010123
-- 2015-04-30 670 1.1.2 rename sys70 -> reg70
-- 2011-11-18 427 1.1.1 now numeric_std clean
-- 2010-10-17 333 1.1 use ibus V2 interface
@@ -103,7 +104,7 @@ begin
idout(r.mbrk'range) := r.mbrk;
end if;
if r.ibsel_sysid = '1' then
idout := slv(to_unsigned(8#123456#,16));
idout := slv(to_unsigned(8#010123#,16));
end if;
if r.ibsel_mbrk='1' and ibw0='1' then

View File

@@ -1,4 +1,4 @@
; $Id: setup_w11a_max.scmd 1275 2022-08-10 08:10:40Z mueller $
; $Id: setup_w11a_max.scmd 1280 2022-08-15 09:12:03Z mueller $
; SPDX-License-Identifier: GPL-3.0-or-later
; Copyright 2008-2022 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
;
@@ -23,6 +23,7 @@
;
; Revision History:
; Date Rev Version Comment
; 2922-08-14 1280 1.1.1 set sysid, indicate simulator and SimH
; 2022-07-14 1256 1.1 use autoconfig, cleanups
; 2008-12-28 182 1.0 Initial version
;
@@ -34,6 +35,10 @@ set cpu 4m
set cpu oct
set cpu idle
;
; set sysid, leading '1' indicates simulator, next '1' SimH
;
dep sysid 110234
;
; clock options
;
set clk 50hz

View File

@@ -1,4 +1,4 @@
; $Id: setup_w11a_mcode.scmd 1276 2022-08-12 10:25:13Z mueller $
; $Id: setup_w11a_mcode.scmd 1280 2022-08-15 09:12:03Z mueller $
; SPDX-License-Identifier: GPL-3.0-or-later
; Copyright 2022- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
;
@@ -17,6 +17,7 @@
;
; Revision History:
; Date Rev Version Comment
; 2922-08-14 1280 1.1.1 set sysid, indicate simulator and SimH
; 2022-08-10 1275 1.0 Initial version (derived from setup_w11a_max.scmd)
;
; processor options
@@ -28,6 +29,10 @@ set cpu oct
set cpu idle
set cpu hist=1000
;
; set sysid, leading '1' indicates simulator, next '1' SimH
;
dep sysid 110234
;
; clock options
;
set clk 50hz

View File

@@ -1,4 +1,4 @@
; $Id: setup_w11a_min.scmd 1275 2022-08-10 08:10:40Z mueller $
; $Id: setup_w11a_min.scmd 1280 2022-08-15 09:12:03Z mueller $
; SPDX-License-Identifier: GPL-3.0-or-later
; Copyright 2009-2022 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
;
@@ -25,6 +25,7 @@
;
; Revision History:
; Date Rev Version Comment
; 2922-08-14 1280 1.1.1 set sysid, indicate simulator and SimH
; 2022-07-14 1256 1.1 use autoconfig, cleanups
; 2009-09-13 238 1.0 Initial version
;
@@ -36,6 +37,10 @@ set cpu 1m
set cpu oct
set cpu idle
;
; set sysid, leading '1' indicates simulator, next '1' SimH
;
dep sysid 110234
;
; clock options
;
set clk 50hz