record: compatibility check

This commit is contained in:
Sebastien Bourdeauducq 2012-01-06 23:00:23 +01:00
parent 588f1a259e
commit 3c1dada9cf
2 changed files with 9 additions and 1 deletions

View File

@ -19,7 +19,7 @@ class Record:
def template(self):
l = []
for key in self.__dict__:
for key in sorted(self.__dict__):
e = self.__dict__[key]
if isinstance(e, Signal):
l.append((key, e.bv))
@ -59,6 +59,11 @@ class Record:
return l
return Record(dict_to_list(fields), "subrecord")
def compatible(self, other):
tpl1 = self.template()
tpl2 = other.template()
return tpl1 == tpl2
def flatten(self):
l = []
for key in sorted(self.__dict__):

View File

@ -22,6 +22,9 @@ class BV:
r += "s"
r += "d"
return r
def __eq__(self, other):
return self.width == other.width and self.signed == other.signed
class Value:
def __invert__(self):