Skip to content

Commit a1943cf

Browse files
committed
Add prefix to model
1 parent ed6c355 commit a1943cf

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

riscvmodel/types.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,7 @@ def __invert__(self):
243243

244244

245245
class 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

304306
class 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

309314
class TraceMemory(Trace):

0 commit comments

Comments
 (0)