26 lines
718 B
Python
26 lines
718 B
Python
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__()
|
|
|
|
|