File tree Expand file tree Collapse file tree 3 files changed +1346
-46
lines changed Expand file tree Collapse file tree 3 files changed +1346
-46
lines changed Original file line number Diff line number Diff line change @@ -503,9 +503,11 @@ def _pop_ctrl(self):
503
503
if_tests , if_bodies = data ["tests" ], data ["bodies" ]
504
504
if_src_locs = data ["src_locs" ]
505
505
506
- domains = set ()
506
+ # Use dict to ensure deterministic iteration.
507
+ domains = {}
507
508
for if_case in if_bodies :
508
- domains |= set (if_case )
509
+ for domain in if_case :
510
+ domains [domain ] = None
509
511
510
512
for domain in domains :
511
513
tests , cases = [], OrderedDict ()
@@ -528,9 +530,10 @@ def _pop_ctrl(self):
528
530
switch_test , switch_cases = data ["test" ], data ["cases" ]
529
531
switch_case_src_locs = data ["case_src_locs" ]
530
532
531
- domains = set ()
533
+ domains = {}
532
534
for stmts in switch_cases .values ():
533
- domains |= set (stmts )
535
+ for domain in stmts :
536
+ domains [domain ] = None
534
537
535
538
for domain in domains :
536
539
domain_cases = OrderedDict ()
@@ -561,9 +564,10 @@ def _pop_ctrl(self):
561
564
self ._top_comb_statements .append (
562
565
sig .eq (Operator ("==" , [fsm_signal , fsm_encoding [name ]], src_loc_at = 0 )))
563
566
564
- domains = set ()
567
+ domains = {}
565
568
for stmts in fsm_states .values ():
566
- domains |= set (stmts )
569
+ for domain in stmts :
570
+ domains [domain ] = None
567
571
568
572
for domain in domains :
569
573
domain_states = OrderedDict ()
Original file line number Diff line number Diff line change @@ -383,10 +383,10 @@ def resolve_nets(self, netlist: Netlist):
383
383
384
384
def __repr__ (self ):
385
385
ports = []
386
- for (name , val ) in self .ports_o .items ():
387
- ports .append (f"(output { name !r} { val } )" )
388
386
for (name , (start , width )) in self .ports_i .items ():
389
387
ports .append (f"(input { name !r} { start } :{ start + width } )" )
388
+ for (name , val ) in self .ports_o .items ():
389
+ ports .append (f"(output { name !r} { val } )" )
390
390
for (name , (start , width )) in self .ports_io .items ():
391
391
ports .append (f"(inout { name !r} { start } :{ start + width } )" )
392
392
ports = " " .join (ports )
@@ -533,7 +533,7 @@ def resolve_nets(self, netlist: Netlist):
533
533
self .index = netlist .resolve_value (self .index )
534
534
535
535
def __repr__ (self ):
536
- elems = " " .join (repr (elem ) for elem in elems )
536
+ elems = " " .join (repr (elem ) for elem in self . elems )
537
537
return f"(array_mux { self .width } { self .index } ({ elems } ))"
538
538
539
539
You can’t perform that action at this time.
0 commit comments