import copy class MemoryAccessTrace: """ Class representing an operation performed over a memory cell """ def __init__(self, clock, pc, address, value, dimension, op_type, metadata): self.clock = clock self.pc = copy.deepcopy(pc) self.pc_tree = pc.pc_tree() self.address = address self.value = copy.deepcopy(value) self.dimension = dimension self.op_type = op_type self.metadata = metadata def __str__(self): return '{}({}) {} {} {}'.format(self.address, self.dimension, self.value, self.pc.resolve(), '' if self.metadata is None else '({})'.format(self.metadata)) def __repr__(self): return self.__str__()