Exemple #1
0
def main():

    tracer = TraceGen(39, 28, 32)
    file = open("test_load.tr", "w")

    file.write(tracer.print_header())

    file.write(
        tracer.print_comment(
            "Load from address - 0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60"
        ))
    for i in range(0, 64, 4):
        temp_vaddr = (1 << 31) | i
        temp_ptag = (1 << 19)
        file.write(tracer.send_load(temp_vaddr, temp_ptag, False))
        file.write(tracer.nop())
        file.write(tracer.recv_data(i))
        file.write(tracer.nop())

    file.write(tracer.test_finish())
    file.close()

    file = open("test_uncached_load.tr", "w")

    file.write(tracer.print_header())

    file.write(tracer.print_comment("Uncached Load from address 36"))
    temp_vaddr = (1 << 31) | 36
    temp_ptag = (1 << 19)
    file.write(tracer.send_load(temp_vaddr, temp_ptag, True))
    file.write(tracer.nop())
    file.write(tracer.recv_data(36))

    file.write(tracer.test_finish())
    file.close()
import sys
sys.path.append("../py/")
from trace_gen import TraceGen


tg = TraceGen(addr_width_p=22, data_width_p=64)

# preamble  
tg.print_header()

# test begin

# store miss
tg.send_store(size=8, addr=0x0000, data=1)
tg.nop()
tg.nop()
tg.send_store(size=8, addr=0x0000, data=1)
tg.send_load(signed=0, size=8, addr=0x0000)
tg.recv_data(data=0)
tg.recv_data(data=1)

tg.send_store(size=8, addr=0x1000, data=2)
tg.nop()
tg.nop()
tg.send_store(size=8, addr=0x1000, data=2)
tg.send_load(signed=0, size=8, addr=0x1000)
tg.recv_data(data=0)
tg.recv_data(data=2)

tg.send_store(size=8, addr=0x2000, data=3)
tg.nop()