mirror of
https://github.com/wfjm/w11.git
synced 2026-01-25 12:15:40 +00:00
tcl support for DEUNA
This commit is contained in:
96
tools/tcl/ibd_deuna/util.tcl
Normal file
96
tools/tcl/ibd_deuna/util.tcl
Normal file
@@ -0,0 +1,96 @@
|
||||
# $Id: util.tcl 874 2017-04-14 17:53:07Z mueller $
|
||||
#
|
||||
# Copyright 2014-2017 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
|
||||
#
|
||||
# This program is free software; you may redistribute and/or modify it under
|
||||
# the terms of the GNU General Public License as published by the Free
|
||||
# Software Foundation, either version 2, or at your option any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY, without even the implied warranty of MERCHANTABILITY
|
||||
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# for complete details.
|
||||
#
|
||||
# Revision History:
|
||||
# Date Rev Version Comment
|
||||
# 2017-04-14 874 1.0 Initial version
|
||||
# 2014-06-09 561 0.1 First draft
|
||||
#
|
||||
|
||||
package provide ibd_deuna 1.0
|
||||
|
||||
package require rlink
|
||||
package require rw11util
|
||||
package require rw11
|
||||
|
||||
namespace eval ibd_deuna {
|
||||
#
|
||||
# setup register descriptions for ibd_deuna --------------------------------
|
||||
#
|
||||
|
||||
set pcmdtxt "s:NOOP:GETPCB:GETCMD:SELFTST:START:BOOT:CU06:CU07:PDMD:CU11:CU12:CU13:CU14:CU15:CU16:STOP"
|
||||
regdsc PR0 {seri 15} {pcei 14} {rxi 13} {txi 12} {dni 11} {rcbi 10} \
|
||||
{usci 8} {intr 7} {inte 6} {rset 5} \
|
||||
[list "pcmd" 3 4 $pcmdtxt]
|
||||
regdsc PR0RR [list "pcmdbp" 15 4 $pcmdtxt] {busy 9} {pcwwb 8}\
|
||||
{intr 7} {inte 6} {rset 5} {brst 4} \
|
||||
[list "pcmd" 3 4 $pcmdtxt]
|
||||
regdsc PR0RW {seri 15} {pcei 14} {rxi 13} {txi 12} {dni 11} {rcbi 10} \
|
||||
{busy 9} {usci 8} {rset 5} {brst 4}
|
||||
unset pcmdtxt
|
||||
|
||||
variable PCMD_NOOP [bvi b4 "0000"]
|
||||
variable PCMD_GETPCB [bvi b4 "0001"]
|
||||
variable PCMD_GETCMD [bvi b4 "0010"]
|
||||
variable PCMD_SELFTST [bvi b4 "0011"]
|
||||
variable PCMD_START [bvi b4 "0100"]
|
||||
variable PCMD_BOOT [bvi b4 "0101"]
|
||||
variable PCMD_PDMD [bvi b4 "1000"]
|
||||
variable PCMD_STOP [bvi b4 "1111"]
|
||||
|
||||
regdsc PR1 {xpwr 15} {icab 14} {pcto 7} {deuna 4} \
|
||||
{state 3 4 "s:RESET:PLOAD:READY:RUN:SU04:UHALT:NHALT:NUHALT:PHALT:SU11:SU12:SU13:SU14:SU15:SU16:SLOAD"}
|
||||
|
||||
variable STATE_RESET [bvi b4 "0000"]
|
||||
variable STATE_PLOAD [bvi b4 "0001"]
|
||||
variable STATE_READY [bvi b4 "0010"]
|
||||
variable STATE_RUN [bvi b4 "0011"]
|
||||
variable STATE_UHALT [bvi b4 "0101"]
|
||||
variable STATE_NHALT [bvi b4 "0110"]
|
||||
variable STATE_NUHALT [bvi b4 "0111"]
|
||||
variable STATE_PHALT [bvi b4 "1000"]
|
||||
variable STATE_SLOAD [bvi b4 "1111"]
|
||||
|
||||
rw11util::regmap_add ibd_deuna xu?.pr0 {l? PR0 rr PR0RR rw PR0RW}
|
||||
rw11util::regmap_add ibd_deuna xu?.pr1 {?? PR1}
|
||||
|
||||
variable ANUM 9
|
||||
|
||||
#
|
||||
# setup: create controller with default attributes -------------------------
|
||||
#
|
||||
proc setup {{cpu "cpu0"}} {
|
||||
return [rw11::setup_cntl $cpu "deuna" "xua"]
|
||||
}
|
||||
|
||||
#
|
||||
# rdump: register dump - rem view ------------------------------------------
|
||||
#
|
||||
proc rdump {{cpu "cpu0"}} {
|
||||
set rval {}
|
||||
$cpu cp -ribr "xua.pr0" pr0 \
|
||||
-ribr "xua.pr1" pr1 \
|
||||
-ribr "xua.pr2" pr2 \
|
||||
-ribr "xua.pr3" pr3
|
||||
|
||||
set pcbb [expr {$pr2 + ($pr3<<16) }]
|
||||
|
||||
append rval "Controller registers:"
|
||||
append rval [format "\n pr0: %6.6o %s" $pr0 [regtxt ibd_deuna::PR0 $pr0]]
|
||||
append rval [format "\n pr1: %6.6o %s" $pr1 [regtxt ibd_deuna::PR1 $pr1]]
|
||||
append rval [format "\n pr2: %6.6o" $pr2]
|
||||
append rval [format "\n pr3: %6.6o %s" $pr3 [format "pcbb: %7.7o" $pcbb]]
|
||||
|
||||
return $rval
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
# $Id: regmap.tcl 720 2015-12-28 14:52:45Z mueller $
|
||||
# $Id: regmap.tcl 858 2017-03-05 17:41:37Z mueller $
|
||||
#
|
||||
# Copyright 2015- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
|
||||
# Copyright 2015-2017 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
|
||||
#
|
||||
# This program is free software; you may redistribute and/or modify it under
|
||||
# the terms of the GNU General Public License as published by the Free
|
||||
@@ -13,6 +13,7 @@
|
||||
#
|
||||
# Revision History:
|
||||
# Date Rev Version Comment
|
||||
# 2017-03-04 858 1.0.1 add ibd_deuna
|
||||
# 2015-12-28 720 1.0 Initial version
|
||||
# 2015-12-26 719 0.1 First draft
|
||||
#
|
||||
@@ -82,6 +83,7 @@ namespace eval rw11util {
|
||||
variable regmap_loaded
|
||||
package require rw11
|
||||
package require ibd_dl11
|
||||
package require ibd_deuna
|
||||
package require ibd_ibmon
|
||||
package require ibd_lp11
|
||||
package require ibd_pc11
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#! /usr/bin/env tclshcpp
|
||||
# $Id: setup_packages 741 2016-03-12 23:49:03Z mueller $
|
||||
# $Id: setup_packages 847 2017-01-29 22:38:42Z mueller $
|
||||
#
|
||||
pkg_mkIndex -verbose ../lib \
|
||||
librlinktpp.so \
|
||||
@@ -19,6 +19,7 @@ pkg_mkIndex -verbose rbsysmon *.tcl
|
||||
pkg_mkIndex -verbose rw11 *.tcl
|
||||
pkg_mkIndex -verbose rw11util *.tcl
|
||||
#
|
||||
pkg_mkIndex -verbose ibd_deuna *.tcl
|
||||
pkg_mkIndex -verbose ibd_dl11 *.tcl
|
||||
pkg_mkIndex -verbose ibd_ibmon *.tcl
|
||||
pkg_mkIndex -verbose ibd_lp11 *.tcl
|
||||
|
||||
Reference in New Issue
Block a user