OpenCores
URL https://opencores.org/ocsvn/w11/w11/trunk

Subversion Repositories w11

[/] [w11/] [tags/] [w11a_V0.74/] [tools/] [tbench/] [rhrp/] [test_rhrp_func_reg.tcl] - Blame information for rev 40

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 34 wfjm
# $Id: test_rhrp_func_reg.tcl 705 2015-07-26 21:25:42Z mueller $
2 30 wfjm
#
3
# Copyright 2015- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
4
# License disclaimer see LICENSE_gpl_v2.txt in $RETROBASE directory
5
#
6
# Revision History:
7
# Date         Rev Version  Comment
8 32 wfjm
# 2015-06-20   692   1.0.1  de-configure all drives at begin
9 30 wfjm
# 2015-03-29   660   1.0    Initial version
10
#
11
# Test functions - register level
12
#  A: 
13
 
14
# ----------------------------------------------------------------------------
15
rlc log "test_rhrp_func_reg: test functions - register level -----------------"
16
rlc log "  setup: unit 0:RP06(mol), 1:RM05(mol,wrl), 2: RP07(mol=0), 3: off"
17
package require ibd_rhrp
18
ibd_rhrp::setup
19
 
20
rlc set statmask  $rw11::STAT_DEFMASK
21
rlc set statvalue 0
22
 
23 32 wfjm
# de-configure all drives (and clear errros and reset vv)
24
$cpu cp -wibr rpa.cs1 [ibd_rhrp::rcs1_wunit 0] \
25
        -wibr rpa.ds  [regbld ibd_rhrp::DS erp vv] \
26
        -wibr rpa.cs1 [ibd_rhrp::rcs1_wunit 1] \
27
        -wibr rpa.ds  [regbld ibd_rhrp::DS erp vv] \
28
        -wibr rpa.cs1 [ibd_rhrp::rcs1_wunit 2] \
29
        -wibr rpa.ds  [regbld ibd_rhrp::DS erp vv] \
30
        -wibr rpa.cs1 [ibd_rhrp::rcs1_wunit 3] \
31
        -wibr rpa.ds  [regbld ibd_rhrp::DS erp vv]
32
 
33 30 wfjm
# configure drives
34
$cpu cp -wibr rpa.cs1 [ibd_rhrp::rcs1_wunit 0] \
35
        -wibr rpa.ds  [regbld ibd_rhrp::DS {dpr 1} mol] \
36
        -wibr rpa.dt  $ibd_rhrp::DTE_RP06 \
37
        -wibr rpa.cs1 [ibd_rhrp::rcs1_wunit 1] \
38
        -wibr rpa.ds  [regbld ibd_rhrp::DS {dpr 1} mol wrl] \
39
        -wibr rpa.dt  $ibd_rhrp::DTE_RM05 \
40
        -wibr rpa.cs1 [ibd_rhrp::rcs1_wunit 2] \
41
        -wibr rpa.ds  [regbld ibd_rhrp::DS {dpr 1}] \
42
        -wibr rpa.dt  $ibd_rhrp::DTE_RP07 \
43
        -wibr rpa.cs1 [ibd_rhrp::rcs1_wunit 3] \
44
        -wibr rpa.ds  [regbld ibd_rhrp::DS {dpr 0}]
45
 
46
# setup system: select unit 0; clr errors (cs1.tre and func=dclr); clear ATs
47
$cpu cp -wma  rpa.cs2 [regbld ibd_rhrp::CS2 {unit 0}] \
48
        -wma  rpa.cs1 [regbld ibd_rhrp::CS1 tre] \
49
        -wma  rpa.cs1 [ibd_rhrp::cs1_func $ibd_rhrp::FUNC_DCLR] \
50
        -wma  rpa.as  [regbld ibd_rhrp::AS u3 u2 u1 u0] \
51
        -rma  rpa.ds  -edata [regbld ibd_rhrp::DS dpr mol dry]
52
 
53
# -- Section A -- function basics --------------------------------------------
54
rlc log "  A -- function basics ----------------------------------------------"
55
rlc log "  A1: test cs1 func basics ----------------------------------"
56
rlc log "    A1.1a: func noop; check no as ----------------------"
57
 
58
set dsmsk [regbld ibd_rhrp::DS ata dpr]
59
 
60
$cpu cp -wma  rpa.cs1 [ibd_rhrp::cs1_func $ibd_rhrp::FUNC_NOOP] \
61
        -rma  rpa.as  -edata 0x0 \
62
        -rma  rpa.ds  -edata [regbld ibd_rhrp::DS dpr] $dsmsk
63
 
64
rlc log "    A2.1a: test invalid function (037) -----------------"
65
 
66
$cpu cp -wma  rpa.cs1 [ibd_rhrp::cs1_func 037]
67
 
68
rlc log "    A2.1b: check as,er1.ilf,ds.ata; clear as; recheck --"
69
 
70
$cpu cp -rma  rpa.as  -edata [regbld ibd_rhrp::AS u0] \
71
        -rma  rpa.er1 -edata [regbld ibd_rhrp::ER1 ilf] \
