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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [or1ksim/] [testsuite/] [libsim.tests/] [jtag-go-command-read.exp] - Blame information for rev 98

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 98 jeremybenn
# jtag-go-command-read.exp. Tests of the library JTAG GO_COMMAND for reading
2
 
3
# Copyright (C) 2010 Embecosm Limited
4
 
5
# Contributor Jeremy Bennett 
6
 
7
# This file is part of OpenRISC 1000 Architectural Simulator.
8
 
9
# This program is free software; you can redistribute it and/or modify it
10
# under the terms of the GNU General Public License as published by the Free
11
# Software Foundation; either version 3 of the License, or (at your option)
12
# any later version.
13
 
14
# This program is distributed in the hope that it will be useful, but WITHOUT
15
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
16
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
17
# more details.
18
 
19
# You should have received a copy of the GNU General Public License along
20
# with this program.  If not, see .  */
21
 
22
# -----------------------------------------------------------------------------
23
# This code is commented throughout for use with Doxygen.
24
# -----------------------------------------------------------------------------
25
 
26
 
27
# These tests check all the behavior associated with the JTAG GO_COMMAND when
28
# reading.
29
 
30
# NOTE. All these tests return timing information, but we ignore it, since in
31
#       general it will not be repeatable.
32
 
33
# Tests of the GO_COMMAND for reading from different modules. This should work
34
# fine for Wishbone and CPU0. Other modules will have been weeded out by the
35
# prior WRITE_COMMAND. We specify 4 bytes to read each time.
36
 
37
# We use the loop-init OpenRISC program here, since we must be sure that
38
# defined values are placed in the various read targets. As SPR's we use MACLO
39
# (0x2801) and MACHI (0x2802), which are initialized to 0xdeadbeef and
40
# 0xcafebabe respectively (but remember Or1ksim is by default BIG_ENDIAN when
41
# reading the results). As Wishbone we use address 0x100000, which is
42
# initialized to 0x10111213.
43
 
44
# When testing GO_COMMAND (read) after invalid module selection, we cannot
45
# guarantee a CRC mismatch (or at least I can't do the maths to prove that no
46
# register of all zeros can have a valid CRC field for the possible GO_COMMAND
47
# register lengths, although it is highly likely), so we just look for the
48
# error message.
49
 
50
# GO_COMMAND reading with no module selection (address 0x100000).
51
run_libsim "JTAG GO_COMMAND (read) no module"                   \
52
    [list "Initalization succeeded."                            \
53
          "Execution step completed OK."                        \
54
          "Resetting JTAG."                                     \
55
          "Execution step completed OK."                        \
56
          "Shifting instruction."                               \
57
          "  shifting in:  0x01"                                \
58
          "  shifted out:  0x01"                                \
59
          "  time taken: "                                      \
60
          "Execution step completed OK."                        \
61
          "Processing WRITE_COMMAND."                           \
62
          "  shifting in:  0x00000000001039e5cf800000001000c8"  \
63
          "ERROR: JTAG WRITE_COMMAND with no module selected."  \
64
          "  shifted out:  0x164841bc600000000000000000000000"  \
65
          "  status:       0x0"                                 \
66
          "  time taken:"                                       \
67
          "Execution step completed OK."                        \
68
          "Processing GO_COMMAND_READ."                         \
69
          "  shifting in:  0x000000000000000000169330ba20"      \
70
          "ERROR: JTAG GO_COMMAND with no prior WRITE_COMMAND." \
71
          "  shifted out:  0x0000000000000000000000000000"      \
72
          "  data:         00000000"                            \
73
          "  status:       0x0"                                 \
74
          "  time taken:"                                       \
75
          "Execution step completed OK."                        \
76
          "Test completed successfully."]                       \
77
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION" \
78
         "8" "WRITE_COMMAND" "6" "100000" "4" "GO_COMMAND_READ" "4"
79
 
80
# GO_COMMAND reading with only invalid module selected.
81
run_libsim "JTAG GO_COMMAND (read) invalid module"              \
82
    [list "Initalization succeeded."                            \
83
          "Execution step completed OK."                        \
84
          "Resetting JTAG."                                     \
85
          "Execution step completed OK."                        \
86
          "Shifting instruction."                               \
87
          "  shifting in:  0x01"                                \
88
          "  shifted out:  0x01"                                \
89
          "  time taken:"                                       \
90
          "Execution step completed OK."                        \
91
          "Selecting module."                                   \
92
          "  shifting in:  0x00000000001993c98e69"              \
93
          "  shifted out:  0x0164841bc60000000000"              \
94
          "  status:       0x0"                                 \
95
          "  time taken:"                                       \
96
          "Execution step completed OK."                        \
97
          "Processing WRITE_COMMAND."                           \
98
          "  shifting in:  0x00000000000c44c4dd800100280000c8"  \
99
          "ERROR: JTAG WRITE_COMMAND for CPU1 not supported."   \
100
          "  shifted out:  0x164841bc600000000000000000000000"  \
101
          "  status:       0x0"                                 \
102
          "  time taken:"                                       \
103
          "Execution step completed OK."                        \
104
          "Processing GO_COMMAND_READ."                         \
105
          "  shifting in:  0x000000000000000000169330ba20"      \
106
          "ERROR: JTAG GO_COMMAND with no prior WRITE_COMMAND." \
107
          "  shifted out:  0x0000000000000000000000000000"      \
108
          "  data:         00000000"                            \
109
          "  status:       0x0"                                 \
110
          "  time taken:"                                       \
111
          "Execution step completed OK."                        \
112
          "Test completed successfully."]                       \
113
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION" \
114
         "8" "SELECT_MODULE" "2" "WRITE_COMMAND" "6" "2801" "4"        \
115
         "GO_COMMAND_READ" "4"
116
 
117
# GO_COMMAND reading with invalid module selected after valid module
118
run_libsim "JTAG GO_COMMAND (read) invalid after valid module"  \
119
    [list "Initalization succeeded."                            \
120
          "Execution step completed OK."                        \
121
          "Resetting JTAG."                                     \
122
          "Execution step completed OK."                        \
123
          "Shifting instruction."                               \
124
          "  shifting in:  0x01"                                \
125
          "  shifted out:  0x01"                                \
126
          "  time taken:"                                       \
127
          "Execution step completed OK."                        \
128
          "Selecting module."                                   \
129
          "  shifting in:  0x0000000000174841bc61"              \
130
          "  shifted out:  0x0164841bc60000000000"              \
131
          "  status:       0x0"                                 \
132
          "  time taken:"                                       \
133
          "Execution step completed OK."                        \
134
          "Selecting module."                                   \
135
          "  shifting in:  0x00000000001efe0d976d"              \
136
          "  shifted out:  0x01893c98e68000000000"              \
137
          "  status:       0x2"                                 \
138
          "  time taken:"                                       \
139
          "Execution step completed OK."                        \
140
          "Processing WRITE_COMMAND."                           \
141
          "  shifting in:  0x00000000000c44c4dd800100280000c8"  \
142
          "ERROR: JTAG WRITE_COMMAND with no module selected."  \
143
          "  shifted out:  0x164841bc600000000000000000000000"  \
144
          "  status:       0x0"                                 \
145
          "  time taken:"                                       \
146
          "Execution step completed OK."                        \
147
          "Processing GO_COMMAND_READ."                         \
148
          "  shifting in:  0x000000000000000000169330ba20"      \
149
          "ERROR: JTAG GO_COMMAND with no prior WRITE_COMMAND." \
150
          "  shifted out:  0x0000000000000000000000000000"      \
151
          "  data:         00000000"                            \
152
          "  status:       0x0"                                 \
153
          "  time taken:"                                       \
154
          "Execution step completed OK."                        \
155
          "Test completed successfully."]                       \
156
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION"   \
157
         "8" "SELECT_MODULE" "0" "SELECT_MODULE" "6" "WRITE_COMMAND" "6" \
158
         "2801" "4" "GO_COMMAND_READ" "4"
159
 
160
# GO_COMMAND reading with valid module selected after invalid module
161
run_libsim "JTAG GO_COMMAND (read) valid after invalid module" \
162
    [list "Initalization succeeded."                           \
163
          "Execution step completed OK."                       \
164
          "Resetting JTAG."                                    \
165
          "Execution step completed OK."                       \
166
          "Shifting instruction."                              \
167
          "  shifting in:  0x01"                               \
168
          "  shifted out:  0x01"                               \
169
          "  time taken:"                                      \
170
          "Execution step completed OK."                       \
171
          "Selecting module."                                  \
172
          "  shifting in:  0x00000000001efe0d976d"             \
173
          "  shifted out:  0x01893c98e68000000000"             \
174
          "  status:       0x2"                                \
175
          "  time taken:"                                      \
176
          "Execution step completed OK."                       \
177
          "Selecting module."                                  \
178
          "  shifting in:  0x0000000000174841bc61"             \
179
          "  shifted out:  0x0164841bc60000000000"             \
180
          "  status:       0x0"                                \
181
          "  time taken:"                                      \
182
          "Execution step completed OK."                       \
183
          "Processing WRITE_COMMAND."                          \
184
          "  shifting in:  0x00000000001039e5cf800000001000c8" \
185
          "  shifted out:  0x164841bc600000000000000000000000" \
186
          "  status:       0x0"                                \
187
          "  time taken:"                                      \
188
          "Execution step completed OK."                       \
189
          "Processing GO_COMMAND_READ."                        \
190
          "  shifting in:  0x000000000000000000169330ba20"     \
191
          "  shifted out:  0x019de5beae190911010000000000"     \
192
          "  data:         10111213"                           \
193
          "  status:       0x0"                                \
194
          "  time taken:"                                      \
195
          "Execution step completed OK."                       \
196
          "Test completed successfully."]                      \
197
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION"   \
198
         "8" "SELECT_MODULE" "6" "SELECT_MODULE" "0" "WRITE_COMMAND" "6" \
199
         "100000" "4" "GO_COMMAND_READ" "4"
200
 
201
# Verify that reading works correctly from both valid modules, WishBone and
202
# CPU0.
203
 
204
# GO_COMMAND reading for Wishbone (address 0x100000).
205
run_libsim "JTAG SELECT_MODULE GO_COMMAND (read) WB"                \
206
    [list "Initalization succeeded."                           \
207
          "Execution step completed OK."                       \
208
          "Resetting JTAG."                                    \
209
          "Execution step completed OK."                       \
210
          "Shifting instruction."                              \
211
          "  shifting in:  0x01"                               \
212
          "  shifted out:  0x01"                               \
213
          "  time taken: "                                     \
214
          "Execution step completed OK."                       \
215
          "Selecting module."                                  \
216
          "  shifting in:  0x0000000000174841bc61"             \
217
          "  shifted out:  0x0164841bc60000000000"             \
218
          "  status:       0x0"                                \
219
          "  time taken:"                                      \
220
          "Execution step completed OK."                       \
221
          "Processing WRITE_COMMAND."                          \
222
          "  shifting in:  0x00000000001039e5cf800000001000c8" \
223
          "  shifted out:  0x164841bc600000000000000000000000" \
224
          "  status:       0x0"                                \
225
          "  time taken:"                                      \
226
          "Execution step completed OK."                       \
227
          "Processing GO_COMMAND_READ."                        \
228
          "  shifting in:  0x000000000000000000169330ba20"     \
229
          "  shifted out:  0x019de5beae190911010000000000"     \
230
          "  data:         10111213"                           \
231
          "  status:       0x0"                                \
232
          "  time taken:"                                      \
233
          "Execution step completed OK."                       \
234
          "Test completed successfully."]                      \
235
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION" \
236
         "8" "SELECT_MODULE" "0" "WRITE_COMMAND" "6" "100000" "4"      \
237
         "GO_COMMAND_READ" "4"
238
 
239
# GO_COMMAND reading for CPU0 (address 0x2081, MACLO).
240
run_libsim "JTAG SELECT_MODULE GO_COMMAND (read) CPU0"              \
241
    [list "Initalization succeeded."                           \
242
          "Execution step completed OK."                       \
243
          "Resetting JTAG."                                    \
244
          "Execution step completed OK."                       \
245
          "Shifting instruction."                              \
246
          "  shifting in:  0x01"                               \
247
          "  shifted out:  0x01"                               \
248
          "  time taken:"                                      \
249
          "Execution step completed OK."                       \
250
          "Selecting module."                                  \
251
          "  shifting in:  0x00000000000aff51d871"             \
252
          "  shifted out:  0x0164841bc60000000000"             \
253
          "  status:       0x0"                                \
254
          "  time taken:"                                      \
255
          "Execution step completed OK."                       \
256
          "Processing WRITE_COMMAND."                          \
257
          "  shifting in:  0x00000000000c44c4dd800100280000c8" \
258
          "  shifted out:  0x164841bc600000000000000000000000" \
259
          "  status:       0x0"                                \
260
          "  time taken:"                                      \
261
          "Execution step completed OK."                       \
262
          "Processing GO_COMMAND_READ."                        \
263
          "  shifting in:  0x000000000000000000169330ba20"     \
264
          "  shifted out:  0x00b8e2228e0f76afbee000000000"     \
265
          "  data:         efbeadde"                           \
266
          "  status:       0x0"                                \
267
          "  time taken:"                                      \
268
          "Execution step completed OK."                       \
269
          "Test completed successfully."]                      \
270
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION" \
271
         "8" "SELECT_MODULE" "1" "WRITE_COMMAND" "6" "2801" "4"        \
272
         "GO_COMMAND_READ" "4"
273
 
274
# Tests of GO_COMMAND_READ with different access alignments, boundaries and
275
# lengths for WishBone. For this we use the loop-init program, which has
276
# values initialized at 0x100000-0x10000f (values 0x10 through 0x1f
277
# respectively), 0x110000-0x11000f (values 0x20 through 0x2f respectively) and
278
# 0x120000-0x12000f (values 0x30 through 0x3f respectively).
279
 
280
# First check that a single aligned unit can be read for each access type at
281
# its allowed alignments.
282
 
283
# GO_COMMAND reading one byte for Wishbone aligned at byte 0.
284
run_libsim "JTAG GO_COMMAND (read) WB 1 byte, aligned byte 0"  \
285
    [list "Initalization succeeded."                           \
286
          "Execution step completed OK."                       \
287
          "Resetting JTAG."                                    \
288
          "Execution step completed OK."                       \
289
          "Shifting instruction."                              \
290
          "  shifting in:  0x01"                               \
291
          "  shifted out:  0x01"                               \
292
          "  time taken:"                                      \
293
          "Execution step completed OK."                       \
294
          "Selecting module."                                  \
295
          "  shifting in:  0x0000000000174841bc61"             \
296
          "  shifted out:  0x0164841bc60000000000"             \
297
          "  status:       0x0"                                \
298
          "  time taken:"                                      \
299
          "Execution step completed OK."                       \
300
          "Processing WRITE_COMMAND."                          \
301
          "  shifting in:  0x0000000001aee68a5c00000000100048" \
302
          "  shifted out:  0x164841bc600000000000000000000000" \
303
          "  status:       0x0"                                \
304
          "  time taken:"                                      \
305
          "Execution step completed OK."                       \
306
          "Processing GO_COMMAND_READ."                        \
307
          "  shifting in:  0x000000000000169330ba20"           \
308
          "  shifted out:  0x000464d308010000000000"           \
309
          "  data:         10"                                 \
310
          "  status:       0x0"                                \
311
          "  time taken:"                                      \
312
          "Execution step completed OK."                       \
313
          "Test completed successfully."]                      \
314
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION" \
315
         "8" "SELECT_MODULE" "0" "WRITE_COMMAND" "4" "100000" "1"        \
316
         "GO_COMMAND_READ" "1"
317
 
