| Literature DB >> 33954247 |
Genggeng Liu1, Liliang Yang1, Saijuan Xu2, Zuoyong Li3, Yeh-Cheng Chen4, Chi-Hua Chen1.
Abstract
Global routing is an important link in very large scale integration (VLSI) design. As the best model of global routing, X-architecture Steiner minimal tree (XSMT) has a good performance in wire length optimization. XSMT belongs to non-Manhattan structural model, and its construction process cannot be completed in polynomial time, so the generation of XSMT is an NP hard problem. In this paper, an X-architecture Steiner minimal tree algorithm based on multi-strategy optimization discrete differential evolution (XSMT-MoDDE) is proposed. Firstly, an effective encoding strategy, a fitness function of XSMT, and an initialization strategy of population are proposed to record the structure of XSMT, evaluate the cost of XSMT and obtain better initial particles, respectively. Secondly, elite selection and cloning strategy, multiple mutation strategies, and adaptive learning factor strategy are presented to improve the search process of discrete differential evolution algorithm. Thirdly, an effective refining strategy is proposed to further improve the quality of the final Steiner tree. Finally, the results of the comparative experiments prove that XSMT-MoDDE can get the shortest wire length so far, and achieve a better optimization degree in the larger-scale problem.Entities:
Keywords: Discrete differential evolution; Global routing; Multi-strategy optimization; Non-Manhattan architecture; Steiner minimal tree
Year: 2021 PMID: 33954247 PMCID: PMC8053017 DOI: 10.7717/peerj-cs.473
Source DB: PubMed Journal: PeerJ Comput Sci ISSN: 2376-5992
Coordinate information of pins.
| Pin | |||||
|---|---|---|---|---|---|
| Coordinate | (01,22) | (05,05) | (12,10) | (18,03) | (22,16) |
Figure 1Distribution of pins.
Figure 3Steiner tree.
Initialization strategy based on the Prim algorithm.
| 1: |
| 2: |
| 3: |
| 4: |
| 5: |
| 6: choose point |
| 7: |
| 8: |
| 9: |
| 10: |
| 11: |
| 12: |
| 13: |
| 14: |
| 15: |
| 16: |
| 17: |
| 18: |
| 19: |
| 20: |
| 21: |
| 22: |
| 23: |
| 24: |
| 25: |
| 26: |
Figure 4Two ways of mutation.
(A) Connection method mutation; (B) topology mutation.
Elite selection and cloning strategy.
| 1: |
| 2: |
| 3: |
| 4: |
| 5: |
| 6: |
| 7: |
| 8: |
| 9: |
| 10: |
| 11: |
| 12: |
| 13: |
| 14: |
| 15: |
| 16: |
| 17: |
| 18: |
| 19: |
| 20: |
| 21: |
| 22: |
| 23: |
| 24: |
| 25: |
| 26: |
| 27: |
| 28: |
Multiple mutation strategy.
| 1: |
| 2: |
| 3: |
| 4: |
| 5: |
| 6: |
| 7: |
| 8: |
| 9: |
| 10: |
| 11: |
| 12: |
| 13: |
| 14: |
| 15: |
| 16: |
Refining strategy.
| 1: |
| 2: |
| 3: |
| 4: |
| 5: |
| 6: |
| 7: |
| 8: |
| 9: |
| 10: |
| 11: |
| 12: |
| 13: |
| 14: |
| 15: |
| 16: |
| 17: |
| 18: |
| 19: |
| 20: |
| 21: |
| 22: |
Figure 6Algorithm flowchart.
Average wire length optimization results of multi-strategy optimization.
| Circuit | Pins | XSMT-DDE | XSMT-MoDDE | Reduction (%) |
|---|---|---|---|---|
| 1 | 8 | 16,956 | 16,900 | 0.33 |
| 2 | 9 | 18,083 | 18,023 | 0.33 |
| 3 | 10 | 19,430 | 19,397 | 0.17 |
| 4 | 15 | 25,728 | 25,614 | 0.44 |
| 5 | 20 | 32,434 | 32,171 | 0.81 |
| 6 | 50 | 49,103 | 48,090 | 2.06 |
| 7 | 70 | 57,386 | 56,397 | 1.72 |
| 8 | 100 | 70,407 | 68,917 | 2.12 |
| 9 | 400 | 145,183 | 139,871 | 3.66 |
| 10 | 410 | 146,680 | 141,571 | 3.48 |
| 11 | 500 | 160,031 | 154,406 | 3.51 |
| 12 | 1,000 | 232,057 | 220,577 | 4.95 |
| Average | 1.97 |
Standard deviation optimization results of multi-strategy optimization.
| Circuit | Pins | XSMT-DDE | XSMT-MoDDE | Reduction (%) |
|---|---|---|---|---|
| 1 | 8 | 56 | 0 | 100.00 |
| 2 | 9 | 58 | 0 | 100.00 |
| 3 | 10 | 42 | 0 | 100.00 |
| 4 | 15 | 198 | 10 | 94.95 |
| 5 | 20 | 343 | 51 | 85.13 |
| 6 | 50 | 1,036 | 147 | 85.81 |
| 7 | 70 | 1,082 | 102 | 90.57 |
| 8 | 100 | 1,905 | 279 | 85.35 |
| 9 | 400 | 3,221 | 120 | 96.27 |
| 10 | 410 | 3,222 | 178 | 94.48 |
| 11 | 500 | 3,193 | 139 | 95.65 |
| 12 | 1,000 | 3,977 | 106 | 97.33 |
| Average | 93.80 |
Average wire length optimization results of refining strategy.
| Circuit | Pins | XSMT-DDE | Refining | Reduction (%) |
|---|---|---|---|---|
| 1 | 8 | 16,900 | 16,900 | 0.00 |
| 2 | 9 | 18,023 | 18,023 | 0.00 |
| 3 | 10 | 19,397 | 19,397 | 0.00 |
| 4 | 15 | 25,614 | 25,624 | −0.04 |
| 5 | 20 | 32,171 | 32,091 | 0.25 |
| 6 | 50 | 48,090 | 48,090 | 0.00 |
| 7 | 70 | 56,397 | 56,105 | 0.52 |
| 8 | 100 | 68,917 | 68,457 | 0.67 |
| 9 | 400 | 139,871 | 138,512 | 0.97 |
| 10 | 410 | 141,571 | 140,359 | 0.86 |
| 11 | 500 | 154,406 | 152,649 | 1.14 |
| 12 | 1,000 | 220,577 | 217,060 | 1.59 |
| Average | 0.50 |
Standard deviation optimization results of refining strategy.
| Circuit | Pins | XSMT-DDE | Refining | Reduction (%) |
|---|---|---|---|---|
| 1 | 8 | 0 | 0 | – |
| 2 | 9 | 0 | 0 | – |
| 3 | 10 | 0 | 0 | – |
| 4 | 15 | 10 | 8 | 20.00 |
| 5 | 20 | 51 | 22 | 56.86 |
| 6 | 50 | 147 | 119 | 19.05 |
| 7 | 70 | 170 | 136 | 20.00 |
| 8 | 100 | 279 | 187 | 32.97 |
| 9 | 400 | 120 | 57 | 52.50 |
| 10 | 410 | 178 | 56 | 68.54 |
| 11 | 500 | 139 | 50 | 64.03 |
| 12 | 1,000 | 115 | 113 | 1.74 |
| Average | 37.30 |
Comparison results of average wire length in the GEO dataset.
| Circuit | Pins | Mean value | Reduction (%) | |||||
|---|---|---|---|---|---|---|---|---|
| DDE | ABC | GA | MoDDE | DDE | ABC | GA | ||
| 1 | 8 | 16,956 | 16,918 | 16,918 | 16,900 | 0.33 | 0.00 | 0.00 |
| 2 | 9 | 18,083 | 18,041 | 18,041 | 18,023 | 0.33 | 0.10 | 0.10 |
| 3 | 10 | 19,430 | 19,696 | 19,696 | 19,397 | 0.17 | 1.52 | 1.52 |
| 4 | 15 | 25,728 | 25,919 | 25,989 | 25,624 | 0.40 | 1.14 | 1.40 |
| 5 | 20 | 32,434 | 32,488 | 32,767 | 32,091 | 1.06 | 1.22 | 2.06 |
| 6 | 50 | 49,103 | 48,940 | 48,997 | 48,090 | 2.06 | 1.74 | 1.85 |
| 7 | 70 | 57,386 | 57,620 | 57,476 | 56,105 | 2.23 | 2.63 | 2.39 |
| 8 | 100 | 70,407 | 70,532 | 70,277 | 68,457 | 2.77 | 2.94 | 2.59 |
| 9 | 400 | 145,183 | 141,835 | 141,823 | 138,512 | 4.59 | 2.40 | 2.40 |
| 10 | 410 | 146,680 | 143,642 | 143,445 | 140,359 | 4.31 | 2.29 | 2.15 |
| 11 | 500 | 160,031 | 156,457 | 156,394 | 152,649 | 4.61 | 2.43 | 2.39 |
| 12 | 1,000 | 232,057 | 222,547 | 222,487 | 217,060 | 5.90 | 2.47 | 2.44 |
| Average | 2.40 | 1.74 | 1.77 | |||||
Comparison results of best wire length in the GEO dataset.
| Circuit | Pins | Best value | Reduction (%) | |||||
|---|---|---|---|---|---|---|---|---|
| DDE | ABC | GA | MoDDE | DDE | ABC | GA | ||
| 1 | 8 | 16,918 | 16,918 | 16,918 | 16,900 | 0.11 | 0.11 | 0.11 |
| 2 | 9 | 18,041 | 18,041 | 18,041 | 18,023 | 0.10 | 0.10 | 0.10 |
| 3 | 10 | 19,415 | 19,696 | 19,696 | 19,397 | 0.09 | 1.52 | 1.52 |
| 4 | 15 | 25,627 | 25,627 | 25,897 | 25,605 | 0.09 | 0.09 | 1.13 |
| 5 | 20 | 32,209 | 32,344 | 32,767 | 32,091 | 0.37 | 0.78 | 2.06 |
| 6 | 50 | 47,987 | 48,637 | 48,783 | 47,975 | 0.03 | 1.36 | 1.66 |
| 7 | 70 | 56,408 | 57,227 | 57,445 | 55,919 | 0.87 | 2.29 | 2.66 |
| 8 | 100 | 68,829 | 70,382 | 70,092 | 68,039 | 1.15 | 3.33 | 2.93 |
| 9 | 400 | 141,967 | 141,490 | 141,467 | 138,382 | 2.53 | 2.20 | 2.18 |
| 10 | 410 | 144,033 | 143,310 | 143,282 | 140,179 | 2.68 | 2.18 | 2.17 |
| 11 | 500 | 156,950 | 156,034 | 156,110 | 152,591 | 2.78 | 2.21 | 2.25 |
| 12 | 1000 | 226,654 | 222,262 | 222,285 | 216,824 | 4.34 | 2.45 | 2.46 |
| Average | 1.26 | 1.55 | 1.77 | |||||
Comparison results of standard deviation in the GEO dataset.
| Circuit | Pins | Standard deviation | Reduction (%) | |||||
|---|---|---|---|---|---|---|---|---|
| DDE | ABC | GA | MoDDE | DDE | ABC | GA | ||
| 1 | 8 | 56 | 0 | 0 | 0 | 100.00 | – | – |
| 2 | 9 | 58 | 0 | 0 | 0 | 100.00 | – | – |
| 3 | 10 | 42 | 0 | 0 | 0 | 100.00 | – | – |
| 4 | 15 | 198 | 148 | 46 | 8 | 95.96 | 94.59 | 82.61 |
| 5 | 20 | 343 | 118 | 45 | 22 | 93.59 | 81.36 | 51.11 |
| 6 | 50 | 1,036 | 242 | 133 | 119 | 88.51 | 50.83 | 10.53 |
| 7 | 70 | 1,082 | 195 | 140 | 136 | 87.43 | 30.26 | 2.86 |
| 8 | 100 | 1,905 | 69 | 112 | 187 | 90.18 | −171.01 | −66.96 |
| 9 | 400 | 3,221 | 200 | 170 | 57 | 98.23 | 71.50 | 66.47 |
| 10 | 410 | 3,222 | 146 | 122 | 56 | 98.26 | 61.64 | 54.10 |
| 11 | 500 | 3,193 | 160 | 133 | 50 | 98.43 | 68.75 | 62.41 |
| 12 | 1,000 | 3,977 | 131 | 107 | 113 | 97.16 | 13.74 | −5.61 |
| Mean | 95.65 | 33.52 | 28.61 | |||||
Comparison results of wire length in the IBM dataset.
| Circuit | Nets | Pins | Value | Reduction (%) | |||
|---|---|---|---|---|---|---|---|
| SAT | KNN | MoDDE | SAT | KNN | |||
| ibm01 | 11,507 | 44,266 | 61,005 | 61,071 | 56,080 | 8.07 | 8.17 |
| ibm02 | 18,429 | 78,171 | 172,518 | 167,359 | 154,868 | 10.23 | 7.46 |
| ibm03 | 21,621 | 75,710 | 150,138 | 147,982 | 133,999 | 10.75 | 9.45 |
| ibm04 | 26,263 | 89,591 | 164,998 | 164,828 | 149,727 | 9.26 | 9.16 |
| ibm06 | 33,354 | 124,299 | 289,705 | 280,998 | 256,674 | 11.40 | 8.66 |
| ibm07 | 44,394 | 164,369 | 368,015 | 368,015 | 335,556 | 8.82 | 8.82 |
| ibm08 | 47,944 | 198,180 | 431,879 | 413,201 | 371,948 | 13.88 | 9.98 |
| ibm09 | 53,039 | 187,872 | 418,382 | 417,543 | 382,282 | 8.63 | 8.44 |
| ibm10 | 64,227 | 269,000 | 588,079 | 589,102 | 532,644 | 9.43 | 9.58 |
| Mean | 10.05 | 8.86 | |||||
Figure 7Steiner tree generated by XSMT-MoDDE.
(A) Steiner tree with 500 pins; (B) Steiner tree with 1,000 pins.