| vlsitechnology.org /2LM sclib /synthesis /carry cell |
Effect of Carry Cell |
Chapter
Section
The change to the carry cell function improves the speed of the synthesised netlists. Again we synthesise across the whole range of BOOG and LOON opt levels and compare to the previous results using the two synthesis flows. The library is the corrected one copied to our private directory.
The first synthesis flow is:
1 $ ALLIANCE_VBE=$ALLIANCE_MOS/vbe 2 $ MBK_TARGET_LIB=$ALLIANCE_VBE/sclib100_0 3 $ boog -l loon_0000_300_4 multi8 multi8_o 4 $ loon -l loon_0000_300_2 multi8_o multi8_1 5 $ loon -l loon_1500_300_0 multi8_1 multi8 |
The critical path delays are shown below for the original Alliance sclib (see output load page).
| Critical Path Delay (ps) | ||||
|---|---|---|---|---|
| Opt level | BOOG | |||
| LOON | 0 | 1 | 2 | 4 |
| 0 | 30612 | 30040 | 30432 | 31366 |
| 1 | 29834 | 28629 | 29277 | 30773 |
| 2 | corrupt | 24834 | 25190 | 22789 |
| 4 | 25550 | 25414 | 25120 | 23037 |
Using the corrected library and netlists synthesised with the new carry cell, the critical path delays are now:
| Critical Path Delay (ps) | ||||
|---|---|---|---|---|
| Opt level | BOOG | |||
| LOON | 0 | 1 | 2 | 4 |
| 0 | 30600 | 30038 | 30038 | 22397 |
| 1 | 29823 | 28622 | 28622 | 22041 |
| 2 | 25491 | 24651 | 24651 | 20014 |
| 4 | 25949 | 24701 | 24701 | 20303 |
The difference in the critical paths is shown below. Most synthesis combinations show an improvement. The delay of the fastest critical path improves from 22789 to 20272.
| Critical Path Delay Differences (ps) | ||||
|---|---|---|---|---|
| Opt level | BOOG | |||
| LOON | 0 | 1 | 2 | 4 |
| 0 | −12 | −2 | −394 | −8969 |
| 1 | −11 | −7 | −655 | −8732 |
| 2 | −183 | −539 | −2775 | |
| 4 | +399 | −713 | −419 | −2734 |
The second synthesis flow is:
1 $ ALLIANCE_VBE=$ALLIANCE_MOS/vbe 2 $ MBK_TARGET_LIB=$ALLIANCE_VBE/sclib100_0 3 $ boog -l loon_0000_300_4 multi8 multi8_o 4 $ loon -l loon_1500_300_2 multi8_o multi8 |
The original Alliance sclib critical path delays are shown below.
| Critical Path Delay (ps) | ||||
|---|---|---|---|---|
| Opt level | BOOG | |||
| LOON | 0 | 1 | 2 | 4 |
| 0 | 30612 | 30040 | 30430 | 31366 |
| 1 | 29834 | 28629 | 29277 | 30773 |
| 2 | corrupt | 24912 | 25042 | 30174 |
| 4 | 26982 | 25385 | 25403 | 30174 |
Using the corrected library and synthesised netlists containing the carry cell, the critical path delays are shown below.
| Critical Path Delay (ps) | ||||
|---|---|---|---|---|
| Opt level | BOOG | |||
| LOON | 0 | 1 | 2 | 4 |
| 0 | 30600 | 30038 | 30038 | 22397 |
| 1 | 29832 | 28622 | 28622 | 22055 |
| 2 | 25922 | 24650 | 24650 | 20320 |
| 4 | 25413 | 24701 | 24701 | 20332 |
The difference in the critical paths is shown below. All synthesis combinations show an improvement. The delay of the fastest critical path improves from 24912 to 20320.
The BOOG netlist with opt level 4 is much faster and LOON synthesis with opt levels 2 and 4 is inserting buffers which produce the fastest netlists.
| Critical Path Delay Differences (ps) | ||||
|---|---|---|---|---|
| Opt level | BOOG | |||
| LOON | 0 | 1 | 2 | 4 |
| 0 | −12 | −2 | −392 | −8969 |
| 1 | −2 | −7 | −655 | −8718 |
| 2 | −262 | −392 | −9854 | |
| 4 | −1569 | −684 | −702 | −9842 |
The effect of the changed carry cell logic function is particularly noticeable for BOOG synthesis with opt level 4. This gives the fastest netlists which are now 10%+ faster using the first synthesis flow, and even more with the second flow.
As before, the BOOG syntyhesis is done with only the ndrvp_y large inverter in the library so that we can make a meaningful comparison with the original Alliance sclib results.