diff options
Diffstat (limited to 'src/test/testcases/testMemUtil.py')
-rw-r--r-- | src/test/testcases/testMemUtil.py | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/test/testcases/testMemUtil.py b/src/test/testcases/testMemUtil.py index 1014f46c..fce1eae2 100644 --- a/src/test/testcases/testMemUtil.py +++ b/src/test/testcases/testMemUtil.py @@ -89,7 +89,35 @@ def putmem(addr, data, flags, ecc=0): testUtil.readDsFifo(expData) testUtil.readEot( ) +def putmem_failure(addr, data, flags, responseWord, ecc=0): + lenInBytes = len(data) + if(len(data) < 8): + data = data+[0]*(4-len(data)) + totalLen = 5 + len(data)/4 + coreChipletId = 0x00 + if (flags & 0x0040): + # LCO mode is set, so chiplet id - 0x20 + coreChipletId = 0x20 + req = (getsingleword(totalLen) + +[ 0,0,0xA4,0x02] + +[coreChipletId, ecc] + +gethalfword(flags) + #0,0,0x0,0xA5] #CoreChipletId/EccByte/Flags -> NoEccOverride/CacheInhibit/FastMode/NoTag/NoEcc/AutoIncr/Adu/Proc + + getdoubleword(addr) + + getsingleword(lenInBytes) # length of data + + data) + testUtil.writeUsFifo(req) + testUtil.writeEot( ) + testUtil.runCycles( 10000000 ) + expResp = ([0x0, 0x0, 0x0, 0x0] + + [0xc0,0xde,0xa4,0x02] + + getsingleword(responseWord) + + [0x0,0x0,0x0,0x03]) + testUtil.readDsFifo(expResp) + testUtil.readEot( ) + def getmem(addr, len, flags): + testUtil.runCycles( 10000000 ) req = (getsingleword(6) + [0, 0, 0xA4, 0x01] + getsingleword(flags) @@ -122,6 +150,7 @@ def getmem(addr, len, flags): return data[:lenExp] def getmem_failure(addr, len, flags, responseWord): + testUtil.runCycles( 10000000 ) req = (getsingleword(6) + [0, 0, 0xA4, 0x01] + getsingleword(flags) @@ -137,6 +166,7 @@ def getmem_failure(addr, len, flags, responseWord): testUtil.readEot( ) def setUnsecureMemRegion(addr, size, controlFlag, responseWord): + testUtil.runCycles( 10000000 ) req = (["write", reg.REG_MBOX0,"0"*(8-len(hex(controlFlag).split('0x')[-1]))+hex(controlFlag).split('0x')[-1] +"00F0D601", 8, "None", "Writing to MBOX0 address"], ["write", reg.REG_MBOX1, "0"*(16-len(hex(size).split('0x')[-1]))+hex(size).split('0x')[-1], 8, "None", "Writing to MBOX1 address"], ["write", reg.REG_MBOX2, "0"*(16-len(hex(addr).split('0x')[-1]))+hex(addr).split('0x')[-1], 8, "None", "Writing to MBOX1 address"], |