Synthesis Netlist - Library Model - Dofile Commands
Synthesis Netlist - Library Model - Dofile Commands
• Synthesis Netlist
• Library Model
• Dofile commands
Outputs: -
1
Not clock mixing.
6) How many Lockup-latches are added during scan
insertion? Zero
7) Is it top-down or bottom up approach?
Top – down approach.
8) How many terminal lockup latches are added?
Zero
9) Number of scan flops and non-scan flops in the design?
36 scannable and 4 non-scan elements.
10) Chain length?
Given as 10 in dofile (40 elements. So 4 chains with 10 flops each)
11) Number of DRC violations? 4 S1 / D5 violations.
12) Write diagram with issues?
S1 VIOLATIONS
2
c) reset is connected to the previous output of th flipflop.so reset is not
controllable.
d) Both clock and reset are connected to the previous outputs. So, both clock
and reset are not controllable.
D5 VIOLATIONS
a) Non scan memory element converted to TIE-X
3
b) Non scan memory element converted to INIT-X
4
13) Write diagram with solution?
a) we are going to adding a MUX logic with the test mode pin to the functional
clock.
14) Log file: - please note your observations from the log file
5
➢ Top module is DmaWr
➢ Number of shift registers =2
➢ Number of INV inserted =2
➢ Number of MUX inserted =3
➢ Number of new Pins inserted= 12 (4 scan inputs, 4 scan outputs, scan_en,
scan_set, scan_reset, test_en)
Test Case 2: -
6
Problem Definition: - Design has S2 violations. Fix using command or manual edit in netlist.
Inputs: -
• Synthesis Netlist
• Library Model
• Dofile commands
Outputs: -
One. Fastclk
3) How many resets?
One. Reset
4) Number of scan chains?
4 Scan chains. Total number of flops was 40 and max chain length was given as 10.
5) Clock mixing or not clock mixing?
Not clock mixing.
6) How many Lockup-latches are added during scan insertion?
Zero
7) Is it top-down or bottom up approach?
Top-down approach
8) How many terminal lockup latches are added?
Zero
9) Number of scan flops and non-scan flops in the design?
7
37 scannable and 3 non-scan elements.
10) Chain length?
10
11) Number of DRC violations? Three S2 violations.
12) Write diagram with issues?
8
14) Log file: - please note your observations
Test Case 4: - Problem Definition: - Design has bus contention. Fix the violation by command
or manual edit to netlist Inputs: -
• Synthesis Netlist
9
• Library Model
• Dofile commands
Outputs: -
10
8) How many terminal lockup latches are added? Zero
9) Number of scan flops and non-scan flops in the design?
18 scan flops. 0 non scan flops.
10) Chain length?
10
11) Number of DRC violations?
Four E4 and one E10 warnings. 12)
Write diagram with issues?
11
14) Log file: - please note your observations from the log file
➢ Top module is RegEnBusWidth
➢ Number of shift registers = 0
➢ Number of INV inserted = 1
➢ Number of OR gate inserted = 1
➢ Number of AND gate inserted = 2
➢ Number of new Pins inserted= 5 (2scan inputs, 2 scan outputs, scan_en)
Test Case 5: -
12
Scenario: - Design has 1 clock domain with DFFs and latches. Insert 2 scan chains.
Inputs: -
• Synthesis Netlist
• Library Model
• Dofile commands
Outputs: -
Observations: -
13
4) Number of scan chains?
2 scan chains inserted
5) Clock mixing or not clock mixing?
Not clock mixing
6) How many Lockup-latches are added during scan insertion? Zero
7) Is it top-down or bottom up approach?
Top Down
8) How many terminal lockup latches are added? Zero
9) Number of scan flops and non-scan flops in the design?
54 scannable flops and 2 latches 10)
Chain length?
Chain 1 length is 26 and chain 2 length is 28
11) Number of DRC violations?
D5 warnings for 2 latches as they are non-scan elements. 12)
Write diagram of scan chain inserted?
13) Log file: - please note your observations from the log file
➢ Top module is IdmaRd
➢ Number of shift register flops = 0
➢ Number of latches = 2
➢ Number of flops = 54
➢ Number of new Pins inserted= 5 (2scan inputs, 2 scan outputs, scan_en)
Test Case 6: -
14
Scenario: - Design has one clock domain with only scan FFs. Insert 3 scan chains.
Inputs: -
• Synthesis Netlist
• Library Model
• Dofile commands
Outputs: -
15
6) How many Lockup-latches are added during scan insertion?
Zero
7) Is it top-down or bottom up approach?
Top down.
8) How many terminal lockup latches are added? Zero
9) Number of scan flops and non-scan flops in the design?
Total 102 elements. All scannable.
10) Chain length?
3 scan chains each with 34 flops.
11) Number of DRC violations?
Zero
12) Write diagram of scan chain inserted?
13) Log file: - please note your observations from the log file
➢ Top module name: cntl2
➢ Number of shift register flops: 59
➢ Number of shift register scan inserted: 25
➢ Total number of flops: 102
➢ Number of new pins inserted: 7(3scan inputs, 3 scan outputs, scan_en)
16
Test Case 7: -
scenario: - Design has no ATPG model for a flip-flop used in the netlist. Create the model and
insert 2 scan chains.
Inputs: -
• Synthesis Netlist
• Library Model
• Dofile commands
Outputs: -
How it is done?
Check for which module the library is missing and go to ATPG library and add it or
uncomment the lines if commented. Inserting 2 scan chains is done by the command in dofile
insert_test_logic –number 2.
Observations: -
17
4) Number of scan chains?
2 scan chains inserted
5) Clock mixing or not clock mixing?
Not clock mixing
6) How many Lockup-latches are added during scan insertion? Zero
7) Is it top-down or bottom up approach?
Top down
8) How many terminal lockup latches are added? Zero
9) Number of scan flops and non-scan flops in the design?
14. All scannable 10)
Chain length?
2 chains each with 7 flops 11) Number of DRC
violations?
Nil
12) Write diagram of scan chain?
13) Log file: - please note your observations from the log file
➢ Top module name: EnReg_BusWidth14_15
➢ Number of shift register flops: 0
➢ Total number of flops: 14
➢ Number of new pins inserted: 5(2scan inputs, 2scan outputs, scan_en)
18
Test Case 8: -
Scenario: - Design has 1 clock domain and 10-bit shift register. Insert scan for the design and
make the 10-bit shift register as part of scan chain without converting it to scan FFs. Use 2 scan
chains with 2 ports scan-in and scan-out.
Inputs: -
• Synthesis Netlist
• Library Model
• Dofile commands
Outputs: -
19
One. Reset
4) Number of scan chains?
2 scan chains are inserted.
5) Clock mixing or not clock mixing?
Not clock mixing
6) How many Lockup-latches are added during scan insertion? Zero
7) Is it top-down or bottom up approach?
Top down
8) How many terminal lockup latches are added? Zero
9) Number of scan flops and non-scan flops in the design?
82 scannable flops and no non scannable flops.
10) Chain length?
41 flops in each chain 11)
Number of DRC violations?
Zero
12) Write diagram of scan chain?
13) Log file: - please note your observations from the log file
➢ Top module name: loop_stack
➢ Number of shift register flops: 10
➢ Number of shift register scan inserted: 1
➢ Total number of flops: 82
➢ Number of new pins inserted: 5(2scan inputs, 2 scan outputs, scan_en)
20
Test Case 9: -
Scenario: - Design has 1 clock domain. Insert 2 scan chains for the design containing 2
memories but no memory BIST or collar around the memory.
Inputs: -
• Synthesis Netlist
• Library Model
• Dofile commands
Outputs: -
21
2) How many clock domains?
One. clk
3) How many resets?
One. Reset1
4) Number of scan chains?
2 scan chains are inserted
5) Clock mixing or not clock mixing?
Not clock mixing
6) How many Lockup-latches are added during scan insertion?
Zero
7) Is it top-down or bottom up approach?
Top down
8) How many terminal lockup latches are added? Zero
9) Number of scan flops and non-scan flops in the design?
77. All scannable 10)
Chain length?
Chain1 consist of 39 flops and chain2 of 38 flops.
11) Number of DRC violations?
S7 warnings.
12) Write diagram of scan chain?
13) Log file: - please note your observations from the log file
➢ Top module name: icache
➢ Number of shift register flops: 0
➢ Total number of memory elements: 77
➢ Number of new pins inserted: 5(2scan inputs, 2 scan outputs, scan_en)
22
Test Case 10: -
Scenario: - Design has modules where block 1 is already scan inserted with 4 scan chains.
Insert scan for other blocks with 4 scan chains. Balance the scan chain for the entire design
from the top module using 4 scan chains.
Inputs: -
• Synthesis Netlist
• Library Model
• Dofile commands
Outputs: -
23
Observations: -
24
13) Log file: - please note your observations from the log file
➢ Top module name: rmon
➢ Number of shift register flops: 15
➢ Number of shift register flops scan inserted: 6
➢ Number of lockup latches added: 2
➢ Number of inverter added: 2
➢ Number of new pins inserted: 9 (4scan inputs, 4 scan outputs, scan_en)
25
Test Case 11: -
Scenario: - Design has 2 modules block 1 and block 2. Insert 4 scan chains to the design by
ignoring block 2 and insert lockup latch at the end of chains.
Inputs: -
• Synthesis Netlist
• Library Model
• Dofile commands
Outputs: -
How it is done?
The command in dofile add_nonscan_instances –module block2 will not touch block2
for scan insertion as it is already scan inserted. So we insert scan for block1 alone. Addition of
terminal lockup latches is done by the command set_lockup_latch_on –last.
Observations: -
26
2) How many clock domains?
One. tx_clk
27
13) Log file: - please note your observations from the log file
➢ Top module name: txer
➢ Number of shift register flops: 6
➢ Number of shift register flops scan inserted: 2
➢ Number of terminal lockup latches added: 4
➢ Number of inverter added: 4
➢ Number of new pins inserted: 9 (4scan inputs, 4 scan outputs, scan_en)
• Synthesis Netlist
• Library Model
• Dofile commands
Outputs: -
28
How it is done?
The command in dofile insert_test_logic –number 4 –clock merge –edge merge will give
us the answer for part a b and c. Clock mixing and edge mixing is done. To use a separate clock
as test clock we use the command in dofile as set_scan_signals –TClk testclk.
So a new clock ‘testclk’ will only be used as test clock.
Observations: -
29
The below diagram shows the d part of the question when testclk is inserted. All scan
chains are scanned using a new testclk and 4 scan chains are inserted.
13) Log file: - please note your observations from the log file for (c) part
➢ Top module name: Idma
➢ Number of shift register flops: 2
➢ Number of shift register flops scan inserted: 1
➢ Number of lockup latches added: 2
➢ Number of inverter added: 2
➢ Number of new pins inserted: 9 (4scan inputs, 4 scan outputs, scan_en)
30