1
0
mirror of https://github.com/wfjm/w11.git synced 2026-04-27 20:49:15 +00:00
Files
wfjm.w11/tools/tbench/m9312/test_m9312_all.tcl
2023-02-03 08:16:59 +01:00

98 lines
4.1 KiB
Tcl

# $Id: test_m9312_all.tcl 1365 2023-02-02 11:46:43Z mueller $
# SPDX-License-Identifier: GPL-3.0-or-later
# Copyright 2019-2023 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
#
# Revision History:
# Date Rev Version Comment
# 2019-04-30 1143 1.0 Initial version
#
# Test register response
# ----------------------------------------------------------------------------
rlc log "test_m9312_all: test m9312 response ---------------------------------"
if {[$cpu get hasm9312] == 0} {
rlc log " test_m9312_all-W: no m9312 unit found, test aborted"
return
}
package require ibd_m9312
# -- Section A ---------------------------------------------------------------
rlc log " A1: test csr response (rem) -------------------------------"
# test csr bits
$cpu cp \
-wibr m9.csr [regbld ibd_m9312::RCSR locwe] \
-ribr m9.csr -edata [regbld ibd_m9312::RCSR locwe] \
-wibr m9.csr [regbld ibd_m9312::RCSR enahi] \
-ribr m9.csr -edata [regbld ibd_m9312::RCSR enahi] \
-wibr m9.csr [regbld ibd_m9312::RCSR enalo] \
-ribr m9.csr -edata [regbld ibd_m9312::RCSR enalo]
# test that only csr is rem accessible, and not rest of LO-ROM and HI-ROM
$cpu cp \
-ribr [expr $ibd_m9312::A_LOROM + 0002] -estaterr \
-ribr [expr $ibd_m9312::A_LOROM + 0776] -estaterr \
-ribr [expr $ibd_m9312::A_HIROM ] -estaterr \
-ribr [expr $ibd_m9312::A_HIROM + 0776] -estaterr
rlc log " A2: csr.locwe=1: loc write ROM ----------------------------"
$cpu cp \
-wibr m9.csr [regbld ibd_m9312::RCSR locwe] \
-wma [expr $ibd_m9312::A_LOROM + 0000] 0100000 \
-wma [expr $ibd_m9312::A_LOROM + 0200] 0100222 \
-wma [expr $ibd_m9312::A_LOROM + 0400] 0100444 \
-wma [expr $ibd_m9312::A_LOROM + 0600] 0100666 \
-wma [expr $ibd_m9312::A_LOROM + 0776] 0100777 \
-wma [expr $ibd_m9312::A_HIROM + 0000] 0101000 \
-wma [expr $ibd_m9312::A_HIROM + 0200] 0101222 \
-wma [expr $ibd_m9312::A_HIROM + 0400] 0101444 \
-wma [expr $ibd_m9312::A_HIROM + 0600] 0101666 \
-wma [expr $ibd_m9312::A_HIROM + 0776] 0101777
rlc log " A3: csr.locwe=0: loc write ROM fails ----------------------"
$cpu cp \
-wibr m9.csr [regbld ibd_m9312::RCSR enahi enalo] \
-wma [expr $ibd_m9312::A_LOROM + 0000] 0xdead -estaterr \
-wma [expr $ibd_m9312::A_LOROM + 0776] 0xbeaf -estaterr \
-wma [expr $ibd_m9312::A_HIROM + 0000] 0xdead -estaterr \
-wma [expr $ibd_m9312::A_HIROM + 0776] 0xbeaf -estaterr
rlc log " A4: csr.enalo=1,enahi=1: all ROM readable -----------------"
$cpu cp \
-wibr m9.csr [regbld ibd_m9312::RCSR enahi enalo] \
-ribr m9.csr -edata [regbld ibd_m9312::RCSR enahi enalo] \
-rma [expr $ibd_m9312::A_LOROM + 0000] -edata 0100000 \
-rma [expr $ibd_m9312::A_LOROM + 0200] -edata 0100222 \
-rma [expr $ibd_m9312::A_LOROM + 0400] -edata 0100444 \
-rma [expr $ibd_m9312::A_LOROM + 0600] -edata 0100666 \
-rma [expr $ibd_m9312::A_LOROM + 0776] -edata 0100777 \
-rma [expr $ibd_m9312::A_HIROM + 0000] -edata 0101000 \
-rma [expr $ibd_m9312::A_HIROM + 0200] -edata 0101222 \
-rma [expr $ibd_m9312::A_HIROM + 0400] -edata 0101444 \
-rma [expr $ibd_m9312::A_HIROM + 0600] -edata 0101666 \
-rma [expr $ibd_m9312::A_HIROM + 0776] -edata 0101777
rlc log " A4: csr.enalo=1,enahi=0: only LO-ROM visible --------------"
$cpu cp \
-wibr m9.csr [regbld ibd_m9312::RCSR enalo] \
-rma [expr $ibd_m9312::A_LOROM + 0000] -edata 0100000 \
-rma [expr $ibd_m9312::A_LOROM + 0776] -edata 0100777 \
-rma [expr $ibd_m9312::A_HIROM + 0000] -estaterr \
-rma [expr $ibd_m9312::A_HIROM + 0776] -estaterr
rlc log " A4: csr.enalo=0,enahi=1: only HI-ROM visible --------------"
$cpu cp \
-wibr m9.csr [regbld ibd_m9312::RCSR enahi] \
-rma [expr $ibd_m9312::A_LOROM + 0000] -estaterr \
-rma [expr $ibd_m9312::A_LOROM + 0776] -estaterr \
-rma [expr $ibd_m9312::A_HIROM + 0000] -edata 0101000 \
-rma [expr $ibd_m9312::A_HIROM + 0776] -edata 0101777
rlc log " A4: csr.enalo=0,enahi=0: no ROM visible -------------------"
$cpu cp \
-wibr m9.csr [regbld ibd_m9312::RCSR] \
-rma [expr $ibd_m9312::A_LOROM + 0000] -estaterr \
-rma [expr $ibd_m9312::A_LOROM + 0776] -estaterr \
-rma [expr $ibd_m9312::A_HIROM + 0000] -estaterr \
-rma [expr $ibd_m9312::A_HIROM + 0776] -estaterr