72
        -rma  rpa.ds  -edata [regbld ibd_rhrp::DS ata dpr] $dsmsk \
73
        -wma  rpa.as  [regbld ibd_rhrp::AS u0] \
74
        -rma  rpa.as  -edata 0x0 \
75
        -rma  rpa.ds  -edata [regbld ibd_rhrp::DS dpr] $dsmsk
76
 
77
rlc log "    A2.2a: func dclr; check no as and er1 clear --------"
78
 
79
$cpu cp -wma  rpa.as  [regbld ibd_rhrp::AS u3 u2 u1 u0] \
80
        -wma  rpa.cs1 [ibd_rhrp::cs1_func $ibd_rhrp::FUNC_DCLR] \
81
        -rma  rpa.as  -edata 0x0 \
82
        -rma  rpa.er1 -edata 0x0
83
 
84
# -- Section B -- state functions --------------------------------------------
85
rlc log "  B -- state functions ----------------------------------------------"
86
 
87
# -- Section C -- seek functions ---------------------------------------------
88
rlc log "  C -- seek functions -----------------------------------------------"
89
 
90
# -- Section D -- transfer functions -----------------------------------------
91
rlc log "  D -- transfer functions -------------------------------------------"
92
rlc log "  D1: test func read sequence -------------------------------"
93
rlc log "  D1.1: issue func with ie=0 ---------------------------"
94
 
95
# discard pending attn to be on save side
96
rlc wtlam 0.
97
rlc exec -attn
98
 
99
set attnmsk [expr {1<<$ibd_rhrp::ANUM}]
100
 
101
set ba 0x1000
102
set wc [expr {0xffff & (-256)}]
103
set da [regbld ibd_rhrp::DA {ta 2} {sa 1}]
104
set dc 0x0003
105
 
106
$cpu cp -wma  rpa.cs2 [regbld ibd_rhrp::CS2 {unit 0}] \
107
        -wma  rpa.cs1 [regbld ibd_rhrp::CS1 tre] \
108
        -wma  rpa.ba  $ba \
109
        -wma  rpa.bae 0x0    \
110
        -wma  rpa.wc  $wc \
111
        -wma  rpa.da  $da    \
112
        -wma  rpa.dc  $dc \
113
        -wma  rpa.cs1 [ibd_rhrp::cs1_func $ibd_rhrp::FUNC_READ]
114
 
115
rlc log "  D1.2: loc status check: cs1.rdy=0, ds.dry=0 ----------"
116
 
117
$cpu cp -rma  rpa.cs1 -edata 0 [regbld ibd_rhrp::CS1 rdy] \
118
        -rma  rpa.ds  -edata 0 [regbld ibd_rhrp::DS  dry]
119
 
120
rlc log "  D1.3: rem status check: attn + state -----------------"
121
 
122
rlc exec -attn -edata $attnmsk
123
 
124
# check rdy=0 ie=0 func=read
125 34 wfjm
set cs1val [regbldkv ibd_rhrp::CS1 func READ]
126 30 wfjm
set cs1msk [regbld ibd_rhrp::CS1 rdy ie {func -1}]
127
# expect ds mol=1 dpr=1 dry=0
128
set dsval  [regbld ibd_rhrp::DS mol dpr]
129
 
130
$cpu cp -wibr rpa.cs1 [ibd_rhrp::cs1_func $ibd_rhrp::RFUNC_CUNIT] \
131
        -ribr rpa.cs1 -edata $cs1val $cs1msk \
132
        -ribr rpa.ba  -edata $ba \
133
        -ribr rpa.bae -edata 0x0 \
134
        -ribr rpa.wc  -edata $wc \
135
        -ribr rpa.da  -edata $da \
136
        -ribr rpa.dc  -edata $dc \
137
        -ribr rpa.ds  -edata $dsval
138
 
139
rlc log "  D1.4: rem send response ------------------------------"
140
 
141
set ba [expr {0xffff & (-$wc)}]
142
set da [regbld ibd_rhrp::DA {ta 2} {sa 2}]
143
 
144
$cpu cp -wibr rpa.ba  $ba \
145
        -wibr rpa.wc  0x0 \
146
        -wibr rpa.da  $da \
147
        -wibr rpa.cs1 [ibd_rhrp::cs1_func $ibd_rhrp::RFUNC_DONE]
148
 
149
rlc log "  D1.5: loc check: cs1.rdy=1, ds.dry=1 -----------------"
150
 
151
# expect cs1 sc=0 tre=0 dva=1 rdy=1 ie=0 func=read go=0
152 34 wfjm
set cs1val [regbldkv ibd_rhrp::CS1  dva 1  rdy 1  func READ]
153 30 wfjm
# expect ds ata=0 mol=1 dpr=1 dry=1
154
set dsval  [regbld ibd_rhrp::DS mol dpr dry]
155
 
156
$cpu cp -rma  rpa.cs1 -edata $cs1val \
157
        -rma  rpa.ba  -edata $ba \
158
        -rma  rpa.wc  -edata 0x0 \
159
        -rma  rpa.da  -edata $da \
160
        -rma  rpa.ds  -edata $dsval

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.