Skip to content

Commit 60ea6ca

Browse files
committed
odb: reverse scan list to keep correct order of scan insts
Signed-off-by: Arthur Koucher <arthurkoucher@precisioninno.com>
1 parent bb8cb57 commit 60ea6ca

2 files changed

Lines changed: 8 additions & 2 deletions

File tree

src/dft/test/scandef_sky130.defok

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,8 +112,8 @@ SCANCHAINS 9 ;
112112
ff6_clk2_falling ( IN SCD ) ( OUT Q )
113113
ff2_clk2_falling ( IN SCD ) ( OUT Q )
114114
+ ORDERED
115-
ff8_clk2_falling ( IN SCD ) ( OUT Q )
116115
mux1 ( IN A0 ) ( OUT X )
116+
ff8_clk2_falling ( IN SCD ) ( OUT Q )
117117
+ PARTITION main_clock_falling
118118
+ STOP PIN output1 ;
119119

@@ -138,8 +138,8 @@ SCANCHAINS 9 ;
138138
ff8_clk2_rising ( IN SCD ) ( OUT Q )
139139
ff2_clk2_rising ( IN SCD ) ( OUT Q )
140140
+ ORDERED
141-
ff6_clk2_rising ( IN SCD ) ( OUT Q )
142141
iso ( IN A ) ( OUT X )
142+
ff6_clk2_rising ( IN SCD ) ( OUT Q )
143143
+ PARTITION main_clock_rising
144144
+ STOP PIN ff6_clk2_rising/SCD ;
145145

src/odb/src/defin/definReader.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1427,6 +1427,12 @@ int definReader::scanchainsCallback(
14271427
out_pin_name,
14281428
bits[i]);
14291429
}
1430+
1431+
dbSet<dbScanInst> db_scan_insts = db_scan_list->getScanInsts();
1432+
1433+
if (db_scan_insts.reversible() && db_scan_insts.orderReversed()) {
1434+
db_scan_insts.reverse();
1435+
}
14301436
}
14311437

14321438
return PARSE_OK;

0 commit comments

Comments
 (0)