318
# GO_COMMAND reading one byte for Wishbone aligned at byte 1.
319
run_libsim "JTAG GO_COMMAND (read) WB 1 byte, aligned byte 1"  \
320
    [list "Initalization succeeded."                           \
321
          "Execution step completed OK."                       \
322
          "Resetting JTAG."                                    \
323
          "Execution step completed OK."                       \
324
          "Shifting instruction."                              \
325
          "  shifting in:  0x01"                               \
326
          "  shifted out:  0x01"                               \
327
          "  time taken:"                                      \
328
          "Execution step completed OK."                       \
329
          "Selecting module."                                  \
330
          "  shifting in:  0x0000000000174841bc61"             \
331
          "  shifted out:  0x0164841bc60000000000"             \
332
          "  status:       0x0"                                \
333
          "  time taken:"                                      \
334
          "Execution step completed OK."                       \
335
          "Processing WRITE_COMMAND."                          \
336
          "  shifting in:  0x00000000006c8cbd5c00010000100048" \
337
          "  shifted out:  0x164841bc600000000000000000000000" \
338
          "  status:       0x0"                                \
339
          "  time taken:"                                      \
340
          "Execution step completed OK."                       \
341
          "Processing GO_COMMAND_READ."                        \
342
          "  shifting in:  0x000000000000169330ba20"           \
343
          "  shifted out:  0x0019d3c36c110000000000"           \
344
          "  data:         11"                                 \
345
          "  status:       0x0"                                \
346
          "  time taken:"                                      \
347
          "Execution step completed OK."                       \
348
          "Test completed successfully."]                      \
349
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION" \
350
         "8" "SELECT_MODULE" "0" "WRITE_COMMAND" "4" "100001" "1"        \
351
         "GO_COMMAND_READ" "1"
352
 
353
# GO_COMMAND reading one byte for Wishbone aligned at byte 2.
354
run_libsim "JTAG GO_COMMAND (read) WB 1 byte, aligned byte 2"  \
355
    [list "Initalization succeeded."                           \
356
          "Execution step completed OK."                       \
357
          "Resetting JTAG."                                    \
358
          "Execution step completed OK."                       \
359
          "Shifting instruction."                              \
360
          "  shifting in:  0x01"                               \
361
          "  shifted out:  0x01"                               \
362
          "  time taken:"                                      \
363
          "Execution step completed OK."                       \
364
          "Selecting module."                                  \
365
          "  shifting in:  0x0000000000174841bc61"             \
366
          "  shifted out:  0x0164841bc60000000000"             \
367
          "  status:       0x0"                                \
368
          "  time taken:"                                      \
369
          "Execution step completed OK."                       \
370
          "Processing WRITE_COMMAND."                          \
371
          "  shifting in:  0x00000000014fd391dc00008000100048" \
372
          "  shifted out:  0x164841bc600000000000000000000000" \
373
          "  status:       0x0"                                \
374
          "  time taken:"                                      \
375
          "Execution step completed OK."                       \
376
          "Processing GO_COMMAND_READ."                        \
377
          "  shifting in:  0x000000000000169330ba20"           \
378
          "  shifted out:  0x000abf5b3a090000000000"           \
379
          "  data:         12"                                 \
380
          "  status:       0x0"                                \
381
          "  time taken:"                                      \
382
          "Execution step completed OK."                       \
383
          "Test completed successfully."]                      \
384
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION" \
385
         "8" "SELECT_MODULE" "0" "WRITE_COMMAND" "4" "100002" "1"        \
386
         "GO_COMMAND_READ" "1"
387
 
388
# GO_COMMAND reading one byte for Wishbone aligned at byte 3.
389
run_libsim "JTAG GO_COMMAND (read) WB 1 byte, aligned byte 3"  \
390
    [list "Initalization succeeded."                           \
391
          "Execution step completed OK."                       \
392
          "Resetting JTAG."                                    \
393
          "Execution step completed OK."                       \
394
          "Shifting instruction."                              \
395
          "  shifting in:  0x01"                               \
396
          "  shifted out:  0x01"                               \
397
          "  time taken:"                                      \
398
          "Execution step completed OK."                       \
399
          "Selecting module."                                  \
400
          "  shifting in:  0x0000000000174841bc61"             \
401
          "  shifted out:  0x0164841bc60000000000"             \
402
          "  status:       0x0"                                \
403
          "  time taken:"                                      \
404
          "Execution step completed OK."                       \
405
          "Processing WRITE_COMMAND."                          \
406
          "  shifting in:  0x00000000008db9a6dc00018000100048" \
407
          "  shifted out:  0x164841bc600000000000000000000000" \
408
          "  status:       0x0"                                \
409
          "  time taken:"                                      \
410
          "Execution step completed OK."                       \
411
          "Processing GO_COMMAND_READ."                        \
412
          "  shifting in:  0x000000000000169330ba20"           \
413
          "  shifted out:  0x0017084b5e190000000000"           \
414
          "  data:         13"                                 \
415
          "  status:       0x0"                                \
416
          "  time taken:"                                      \
417
          "Execution step completed OK."                       \
418
          "Test completed successfully."]                      \
419
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION" \
420
         "8" "SELECT_MODULE" "0" "WRITE_COMMAND" "4" "100003" "1"        \
421
         "GO_COMMAND_READ" "1"
422
 
423
# GO_COMMAND reading one half word for Wishbone aligned at byte 0.
424
run_libsim "JTAG GO_COMMAND (read) WB 1 half word, aligned byte 0" \
425
    [list "Initalization succeeded."                               \
426
          "Execution step completed OK."                           \
427
          "Resetting JTAG."                                        \
428
          "Execution step completed OK."                           \
429
          "Shifting instruction."                                  \
430
          "  shifting in:  0x01"                                   \
431
          "  shifted out:  0x01"                                   \
432
          "  time taken:"                                          \
433
          "Execution step completed OK."                           \
434
          "Selecting module."                                      \
435
          "  shifting in:  0x0000000000174841bc61"                 \
436
          "  shifted out:  0x0164841bc60000000000"                 \
437
          "  status:       0x0"                                    \
438
          "  time taken:"                                          \
439
          "Execution step completed OK."                           \
440
          "Processing WRITE_COMMAND."                              \
441
          "  shifting in:  0x000000000165ba59f900000000100148"     \
442
          "  shifted out:  0x164841bc600000000000000000000000"     \
443
          "  status:       0x0"                                    \
444
          "  time taken:"                                          \
445
          "Execution step completed OK."                           \
446
          "Processing GO_COMMAND_READ."                            \
447
          "  shifting in:  0x00000000000000169330ba20"             \
448
          "  shifted out:  0x01bf1eca5211010000000000"             \
449
          "  data:         1011"                                   \
450
          "  status:       0x0"                                    \
451
          "  time taken:"                                          \
452
          "Execution step completed OK."                           \
453
          "Test completed successfully."]                          \
454
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION" \
455
         "8" "SELECT_MODULE" "0" "WRITE_COMMAND" "5" "100000" "2"      \
456
         "GO_COMMAND_READ" "2"
457
 
458
# GO_COMMAND reading one half word for Wishbone aligned at byte 2.
459
run_libsim "JTAG GO_COMMAND (read) WB 1 half word, aligned byte 2" \
460
    [list "Initalization succeeded."                               \
461
          "Execution step completed OK."                           \
462
          "Resetting JTAG."                                        \
463
          "Execution step completed OK."                           \
464
          "Shifting instruction."                                  \
465
          "  shifting in:  0x01"                                   \
466
          "  shifted out:  0x01"                                   \
467
          "  time taken:"                                          \
468
          "Execution step completed OK."                           \
469
          "Selecting module."                                      \
470
          "  shifting in:  0x0000000000174841bc61"                 \
471
          "  shifted out:  0x0164841bc60000000000"                 \
472
          "  status:       0x0"                                    \
473
          "  time taken:"                                          \
474
          "Execution step completed OK."                           \
475
          "Processing WRITE_COMMAND."                              \
476
          "  shifting in:  0x0000000001848f427900008000100148"     \
477
          "  shifted out:  0x164841bc600000000000000000000000"     \
478
          "  status:       0x0"                                    \
479
          "  time taken:"                                          \
480
          "Execution step completed OK."                           \
481
          "Processing GO_COMMAND_READ."                            \
482
          "  shifting in:  0x00000000000000169330ba20"             \
483
          "  shifted out:  0x01791cc86819090000000000"             \
484
          "  data:         1213"                                   \
485
          "  status:       0x0"                                    \
486
          "  time taken:"                                          \
487
          "Execution step completed OK."                           \
488
          "Test completed successfully."]                          \
489
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION" \
490
         "8" "SELECT_MODULE" "0" "WRITE_COMMAND" "5" "100002" "2"      \
491
         "GO_COMMAND_READ" "2"
492
 
493
# GO_COMMAND reading one word for Wishbone aligned at byte 0.
494
run_libsim "JTAG GO_COMMAND (read) WB 1 word, aligned byte 0"      \
495
    [list "Initalization succeeded."                               \
496
          "Execution step completed OK."                           \
497
          "Resetting JTAG."                                        \
498
          "Execution step completed OK."                           \
499
          "Shifting instruction."                                  \
500
          "  shifting in:  0x01"                                   \
501
          "  shifted out:  0x01"                                   \
502
          "  time taken:"                                          \
503
          "Execution step completed OK."                           \
504
          "Selecting module."                                      \
505
          "  shifting in:  0x0000000000174841bc61"                 \
506
          "  shifted out:  0x0164841bc60000000000"                 \
507
          "  status:       0x0"                                    \
508
          "  time taken:"                                          \
509
          "Execution step completed OK."                           \
510
          "Processing WRITE_COMMAND."                              \
511
          "  shifting in:  0x00000000001039e5cf800000001000c8"     \
512
          "  shifted out:  0x164841bc600000000000000000000000"     \
513
          "  status:       0x0"                                    \
514
          "  time taken:"                                          \
515
          "Execution step completed OK."                           \
516
          "Processing GO_COMMAND_READ."                            \
517
          "  shifting in:  0x000000000000000000169330ba20"         \
518
          "  shifted out:  0x019de5beae190911010000000000"         \
519
          "  data:         10111213"                               \
520
          "  status:       0x0"                                    \
521
          "  time taken:"                                          \
522
          "Execution step completed OK."                           \
523
          "Test completed successfully."]                          \
524
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION" \
525
         "8" "SELECT_MODULE" "0" "WRITE_COMMAND" "6" "100000" "4"      \
526
         "GO_COMMAND_READ" "4"
527
 
528
# Verify that longer reads work OK, at different boundaries. For byte access
529
# read 9 bytes, for half-word access read 10 bytes and for word access read 12
530
# bytes.
531
 
532
# GO_COMMAND reading 9 bytes for Wishbone aligned at byte 0.
533
run_libsim "JTAG GO_COMMAND (read) WB 9 bytes, aligned byte 0"       \
534
    [list "Initalization succeeded."                                 \
535
          "Execution step completed OK."                             \
536
          "Resetting JTAG."                                          \
537
          "Execution step completed OK."                             \
538
          "Shifting instruction."                                    \
539
          "  shifting in:  0x01"                                     \
540
          "  shifted out:  0x01"                                     \
541
          "  time taken:"                                            \
542
          "Execution step completed OK."                             \
543
          "Selecting module."                                        \
544
          "  shifting in:  0x0000000000174841bc61"                   \
545
          "  shifted out:  0x0164841bc60000000000"                   \
546
          "  status:       0x0"                                      \
547
          "  time taken:"                                            \
548
          "Execution step completed OK."                             \
549
          "Processing WRITE_COMMAND."                                \
550
          "  shifting in:  0x00000000019588aa9420000000100048"       \
551
          "  shifted out:  0x164841bc600000000000000000000000"       \
552
          "  status:       0x0"                                      \
553
          "  time taken:"                                            \
554
          "Execution step completed OK."                             \
555
          "Processing GO_COMMAND_READ."                              \
556
          "  shifting in:  0x0000000000000000000000000000169330ba20" \
557
          "  shifted out:  0x00efe148fc031d0d1505190911010000000000" \
558
          "  data:         101112131415161718"                       \
559
          "  status:       0x0"                                      \
560
          "  time taken:"                                            \
561
          "Execution step completed OK."                             \
562
          "Test completed successfully."]                            \
563
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION" \
564
         "8" "SELECT_MODULE" "0" "WRITE_COMMAND" "4" "100000" "9"      \
565
         "GO_COMMAND_READ" "9"
566
 
567
# GO_COMMAND reading 9 bytes for Wishbone aligned at byte 1.
568
run_libsim "JTAG GO_COMMAND (read) WB 9 bytes, aligned byte 1"       \
569
    [list "Initalization succeeded."                                 \
570
          "Execution step completed OK."                             \
571
          "Resetting JTAG."                                          \
572
          "Execution step completed OK."                             \
573
          "Shifting instruction."                                    \
574
          "  shifting in:  0x01"                                     \
575
          "  shifted out:  0x01"                                     \
576
          "  time taken:"                                            \
577
          "Execution step completed OK."                             \
578
          "Selecting module."                                        \
579
          "  shifting in:  0x0000000000174841bc61"                   \
580
          "  shifted out:  0x0164841bc60000000000"                   \
581
          "  status:       0x0"                                      \
582
          "  time taken:"                                            \
583
          "Execution step completed OK."                             \
584
          "Processing WRITE_COMMAND."                                \
585
          "  shifting in:  0x000000000057e29d9420010000100048"       \
586
          "  shifted out:  0x164841bc600000000000000000000000"       \
587
          "  status:       0x0"                                      \
588
          "  time taken:"                                            \
589
          "Execution step completed OK."                             \
590
          "Processing GO_COMMAND_READ."                              \
591
          "  shifting in:  0x0000000000000000000000000000169330ba20" \
592
          "  shifted out:  0x00df281a0413031d0d15051909110000000000" \
593
          "  data:         111213141516171819"                       \
594
          "  status:       0x0"                                      \
595
          "  time taken:"                                            \
596
          "Execution step completed OK."                             \
597
          "Test completed successfully."]                            \
598
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION" \
599
         "8" "SELECT_MODULE" "0" "WRITE_COMMAND" "4" "100001" "9"      \
600
         "GO_COMMAND_READ" "9"
601
 
602
# GO_COMMAND reading 9 bytes for Wishbone aligned at byte 2.
603
run_libsim "JTAG GO_COMMAND (read) WB 9 bytes, aligned byte 2"       \
604
    [list "Initalization succeeded."                                 \
605
          "Execution step completed OK."                             \
606
          "Resetting JTAG."                                          \
607
          "Execution step completed OK."                             \
608
          "Shifting instruction."                                    \
609
          "  shifting in:  0x01"                                     \
610
          "  shifted out:  0x01"                                     \
611
          "  time taken:"                                            \
612
          "Execution step completed OK."                             \
613
          "Selecting module."                                        \
614
          "  shifting in:  0x0000000000174841bc61"                   \
615
          "  shifted out:  0x0164841bc60000000000"                   \
616
          "  status:       0x0"                                      \
617
          "  time taken:"                                            \
618
          "Execution step completed OK."                             \
619
          "Processing WRITE_COMMAND."                                \
620
          "  shifting in:  0x000000000174bdb11420008000100048"       \
621
          "  shifted out:  0x164841bc600000000000000000000000"       \
622
          "  status:       0x0"                                      \
623
          "  time taken:"                                            \
624
          "Execution step completed OK."                             \
625
          "Processing GO_COMMAND_READ."                              \
626
          "  shifting in:  0x0000000000000000000000000000169330ba20" \
627
          "  shifted out:  0x0058bcb0c60b13031d0d150519090000000000" \
628
          "  data:         12131415161718191a"                       \
629
          "  status:       0x0"                                      \
630
          "  time taken:"                                            \
631
          "Execution step completed OK."                             \
632
          "Test completed successfully."]                            \
