diff --git a/src/vsc/model/solvegroup_swizzler_partsel.py b/src/vsc/model/solvegroup_swizzler_partsel.py index 2ba0ba4..39fc49f 100644 --- a/src/vsc/model/solvegroup_swizzler_partsel.py +++ b/src/vsc/model/solvegroup_swizzler_partsel.py @@ -41,9 +41,11 @@ def swizzle(self, if rs.rand_order_l is not None: # Perform an ordered randomization + if self.debug > 0: print(" following solve-order constraints") for ro_l in rs.rand_order_l: swizzled_field |= self.swizzle_field_l(ro_l, rs, bound_m, btor) else: + if self.debug > 0: print(" following random field order") swizzled_field |= self.swizzle_field_l(rs.rand_fields(), rs, bound_m, btor) if not swizzled_field: diff --git a/src/vsc/visitors/expand_solve_order_visitor.py b/src/vsc/visitors/expand_solve_order_visitor.py index 8e4e095..c425137 100644 --- a/src/vsc/visitors/expand_solve_order_visitor.py +++ b/src/vsc/visitors/expand_solve_order_visitor.py @@ -5,6 +5,7 @@ ''' from vsc.model.field_array_model import FieldArrayModel from vsc.model.field_scalar_model import FieldScalarModel +from vsc.model.enum_field_model import EnumFieldModel from vsc.model.model_visitor import ModelVisitor @@ -27,7 +28,7 @@ def expand(self, a, b): else: b.accept(self) - def visit_scalar_field(self, f:FieldScalarModel): + def visit_field(self, f:list[FieldScalarModel, EnumFieldModel]): if self.lhs: # Now, visit rhs ExpandSolveOrderVisitor(self.order_m, lhs=False).expand(f, self.b) @@ -35,4 +36,10 @@ def visit_scalar_field(self, f:FieldScalarModel): if not self.a in self.order_m.keys(): self.order_m[self.a] = set() self.order_m[self.a].add(f) - + + def visit_scalar_field(self, f:FieldScalarModel): + self.visit_field(f) + + def visit_enum_field(self, f:EnumFieldModel): + self.visit_field(f) +