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

Subversion Repositories w11

[/] [w11/] [tags/] [w11a_V0.74/] [rtl/] [vlib/] [rlink/] [tb/] [tb_rlink_stim.dat] - Blame information for rev 38

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 28 wfjm
# $Id: tb_rlink_stim.dat 617 2014-12-21 14:18:53Z mueller $
2 9 wfjm
#
3
#  Revision History:
4
# Date         Rev Version  Comment
5 28 wfjm
# 2014-12-21   617   4.0.1  rlink signals now tout and nak on separate stat bits
6 27 wfjm
# 2014-10-12   596   4.0    rewritten for rlink v4
7
# ...                       all history v1->v3 droped
8 9 wfjm
# 2007-06-17    58   1.0    Initial version
9
#
10
#---------------------------------------
11
# rbus address mapping
12 27 wfjm
#   ffe0   rbd_tester cntl
13
#   ffe1   rbd_tester stat
14
#   ffe2   rbd_tester attn
15
#   ffe3   rbd_tester ncyc
16
#   ffe4   rbd_tester data
17
#   ffe5   rbd_tester dinc
18
#   ffe6   rbd_tester fifo
19
#   ffe7   rbd_tester lnak
20 9 wfjm
#
21
.rlmon 0
22 27 wfjm
.rlbmo 0
23
.rbmon 1
24 9 wfjm
#
25 27 wfjm
C =============================================================================
26
C Section A1: Basic framing
27 9 wfjm
C -----------------------------------------------------------------------------
28 27 wfjm
C Test A1.1: empty frame
29
C       tx: sop - eop
30
C       rx: sop - eop
31
rxsop
32
rxeop
33 9 wfjm
#
34 27 wfjm
txsop
35
txeop
36 9 wfjm
#
37
.iowt 10
38
#
39
C -----------------------------------------------------------------------------
40 27 wfjm
C Test A1.2: discard extra eop's
41
C       tx: eop - eop - sop - eop
42
C       rx: sop - eop
43
rxsop
44
rxeop
45 9 wfjm
#
46 27 wfjm
txeop
47
txeop
48
txsop
49
txeop
50 9 wfjm
#
51
.iowt 10
52
#
53
C -----------------------------------------------------------------------------
54 27 wfjm
C Test A1.3: discard extra data
55
C       tx: <4 byte data> - sop - eop
56
C       rx: sop - eop
57
rxsop
58
rxeop
59 9 wfjm
#
60 27 wfjm
tx8 00000000
61
tx8 00000001
62
tx8 00000010
63
tx8 00000011
64
txsop
65
txeop
66 9 wfjm
#
67
.iowt 10
68
#
69
C -----------------------------------------------------------------------------
70 27 wfjm
C Test A1.4: frame error nak abort: sop in active frame
71
C       tx: sop - sop - eop
72
C       rx: sop - nak nakcode(010) - eop
73
rxsop
74
rxnak
75
rx8    10101010   -- 10 101 010
76
rxeop
77 9 wfjm
#
78 27 wfjm
txsop
79
txsop
80
txeop
81 9 wfjm
#
82
.iowt 10
83
#
84 27 wfjm
C =============================================================================
85
C Section A2: Basic commands: attn, wreg, rreg
86
C -----------------------------------------------------------------------------
87
C Test A2.1: test attn (simplest cmd, no rbus access)
88
C       .attn 1000000000000000
89
C attn: tx: sop - cmd(attn,1) ccrc
90
C attn: tx:     - cmd(attn,2) ccrc - eop
91
C       rx: sop - cmd(attn,1) dl dh stat crc
92
C       rx:     - cmd(attn,2) dl dh stat crc - eop
93 9 wfjm
#
94 27 wfjm
.attn  1000000000000000
95 9 wfjm
rxsop
96 27 wfjm
rxcds  attn,1  1000000000000000  00000000
97
rxcds  attn,2  0000000000000000  00000000
98 9 wfjm
rxeop
99
txsop
100 27 wfjm
txc    attn,1
101
txc    attn,2
102 9 wfjm
txeop
103 27 wfjm
.iowt  10
104 9 wfjm
#
105
C -----------------------------------------------------------------------------
106 27 wfjm
C Test A2.2: wreg(data) -> shows that rlink can write a register
107
C   data := x"1111"
108
C wreg: tx: sop - cmd(wreg,3) addr(00f1) dl dh ccrc - eop
109
C       rx: sop - cmd(wreg,3) stat crc - eop
110 9 wfjm
#
111
rxsop
112 27 wfjm
rxcs   wreg,3  00000000
113 9 wfjm
rxeop
114
#
115
txsop
116 27 wfjm
txcad  wreg,3  x"ffe4"  x"1111"
117 9 wfjm
txeop
118
#
119
.iowt 10
120
#
121
C -----------------------------------------------------------------------------
122 27 wfjm
C Test A2.3: rreg(data) -> shows that rlink can read back a register
123
C   data -> x"1111"
124
C rreg: tx: sop - cmd(rreg,4) addr(00f1) ccrc - eop
125
C       rx: sop - cmd(rreg,4) dl dh stat crc - eop
126 9 wfjm
#
127
rxsop
128 27 wfjm
rxcds  rreg,4  x"1111"  00000000
129 9 wfjm
rxeop
130
#
131
txsop
132 27 wfjm
txca   rreg,4  x"ffe4"
133 9 wfjm
txeop
134
#
135
.iowt 10
136
#
137 27 wfjm
C =============================================================================
138
C Section A3: Check-out rbd_tester basics with wreg,rreg
139
C   from now use lists and high level commands
140 9 wfjm
C -----------------------------------------------------------------------------
141 27 wfjm
C Test A3.1: wreg(data) + rreg(data) list
142 9 wfjm
#
143 27 wfjm
sop
144
wreg    0  x"ffe4"  x"f0f0"  00000000       -- data := f0f0
145
rreg    1  x"ffe4"  x"f0f0"  00000000       -- data >? f0f0
146
eop
147 9 wfjm
.iowt 10
148
#
149
C -----------------------------------------------------------------------------
150 27 wfjm
C Test A3.2: check cntl write/read
151 9 wfjm
#
152 27 wfjm
sop
153
wreg    2  x"ffe0"  x"ffff"  00000000       -- cntl := ffff
154
rreg    3  x"ffe0"  x"83ff"  00000000       -- cntl >? (wchk=1,nbusy=3ff)
155
wreg    4  x"ffe0"  x"0000"  00000000       -- cntl := ffff
156
rreg    5  x"ffe0"  x"0000"  00000000       -- cntl >? (wchk=0,nbusy=0)
157
eop
158 9 wfjm
.iowt 10
159
#
160
C -----------------------------------------------------------------------------
161 27 wfjm
C Test A3.3: check stat write/read  (and that RB_STAT is retured)
162 9 wfjm
#
163 27 wfjm
sop
164
wreg    2  x"ffe1"  x"ffff"  00000000       -- stat := ffff
165
rreg    3  x"ffe1"  x"000f"  11110000       -- stat >? 000f  {stat=1111}
166
wreg    4  x"ffe1"  x"0000"  11110000       -- stat := 0000  {stat=1111}
167
rreg    5  x"ffe1"  x"0000"  00000000       -- stat >? 0000
168
eop
169 9 wfjm
.iowt 10
170
C -----------------------------------------------------------------------------
171 27 wfjm
C Test A3.4: check attn write/read  (also RB_LAM is driven; also rberr in rreg)
172
#
173
sop
174
wreg    6  x"ffe2"  x"beaf"  00001000       -- attn := 5555  {attn=1}
175
rreg    7  x"ffe2"  x"5555"  00001001       -- attn >? 5555  {attn=1,err=1}
176
attn    8  x"beaf"           00000000       --      >? beaf  (attn pattern)
177
attn    8  x"0000"           00000000       --      >? 0000  (cleared on reread)
178
eop
179 9 wfjm
.iowt 10
180
#
181
C -----------------------------------------------------------------------------
182 27 wfjm
C Test A3.5: check ncyc write/read  (also rberr in wreg)
183
#
184
sop
185
wreg    9  x"ffe4"  x"beaf"  00000000       -- data := beaf
186
rreg   10  x"ffe3"  x"0001"  00000000       -- ncyc >? 0001  (nbusy is 0!)
187
wreg   11  x"ffe3"  x"dead"  00000001       -- ncyc := dead  {err=1}
188
eop
189 9 wfjm
.iowt 10
190
#
191
C -----------------------------------------------------------------------------
192 27 wfjm
C Test A3.6: check dinc read
193
#
194
sop
195
wreg   12  x"ffe4"  x"1100"  00000000       -- data := 1100
196
rreg   13  x"ffe5"  x"1100"  00000000       -- dinc >? 1100
197
rreg   14  x"ffe5"  x"1101"  00000000       -- dinc >? 1101
198
rreg   15  x"ffe5"  x"1102"  00000000       -- dinc >? 1102
199
rreg   16  x"ffe4"  x"1103"  00000000       -- data >? 1103
200
eop
201 9 wfjm
.iowt 10
202
#
203
C -----------------------------------------------------------------------------
204 27 wfjm
C Test A3.7: check dinc write (and wchk)
205
#
206
sop
207
wreg   17  x"ffe4"  x"1200"  00000000       -- data := 1200
208
wreg   18  x"ffe5"  x"1200"  00000000       -- dinc := 1200
209
wreg   19  x"ffe5"  x"1201"  00000000       -- dinc := 1201
210
wreg   20  x"ffe5"  x"1202"  00000000       -- dinc := 1202
211
rreg   21  x"ffe4"  x"1203"  00000000       -- data >? 1203
212
rreg   22  x"ffe0"  x"0000"  00000000       -- cntl >? (wchk=0)
213
eop
214 9 wfjm
.iowt 10
215
#
216 27 wfjm
sop
217
wreg   23  x"ffe5"  x"f203"  00000000       -- dinc := f203  (should be 1203!)
218
wreg   24  x"ffe5"  x"1204"  00000000       -- dinc := 1204  (ok again)
219
rreg   25  x"ffe0"  x"8000"  00000000       -- cntl >? (wchk=1)
220
rreg   26  x"ffe4"  x"1205"  00000000       -- data >? 1205
221
wreg   27  x"ffe4"  x"1300"  00000000       -- data := 1300  (clears wchk)
222
rreg   28  x"ffe0"  x"0000"  00000000       -- cntl >? (wchk=0)
223
eop
224 9 wfjm
.iowt 10
225
#
226
C -----------------------------------------------------------------------------
227 27 wfjm
C Test A3.8: check fifo write/read (and rberr for rreg)
228
#
229
sop
230
rreg    0  x"ffe6"  x"5555"  00000001       -- fifo >? 5555  {err=1} (fifo empty)
231
wreg    1  x"ffe6"  x"1400"  00000000       -- fifo := 1400
232
wreg    2  x"ffe6"  x"1401"  00000000       -- fifo := 1401
233
wreg    3  x"ffe6"  x"1402"  00000000       -- fifo := 1402
234
rreg    4  x"ffe6"  x"1400"  00000000       -- fifo >? 1400
235
rreg    5  x"ffe6"  x"1401"  00000000       -- fifo >? 1400
236
rreg    6  x"ffe6"  x"1402"  00000000       -- fifo >? 1400
237
rreg    7  x"ffe6"  x"5555"  00000001       -- fifo >? 5555  {err=1} (fifo empty)
238
eop
239 9 wfjm
.iowt 10
240
#
241 27 wfjm
C -----------------------------------------------------------------------------
242
C Test A3.9: check lnak write/read (and rbnak for rreg and wreg)
243
#
244
sop
245
wreg    0  x"ffe7"  x"aaaa"  00000010       -- lnak >? aaaa  {nak=1}
246
rreg    1  x"ffe7"  x"5555"  00000010       -- lnak >? 5555  {nak=1}
247
eop
248 9 wfjm
.iowt 10
249
#
250
C -----------------------------------------------------------------------------
251 27 wfjm
C Test A3.10: check nbusy (use nbusy=4)
252
#
253
C    with data
254
sop
255
wreg    0  x"ffe0"  x"0004"  00000000       -- cntl := (nbusy=4)
256
wreg    1  x"ffe4"  x"1234"  00000000       -- data := 1234
257
rreg    2  x"ffe3"  x"0005"  00000000       -- ncyc >? 0005  (ncyc=nbusy+1)
258
rreg    3  x"ffe4"  x"1234"  00000000       -- data >? 1234
259
rreg    4  x"ffe3"  x"0005"  00000000       -- ncyc >? 0005  (ncyc=nbusy+1)
260
eop
261 9 wfjm
.iowt 10
262
#
263 27 wfjm
C    with dinc
264
sop
265
wreg    0  x"ffe5"  x"1234"  00000000       -- dinc := 1234
266
rreg    1  x"ffe3"  x"0005"  00000000       -- ncyc >? 0005  (ncyc=nbusy+1)
267
rreg    2  x"ffe5"  x"1235"  00000000       -- dinc >? 1235
268
rreg    3  x"ffe3"  x"0005"  00000000       -- ncyc >? 0005  (ncyc=nbusy+1)
269
eop
270 9 wfjm
.iowt 10
271
#
272 27 wfjm
C    with fifo
273
sop
274
wreg    0  x"ffe6"  x"3300"  00000000       -- fifo := 3300
275
rreg    1  x"ffe3"  x"0005"  00000000       -- ncyc >? 0005  (ncyc=nbusy+1)
276
rreg    2  x"ffe6"  x"3300"  00000000       -- fifo >? 3300
277
rreg    3  x"ffe3"  x"0005"  00000000       -- ncyc >? 0005  (ncyc=nbusy+1)
278
eop
279 9 wfjm
.iowt 10
280
#
281 27 wfjm
C    with lnak
282
sop
283
wreg    0  x"ffe7"  x"aaaa"  00000010       -- lnak := aaaa  {nak=1}
284
rreg    1  x"ffe3"  x"0005"  00000000       -- ncyc >? 0005  (ncyc=nbusy+1)
285
rreg    2  x"ffe7"  x"5555"  00000010       -- lnak >? 5555  {nak=1}
286
rreg    3  x"ffe3"  x"0005"  00000000       -- ncyc >? 0005  (ncyc=nbusy+1)
287
eop
288 9 wfjm
.iowt 10
289
#
290 27 wfjm
C    with stat (should not assert busy!)
291
sop
292
wreg    0  x"ffe1"  x"0000"  00000000       -- stat := 0000
293
rreg    1  x"ffe3"  x"0001"  00000000       -- ncyc >? 0001  (after wreg stat)
294
rreg    2  x"ffe1"  x"0000"  00000000       -- stat >? 0000
295
rreg    3  x"ffe3"  x"0001"  00000000       -- ncyc >? 0001  (after rreg stat)
296
eop
297 16 wfjm
.iowt 10
298 9 wfjm
#
299 27 wfjm
C    with ncyc  (should not assert busy!)
300
sop
301
rreg    0  x"ffe3"  x"0001"  00000000       -- ncyc >? 0001  (after rreg ncyc)
302
eop
303 9 wfjm
.iowt 10
304
#
305 27 wfjm
C    with cntl  (should not assert busy!)
306
sop
307
rreg    0  x"ffe0"  x"0004"  00000000       -- cntl >? 0004
308
rreg    1  x"ffe3"  x"0001"  00000000       -- ncyc >? 0001  (after rreg cntl)
309
wreg    2  x"ffe0"  x"0000"  00000000       -- cntl := 0000
310
rreg    3  x"ffe3"  x"0001"  00000000       -- ncyc >? 0001  (after wreg cntl)
311
eop
312 9 wfjm
.iowt 10
313
#
314
C -----------------------------------------------------------------------------
315 27 wfjm
C Test A3.11: check nbusy (use nbusy=3ff -> will cause time out)
316
#
317
C    with data
318
sop
319
wreg    0  x"ffe0"  x"03ff"  00000000       -- cntl := (nbusy=1023)
320 28 wfjm
wreg    1  x"ffe4"  x"1234"  00000100       -- data := 1234
321 27 wfjm
rreg    2  x"ffe3"  x"0020"  00000000       -- ncyc >? 0020  (ncyc=TO(32))
322 28 wfjm
rreg    3  x"ffe4"  x"5555"  00000100       -- data >? 5555
323 27 wfjm
rreg    4  x"ffe3"  x"0020"  00000000       -- ncyc >? 0020  (ncyc=TO(32))
324
eop
325 9 wfjm
.iowt 10
326
#
327 27 wfjm
C    with dinc
328
sop
329 28 wfjm
wreg    0  x"ffe5"  x"1234"  00000100       -- dinc := 1234
330 27 wfjm
rreg    1  x"ffe3"  x"0020"  00000000       -- ncyc >? 0020  (ncyc=TO(32))
331 28 wfjm
rreg    2  x"ffe5"  x"5555"  00000100       -- dinc >? 5555
332 27 wfjm
rreg    3  x"ffe3"  x"0020"  00000000       -- ncyc >? 0020  (ncyc=TO(32))
333
eop
334 9 wfjm
.iowt 10
335
#
336 27 wfjm
C    with fifo
337
sop
338 28 wfjm
wreg    0  x"ffe6"  x"3300"  00000100       -- fifo := 3300
339 27 wfjm
rreg    1  x"ffe3"  x"0020"  00000000       -- ncyc >? 0020  (ncyc=TO(32))
340 28 wfjm
rreg    2  x"ffe6"  x"5555"  00000100       -- fifo >? 5555
341 27 wfjm
rreg    3  x"ffe3"  x"0020"  00000000       -- ncyc >? 0020  (ncyc=TO(32))
342
eop
343 9 wfjm
.iowt 10
344
#
345 27 wfjm
C    with lnak
346
sop
347 28 wfjm
wreg    0  x"ffe7"  x"aaaa"  00000100       -- lnak := aaaa  {nak=1}
348 27 wfjm
rreg    1  x"ffe3"  x"0020"  00000000       -- ncyc >? 0020  (ncyc=TO(32))
349 28 wfjm
rreg    2  x"ffe7"  x"5555"  00000100       -- lnak >? 5555  {nak=1}
350 27 wfjm
rreg    3  x"ffe3"  x"0020"  00000000       -- ncyc >? 0020  (ncyc=TO(32))
351
eop
352 9 wfjm
.iowt 10
353
#
354 27 wfjm
C    reset to nbusy=0
355
sop
356
wreg    0  x"ffe0"  x"0000"  00000000       -- cntl := (nbusy=0)
357
eop
358 9 wfjm
.iowt 10
359
#
360 27 wfjm
C =============================================================================
361
C Section A4: Basic commands: wblk, rblk
362 9 wfjm
C -----------------------------------------------------------------------------
363 27 wfjm
C Test A4.1: wblk, rblk (with fifo, no errors)
364
#
365
sop
366
wblks   0  x"ffe6"  8  x"0100"  00000000    -- fifo := seq(8,0100)
367
rblks   1  x"ffe6"  8  x"0100"  00000000    -- fifo >? seq(8,0100)
368
eop
369 9 wfjm
.iowt 10
370
#
371
C -----------------------------------------------------------------------------
372 27 wfjm
C Test A4.2: wblk, rblk (with dinc, no errors)
373 9 wfjm
#
374 27 wfjm
sop
375
wreg    0  x"ffe4"  x"2200"  00000000       -- data := 2200
376
rblks   1  x"ffe5"  8  x"2200"  00000000    -- dinc >? seq(8,2200)
377
wblks   2  x"ffe5"  8  x"2208"  00000000    -- dinc := seq(8,2208)
378
rreg    3  x"ffe4"  x"2210"  00000000       -- data >? 2210
379
rreg    4  x"ffe0"  x"0000"  00000000       -- cntl >? (wchk=0)
380
eop
381 9 wfjm
.iowt 10
382
#
383
C -----------------------------------------------------------------------------
384 27 wfjm
C Test A4.3: wblk, rblk (with lnak, -> rbnak response)
385 9 wfjm
#
386 27 wfjm
sop
387
.dclr
388
.dseq   4  x"3300"  -- seq( 4,3300)
389
wblkd   0  x"ffe7"  0  00000010             -- lnak := .... {nak=1,dc=0}
390
.dclr
391
.dwrd   x"0055"     -- 1st lsb from rbus
392
.dwrd   x"0000"     -- rest will be 0 from abort states
393
.dwrd   x"0000"
394
.dwrd   x"0000"
395
rblkd   1  x"ffe7"  0  00000010             -- lnak >? .... {nak=1,dc=0)
396
eop
397 9 wfjm
.iowt 10
398
#
399
C -----------------------------------------------------------------------------
400 27 wfjm
C Test A4.4: wblk, rblk (with fifo, -> rberr response when fifo full)
401 9 wfjm
#
402 27 wfjm
sop
403
.dclr
404
.dseq  18  x"4400"  -- seq(18,4400)
405
wblkd   0  x"ffe6" 16  00000001             -- fifo := .... {err=1,dc=16}
406
.dclr
407
.dseq  16  x"4400"  -- seq(16,4400)
408
.dwrd      x"0055"  -- 1st lsb from rbus
409
.dwrd      x"0000"  -- rest will be 0 from abort states
410
rblkd   1  x"ffe6" 16  00000001             -- lnak >? .... {err=1,dc=16)
411
eop
412 9 wfjm
.iowt 10
413
#
414
C -----------------------------------------------------------------------------
415 27 wfjm
C Test A4.5: wblk, rblk (with dinc, zero length request)
416 9 wfjm
#
417 27 wfjm
sop
418
wreg    0  x"ffe4"  x"5500"  00000000       -- data := 5500
419
rblks   1  x"ffe5"  0  x"5500"  00000000    -- dinc >? seq(0,5500)
420
wblks   2  x"ffe5"  0  x"5500"  00000000    -- dinc := seq(0,5500)
421
rreg    3  x"ffe4"  x"5500"  00000000       -- data >? 5500
422
rreg    4  x"ffe0"  x"0000"  00000000       -- cntl >? (wchk=0)
423
eop
424 9 wfjm
.iowt 10
425
#
426 27 wfjm
C =============================================================================
427
C Section A5: Basic commands: init
428 9 wfjm
C -----------------------------------------------------------------------------
429 27 wfjm
C Test A5.1: init (test with tester data reg)
430 9 wfjm
#
431 27 wfjm
C    setup cntl, data, fifo
432
sop
433
wreg    0  x"ffe0"  x"0002"  00000000       -- cntl := 0002
434
wreg    1  x"ffe4"  x"3210"  00000000       -- data := 3210
435
wreg    2  x"ffe6"  x"6600"  00000000       -- fifo := 6600
436
wreg    3  x"ffe6"  x"6601"  00000000       -- fifo := 6601
437
wreg    4  x"ffe6"  x"6602"  00000000       -- fifo := 6602
438
wreg    5  x"ffe6"  x"6603"  00000000       -- fifo := 6603
439
eop
440 9 wfjm
.iowt 10
441
#
442 27 wfjm
C    init(0000) -> noop
443
sop
444
init    0  x"ffe0"  x"0000"  00000000
445
rreg    1  x"ffe0"  x"0002"  00000000       -- cntl >? 0002
446
rreg    2  x"ffe4"  x"3210"  00000000       -- data >? 3210
447
rreg    3  x"ffe6"  x"6600"  00000000       -- fifo >? 6600
448
eop
449 9 wfjm
.iowt 10
450
#
451 27 wfjm
C    init(0001) -> clear cntl
452
sop
453
init    0  x"ffe0"  x"0001"  00000000
454
rreg    1  x"ffe0"  x"0000"  00000000       -- cntl >? 0000
455
rreg    2  x"ffe4"  x"3210"  00000000       -- data >? 3210
456
rreg    3  x"ffe6"  x"6601"  00000000       -- fifo >? 6601
457
eop
458 9 wfjm
.iowt 10
459
#
460 27 wfjm
C    init(0002) -> clear data
461
sop
462
init    0  x"ffe0"  x"0002"  00000000
463
rreg    1  x"ffe0"  x"0000"  00000000       -- cntl >? 0000
464
rreg    2  x"ffe4"  x"0000"  00000000       -- data >? 0000
465
rreg    3  x"ffe6"  x"6602"  00000000       -- fifo >? 6602
466
eop
467 9 wfjm
.iowt 10
468
#
469 27 wfjm
C    init(0004) -> clear fifo
470
sop
471
init    0  x"ffe0"  x"0004"  00000000
472
rreg    1  x"ffe0"  x"0000"  00000000       -- cntl >? 0000
473
rreg    2  x"ffe4"  x"0000"  00000000       -- data >? 0000
474
rreg    3  x"ffe6"  x"5555"  00000001       -- fifo >? 5555  {err=1}
475
eop
476 9 wfjm
.iowt 10
477
#
478 27 wfjm
C =============================================================================
479
C Section A6: rlink core rbus registers (needed for labo and attn tests)
480
C -----------------------------------------------------------------------------
481
C Test A6.1: read all regs
482
# for stat expect:  lcmd = 00001 000 (seq=1,cmd=000) from previous rreg,1
483
#                   babo = 0    (last wblk/rblk was ok)
484
#                   size = 001  (size=RTAWIDTH-10, and tb has RTAWIDTH=11)
485
#                   --> stat= 00001 000 0 0000 001 -> 0801
486
#
487
sop
488
rreg    1  x"ffff"  x"0000"  00000000       -- cntl >? 0000
489
rreg    2  x"fffe"  x"0801"  00000000       -- stat >? 0801  (see above)
490
rreg    3  x"fffd"  x"7654"  00000000       -- sysh >? 7654
491
rreg    4  x"fffc"  x"3210"  00000000       -- sysl >? 3210
492
eop
493 9 wfjm
.iowt 10
494
#
495 27 wfjm
C =============================================================================
496
C Section A7: Basic commands: labo
497 9 wfjm
C -----------------------------------------------------------------------------
498 27 wfjm
C Test A7.1: labo after successful rblk,wblk (essentially a noop)
499 9 wfjm
#
500 27 wfjm
sop
501
init    0  x"ffe0"  x"0007"     00000000    -- clear all
502
wblks   1  x"ffe6"  4  x"0200"  00000000    -- fifo := seq(4,0200)
503
labo    2           x"00"       00000000
504
rblks   3  x"ffe6"  4  x"0200"  00000000    -- fifo >? seq(4,0200)
505
labo    4           x"00"       00000000
506
eop
507 9 wfjm
.iowt 10
508
#
509
C -----------------------------------------------------------------------------
510 27 wfjm
C Test A7.2: labo after aborted wblk,rblk
511 9 wfjm
#
512 27 wfjm
# for stat expect:  lcmd = 00001 011 (seq=1,cmd=011) from previous wblk,1
513
#                   lcmd = 00001 001 (seq=1,cmd=001) from previous rblk,1
514
#                   babo = 1    (last wblk/rblk was aborted)
515
#                   size = 001  (size=RTAWIDTH-10, and tb has RTAWIDTH=11)
516
#                   --> stat= 00001 011 1 0000 001 -> 0b81
517
#                   --> stat= 00001 001 1 0000 001 -> 0981
518 9 wfjm
#
519 27 wfjm
C    aborted wblk, labo, wreg(data),rreg(dinc)
520
sop
521
.dclr
522
.dseq  18  x"4400"  -- seq(18,4400)
523
init    0  x"ffe0"  x"0007"  00000000       -- clear all
524
wblkd   1  x"ffe6"  16       00000001       -- fifo := .... {err=1,dc=16}
525
rreg    2  x"fffe"  x"0b81"  00000000       -- stat >? 0b81  (see above)
526
labo    3           x"01"    00000000
527
wreg    4  x"ffe4"  x"0101"  00000000       -- data := 0101
528
rreg    5  x"ffe5"  x"0102"  00000000       -- dinc := 0102
529
eop
530
.iowt 20                        -- 20 needed for sp1c
531 9 wfjm
#
532 27 wfjm
C    check that wreg(data) and rreg(dinc) wasn't done
533
sop
534
rreg    0  x"ffe4"  x"0000"  00000000       -- data >? 0000
535
eop
536 9 wfjm
.iowt 10
537
#
538 27 wfjm
C    aborted rblk, labo, wreg(data),rreg(dinc)
539
sop
540
.dclr
541
.dseq  16  x"4400"  -- seq(16,4400)
542
.dwrd      x"0055"  -- 1st lsb from rbus
543
.dwrd      x"0000"  -- rest will be 0 from abort states
544
rblkd   1  x"ffe6" 16  00000001             -- lnak >? .... {err=1,dc=16)
545
rreg    2  x"fffe"  x"0981"  00000000       -- stat >? 0981  (see above)
546
labo    3           x"01"    00000000
547
wreg    4  x"ffe4"  x"0101"  00000000       -- data := 0101
548
rreg    5  x"ffe5"  x"0102"  00000000       -- dinc := 0102
549
eop
550 9 wfjm
.iowt 10
551
#
552 27 wfjm
C    check that wreg(data) and rreg(dinc) wasn't done
553
sop
554
rreg    0  x"ffe4"  x"0000"  00000000       -- data >? 0000
555
eop
556 9 wfjm
.iowt 10
557 27 wfjm
 
