t = 0 #r = row number, s=strip number, t=tile number print "Generating mem_test" for t in range(0, gf.TILES): for s in range(0, gf.STRIPS): d_wordH = range(gf.DROWS) #initialise a new data word array a_wordH = range(gf.DROWS) #initialise a new answer word array #Generate data, instructions and answers and write instructions to files for r in range(0, gf.IROWS): #Write a row in a strip in a tile #Generate random values: var1 = random.randrange(0, 17179869183) #var1= r var1H = gf.roach_word(var1) var2 = random.randrange(0, 17179869183) #var2= r+5 var2H = gf.roach_word(var2) d_wordH[r] = "Address %d:" % (r) + var1H d_wordH[r + (gf.DROWS / 2)] = "Address %d:" % (r + (gf.DROWS / 2)) + var2H #Generate answers answer = str(hex(var1 - var2)) answer = answer[2:] while len(answer) != 16: answer = '0' + answer a_wordH[r] = "Address %d:" % (r) + answer a_wordH[r + (gf.DROWS / 2)] = "Address %d:" % (
zA =a[2] #Array of handles on answer files: zA[tile][strip] r=0;s=0;t=0; #r = row number, s=strip number, t=tile number print "Generating mem_test" for t in range(0,gf.TILES): for s in range(0,gf.STRIPS): d_wordH=range(gf.DROWS) #initialise a new data word array a_wordH=range(gf.DROWS) #initialise a new answer word array #Generate data, instructions and answers and write instructions to files for r in range(0,gf.IROWS): #Write a row in a strip in a tile #Generate random values: var1= random.randrange(0,17179869183) #var1= r var1H =gf.roach_word(var1) var2=random.randrange(0,17179869183) #var2= r+5 var2H= gf.roach_word(var2) d_wordH[r] = "Address %d:" %(r) + var1H d_wordH[r+(gf.DROWS/2)] = "Address %d:" %(r+(gf.DROWS/2)) + var2H answer = str(hex(var1+var2)) answer = answer[2:] while len(answer) != 16: answer = '0'+answer a_wordH[r] = "Address %d:" %(r) + answer a_wordH[r+(gf.DROWS/2)] = "Address %d:" %(r+(gf.DROWS/2)) + answer #Writing the same answer to both operand addresses, this way reading form and writing to every address are tested #Generate instruction opcode = add