633
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION" \
634
         "8" "SELECT_MODULE" "0" "WRITE_COMMAND" "4" "100002" "9"      \
635
         "GO_COMMAND_READ" "9"
636
 
637
# GO_COMMAND reading 9 bytes for Wishbone aligned at byte 3.
638
run_libsim "JTAG GO_COMMAND (read) WB 9 bytes, aligned byte 3"       \
639
    [list "Initalization succeeded."                                 \
640
          "Execution step completed OK."                             \
641
          "Resetting JTAG."                                          \
642
          "Execution step completed OK."                             \
643
          "Shifting instruction."                                    \
644
          "  shifting in:  0x01"                                     \
645
          "  shifted out:  0x01"                                     \
646
          "  time taken:"                                            \
647
          "Execution step completed OK."                             \
648
          "Selecting module."                                        \
649
          "  shifting in:  0x0000000000174841bc61"                   \
650
          "  shifted out:  0x0164841bc60000000000"                   \
651
          "  status:       0x0"                                      \
652
          "  time taken:"                                            \
653
          "Execution step completed OK."                             \
654
          "Processing WRITE_COMMAND."                                \
655
          "  shifting in:  0x0000000000b6d7861420018000100048"       \
656
          "  shifted out:  0x164841bc600000000000000000000000"       \
657
          "  status:       0x0"                                      \
658
          "  time taken:"                                            \
659
          "Execution step completed OK."                             \
660
          "Processing GO_COMMAND_READ."                              \
661
          "  shifting in:  0x0000000000000000000000000000169330ba20" \
662
          "  shifted out:  0x00049f56881b0b13031d0d1505190000000000" \
663
          "  data:         131415161718191a1b"                       \
664
          "  status:       0x0"                                      \
665
          "  time taken:"                                            \
666
          "Execution step completed OK."                             \
667
          "Test completed successfully."]                            \
668
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION" \
669
         "8" "SELECT_MODULE" "0" "WRITE_COMMAND" "4" "100003" "9"      \
670
         "GO_COMMAND_READ" "9"
671
 
672
# GO_COMMAND reading 5 half words for Wishbone aligned at byte 0.
673
run_libsim "JTAG GO_COMMAND (read) WB 5 half words, aligned byte 0"    \
674
    [list "Initalization succeeded."                                   \
675
          "Execution step completed OK."                               \
676
          "Resetting JTAG."                                            \
677
          "Execution step completed OK."                               \
678
          "Shifting instruction."                                      \
679
          "  shifting in:  0x01"                                       \
680
          "  shifted out:  0x01"                                       \
681
          "  time taken:"                                              \
682
          "Execution step completed OK."                               \
683
          "Selecting module."                                          \
684
          "  shifting in:  0x0000000000174841bc61"                     \
685
          "  shifted out:  0x0164841bc60000000000"                     \
686
          "  status:       0x0"                                        \
687
          "  time taken:"                                              \
688
          "Execution step completed OK."                               \
689
          "Processing WRITE_COMMAND."                                  \
690
          "  shifting in:  0x00000000015ed4793120000000100148"         \
691
          "  shifted out:  0x164841bc600000000000000000000000"         \
692
          "  status:       0x0"                                        \
693
          "  time taken:"                                              \
694
          "Execution step completed OK."                               \
695
          "Processing GO_COMMAND_READ."                                \
696
          "  shifting in:  0x000000000000000000000000000000169330ba20" \
697
          "  shifted out:  0x01eb2b18e013031d0d1505190911010000000000" \
698
          "  data:         10111213141516171819"                       \
699
          "  status:       0x0"                                        \
700
          "  time taken:"                                              \
701
          "Execution step completed OK."                               \
702
          "Test completed successfully."]                              \
703
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION" \
704
         "8" "SELECT_MODULE" "0" "WRITE_COMMAND" "5" "100000" "a"      \
705
         "GO_COMMAND_READ" "a"
706
 
707
# GO_COMMAND reading 5 half words for Wishbone aligned at byte 2.
708
run_libsim "JTAG GO_COMMAND (read) WB 5 half words, aligned byte 2"    \
709
    [list "Initalization succeeded."                                   \
710
          "Execution step completed OK."                               \
711
          "Resetting JTAG."                                            \
712
          "Execution step completed OK."                               \
713
          "Shifting instruction."                                      \
714
          "  shifting in:  0x01"                                       \
715
          "  shifted out:  0x01"                                       \
716
          "  time taken:"                                              \
717
          "Execution step completed OK."                               \
718
          "Selecting module."                                          \
719
          "  shifting in:  0x0000000000174841bc61"                     \
720
          "  shifted out:  0x0164841bc60000000000"                     \
721
          "  status:       0x0"                                        \
722
          "  time taken:"                                              \
723
          "Execution step completed OK."                               \
724
          "Processing WRITE_COMMAND."                                  \
725
          "  shifting in:  0x0000000001bfe162b120008000100148"         \
726
          "  shifted out:  0x164841bc600000000000000000000000"         \
727
          "  status:       0x0"                                        \
728
          "  time taken:"                                              \
729
          "Execution step completed OK."                               \
730
          "Processing GO_COMMAND_READ."                                \
731
          "  shifting in:  0x000000000000000000000000000000169330ba20" \
732
          "  shifted out:  0x01234b14981b0b13031d0d150519090000000000" \
733
          "  data:         12131415161718191a1b"                       \
734
          "  status:       0x0"                                        \
735
          "  time taken:"                                              \
736
          "Execution step completed OK."                               \
737
          "Test completed successfully."]                              \
738
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION" \
739
         "8" "SELECT_MODULE" "0" "WRITE_COMMAND" "5" "100002" "a"      \
740
         "GO_COMMAND_READ" "a"
741
 
742
# GO_COMMAND reading 3 words for Wishbone aligned at byte 0.
743
run_libsim "JTAG GO_COMMAND (read) WB 3 words, aligned byte 0"             \
744
    [list "Initalization succeeded."                                       \
745
          "Execution step completed OK."                                   \
746
          "Resetting JTAG."                                                \
747
          "Execution step completed OK."                                   \
748
          "Shifting instruction."                                          \
749
          "  shifting in:  0x01"                                           \
750
          "  shifted out:  0x01"                                           \
751
          "  time taken:"                                                  \
752
          "Execution step completed OK."                                   \
753
          "Selecting module."                                              \
754
          "  shifting in:  0x0000000000174841bc61"                         \
755
          "  shifted out:  0x0164841bc60000000000"                         \
756
          "  status:       0x0"                                            \
757
          "  time taken:"                                                  \
758
          "Execution step completed OK."                                   \
759
          "Processing WRITE_COMMAND."                                      \
760
          "  shifting in:  0x00000000002b57c507a00000001000c8"             \
761
          "  shifted out:  0x164841bc600000000000000000000000"             \
762
          "  status:       0x0"                                            \
763
          "  time taken:"                                                  \
764
          "Execution step completed OK."                                   \
765
          "Processing GO_COMMAND_READ."                                    \
766
          "  shifting in:  0x0000000000000000000000000000000000169330ba20" \
767
          "  shifted out:  0x00248290b61b0b13031d0d1505190911010000000000" \
768
          "  data:         101112131415161718191a1b"                       \
769
          "  status:       0x0"                                            \
770
          "  time taken:"                                                  \
771
          "Execution step completed OK."                                   \
772
          "Test completed successfully."]                                  \
773
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION" \
774
         "8" "SELECT_MODULE" "0" "WRITE_COMMAND" "6" "100000" "c"      \
775
         "GO_COMMAND_READ" "c"
776
 
777
# Test of access for CPU0. Much simpler, since access type, alignment and
778
# length are more prescribed. Make use of loop-init, which initializes MACLO
779
# (0x2801) and MACHI (0x2802) to 0xdeadbeef and 0xcafebabe respectively. These
780
# are 32 bit values and presented in target endianess (which is big-endian for
781
# the OpenRISC, so the MS byte is as the highest address.
782
 
783
# GO_COMMAND reading 1 word for CPU0 aligned at byte 0.
784
run_libsim "JTAG GO_COMMAND (read) CPU0 1 word, aligned byte 0"            \
785
    [list "Initalization succeeded."                                       \
786
          "Execution step completed OK."                                   \
787
          "Resetting JTAG."                                                \
788
          "Execution step completed OK."                                   \
789
          "Shifting instruction."                                          \
790
          "  shifting in:  0x01"                                           \
791
          "  shifted out:  0x01"                                           \
792
          "  time taken:"                                                  \
793
          "Execution step completed OK."                                   \
794
          "Selecting module."                                              \
795
          "  shifting in:  0x00000000000aff51d871"                         \
796
          "  shifted out:  0x0164841bc60000000000"                         \
797
          "  status:       0x0"                                            \
798
          "  time taken:"                                                  \
799
          "Execution step completed OK."                                   \
800
          "Processing WRITE_COMMAND."                                      \
801
          "  shifting in:  0x00000000000c44c4dd800100280000c8"             \
802
          "  shifted out:  0x164841bc600000000000000000000000"             \
803
          "  status:       0x0"                                            \
804
          "  time taken:"                                                  \
805
          "Execution step completed OK."                                   \
806
          "Processing GO_COMMAND_READ."                                    \
807
          "  shifting in:  0x000000000000000000169330ba20"                 \
808
          "  shifted out:  0x00b8e2228e0f76afbee000000000"                 \
809
          "  status:       0x0"                                            \
810
          "  time taken:"                                                  \
811
          "Execution step completed OK."                                   \
812
          "Test completed successfully."]                                  \
813
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION" \
814
         "8" "SELECT_MODULE" "1" "WRITE_COMMAND" "6" "2801" "4"      \
815
         "GO_COMMAND_READ" "4"
816
 
817
# Check address advances after GO_COMMAND read (1 per word for CPU, 4 per word
818
# for WB). Test WB with reading all sizes and lengths 1 through 0x10000. Test
819
# CPU0 with reading one word. Uses the initialized looping program for
820
# reproducible results.
821
 
822
# - for WB byte access try lengths 1, 2, 3, 4, 5, 8, 9, 0xffff and 0x10000
823
# - for WB half word access try lengths 2, 4, 6, 8, 10, 0xfffe and 0x10000
824
# - for WB full word access try lengths 4, 8, 12, 0xfffc and 0x10000
825
# - for CPU0 try length 4
826
 
827
# READ_COMMAND to advance address after reading 1 byte for WishBone (access
828
# type 4)
829
run_libsim "JTAG GO_COMMAND (read) WB read 1 byte address advance" \
830
    [list "Initalization succeeded."                           \
831
          "Execution step completed OK."                       \
832
          "Resetting JTAG."                                    \
833
          "Execution step completed OK."                       \
834
          "Shifting instruction."                              \
835
          "  shifting in:  0x01"                               \
836
          "  shifted out:  0x01"                               \
837
          "  time taken:"                                      \
838
          "Execution step completed OK."                       \
839
          "Selecting module."                                  \
840
          "  shifting in:  0x0000000000174841bc61"             \
841
          "  shifted out:  0x0164841bc60000000000"             \
842
          "  status:       0x0"                                \
843
          "  time taken:"                                      \
844
          "Execution step completed OK."                       \
845
          "Processing WRITE_COMMAND."                          \
846
          "  shifting in:  0x0000000001aee68a5c00000000100048" \
847
          "  shifted out:  0x164841bc600000000000000000000000" \
848
          "  status:       0x0"                                \
849
          "  time taken:"                                      \
850
          "Execution step completed OK."                       \
851
          "Processing GO_COMMAND_READ."                        \
852
          "  shifting in:  0x000000000000169330ba20"           \
853
          "  shifted out:  0x000464d308010000000000"           \
854
          "  data:         10"                                 \
855
          "  status:       0x0"                                \
856
          "  time taken:"                                      \
857
          "Execution step completed OK."                       \
858
          "Processing READ_COMMAND."                           \
859
          "  shifting in:  0x00000000000000000000000b2420de30" \
860
          "  shifted out:  0x1cb5ee99000001000010004000000000" \
861
          "  access_type:  0x4"                                \
862
          "  address:      0x100001"                           \
863
          "  length:       0x1"                                \
864
          "  status:       0x0"                                \
865
          "  time taken:"                                      \
866
          "Execution step completed OK."                       \
867
          "Test completed successfully."]                      \
868
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION" \
869
         "8" "SELECT_MODULE" "0" "WRITE_COMMAND" "4" "100000" "1" \
870
         "GO_COMMAND_READ" "1" "READ_COMMAND"
871
 
872
# READ_COMMAND to advance address after reading 2 bytes for WishBone (access
873
# type 4)
874
run_libsim "JTAG GO_COMMAND (read) WB read 2 bytes address advance" \
875
    [list "Initalization succeeded."                           \
876
          "Execution step completed OK."                       \
877
          "Resetting JTAG."                                    \
878
          "Execution step completed OK."                       \
879
          "Shifting instruction."                              \
880
          "  shifting in:  0x01"                               \
881
          "  shifted out:  0x01"                               \
882
          "  time taken:"                                      \
883
          "Execution step completed OK."                       \
884
          "Selecting module."                                  \
885
          "  shifting in:  0x0000000000174841bc61"             \
886
          "  shifted out:  0x0164841bc60000000000"             \
887
          "  status:       0x0"                                \
888
          "  time taken:"                                      \
889
          "Execution step completed OK."                       \
890
          "Processing WRITE_COMMAND."                          \
891
          "  shifting in:  0x000000000075978c1d00000000100048" \
892
          "  shifted out:  0x164841bc600000000000000000000000" \
893
          "  status:       0x0"                                \
894
          "  time taken:"                                      \
895
          "Execution step completed OK."                       \
896
          "Processing GO_COMMAND_READ."                        \
897
          "  shifting in:  0x00000000000000169330ba20"         \
898
          "  shifted out:  0x01bf1eca5211010000000000"         \
899
          "  data:         1011"                               \
900
          "  status:       0x0"                                \
901
          "  time taken:"                                      \
902
          "Execution step completed OK."                       \
903
          "Processing READ_COMMAND."                           \
904
          "  shifting in:  0x00000000000000000000000b2420de30" \
905
          "  shifted out:  0x1c4dc0b3c10000800010004000000000" \
906
          "  access_type:  0x4"                                \
907
          "  address:      0x100002"                           \
908
          "  length:       0x2"                                \
909
          "  status:       0x0"                                \
910
          "  time taken:"                                      \
911
          "Execution step completed OK."                       \
912
          "Test completed successfully."]                      \
913
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION" \
914
         "8" "SELECT_MODULE" "0" "WRITE_COMMAND" "4" "100000" "2"      \
915
         "GO_COMMAND_READ" "2" "READ_COMMAND"
916
 
917
# READ_COMMAND to advance address after reading 3 bytes for WishBone (access
918
# type 4)
919
run_libsim "JTAG GO_COMMAND (read) WB read 3 bytes address advance" \
920
    [list "Initalization succeeded."                           \
921
          "Execution step completed OK."                       \
922
          "Resetting JTAG."                                    \
923
          "Execution step completed OK."                       \
924
          "Shifting instruction."                              \
925
          "  shifting in:  0x01"                               \
926
          "  shifted out:  0x01"                               \
927
          "  time taken:"                                      \
928
          "Execution step completed OK."                       \
929
          "Selecting module."                                  \
930
          "  shifting in:  0x0000000000174841bc61"             \
931
          "  shifted out:  0x0164841bc60000000000"             \
932
          "  status:       0x0"                                \
933
          "  time taken:"                                      \
934
          "Execution step completed OK."                       \
935
          "Processing WRITE_COMMAND."                          \
936
          "  shifting in:  0x0000000001435e097c80000000100048" \
937
          "  shifted out:  0x164841bc600000000000000000000000" \
938
          "  status:       0x0"                                \
939
          "  time taken:"                                      \
940
          "Execution step completed OK."                       \
941
          "Processing GO_COMMAND_READ."                        \
942
          "  shifting in:  0x0000000000000000169330ba20"       \
943
          "  shifted out:  0x00fd0696b60911010000000000"       \
944
          "  data:         101112"                             \
945
          "  status:       0x0"                                \
946
          "  time taken:"                                      \
947
          "Execution step completed OK."                       \
948
          "Processing READ_COMMAND."                           \
949
          "  shifting in:  0x00000000000000000000000b2420de30" \
950
          "  shifted out:  0x1cb96301a08001800010004000000000" \
951
          "  access_type:  0x4"                                \
952
          "  address:      0x100003"                           \
953
          "  length:       0x3"                                \
954
          "  status:       0x0"                                \
955
          "  time taken:"                                      \
956
          "Execution step completed OK."                       \
957
          "Test completed successfully."]                      \