558
 
559
C =============================================================================
560
C Section A8: attn notification
561 9 wfjm
C -----------------------------------------------------------------------------
562 27 wfjm
C Test A8.1: test response on attn polls
563 9 wfjm
#
564 27 wfjm
C    send attn, expect attn notify message (with all 0)
565
anmsg  0000000000000000
566
txattn
567 16 wfjm
.iowt 20
568 9 wfjm
#
569 27 wfjm
C    trigger LAM, send attn, expect attn notify message
570
.attn  0000000000000001
571 9 wfjm
.iowt 10
572 27 wfjm
anmsg  0000000000000001
573
txattn
574 16 wfjm
.iowt 20
575 9 wfjm
#
576 27 wfjm
C    harvest attn, send attn, expect attn notify message (all 0 again)
577
sop
578
attn    1           x"0001"  00000000       -- attn >? 0001
579
attn    2           x"0000"  00000000       -- attn >? 0000
580
eop
581 9 wfjm
.iowt 10
582 27 wfjm
anmsg  0000000000000000
583
txattn
584 16 wfjm
.iowt 20
585 9 wfjm
#
586
C -----------------------------------------------------------------------------
587 27 wfjm
C Test A8.2: test attn notification
588 9 wfjm
#
589 27 wfjm
C    enable attn notification
590
sop
591
wreg    1  x"ffff"  x"8000"  00000000       -- cntl := (anena=1)
592
rreg    2  x"ffff"  x"8000"  00000000       -- cntl >? (anena=1)
593
eop
594 9 wfjm
.iowt 10
595
#
596 27 wfjm
C    trigger LAM, expect attn notify message
597
anmsg  0000000000000010
598
.attn  0000000000000010
599 9 wfjm
.iowt 10
600
#
601 27 wfjm
C    send attn, expect attn notify message
602
anmsg  0000000000000010
603
txattn
604 16 wfjm
.iowt 20
605 9 wfjm
#
606 27 wfjm
C    harvest attn pattern
607
sop
608
rreg    1  x"ffff"  x"8000"  00001000       -- cntl >? (anena=1)  {attn=1}
609
attn    2           x"0002"  00000000       -- attn >? 0002
610
rreg    3  x"ffff"  x"8000"  00000000       -- cntl >? (anena=1)
611
attn    4           x"0000"  00000000       -- attn >? 0000    (nothing !)
612
eop
613 9 wfjm
.iowt 10
614
#
615 27 wfjm
C    send attn, expect attn notify message (all 0)
616
anmsg  0000000000000000
617
txattn
618 16 wfjm
.iowt 20
619 9 wfjm
#
620 27 wfjm
C    disable attn notification
621
sop
622
wreg    1  x"ffff"  x"0000"  00000000       -- cntl := (anena=1)
623
rreg    2  x"ffff"  x"0000"  00000000       -- cntl >? (anena=1)
624
eop
625 9 wfjm
.iowt 10
626 27 wfjm
C    trigger LAM, no attn comma now
627
.attn  0000000000000100
628 9 wfjm
.iowt 10
629
#
630 27 wfjm
C    send attn, expect attn notify message
631
anmsg  0000000000000100
632
txattn
633 16 wfjm
.iowt 20
634 9 wfjm
#
635 27 wfjm
C    harvest attn pattern
636
sop
637
rreg    1  x"ffff"  x"0000"  00001000       -- cntl >? (anena=1)  {attn=1}
638
attn    2           x"0004"  00000000       -- attn >? 0004
639
eop
640 9 wfjm
.iowt 10
641
#
642
#==============================================================================
643
#
644
C -----------------------------------------------------------------------------
645
C Run down and Finish
646
.iowt 10
647
.wait 10

powered by: WebSVN 2.1.0

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