@@ -243,7 +243,7 @@ def __invert__(self):
243243
244244
245245class RegisterFile (object ):
246- def __init__ (self , num : int , bits : int , immutable : list = {}):
246+ def __init__ (self , num : int , bits : int , immutable : list = {}, prefix : str = "x" ):
247247 self .num = num
248248 self .bits = bits
249249 self .regs = []
@@ -255,6 +255,8 @@ def __init__(self, num: int, bits: int, immutable: list = {}):
255255 self .regs [r [0 ]].set (r [1 ])
256256 self .regs [r [0 ]].set_immutable (True )
257257
258+ self .prefix = prefix
259+
258260 def randomize (self ):
259261 for i in range (self .num ):
260262 self .regs [i ].randomize ()
@@ -263,7 +265,7 @@ def __setitem__(self, key, value):
263265 if not self .regs [key ].immutable :
264266 reg = Register (self .bits )
265267 reg .set (value )
266- self .regs_updates .append (TraceIntegerRegister (key , reg ))
268+ self .regs_updates .append (TraceIntegerRegister (key , reg , prefix = self . prefix , width = self . bits ))
267269
268270 def __getitem__ (self , item ):
269271 return self .regs [item ]
@@ -302,8 +304,11 @@ def __str__(self):
302304
303305
304306class TraceIntegerRegister (TraceRegister ):
307+ def __init__ (self , id , value , * , prefix : str = "x" , width = 32 ):
308+ super ().__init__ (id , value )
309+ self .prefix = prefix
305310 def __str__ (self ):
306- return "x{} = {:08x }" .format (self .id , self .value )
311+ return "{}{} = {}" .format (self .prefix , self . id , str ( self .value ) )
307312
308313
309314class TraceMemory (Trace ):
0 commit comments