958
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION" \
959
         "8" "SELECT_MODULE" "0" "WRITE_COMMAND" "4" "100000" "3"      \
960
         "GO_COMMAND_READ" "3" "READ_COMMAND"
961
 
962
# READ_COMMAND to advance address after reading 4 bytes for WishBone (access
963
# type 4)
964
run_libsim "JTAG GO_COMMAND (read) WB read 4 bytes address advance" \
965
    [list "Initalization succeeded."                           \
966
          "Execution step completed OK."                       \
967
          "Resetting JTAG."                                    \
968
          "Execution step completed OK."                       \
969
          "Shifting instruction."                              \
970
          "  shifting in:  0x01"                               \
971
          "  shifted out:  0x01"                               \
972
          "  time taken:"                                      \
973
          "Execution step completed OK."                       \
974
          "Selecting module."                                  \
975
          "  shifting in:  0x0000000000174841bc61"             \
976
          "  shifted out:  0x0164841bc60000000000"             \
977
          "  status:       0x0"                                \
978
          "  time taken:"                                      \
979
          "Execution step completed OK."                       \
980
          "Processing WRITE_COMMAND."                          \
981
          "  shifting in:  0x0000000000982f0f3d80000000100048" \
982
          "  shifted out:  0x164841bc600000000000000000000000" \
983
          "  status:       0x0"                                \
984
          "  time taken:"                                      \
985
          "Execution step completed OK."                       \
986
          "Processing GO_COMMAND_READ."                        \
987
          "  shifting in:  0x000000000000000000169330ba20"     \
988
          "  shifted out:  0x019de5beae190911010000000000"     \
989
          "  data:         10111213"                           \
990
          "  status:       0x0"                                \
991
          "  time taken:"                                      \
992
          "Execution step completed OK."                       \
993
          "Processing READ_COMMAND."                           \
994
          "  shifting in:  0x00000000000000000000000b2420de30" \
995
          "  shifted out:  0x1c31d7a6a18000400010004000000000" \
996
          "  access_type:  0x4"                                \
997
          "  address:      0x100004"                           \
998
          "  length:       0x4"                                \
999
          "  status:       0x0"                                \
1000
          "  time taken:"                                      \
1001
          "Execution step completed OK."                       \
1002
          "Test completed successfully."]                      \
1003
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION" \
1004
         "8" "SELECT_MODULE" "0" "WRITE_COMMAND" "4" "100000" "4"      \
1005
         "GO_COMMAND_READ" "4" "READ_COMMAND"
1006
 
1007
# READ_COMMAND to advance address after reading 5 bytes for WishBone (access
1008
# type 4)
1009
run_libsim "JTAG GO_COMMAND (read) WB read 5 bytes address advance" \
1010
    [list "Initalization succeeded."                           \
1011
          "Execution step completed OK."                       \
1012
          "Resetting JTAG."                                    \
1013
          "Execution step completed OK."                       \
1014
          "Shifting instruction."                              \
1015
          "  shifting in:  0x01"                               \
1016
          "  shifted out:  0x01"                               \
1017
          "  time taken:"                                      \
1018
          "Execution step completed OK."                       \
1019
          "Selecting module."                                  \
1020
          "  shifting in:  0x0000000000174841bc61"             \
1021
          "  shifted out:  0x0164841bc60000000000"             \
1022
          "  status:       0x0"                                \
1023
          "  time taken:"                                      \
1024
          "Execution step completed OK."                       \
1025
          "Processing WRITE_COMMAND."                          \
1026
          "  shifting in:  0x0000000001d83acbcc40000000100048" \
1027
          "  shifted out:  0x164841bc600000000000000000000000" \
1028
          "  status:       0x0"                                \
1029
          "  time taken:"                                      \
1030
          "Execution step completed OK."                       \
1031
          "Processing GO_COMMAND_READ."                        \
1032
          "  shifting in:  0x00000000000000000000169330ba20"   \
1033
          "  shifted out:  0x0040999fde05190911010000000000"   \
1034
          "  data:         1011121314"                         \
1035
          "  status:       0x0"                                \
1036
          "  time taken:"                                      \
1037
          "Execution step completed OK."                       \
1038
          "Processing READ_COMMAND."                           \
1039
          "  shifting in:  0x00000000000000000000000b2420de30" \
1040
          "  shifted out:  0x0104b831404001400010004000000000" \
1041
          "  access_type:  0x4"                                \
1042
          "  address:      0x100005"                           \
1043
          "  length:       0x5"                                \
1044
          "  status:       0x0"                                \
1045
          "  time taken:"                                      \
1046
          "Execution step completed OK."                       \
1047
          "Test completed successfully."]                      \
1048
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION" \
1049
         "8" "SELECT_MODULE" "0" "WRITE_COMMAND" "4" "100000" "5"      \
1050
         "GO_COMMAND_READ" "5" "READ_COMMAND"
1051
 
1052
# READ_COMMAND to advance address after reading 8 bytes for WishBone (access
1053
# type 4)
1054
run_libsim "JTAG GO_COMMAND (read) WB read 8 bytes address advance" \
1055
    [list "Initalization succeeded."                           \
1056
          "Execution step completed OK."                       \
1057
          "Resetting JTAG."                                    \
1058
          "Execution step completed OK."                       \
1059
          "Shifting instruction."                              \
1060
          "  shifting in:  0x01"                               \
1061
          "  shifted out:  0x01"                               \
1062
          "  time taken:"                                      \
1063
          "Execution step completed OK."                       \
1064
          "Selecting module."                                  \
1065
          "  shifting in:  0x0000000000174841bc61"             \
1066
          "  shifted out:  0x0164841bc60000000000"             \
1067
          "  status:       0x0"                                \
1068
          "  time taken:"                                      \
1069
          "Execution step completed OK."                       \
1070
          "Processing WRITE_COMMAND."                          \
1071
          "  shifting in:  0x0000000000eef34eadc0000000100048" \
1072
          "  shifted out:  0x164841bc600000000000000000000000" \
1073
          "  status:       0x0"                                \
1074
          "  time taken:"                                      \
1075
          "Execution step completed OK."                       \
1076
          "Processing GO_COMMAND_READ."                        \
1077
          "  shifting in:  0x00000000000000000000000000169330ba20" \
1078
          "  shifted out:  0x003458d6401d0d1505190911010000000000" \
1079
          "  data:         1011121314151617"                   \
1080
          "  status:       0x0"                                \
1081
          "  time taken:"                                      \
1082
          "Execution step completed OK."                       \
1083
          "Processing READ_COMMAND."                           \
1084
          "  shifting in:  0x00000000000000000000000b2420de30" \
1085
          "  shifted out:  0x01b8cc4801c000200010004000000000" \
1086
          "  access_type:  0x4"                                \
1087
          "  address:      0x100008"                           \
1088
          "  length:       0x8"                                \
1089
          "  status:       0x0"                                \
1090
          "  time taken:"                                      \
1091
          "Execution step completed OK."                       \
1092
          "Test completed successfully."]                      \
1093
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION" \
1094
         "8" "SELECT_MODULE" "0" "WRITE_COMMAND" "4" "100000" "8"      \
1095
         "GO_COMMAND_READ" "8" "READ_COMMAND"
1096
 
1097
# READ_COMMAND to advance address after reading 9 bytes for WishBone (access
1098
# type 4)
1099
run_libsim "JTAG GO_COMMAND (read) WB read 9 bytes address advance" \
1100
    [list "Initalization succeeded."                           \
1101
          "Execution step completed OK."                       \
1102
          "Resetting JTAG."                                    \
1103
          "Execution step completed OK."                       \
1104
          "Shifting instruction."                              \
1105
          "  shifting in:  0x01"                               \
1106
          "  shifted out:  0x01"                               \
1107
          "  time taken:"                                      \
1108
          "Execution step completed OK."                       \
1109
          "Selecting module."                                  \
1110
          "  shifting in:  0x0000000000174841bc61"             \
1111
          "  shifted out:  0x0164841bc60000000000"             \
1112
          "  status:       0x0"                                \
1113
          "  time taken:"                                      \
1114
          "Execution step completed OK."                       \
1115
          "Processing WRITE_COMMAND."                          \
1116
          "  shifting in:  0x00000000019588aa9420000000100048" \
1117
          "  shifted out:  0x164841bc600000000000000000000000" \
1118
          "  status:       0x0"                                \
1119
          "  time taken:"                                      \
1120
          "Execution step completed OK."                       \
1121
          "Processing GO_COMMAND_READ."                        \
1122
          "  shifting in:  0x0000000000000000000000000000169330ba20" \
1123
          "  shifted out:  0x00efe148fc031d0d1505190911010000000000" \
1124
          "  data:         101112131415161718"                 \
1125
          "  status:       0x0"                                \
1126
          "  time taken:"                                      \
1127
          "Execution step completed OK."                       \
1128
          "Processing READ_COMMAND."                           \
1129
          "  shifting in:  0x00000000000000000000000b2420de30" \
1130
          "  shifted out:  0x126d45cd202001200010004000000000" \
1131
          "  access_type:  0x4"                                \
1132
          "  address:      0x100009"                           \
1133
          "  length:       0x9"                                \
1134
          "  status:       0x0"                                \
1135
          "  time taken:"                                      \
1136
          "Execution step completed OK."                       \
1137
          "Test completed successfully."]                      \
1138
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION" \
1139
         "8" "SELECT_MODULE" "0" "WRITE_COMMAND" "4" "100000" "9"      \
1140
         "GO_COMMAND_READ" "9" "READ_COMMAND"
1141
 
1142
# READ_COMMAND to advance address after reading 0xffff bytes for WishBone
1143
# (access type 4). Only partially match the data read back.
1144
run_libsim "JTAG GO_COMMAND (read) WB read 0xffff bytes address advance" \
1145
    [list "Initalization succeeded."                           \
1146
          "Execution step completed OK."                       \
1147
          "Resetting JTAG."                                    \
1148
          "Execution step completed OK."                       \
1149
          "Shifting instruction."                              \
1150
          "  shifting in:  0x01"                               \
1151
          "  shifted out:  0x01"                               \
1152
          "  time taken:"                                      \
1153
          "Execution step completed OK."                       \
1154
          "Selecting module."                                  \
1155
          "  shifting in:  0x0000000000174841bc61"             \
1156
          "  shifted out:  0x0164841bc60000000000"             \
1157
          "  status:       0x0"                                \
1158
          "  time taken:"                                      \
1159
          "Execution step completed OK."                       \
1160
          "Processing WRITE_COMMAND."                          \
1161
          "  shifting in:  0x000000000109dba9e2fffe0000100048" \
1162
          "  shifted out:  0x164841bc600000000000000000000000" \
1163
          "  status:       0x0"                                \
1164
          "  time taken:"                                      \
1165
          "Execution step completed OK."                       \
1166
          "Processing GO_COMMAND_READ."                        \
1167
          "  shifting in:  0x00000000000000000000000000000000000000000000000" \
1168
          "  shifted out:  0x00a0a530360000000000000000000000000000000000000" \
1169
          "  data:         101112131415161718191a1b1c1d1e1f00000000000000000" \
1170
          "  status:       0x0"                                \
1171
          "  time taken:"                                      \
1172
          "Execution step completed OK."                       \
1173
          "Processing READ_COMMAND."                           \
1174
          "  shifting in:  0x00000000000000000000000b2420de30" \
1175
          "  shifted out:  0x19caa5fc00fffffffe10004000000000" \
1176
          "  access_type:  0x4"                                \
1177
          "  address:      0x10ffff"                           \
1178
          "  length:       0xffff"                             \
1179
          "  status:       0x0"                                \
1180
          "  time taken:"                                      \
1181
          "Execution step completed OK."                       \
1182
          "Test completed successfully."]                      \
1183
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION" \
1184
         "8" "SELECT_MODULE" "0" "WRITE_COMMAND" "4" "100000" "ffff"   \
1185
         "GO_COMMAND_READ" "ffff" "READ_COMMAND"
1186
 
1187
# READ_COMMAND to advance address after reading 0x10000 bytes for WishBone
1188
# (access type 4). Only partially match the data read back.
1189
run_libsim "JTAG GO_COMMAND (read) WB read 0x10000 bytes address advance" \
1190
    [list "Initalization succeeded."                           \
1191
          "Execution step completed OK."                       \
1192
          "Resetting JTAG."                                    \
1193
          "Execution step completed OK."                       \
1194
          "Shifting instruction."                              \
1195
          "  shifting in:  0x01"                               \
1196
          "  shifted out:  0x01"                               \
1197
          "  time taken:"                                      \
1198
          "Execution step completed OK."                       \
1199
          "Selecting module."                                  \
1200
          "  shifting in:  0x0000000000174841bc61"             \
1201
          "  shifted out:  0x0164841bc60000000000"             \
1202
          "  status:       0x0"                                \
1203
          "  time taken:"                                      \
1204
          "Execution step completed OK."                       \
1205
          "Processing WRITE_COMMAND."                          \
1206
          "  shifting in:  0x0000000000d2aaafa3fffe0000100048" \
1207
          "  shifted out:  0x164841bc600000000000000000000000" \
1208
          "  status:       0x0"                                \
1209
          "  time taken:"                                      \
1210
          "Execution step completed OK."                       \
1211
          "Processing GO_COMMAND_READ."                        \
1212
          "  shifting in:  0x00000000000000000000000000000000000000000000000" \
1213
          "  shifted out:  0x01146b36e80000000000000000000000000000000000000" \
1214
          "  data:         101112131415161718191a1b1c1d1e1f00000000000000000" \
1215
          "  status:       0x0"                                \
1216
          "  time taken:"                                      \
1217
          "Execution step completed OK."                       \
1218
          "Processing READ_COMMAND."                           \
1219
          "  shifting in:  0x00000000000000000000000b2420de30" \
1220
          "  shifted out:  0x0db27fb041fffe000110004000000000" \
1221
          "  access_type:  0x4"                                \
1222
          "  address:      0x110000"                           \
1223
          "  length:       0x10000"                            \
1224
          "  status:       0x0"                                \
1225
          "  time taken:"                                      \
1226
          "Execution step completed OK."                       \
1227
          "Test completed successfully."]                      \
1228
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION" \
1229
         "8" "SELECT_MODULE" "0" "WRITE_COMMAND" "4" "100000" "10000"  \
1230
         "GO_COMMAND_READ" "10000" "READ_COMMAND"
1231
 
1232
# READ_COMMAND to advance address after reading 1 half word (2 bytes) for
1233
# WishBone (access type 5)
1234
run_libsim "JTAG GO_COMMAND (read) WB read 1 half word address advance" \
1235
    [list "Initalization succeeded."                           \
1236
          "Execution step completed OK."                       \
1237
          "Resetting JTAG."                                    \
1238
          "Execution step completed OK."                       \
1239
          "Shifting instruction."                              \
1240
          "  shifting in:  0x01"                               \
1241
          "  shifted out:  0x01"                               \
1242
          "  time taken:"                                      \
1243
          "Execution step completed OK."                       \
1244
          "Selecting module."                                  \
1245
          "  shifting in:  0x0000000000174841bc61"             \
1246
          "  shifted out:  0x0164841bc60000000000"             \
1247
          "  status:       0x0"                                \
1248
          "  time taken:"                                      \
1249
          "Execution step completed OK."                       \
1250
          "Processing WRITE_COMMAND."                          \
1251
          "  shifting in:  0x000000000165ba59f900000000100148" \
1252
          "  shifted out:  0x164841bc600000000000000000000000" \
1253
          "  status:       0x0"                                \
1254
          "  time taken:"                                      \
1255
          "Execution step completed OK."                       \
1256
          "Processing GO_COMMAND_READ."                        \
1257
          "  shifting in:  0x00000000000000169330ba20"         \
1258
          "  shifted out:  0x01bf1eca5211010000000000"         \
1259
          "  data:         1011"                               \
1260
          "  status:       0x0"                                \
1261
          "  time taken:"                                      \
1262
          "Execution step completed OK."                       \
1263
          "Processing READ_COMMAND."                           \
1264
          "  shifting in:  0x00000000000000000000000b2420de30" \
1265
          "  shifted out:  0x1a30297f210000800010014000000000" \
1266
          "  access_type:  0x5"                                \
1267
          "  address:      0x100002"                           \
1268
          "  length:       0x2"                                \
1269
          "  status:       0x0"                                \
1270
          "  time taken:"                                      \
1271
          "Execution step completed OK."                       \
1272
          "Test completed successfully."]                      \
1273
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION" \
1274
         "8" "SELECT_MODULE" "0" "WRITE_COMMAND" "5" "100000" "2"      \
1275
         "GO_COMMAND_READ" "2" "READ_COMMAND"
1276
 
1277
# READ_COMMAND to advance address after reading 2 half words (4 bytes) for
1278
# WishBone (access type 5)
1279
run_libsim "JTAG GO_COMMAND (read) WB read 2 half words address advance" \
1280
    [list "Initalization succeeded."                           \
1281
          "Execution step completed OK."                       \
1282
          "Resetting JTAG."                                    \
1283
          "Execution step completed OK."                       \
1284
          "Shifting instruction."                              \
1285
          "  shifting in:  0x01"                               \
1286
          "  shifted out:  0x01"                               \
1287
          "  time taken:"                                      \
1288
          "Execution step completed OK."                       \
1289
          "Selecting module."                                  \
1290
          "  shifting in:  0x0000000000174841bc61"             \
1291
          "  shifted out:  0x0164841bc60000000000"             \
1292
          "  status:       0x0"                                \
1293
          "  time taken:"                                      \
1294
          "Execution step completed OK."                       \
1295
          "Processing WRITE_COMMAND."                          \
1296
          "  shifting in:  0x00000000018802dad980000000100148" \
1297
          "  shifted out:  0x164841bc600000000000000000000000" \
1298
          "  status:       0x0"                                \
1299
          "  time taken:"                                      \
1300
          "Execution step completed OK."                       \
1301
          "Processing GO_COMMAND_READ."                        \
1302
          "  shifting in:  0x000000000000000000169330ba20"     \
1303
          "  shifted out:  0x019de5beae190911010000000000"     \
1304
          "  data:         10111213"                           \
1305
          "  status:       0x0"                                \
1306
          "  time taken:"                                      \
1307
          "Execution step completed OK."                       \
1308
          "Processing READ_COMMAND."                           \
1309
          "  shifting in:  0x00000000000000000000000b2420de30" \
1310
          "  shifted out:  0x1a4c3e6a418000400010014000000000" \
1311
          "  access_type:  0x5"                                \
1312
          "  address:      0x100004"                           \
1313
          "  length:       0x4"                                \
1314
          "  status:       0x0"                                \
1315
          "  time taken:"                                      \
1316
          "Execution step completed OK."                       \
1317
          "Test completed successfully."]                      \
1318
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION" \
1319
         "8" "SELECT_MODULE" "0" "WRITE_COMMAND" "5" "100000" "4"      \
1320
         "GO_COMMAND_READ" "4" "READ_COMMAND"
1321
 
1322
# READ_COMMAND to advance address after reading 3 half words (6 bytes) for
1323
# WishBone (access type 5)
1324
run_libsim "JTAG GO_COMMAND (read) WB read 3 half words address advance" \
1325
    [list "Initalization succeeded."                           \
1326
          "Execution step completed OK."                       \
1327
          "Resetting JTAG."                                    \
1328
          "Execution step completed OK."                       \
1329
          "Shifting instruction."                              \
1330
          "  shifting in:  0x01"                               \
1331
          "  shifted out:  0x01"                               \
1332
          "  time taken:"                                      \
1333
          "Execution step completed OK."                       \
1334
          "Selecting module."                                  \
1335
          "  shifting in:  0x0000000000174841bc61"             \
1336
          "  shifted out:  0x0164841bc60000000000"             \
1337
          "  status:       0x0"                                \
1338
          "  time taken:"                                      \
1339
          "Execution step completed OK."                       \
1340
          "Processing WRITE_COMMAND."                          \
1341
          "  shifting in:  0x00000000011366186940000000100148" \
1342
          "  shifted out:  0x164841bc600000000000000000000000" \
1343
          "  status:       0x0"                                \
1344
          "  time taken:"                                      \
1345
          "Execution step completed OK."                       \
1346
          "Processing GO_COMMAND_READ."                        \
1347
          "  shifting in:  0x0000000000000000000000169330ba20" \
1348
          "  shifted out:  0x01d78784e61505190911010000000000" \
1349
          "  data:         101112131415"                       \
1350
          "  status:       0x0"                                \
1351
          "  time taken:"                                      \
1352
          "Execution step completed OK."                       \
1353
          "Processing READ_COMMAND."                           \
1354
          "  shifting in:  0x00000000000000000000000b2420de30" \
1355
          "  shifted out:  0x07817fd7614000c00010014000000000" \
1356
          "  access_type:  0x5"                                \
1357
          "  address:      0x100006"                           \
1358
          "  length:       0x6"                                \
1359
          "  status:       0x0"                                \
1360
          "  time taken:"                                      \
1361
          "Execution step completed OK."                       \
1362
          "Test completed successfully."]                      \
1363
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION" \
1364
         "8" "SELECT_MODULE" "0" "WRITE_COMMAND" "5" "100000" "6"      \
1365
         "GO_COMMAND_READ" "6" "READ_COMMAND"
1366
 
1367
# READ_COMMAND to advance address after reading 4 half words (8 bytes) for
1368
# WishBone (access type 5)
1369
run_libsim "JTAG GO_COMMAND (read) WB read 4 half words address advance" \
1370
    [list "Initalization succeeded."                           \
1371
          "Execution step completed OK."                       \
1372
          "Resetting JTAG."                                    \
1373
          "Execution step completed OK."                       \
1374
          "Shifting instruction."                              \
1375
          "  shifting in:  0x01"                               \
1376
          "  shifted out:  0x01"                               \
1377
          "  time taken:"                                      \
1378
          "Execution step completed OK."                       \
1379
          "Selecting module."                                  \
1380
          "  shifting in:  0x0000000000174841bc61"             \
1381
          "  shifted out:  0x0164841bc60000000000"             \
1382
          "  status:       0x0"                                \
1383
          "  time taken:"                                      \
1384
          "Execution step completed OK."                       \
1385
          "Processing WRITE_COMMAND."                          \
1386
          "  shifting in:  0x0000000001fede9b49c0000000100148" \
1387
          "  shifted out:  0x164841bc600000000000000000000000" \
1388
          "  status:       0x0"                                \
1389
          "  time taken:"                                      \
1390
          "Execution step completed OK."                       \
1391
          "Processing GO_COMMAND_READ."                        \
1392
          "  shifting in:  0x00000000000000000000000000169330ba20" \
1393
          "  shifted out:  0x003458d6401d0d1505190911010000000000" \
1394
          "  data:         1011121314151617"                   \
1395
          "  status:       0x0"                                \
1396
          "  time taken:"                                      \
1397
          "Execution step completed OK."                       \
1398
          "Processing READ_COMMAND."                           \
1399
          "  shifting in:  0x00000000000000000000000b2420de30" \
1400
          "  shifted out:  0x07c52584e1c000200010014000000000" \
1401
          "  access_type:  0x5"                                \
1402
          "  address:      0x100008"                           \
1403
          "  length:       0x8"                                \
1404
          "  status:       0x0"                                \
1405
          "  time taken:"                                      \
1406
          "Execution step completed OK."                       \
1407
          "Test completed successfully."]                      \
1408
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION" \
1409
         "8" "SELECT_MODULE" "0" "WRITE_COMMAND" "5" "100000" "8"      \
1410
         "GO_COMMAND_READ" "8" "READ_COMMAND"
1411
 
1412
# READ_COMMAND to advance address after reading 5 half words (10 bytes) for
1413
# WishBone (access type 5)
1414
run_libsim "JTAG GO_COMMAND (read) WB read 5 half words address advance" \
1415
    [list "Initalization succeeded."                           \
1416
          "Execution step completed OK."                       \
1417
          "Resetting JTAG."                                    \
1418
          "Execution step completed OK."                       \
1419
          "Shifting instruction."                              \
1420
          "  shifting in:  0x01"                               \
1421
          "  shifted out:  0x01"                               \
1422
          "  time taken:"                                      \
1423
          "Execution step completed OK."                       \
1424
          "Selecting module."                                  \
1425
          "  shifting in:  0x0000000000174841bc61"             \
1426
          "  shifted out:  0x0164841bc60000000000"             \
1427
          "  status:       0x0"                                \
1428
          "  time taken:"                                      \
1429
          "Execution step completed OK."                       \
1430
          "Processing WRITE_COMMAND."                          \
1431
          "  shifting in:  0x00000000015ed4793120000000100148" \
1432
          "  shifted out:  0x164841bc600000000000000000000000" \
1433
          "  status:       0x0"                                \
1434
          "  time taken:"                                      \
1435
          "Execution step completed OK."                       \
1436
          "Processing GO_COMMAND_READ."                        \
1437
          "  shifting in:  0x000000000000000000000000000000169330ba20" \
1438
          "  shifted out:  0x01eb2b18e013031d0d1505190911010000000000" \
1439
          "  data:         10111213141516171819"               \
1440
          "  status:       0x0"                                \
1441
          "  time taken:"                                      \
1442
          "Execution step completed OK."                       \
1443
          "Processing READ_COMMAND."                           \
1444
          "  shifting in:  0x00000000000000000000000b2420de30" \
1445
          "  shifted out:  0x14e8822b012000a00010014000000000" \
1446
          "  access_type:  0x5"                                \
1447
          "  address:      0x10000a"                           \
1448
          "  length:       0xa"                                \
1449
          "  status:       0x0"                                \
1450
          "  time taken:"                                      \
1451
          "Execution step completed OK."                       \
1452
          "Test completed successfully."]                      \
1453
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION" \
1454
         "8" "SELECT_MODULE" "0" "WRITE_COMMAND" "5" "100000" "a"      \
1455
         "GO_COMMAND_READ" "a" "READ_COMMAND"
1456
 
1457
# READ_COMMAND to advance address after reading 0x7fff half words (0xfffe
1458
# bytes) for WishBone (access type 5)
1459
run_libsim "JTAG GO_COMMAND (read) WB read 0x7fff half words address advance" \
1460
    [list "Initalization succeeded."                           \
1461
          "Execution step completed OK."                       \
1462
          "Resetting JTAG."                                    \
1463
          "Execution step completed OK."                       \
1464
          "Shifting instruction."                              \
1465
          "  shifting in:  0x01"                               \
1466
          "  shifted out:  0x01"                               \
1467
          "  time taken:"                                      \
1468
          "Execution step completed OK."                       \
1469
          "Selecting module."                                  \
1470
          "  shifting in:  0x0000000000174841bc61"             \
1471
          "  shifted out:  0x0164841bc60000000000"             \
1472
          "  status:       0x0"                                \
1473
          "  time taken:"                                      \
1474
          "Execution step completed OK."                       \
1475
          "Processing WRITE_COMMAND."                          \
1476
          "  shifting in:  0x00000000012f3ff9677ffe0000100148" \
1477
          "  shifted out:  0x164841bc600000000000000000000000" \
1478
          "  status:       0x0"                                \
1479
          "  time taken:"                                      \
1480
          "Execution step completed OK."                       \
1481
          "Processing GO_COMMAND_READ."                        \
1482
          "  shifting in:  0x00000000000000000000000000000000000000000000000" \
1483
          "  shifted out:  0x00afd24ee00000000000000000000000000000000000000" \
1484
          "  data:         101112131415161718191a1b1c1d1e1f00000000000000000" \
1485
          "  status:       0x0"                                \
1486
          "  time taken:"                                      \
1487
          "Execution step completed OK."                       \
1488
          "Processing READ_COMMAND."                           \
1489
          "  shifting in:  0x00000000000000000000000b2420de30" \
1490
          "  shifted out:  0x1f43ef82817ffefffe10014000000000" \
1491
          "  access_type:  0x5"                                \
1492
          "  address:      0x10fffe"                           \
1493
          "  length:       0xfffe"                             \
1494
          "  status:       0x0"                                \
1495
          "  time taken:"                                      \
1496
          "Execution step completed OK."                       \
1497
          "Test completed successfully."]                      \
1498
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION" \
1499
         "8" "SELECT_MODULE" "0" "WRITE_COMMAND" "5" "100000" "fffe"   \
1500
         "GO_COMMAND_READ" "fffe" "READ_COMMAND"
1501
 
1502
# READ_COMMAND to advance address after reading 0x8000 half words (0x10000
1503
# bytes) for WishBone (access type 5)
1504
run_libsim "JTAG GO_COMMAND (read) WB read 0x8000 half words address advance" \
1505
    [list "Initalization succeeded."                           \
1506
          "Execution step completed OK."                       \
1507
          "Resetting JTAG."                                    \
1508
          "Execution step completed OK."                       \
1509
          "Shifting instruction."                              \
1510
          "  shifting in:  0x01"                               \
1511
          "  shifted out:  0x01"                               \
1512
          "  time taken:"                                      \
1513
          "Execution step completed OK."                       \
1514
          "Selecting module."                                  \
1515
          "  shifting in:  0x0000000000174841bc61"             \
1516
          "  shifted out:  0x0164841bc60000000000"             \
1517
          "  status:       0x0"                                \
1518
          "  time taken:"                                      \
1519
          "Execution step completed OK."                       \
1520
          "Processing WRITE_COMMAND."                          \
1521
          "  shifting in:  0x0000000001c2877a47fffe0000100148" \
1522
          "  shifted out:  0x164841bc600000000000000000000000" \
1523
          "  status:       0x0"                                \
1524
          "  time taken:"                                      \
1525
          "Execution step completed OK."                       \
1526
          "Processing GO_COMMAND_READ."                        \
1527
          "  shifting in:  0x00000000000000000000000000000000000000000000000" \
1528
          "  shifted out:  0x01146b36e80000000000000000000000000000000000000" \
1529
          "  data:         101112131415161718191a1b1c1d1e1f00000000000000000" \
1530
          "  status:       0x0"                                \
1531
          "  time taken:"                                      \
1532
          "Execution step completed OK."                       \
1533
          "Processing READ_COMMAND."                           \
1534
          "  shifting in:  0x00000000000000000000000b2420de30" \
1535
          "  shifted out:  0x0bcf967ca1fffe000110014000000000" \
1536
          "  access_type:  0x5"                                \
1537
          "  address:      0x110000"                           \
1538
          "  length:       0x10000"                            \
1539
          "  status:       0x0"                                \
1540
          "  time taken:"                                      \
1541
          "Execution step completed OK."                       \
1542
          "Test completed successfully."]                      \
1543
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION" \
1544
         "8" "SELECT_MODULE" "0" "WRITE_COMMAND" "5" "100000" "10000"  \
1545
         "GO_COMMAND_READ" "10000" "READ_COMMAND"
1546
 
1547
# READ_COMMAND to advance address after reading 1 word (4 bytes) for WishBone
1548
# (access type 6)
1549
run_libsim "JTAG GO_COMMAND (read) WB read 1 word address advance" \
1550
    [list "Initalization succeeded."                           \
1551
          "Execution step completed OK."                       \
1552
          "Resetting JTAG."                                    \
1553
          "Execution step completed OK."                       \
1554
          "Shifting instruction."                              \
1555
          "  shifting in:  0x01"                               \
1556
          "  shifted out:  0x01"                               \
1557
          "  time taken:"                                      \
1558
          "Execution step completed OK."                       \
1559
          "Selecting module."                                  \
1560
          "  shifting in:  0x0000000000174841bc61"             \
1561
          "  shifted out:  0x0164841bc60000000000"             \
1562
          "  status:       0x0"                                \
1563
          "  time taken:"                                      \
1564
          "Execution step completed OK."                       \
1565
          "Processing WRITE_COMMAND."                          \
1566
          "  shifting in:  0x00000000001039e5cf800000001000c8" \
1567
          "  shifted out:  0x164841bc600000000000000000000000" \
1568
          "  status:       0x0"                                \
1569
          "  time taken:"                                      \
1570
          "Execution step completed OK."                       \
1571
          "Processing GO_COMMAND_READ."                        \
1572
          "  shifting in:  0x000000000000000000169330ba20"     \
1573
          "  shifted out:  0x019de5beae190911010000000000"     \
1574
          "  data:         10111213"                           \
1575
          "  status:       0x0"                                \
1576
          "  time taken:"                                      \
1577
          "Execution step completed OK."                       \
1578
          "Processing READ_COMMAND."                           \
1579
          "  shifting in:  0x00000000000000000000000b2420de30" \
1580
          "  shifted out:  0x02b83324c1800040001000c000000000" \
1581
          "  access_type:  0x6"                                \
1582
          "  address:      0x100004"                           \
1583
          "  length:       0x4"                                \
1584
          "  status:       0x0"                                \
1585
          "  time taken:"                                      \
1586
          "Execution step completed OK."                       \
1587
          "Test completed successfully."]                      \
1588
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION" \
1589
         "8" "SELECT_MODULE" "0" "WRITE_COMMAND" "6" "100000" "4"      \
1590
         "GO_COMMAND_READ" "4" "READ_COMMAND"
1591
 
1592
# READ_COMMAND to advance address after reading 2 words (8 bytes) for WishBone
1593
# (access type 6)
1594
run_libsim "JTAG GO_COMMAND (read) WB read 2 words address advance" \
1595
    [list "Initalization succeeded."                           \
1596
          "Execution step completed OK."                       \
1597
          "Resetting JTAG."                                    \
1598
          "Execution step completed OK."                       \
1599
          "Shifting instruction."                              \
1600
          "  shifting in:  0x01"                               \
1601
          "  shifted out:  0x01"                               \
1602
          "  time taken:"                                      \
1603
          "Execution step completed OK."                       \
1604
          "Selecting module."                                  \
1605
          "  shifting in:  0x0000000000174841bc61"             \
1606
          "  shifted out:  0x0164841bc60000000000"             \
1607
          "  status:       0x0"                                \
1608
          "  time taken:"                                      \
1609
          "Execution step completed OK."                       \
1610
          "Processing WRITE_COMMAND."                          \
1611
          "  shifting in:  0x000000000066e5a45fc00000001000c8" \
1612
          "  shifted out:  0x164841bc600000000000000000000000" \
1613
          "  status:       0x0"                                \
1614
          "  time taken:"                                      \
1615
          "Execution step completed OK."                       \
1616
          "Processing GO_COMMAND_READ."                        \
1617
          "  shifting in:  0x00000000000000000000000000169330ba20" \
1618
          "  shifted out:  0x003458d6401d0d1505190911010000000000" \
1619
          "  data:         1011121314151617"                   \
1620
          "  status:       0x0"                                \
1621
          "  time taken:"                                      \
1622
          "Execution step completed OK."                       \
1623
          "Processing READ_COMMAND."                           \
1624
          "  shifting in:  0x00000000000000000000000b2420de30" \
1625
          "  shifted out:  0x1f3128ca61c00020001000c000000000" \
1626
          "  access_type:  0x6"                                \
1627
          "  address:      0x100008"                           \
1628
          "  length:       0x8"                                \
1629
          "  status:       0x0"                                \
1630
          "  time taken:"                                      \
1631
          "Execution step completed OK."                       \
1632
          "Test completed successfully."]                      \
1633
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION" \
1634
         "8" "SELECT_MODULE" "0" "WRITE_COMMAND" "6" "100000" "8"      \
1635
         "GO_COMMAND_READ" "8" "READ_COMMAND"
1636
 
1637
# READ_COMMAND to advance address after reading 3 words (12 bytes) for WishBone
1638
# (access type 6)
1639
run_libsim "JTAG GO_COMMAND (read) WB read 3 words address advance" \
1640
    [list "Initalization succeeded."                           \
1641
          "Execution step completed OK."                       \
1642
          "Resetting JTAG."                                    \
1643
          "Execution step completed OK."                       \
1644
          "Shifting instruction."                              \
1645
          "  shifting in:  0x01"                               \
1646
          "  shifted out:  0x01"                               \
1647
          "  time taken:"                                      \
1648
          "Execution step completed OK."                       \
1649
          "Selecting module."                                  \
1650
          "  shifting in:  0x0000000000174841bc61"             \
1651
          "  shifted out:  0x0164841bc60000000000"             \
1652
          "  status:       0x0"                                \
1653
          "  time taken:"                                      \
1654
          "Execution step completed OK."                       \
1655
          "Processing WRITE_COMMAND."                          \
1656
          "  shifting in:  0x00000000002b57c507a00000001000c8" \
1657
          "  shifted out:  0x164841bc600000000000000000000000" \
1658
          "  status:       0x0"                                \
1659
          "  time taken:"                                      \
1660
          "Execution step completed OK."                       \
1661
          "Processing GO_COMMAND_READ."                        \
1662
          "  shifting in:  0x0000000000000000000000000000000000169330ba20" \
1663
          "  shifted out:  0x00248290b61b0b13031d0d1505190911010000000000" \
1664
          "  data:         101112131415161718191a1b"           \
1665
          "  status:       0x0"                                \
1666
          "  time taken:"                                      \
1667
          "Execution step completed OK."                       \
1668
          "Processing READ_COMMAND."                           \
1669
          "  shifting in:  0x00000000000000000000000b2420de30" \
1670
          "  shifted out:  0x0c609870e1a00060001000c000000000" \
1671
          "  access_type:  0x6"                                \
1672
          "  address:      0x10000c"                           \
1673
          "  length:       0xc"                                \
1674
          "  status:       0x0"                                \
1675
          "  time taken:"                                      \
1676
          "Execution step completed OK."                       \
1677
          "Test completed successfully."]                      \
1678
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION" \
1679
         "8" "SELECT_MODULE" "0" "WRITE_COMMAND" "6" "100000" "c"      \
1680
         "GO_COMMAND_READ" "c" "READ_COMMAND"
1681
 
1682
# READ_COMMAND to advance address after reading 0x3fff words (0xfffc bytes)
1683
# for WishBone (access type 6)
1684
run_libsim "JTAG GO_COMMAND (read) WB read 0x3fff words address advance" \
1685
    [list "Initalization succeeded."                           \
1686
          "Execution step completed OK."                       \
1687
          "Resetting JTAG."                                    \
1688
          "Execution step completed OK."                       \
1689
          "Shifting instruction."                              \
1690
          "  shifting in:  0x01"                               \
1691
          "  shifted out:  0x01"                               \
1692
          "  time taken:"                                      \
1693
          "Execution step completed OK."                       \
1694
          "Selecting module."                                  \
1695
          "  shifting in:  0x0000000000174841bc61"             \
1696
          "  shifted out:  0x0164841bc60000000000"             \
1697
          "  status:       0x0"                                \
1698
          "  time taken:"                                      \
1699
          "Execution step completed OK."                       \
1700
          "Processing WRITE_COMMAND."                          \
1701
          "  shifting in:  0x00000000002c6004c1bffe00001000c8" \
1702
          "  shifted out:  0x164841bc600000000000000000000000" \
1703
          "  status:       0x0"                                \
1704
          "  time taken:"                                      \
1705
          "Execution step completed OK."                       \
1706
          "Processing GO_COMMAND_READ."                        \
1707
          "  shifting in:  0x00000000000000000000000000000000000000000000000" \
1708
          "  shifted out:  0x00588773a80000000000000000000000000000000000000" \
1709
          "  data:         101112131415161718191a1b1c1d1e1f00000000000000000" \
1710
          "  status:       0x0"                                \
1711
          "  time taken:"                                      \
1712
          "Execution step completed OK."                       \
1713
          "Processing READ_COMMAND."                           \
1714
          "  shifting in:  0x00000000000000000000000b2420de30" \
1715
          "  shifted out:  0x1a7aa37121bffe7ffe1000c000000000" \
1716
          "  access_type:  0x6"                                \
1717
          "  address:      0x10fffc"                           \
1718
          "  length:       0xfffc"                             \
1719
          "  status:       0x0"                                \
1720
          "  time taken:"                                      \
1721
          "Execution step completed OK."                       \
1722
          "Test completed successfully."]                      \
1723
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION" \
1724
         "8" "SELECT_MODULE" "0" "WRITE_COMMAND" "6" "100000" "fffc"   \
1725
         "GO_COMMAND_READ" "fffc" "READ_COMMAND"
1726
 
1727
# READ_COMMAND to advance address after reading 0x4000 words (0x10000 bytes)
1728
# for WishBone (access type 6)
1729
run_libsim "JTAG GO_COMMAND (read) WB read 0x400 words address advance" \
1730
    [list "Initalization succeeded."                           \
1731
          "Execution step completed OK."                       \
1732
          "Resetting JTAG."                                    \
1733
          "Execution step completed OK."                       \
1734
          "Shifting instruction."                              \
1735
          "  shifting in:  0x01"                               \
1736
          "  shifted out:  0x01"                               \
1737
          "  time taken:"                                      \
1738
          "Execution step completed OK."                       \
1739
          "Selecting module."                                  \
1740
          "  shifting in:  0x0000000000174841bc61"             \
1741
          "  shifted out:  0x0164841bc60000000000"             \
1742
          "  status:       0x0"                                \
1743
          "  time taken:"                                      \
1744
          "Execution step completed OK."                       \
1745
          "Processing WRITE_COMMAND."                          \
1746
          "  shifting in:  0x00000000005abc4551fffe00001000c8" \
1747
          "  shifted out:  0x164841bc600000000000000000000000" \
1748
          "  status:       0x0"                                \
1749
          "  time taken:"                                      \
1750
          "Execution step completed OK."                       \
1751
          "Processing GO_COMMAND_READ."                        \
1752
          "  shifting in:  0x00000000000000000000000000000000000000000000000" \
1753
          "  shifted out:  0x01146b36e80000000000000000000000000000000000000" \
1754
          "  data:         101112131415161718191a1b1c1d1e1f00000000000000000" \
1755
          "  status:       0x0"                                \
1756
          "  time taken:"                                      \
1757
          "Execution step completed OK."                       \
1758
          "Processing READ_COMMAND."                           \
1759
          "  shifting in:  0x00000000000000000000000b2420de30" \
1760
          "  shifted out:  0x133b9b3221fffe00011000c000000000" \
1761
          "  access_type:  0x6"                                \
1762
          "  address:      0x110000"                           \
1763
          "  length:       0x10000"                            \
1764
          "  status:       0x0"                                \
1765
          "  time taken:"                                      \
1766
          "Execution step completed OK."                       \
1767
          "Test completed successfully."]                      \
1768
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION" \
1769
         "8" "SELECT_MODULE" "0" "WRITE_COMMAND" "6" "100000" "10000"  \
1770
         "GO_COMMAND_READ" "10000" "READ_COMMAND"
1771
 
1772
# READ_COMMAND to advance address after reading 1 word for CPU0
1773
# (access type 2). The address should advance by 1 (word, since SPRs are word
1774
# addressed).
1775
run_libsim "JTAG GO_COMMAND (read) CPU0 read 1 word address advance" \
1776
    [list "Initalization succeeded."                           \
1777
          "Execution step completed OK."                       \
1778
          "Resetting JTAG."                                    \
1779
          "Execution step completed OK."                       \
1780
          "Shifting instruction."                              \
1781
          "  shifting in:  0x01"                               \
1782
          "  shifted out:  0x01"                               \
1783
          "  time taken:"                                      \
1784
          "Execution step completed OK."                       \
1785
          "Selecting module."                                  \
1786
          "  shifting in:  0x00000000000aff51d871"             \
1787
          "  shifted out:  0x0164841bc60000000000"             \
1788
          "  status:       0x0"                                \
1789
          "  time taken:"                                      \
1790
          "Execution step completed OK."                       \
1791
          "Processing WRITE_COMMAND."                          \
1792
          "  shifting in:  0x00000000000c44c4dd800100280000c8" \
1793
          "  shifted out:  0x164841bc600000000000000000000000" \
1794
          "  status:       0x0"                                \
1795
          "  time taken:"                                      \
1796
          "Execution step completed OK."                       \
1797
          "Processing GO_COMMAND_READ."                        \
1798
          "  shifting in:  0x000000000000000000169330ba20" \
1799
          "  shifted out:  0x00b8e2228e0f76afbee000000000" \
1800
          "  data:         efbeadde" \
1801
          "  status:       0x0"                                \
1802
          "  time taken:"                                      \
1803
          "Execution step completed OK."                       \
1804
          "Processing READ_COMMAND."                           \
1805
          "  shifting in:  0x00000000000000000000000b2420de30" \
1806
          "  shifted out:  0x1df679cc01800080280000c000000000" \
1807
          "  access_type:  0x6"                                \
1808
          "  address:      0x2802"                             \
1809
          "  length:       0x4"                                \
1810
          "  status:       0x0"                                \
1811
          "  time taken:"                                      \
1812
          "Execution step completed OK."                       \
1813
          "Test completed successfully."]                      \
1814
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION" \
1815
         "8" "SELECT_MODULE" "1" "WRITE_COMMAND" "6" "2801" "4"        \
1816
         "GO_COMMAND_READ" "4" "READ_COMMAND"
1817
 
1818
# Tests of overrun and underrun. For Wishbone check both on different access
1819
# sizes.
1820
 
1821
# GO_COMMAND_READ for WishBone underrun for byte access
1822
run_libsim "JTAG GO_COMMAND (read) WB byte access underrun"          \
1823
    [list "Initalization succeeded."                                 \
1824
          "Execution step completed OK."                             \
1825
          "Resetting JTAG."                                          \
1826
          "Execution step completed OK."                             \
1827
          "Shifting instruction."                                    \
1828
          "  shifting in:  0x01"                                     \
1829
          "  shifted out:  0x01"                                     \
1830
          "  time taken:"                                            \
1831
          "Execution step completed OK."                             \
1832
          "Selecting module."                                        \
1833
          "  shifting in:  0x0000000000174841bc61"                   \
1834
          "  shifted out:  0x0164841bc60000000000"                   \
1835
          "  status:       0x0"                                      \
1836
          "  time taken:"                                            \
1837
          "Execution step completed OK."                             \
1838
          "Processing WRITE_COMMAND."                                \
1839
          "  shifting in:  0x0000000000eef34eadc0000000100048"       \
1840
          "  shifted out:  0x164841bc600000000000000000000000"       \
1841
          "  status:       0x0"                                      \
1842
          "  time taken:"                                            \
1843
          "Execution step completed OK."                             \
1844
          "Processing GO_COMMAND_READ."                              \
1845
          "  shifting in:  0x000000000000000000000000169330ba20"     \
1846
          "  shifted out:  0x000d619cbc2d1505190911010000000000"     \
1847
          "  data:         10111213141516"                           \
1848
          "  status:       0x8"                                      \
1849
          "  time taken:"                                            \
1850
          "Execution step completed OK."                             \
1851
          "Test completed successfully."]                            \
1852
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION" \
1853
         "8" "SELECT_MODULE" "0" "WRITE_COMMAND" "4" "100000" "8"      \
1854
         "GO_COMMAND_READ" "7"
1855
 
1856
# GO_COMMAND_READ for WishBone overrun for byte access
1857
run_libsim "JTAG GO_COMMAND (read) WB byte access overrun"           \
1858
    [list "Initalization succeeded."                                 \
1859
          "Execution step completed OK."                             \
1860
          "Resetting JTAG."                                          \
1861
          "Execution step completed OK."                             \
1862
          "Shifting instruction."                                    \
1863
          "  shifting in:  0x01"                                     \
1864
          "  shifted out:  0x01"                                     \
1865
          "  time taken:"                                            \
1866
          "Execution step completed OK."                             \
1867
          "Selecting module."                                        \
1868
          "  shifting in:  0x0000000000174841bc61"                   \
1869
          "  shifted out:  0x0164841bc60000000000"                   \
1870
          "  status:       0x0"                                      \
1871
          "  time taken:"                                            \
1872
          "Execution step completed OK."                             \
1873
          "Processing WRITE_COMMAND."                                \
1874
          "  shifting in:  0x0000000000eef34eadc0000000100048"       \
1875
          "  shifted out:  0x164841bc600000000000000000000000"       \
1876
          "  status:       0x0"                                      \
1877
          "  time taken:"                                            \
1878
          "Execution step completed OK."                             \
1879
          "Processing GO_COMMAND_READ."                              \
1880
          "  shifting in:  0x0000000000000000000000000000169330ba20" \
1881
          "  shifted out:  0x004d86398e201d0d1505190911010000000000" \
1882
          "  data:         101112131415161700"                       \
1883
          "  status:       0x8"                                      \
1884
          "  time taken:"                                            \
1885
          "Execution step completed OK."                             \
1886
          "Test completed successfully."]                            \
1887
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION" \
1888
         "8" "SELECT_MODULE" "0" "WRITE_COMMAND" "4" "100000" "8"      \
1889
         "GO_COMMAND_READ" "9"
1890
 
1891
# GO_COMMAND_READ for WishBone underrun for half word access
1892
run_libsim "JTAG GO_COMMAND (read) WB half word access underrun"     \
1893
    [list "Initalization succeeded."                                 \
1894
          "Execution step completed OK."                             \
1895
          "Resetting JTAG."                                          \
1896
          "Execution step completed OK."                             \
1897
          "Shifting instruction."                                    \
1898
          "  shifting in:  0x01"                                     \
1899
          "  shifted out:  0x01"                                     \
1900
          "  time taken:"                                            \
1901
          "Execution step completed OK."                             \
1902
          "Selecting module."                                        \
1903
          "  shifting in:  0x0000000000174841bc61"                   \
1904
          "  shifted out:  0x0164841bc60000000000"                   \
1905
          "  status:       0x0"                                      \
1906
          "  time taken:"                                            \
1907
          "Execution step completed OK."                             \
1908
          "Processing WRITE_COMMAND."                                \
1909
          "  shifting in:  0x0000000001fede9b49c0000000100148"       \
1910
          "  shifted out:  0x164841bc600000000000000000000000"       \
1911
          "  status:       0x0"                                      \
1912
          "  time taken:"                                            \
1913
          "Execution step completed OK."                             \
1914
          "Processing GO_COMMAND_READ."                              \
1915
          "  shifting in:  0x000000000000000000000000169330ba20"     \
1916
          "  shifted out:  0x000d619cbc2d1505190911010000000000"     \
1917
          "  data:         10111213141516"                           \
1918
          "  status:       0x8"                                      \
1919
          "  time taken:"                                            \
1920
          "Execution step completed OK."                             \
1921
          "Test completed successfully."]                            \
1922
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION" \
1923
         "8" "SELECT_MODULE" "0" "WRITE_COMMAND" "5" "100000" "8"      \
1924
         "GO_COMMAND_READ" "7"
1925
 
1926
# GO_COMMAND_READ for WishBone overrun for half word access
1927
run_libsim "JTAG GO_COMMAND (read) WB half word access overrun"      \
1928
    [list "Initalization succeeded."                                 \
1929
          "Execution step completed OK."                             \
1930
          "Resetting JTAG."                                          \
1931
          "Execution step completed OK."                             \
1932
          "Shifting instruction."                                    \
1933
          "  shifting in:  0x01"                                     \
1934
          "  shifted out:  0x01"                                     \
1935
          "  time taken:"                                            \
1936
          "Execution step completed OK."                             \
1937
          "Selecting module."                                        \
1938
          "  shifting in:  0x0000000000174841bc61"                   \
1939
          "  shifted out:  0x0164841bc60000000000"                   \
1940
          "  status:       0x0"                                      \
1941
          "  time taken:"                                            \
1942
          "Execution step completed OK."                             \
1943
          "Processing WRITE_COMMAND."                                \
1944
          "  shifting in:  0x0000000001fede9b49c0000000100148"       \
1945
          "  shifted out:  0x164841bc600000000000000000000000"       \
1946
          "  status:       0x0"                                      \
1947
          "  time taken:"                                            \
1948
          "Execution step completed OK."                             \
1949
          "Processing GO_COMMAND_READ."                              \
1950
          "  shifting in:  0x0000000000000000000000000000169330ba20" \
1951
          "  shifted out:  0x004d86398e201d0d1505190911010000000000" \
1952
          "  data:         101112131415161700"                       \
1953
          "  status:       0x8"                                      \
1954
          "  time taken:"                                            \
1955
          "Execution step completed OK."                             \
1956
          "Test completed successfully."]                            \
1957
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION" \
1958
         "8" "SELECT_MODULE" "0" "WRITE_COMMAND" "5" "100000" "8"      \
1959
         "GO_COMMAND_READ" "9"
1960
 
1961
# GO_COMMAND_READ for WishBone underrun for word access
1962
run_libsim "JTAG GO_COMMAND (read) WB word access underrun"          \
1963
    [list "Initalization succeeded."                                 \
1964
          "Execution step completed OK."                             \
1965
          "Resetting JTAG."                                          \
1966
          "Execution step completed OK."                             \
1967
          "Shifting instruction."                                    \
1968
          "  shifting in:  0x01"                                     \
1969
          "  shifted out:  0x01"                                     \
1970
          "  time taken:"                                            \
1971
          "Execution step completed OK."                             \
1972
          "Selecting module."                                        \
1973
          "  shifting in:  0x0000000000174841bc61"                   \
1974
          "  shifted out:  0x0164841bc60000000000"                   \
1975
          "  status:       0x0"                                      \
1976
          "  time taken:"                                            \
1977
          "Execution step completed OK."                             \
1978
          "Processing WRITE_COMMAND."                                \
1979
          "  shifting in:  0x000000000066e5a45fc00000001000c8"       \
1980
          "  shifted out:  0x164841bc600000000000000000000000"       \
1981
          "  status:       0x0"                                      \
1982
          "  time taken:"                                            \
1983
          "Execution step completed OK."                             \
1984
          "Processing GO_COMMAND_READ."                              \
1985
          "  shifting in:  0x000000000000000000000000169330ba20"     \
1986
          "  shifted out:  0x000d619cbc2d1505190911010000000000"     \
1987
          "  data:         10111213141516"                           \
1988
          "  status:       0x8"                                      \
1989
          "  time taken:"                                            \
1990
          "Execution step completed OK."                             \
1991
          "Test completed successfully."]                            \
1992
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION" \
1993
         "8" "SELECT_MODULE" "0" "WRITE_COMMAND" "6" "100000" "8"      \
1994
         "GO_COMMAND_READ" "7"
1995
 
1996
# GO_COMMAND_READ for WishBone overrun for word access
1997
run_libsim "JTAG GO_COMMAND (read) WB word access overrun"           \
1998
    [list "Initalization succeeded."                                 \
1999
          "Execution step completed OK."                             \
2000
          "Resetting JTAG."                                          \
2001
          "Execution step completed OK."                             \
2002
          "Shifting instruction."                                    \
2003
          "  shifting in:  0x01"                                     \
2004
          "  shifted out:  0x01"                                     \
2005
          "  time taken:"                                            \
2006
          "Execution step completed OK."                             \
2007
          "Selecting module."                                        \
2008
          "  shifting in:  0x0000000000174841bc61"                   \
2009
          "  shifted out:  0x0164841bc60000000000"                   \
2010
          "  status:       0x0"                                      \
2011
          "  time taken:"                                            \
2012
          "Execution step completed OK."                             \
2013
          "Processing WRITE_COMMAND."                                \
2014
          "  shifting in:  0x000000000066e5a45fc00000001000c8"       \
2015
          "  shifted out:  0x164841bc600000000000000000000000"       \
2016
          "  status:       0x0"                                      \
2017
          "  time taken:"                                            \
2018
          "Execution step completed OK."                             \
2019
          "Processing GO_COMMAND_READ."                              \
2020
          "  shifting in:  0x0000000000000000000000000000169330ba20" \
2021
          "  shifted out:  0x004d86398e201d0d1505190911010000000000" \
2022
          "  data:         101112131415161700"                       \
2023
          "  status:       0x8"                                      \
2024
          "  time taken:"                                            \
2025
          "Execution step completed OK."                             \
2026
          "Test completed successfully."]                            \
2027
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION" \
2028
         "8" "SELECT_MODULE" "0" "WRITE_COMMAND" "6" "100000" "8"      \
2029
         "GO_COMMAND_READ" "9"
2030
 
2031
# CPU0 underrun and overrun tests should remember that this is a 32-bit access
2032
# with a big-endian organization.
2033
 
2034
# GO_COMMAND_READ for CPU0 underrun for word access
2035
run_libsim "JTAG GO_COMMAND (read) CPU0 word access underrun"        \
2036
    [list "Initalization succeeded."                                 \
2037
          "Execution step completed OK."                             \
2038
          "Resetting JTAG."                                          \
2039
          "Execution step completed OK."                             \
2040
          "Shifting instruction."                                    \
2041
          "  shifting in:  0x01"                                     \
2042
          "  shifted out:  0x01"                                     \
2043
          "  time taken:"                                            \
2044
          "Execution step completed OK."                             \
2045
          "Selecting module."                                        \
2046
          "  shifting in:  0x00000000000aff51d871"                   \
2047
          "  shifted out:  0x0164841bc60000000000"                   \
2048
          "  status:       0x0"                                      \
2049
          "  time taken:"                                            \
2050
          "Execution step completed OK."                             \
2051
          "Processing WRITE_COMMAND."                                \
2052
          "  shifting in:  0x00000000000c44c4dd800100280000c8"       \
2053
          "  shifted out:  0x164841bc600000000000000000000000"       \
2054
          "  status:       0x0"                                      \
2055
          "  time taken:"                                            \
2056
          "Execution step completed OK."                             \
2057
          "Processing GO_COMMAND_READ."                              \
2058
          "  shifting in:  0x0000000000000000169330ba20"             \
2059
          "  shifted out:  0x00295bc0a836afbee000000000"             \
2060
          "  data:         efbead"                                   \
2061
          "  status:       0x8"                                      \
2062
          "  time taken:"                                            \
2063
          "Execution step completed OK."                             \
2064
          "Test completed successfully."]                            \
2065
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION" \
2066
         "8" "SELECT_MODULE" "1" "WRITE_COMMAND" "6" "2801" "4"        \
2067
         "GO_COMMAND_READ" "3"
2068
 
2069
# GO_COMMAND_READ for CPU0 overrun for word access
2070
run_libsim "JTAG GO_COMMAND (read) CPU0 word access overrun"         \
2071
    [list "Initalization succeeded."                                 \
2072
          "Execution step completed OK."                             \
2073
          "Resetting JTAG."                                          \
2074
          "Execution step completed OK."                             \
2075
          "Shifting instruction."                                    \
2076
          "  shifting in:  0x01"                                     \
2077
          "  shifted out:  0x01"                                     \
2078
          "  time taken:"                                            \
2079
          "Execution step completed OK."                             \
2080
          "Selecting module."                                        \
2081
          "  shifting in:  0x00000000000aff51d871"                   \
2082
          "  shifted out:  0x0164841bc60000000000"                   \
2083
          "  status:       0x0"                                      \
2084
          "  time taken:"                                            \
2085
          "Execution step completed OK."                             \
2086
          "Processing WRITE_COMMAND."                                \
2087
          "  shifting in:  0x00000000000c44c4dd800100280000c8"       \
2088
          "  shifted out:  0x164841bc600000000000000000000000"       \
2089
          "  status:       0x0"                                      \
2090
          "  time taken:"                                            \
2091
          "Execution step completed OK."                             \
2092
          "Processing GO_COMMAND_READ."                              \
2093
          "  shifting in:  0x00000000000000000000169330ba20"         \
2094
          "  shifted out:  0x01eaa76a8c200f76afbee000000000"         \
2095
          "  data:         efbeadde00"                               \
2096
          "  status:       0x8"                                      \
2097
          "  time taken:"                                            \
2098
          "Execution step completed OK."                             \
2099
          "Test completed successfully."]                            \
2100
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION" \
2101
         "8" "SELECT_MODULE" "1" "WRITE_COMMAND" "6" "2801" "4"        \
2102
         "GO_COMMAND_READ" "5"
2103
 
2104
# Test access to invalid areas. We can only do this for Wishbone, since all
2105
# SPRs are validly accessible (non-readable ones just return undefined
2106
# results). For the default CFG we have the following memory areas.
2107
#   0x00000000 - 0x001fffff  RAM (read/write)
2108
#   0xf0000000 - 0xf01fffff  Flash (read only)
2109
#   0xffe00000 - 0xffffffff  RAM (read/write)
2110
 
2111
# For convenience the top 8 bytes of the each block of RAM (0x001ffff8 -
2112
# 0x001fffff) and (0xfffffff8 - 0xffffffff) and the bottom 8 bytes of the
2113
# second block of RAM (0xffe00000 - 0xffe00007) are initialized to
2114
# 0xdeadbeefcafebabe.
2115
 
2116
# Test each access type with one unit and test blocks spanning start and end
2117
# of readable blocks.
2118
 
2119
# GO_COMMAND_READ for 1 byte read from invalid memory.
2120
run_libsim "JTAG GO_COMMAND (read) WB 1 byte invalid read"     \
2121
    [list "Initalization succeeded."                           \
2122
          "Execution step completed OK."                       \
2123
          "Resetting JTAG."                                    \
2124
          "Execution step completed OK."                       \
2125
          "Shifting instruction."                              \
2126
          "  shifting in:  0x01"                               \
2127
          "  shifted out:  0x01"                               \
2128
          "  time taken:"                                      \
2129
          "Execution step completed OK."                       \
2130
          "Selecting module."                                  \
2131
          "  shifting in:  0x0000000000174841bc61"             \
2132
          "  shifted out:  0x0164841bc60000000000"             \
2133
          "  status:       0x0"                                \
2134
          "  time taken:"                                      \
2135
          "Execution step completed OK."                       \
2136
          "Processing WRITE_COMMAND."                          \
2137
          "  shifting in:  0x00000000002507505e00000000080048" \
2138
          "  shifted out:  0x164841bc600000000000000000000000" \
2139
          "  status:       0x0"                                \
2140
          "  time taken:"                                      \
2141
          "Execution step completed OK."                       \
2142
          "Processing GO_COMMAND_READ."                        \
2143
          "  shifting in:  0x000000000000169330ba20"           \
2144
          "  shifted out:  0x0005bfa20e400000000000"           \
2145
          "  data:         00"                                 \
2146
          "  status:       0x4"                                \
2147
          "  time taken:"                                      \
2148
          "Execution step completed OK."                       \
2149
          "Test completed successfully."]                      \
2150
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION" \
2151
         "8" "SELECT_MODULE" "0" "WRITE_COMMAND" "4" "200000" "1"      \
2152
         "GO_COMMAND_READ" "1"
2153
 
2154
# GO_COMMAND_READ for 2 byte read ending in invalid memory.
2155
run_libsim "JTAG GO_COMMAND (read) WB 2 byte ending invalid read" \
2156
    [list "Initalization succeeded."                              \
2157
          "Execution step completed OK."                          \
2158
          "Resetting JTAG."                                       \
2159
          "Execution step completed OK."                          \
2160
          "Shifting instruction."                                 \
2161
          "  shifting in:  0x01"                                  \
2162
          "  shifted out:  0x01"                                  \
2163
          "  time taken:"                                         \
2164
          "Execution step completed OK."                          \
2165
          "Selecting module."                                     \
2166
          "  shifting in:  0x0000000000174841bc61"                \
2167
          "  shifted out:  0x0164841bc60000000000"                \
2168
          "  status:       0x0"                                   \
2169
          "  time taken:"                                         \
2170
          "Execution step completed OK."                          \
2171
          "Processing WRITE_COMMAND."                             \
2172
          "  shifting in:  0x000000000024c5489f0001fffff00048"    \
2173
          "  shifted out:  0x164841bc600000000000000000000000"    \
2174
          "  status:       0x0"                                   \
2175
          "  time taken:"                                         \
2176
          "Execution step completed OK."                          \
2177
          "Processing GO_COMMAND_READ."                           \
2178
          "  shifting in:  0x00000000000000169330ba20"            \
2179
          "  shifted out:  0x01e489dbde400fa000000000"            \
2180
          "  data:         be00"                                  \
2181
          "  status:       0x4"                                   \
2182
          "  time taken:"                                         \
2183
          "Execution step completed OK."                          \
2184
          "Test completed successfully."]                         \
2185
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION" \
2186
         "8" "SELECT_MODULE" "0" "WRITE_COMMAND" "4" "1fffff" "2"      \
2187
         "GO_COMMAND_READ" "2"
2188
 
2189
# GO_COMMAND_READ for 2 byte read starting in invalid memory.
2190
run_libsim "JTAG GO_COMMAND (read) WB 2 byte starting invalid read" \
2191
    [list "Initalization succeeded."                                \
2192
          "Execution step completed OK."                            \
2193
          "Resetting JTAG."                                         \
2194
          "Execution step completed OK."                            \
2195
          "Shifting instruction."                                   \
2196
          "  shifting in:  0x01"                                    \
2197
          "  shifted out:  0x01"                                    \
2198
          "  time taken:"                                           \
2199
          "Execution step completed OK."                            \
2200
          "Selecting module."                                       \
2201
          "  shifting in:  0x0000000000174841bc61"                  \
2202
          "  shifted out:  0x0164841bc60000000000"                  \
2203
          "  status:       0x0"                                     \
2204
          "  time taken:"                                           \
2205
          "Execution step completed OK."                            \
2206
          "Processing WRITE_COMMAND."                               \
2207
          "  shifting in:  0x0000000001620ceaa70001fffff7fe48"      \
2208
          "  shifted out:  0x164841bc600000000000000000000000"      \
2209
          "  status:       0x0"                                     \
2210
          "  time taken:"                                           \
2211
          "Execution step completed OK."                            \
2212
          "Processing GO_COMMAND_READ."                             \
2213
          "  shifting in:  0x00000000000000169330ba20"              \
2214
          "  shifted out:  0x00945aea064f600000000000"              \
2215
          "  data:         00de"                                    \
2216
          "  status:       0x4"                                     \
2217
          "  time taken:"                                           \
2218
          "Execution step completed OK."                            \
2219
          "Test completed successfully."]                           \
2220
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION" \
2221
         "8" "SELECT_MODULE" "0" "WRITE_COMMAND" "4" "ffdfffff" "2"    \
2222
         "GO_COMMAND_READ" "2"
2223
 
2224
# GO_COMMAND_READ for 1 half word read from invalid memory.
2225
run_libsim "JTAG GO_COMMAND (read) WB 1 half word invalid read" \
2226
    [list "Initalization succeeded."                            \
2227
          "Execution step completed OK."                        \
2228
          "Resetting JTAG."                                     \
2229
          "Execution step completed OK."                        \
2230
          "Shifting instruction."                               \
2231
          "  shifting in:  0x01"                                \
2232
          "  shifted out:  0x01"                                \
2233
          "  time taken:"                                       \
2234
          "Execution step completed OK."                        \
2235
          "Selecting module."                                   \
2236
          "  shifting in:  0x0000000000174841bc61"              \
2237
          "  shifted out:  0x0164841bc60000000000"              \
2238
          "  status:       0x0"                                 \
2239
          "  time taken:"                                       \
2240
          "Execution step completed OK."                        \
2241
          "Processing WRITE_COMMAND."                           \
2242
          "  shifting in:  0x0000000000ee5b83fb00000000080148"  \
2243
          "  shifted out:  0x164841bc600000000000000000000000"  \
2244
          "  status:       0x0"                                 \
2245
          "  time taken:"                                       \
2246
          "Execution step completed OK."                        \
2247
          "Processing GO_COMMAND_READ."                         \
2248
          "  shifting in:  0x00000000000000169330ba20"          \
2249
          "  shifted out:  0x0061189c3040000000000000"          \
2250
          "  data:         0000"                                \
2251
          "  status:       0x4"                                 \
2252
          "  time taken:"                                       \
2253
          "Execution step completed OK."                        \
2254
          "Test completed successfully."]                       \
2255
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION" \
2256
         "8" "SELECT_MODULE" "0" "WRITE_COMMAND" "5" "200000" "2"      \
2257
         "GO_COMMAND_READ" "2"
2258
 
2259
# GO_COMMAND_READ for 2 half word read ending in invalid memory.
2260
run_libsim "JTAG GO_COMMAND (read) WB 2 half word ending invalid read" \
2261
    [list "Initalization succeeded."                                   \
2262
          "Execution step completed OK."                               \
2263
          "Resetting JTAG."                                            \
2264
          "Execution step completed OK."                               \
2265
          "Shifting instruction."                                      \
2266
          "  shifting in:  0x01"                                       \
2267
          "  shifted out:  0x01"                                       \
2268
          "  time taken:"                                              \
2269
          "Execution step completed OK."                               \
2270
          "Selecting module."                                          \
2271
          "  shifting in:  0x0000000000174841bc61"                     \
2272
          "  shifted out:  0x0164841bc60000000000"                     \
2273
          "  status:       0x0"                                        \
2274
          "  time taken:"                                              \
2275
          "Execution step completed OK."                               \
2276
          "Processing WRITE_COMMAND."                                  \
2277
          "  shifting in:  0x00000000001b3a295b8000fffff00148"         \
2278
          "  shifted out:  0x164841bc600000000000000000000000"         \
2279
          "  status:       0x0"                                        \
2280
          "  time taken:"                                              \
2281
          "Execution step completed OK."                               \
2282
          "Processing GO_COMMAND_READ."                                \
2283
          "  shifting in:  0x000000000000000000169330ba20"             \
2284
          "  shifted out:  0x011ad9043a40000faba000000000"             \
2285
          "  data:         babe0000"                                   \
2286
          "  status:       0x4"                                        \
2287
          "  time taken:"                                              \
2288
          "Execution step completed OK."                               \
2289
          "Test completed successfully."]                              \
2290
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION" \
2291
         "8" "SELECT_MODULE" "0" "WRITE_COMMAND" "5" "1ffffe" "4"      \
2292
         "GO_COMMAND_READ" "4"
2293
 
2294
# GO_COMMAND_READ for 2 half word read starting in invalid memory.
2295
run_libsim "JTAG GO_COMMAND (read) WB 2 half word starting invalid read" \
2296
    [list "Initalization succeeded."                                     \
2297
          "Execution step completed OK."                                 \
2298
          "Resetting JTAG."                                              \
2299
          "Execution step completed OK."                                 \
2300
          "Shifting instruction."                                        \
2301
          "  shifting in:  0x01"                                         \
2302
          "  shifted out:  0x01"                                         \
2303
          "  time taken:"                                                \
2304
          "Execution step completed OK."                                 \
2305
          "Selecting module."                                            \
2306
          "  shifting in:  0x0000000000174841bc61"                       \
2307
          "  shifted out:  0x0164841bc60000000000"                       \
2308
          "  status:       0x0"                                          \
2309
          "  time taken:"                                                \
2310
          "Execution step completed OK."                                 \
2311
          "Processing WRITE_COMMAND."                                    \
2312
          "  shifting in:  0x00000000015df38b638000fffff7ff48"           \
2313
          "  shifted out:  0x164841bc600000000000000000000000"           \
2314
          "  status:       0x0"                                          \
2315
          "  time taken:"                                                \
2316
          "Execution step completed OK."                                 \
2317
          "Processing GO_COMMAND_READ."                                  \
2318
          "  shifting in:  0x000000000000000000169330ba20"               \
2319
          "  shifted out:  0x016e549cc256af60000000000000"               \
2320
          "  data:         0000dead"                                     \
2321
          "  status:       0x4"                                          \
2322
          "  time taken:"                                                \
2323
          "Execution step completed OK."                                 \
2324
          "Test completed successfully."]                                \
2325
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION"   \
2326
         "8" "SELECT_MODULE" "0" "WRITE_COMMAND" "5" "ffdffffe" "4"      \
2327
         "GO_COMMAND_READ" "4"
2328
 
2329
# GO_COMMAND_READ for 1 word read from invalid memory.
2330
run_libsim "JTAG GO_COMMAND (read) WB 1 word invalid read"     \
2331
    [list "Initalization succeeded."                           \
2332
          "Execution step completed OK."                       \
2333
          "Resetting JTAG."                                    \
2334
          "Execution step completed OK."                       \
2335
          "Shifting instruction."                              \
2336
          "  shifting in:  0x01"                               \
2337
          "  shifted out:  0x01"                               \
2338
          "  time taken:"                                      \
2339
          "Execution step completed OK."                       \
2340
          "Selecting module."                                  \
2341
          "  shifting in:  0x0000000000174841bc61"             \
2342
          "  shifted out:  0x0164841bc60000000000"             \
2343
          "  status:       0x0"                                \
2344
          "  time taken:"                                      \
2345
          "Execution step completed OK."                       \
2346
          "Processing WRITE_COMMAND."                          \
2347
          "  shifting in:  0x00000000019bd83fcd800000000800c8" \
2348
          "  shifted out:  0x164841bc600000000000000000000000" \
2349
          "  status:       0x0"                                \
2350
          "  time taken:"                                      \
2351
          "Execution step completed OK."                       \
2352
          "Processing GO_COMMAND_READ."                        \
2353
          "  shifting in:  0x000000000000000000169330ba20"     \
2354
          "  shifted out:  0x0020b944d4400000000000000000"     \
2355
          "  data:         00000000"                           \
2356
          "  status:       0x4"                                \
2357
          "  time taken:"                                      \
2358
          "Execution step completed OK."                       \
2359
          "Test completed successfully."]                      \
2360
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION" \
2361
         "8" "SELECT_MODULE" "0" "WRITE_COMMAND" "6" "200000" "4"      \
2362
         "GO_COMMAND_READ" "4"
2363
 
2364
# GO_COMMAND_READ for 2 word read ending in invalid memory.
2365
run_libsim "JTAG GO_COMMAND (read) WB 2 word ending invalid read"  \
2366
    [list "Initalization succeeded."                               \
2367
          "Execution step completed OK."                           \
2368
          "Resetting JTAG."                                        \
2369
          "Execution step completed OK."                           \
2370
          "Shifting instruction."                                  \
2371
          "  shifting in:  0x01"                                   \
2372
          "  shifted out:  0x01"                                   \
2373
          "  time taken:"                                          \
2374
          "Execution step completed OK."                           \
2375
          "Selecting module."                                      \
2376
          "  shifting in:  0x0000000000174841bc61"                 \
2377
          "  shifted out:  0x0164841bc60000000000"                 \
2378
          "  status:       0x0"                                    \
2379
          "  time taken:"                                          \
2380
          "Execution step completed OK."                           \
2381
          "Processing WRITE_COMMAND."                              \
2382
          "  shifting in:  0x000000000114e84c5dc0007ffff000c8"     \
2383
          "  shifted out:  0x164841bc600000000000000000000000"     \
2384
          "  status:       0x0"                                    \
2385
          "  time taken:"                                          \
2386
          "Execution step completed OK."                           \
2387
          "Processing GO_COMMAND_READ."                            \
2388
          "  shifting in:  0x00000000000000000000000000169330ba20" \
2389
          "  shifted out:  0x00f0f84a44400000000fabafea6000000000" \
2390
          "  data:         cafebabe00000000"                       \
2391
          "  status:       0x4"                                    \
2392
          "  time taken:"                                          \
2393
          "Execution step completed OK."                           \
2394
          "Test completed successfully."]                          \
2395
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION" \
2396
         "8" "SELECT_MODULE" "0" "WRITE_COMMAND" "6" "1ffffc" "8"      \
2397
         "GO_COMMAND_READ" "8"
2398
 
2399
# GO_COMMAND_READ for 2 word read starting in invalid memory.
2400
run_libsim "JTAG GO_COMMAND (read) WB 2 word starting invalid read" \
2401
    [list "Initalization succeeded."                                \
2402
          "Execution step completed OK."                            \
2403
          "Resetting JTAG."                                         \
2404
          "Execution step completed OK."                            \
2405
          "Shifting instruction."                                   \
2406
          "  shifting in:  0x01"                                    \
2407
          "  shifted out:  0x01"                                    \
2408
          "  time taken:"                                           \
2409
          "Execution step completed OK."                            \
2410
          "Selecting module."                                       \
2411
          "  shifting in:  0x0000000000174841bc61"                  \
2412
          "  shifted out:  0x0164841bc60000000000"                  \
2413
          "  status:       0x0"                                     \
2414
          "  time taken:"                                           \
2415
          "Execution step completed OK."                            \
2416
          "Processing WRITE_COMMAND."                               \
2417
          "  shifting in:  0x00000000005221ee65c0007ffff7fec8"      \
2418
          "  shifted out:  0x164841bc600000000000000000000000"      \
2419
          "  status:       0x0"                                     \
2420
          "  time taken:"                                           \
2421
          "Execution step completed OK."                            \
2422
          "Processing GO_COMMAND_READ."                             \
2423
          "  shifting in:  0x00000000000000000000000000169330ba20"  \
2424
          "  shifted out:  0x0090e309ce5eefb6af600000000000000000"  \
2425
          "  data:         00000000deadbeef"                        \
2426
          "  status:       0x4"                                     \
2427
          "  time taken:"                                           \
2428
          "Execution step completed OK."                            \
2429
          "Test completed successfully."]                           \
2430
    "lib-jtag/lib-jtag-full" "" "loop/loop-init" "RESET" "INSTRUCTION" \
2431
         "8" "SELECT_MODULE" "0" "WRITE_COMMAND" "6" "ffdffffc" "8"    \
2432
         "GO_COMMAND_READ" "8"
2433
 

powered by: WebSVN 2.1.0

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