Home |
About |
Products |
Technology |
Contact |
![]() |
![]() JaguarRoute |
BenchmarksXPlace and XRoute are the placer and router of X company, one of the top 3 EDA compaines, and wire count(wc) , wire length(wl), and via count(vc) are the three major numbers demonstrated in the following. Case 0: xyz_0s: from XPlace/XRoute the fully routed design from XPlace/XRoute from X company Case 1: xyz_1s: from XPlace/JRoute we rip up all signal wires and reroute them with JRoute Case 2: xyz_2s: from JPlace/JRoute we run JPlace to re-place the cells with no clock pins before running JRoute A. The Comparison of Case 0, Case 1, and Case 2 for designs d65 and d28design d65 [65nm, 600+k nets]
wc0 =12301281
wc1 =7700985 [-37.4%]
wc2 =7419845 [-39.7%] design d28 [28nm, 100+k nets]
wc0 =1369079
wc1 =1065274 [-22.2%]
wc2 =1092201 [-20.2%] From above data, it is clear that in shortening the wire length, the placer plays an important role in above two designs. note : Please keep in mind that all P&R compliances with high-end technology node, like 2nm or 3nm, in case 0 may be broken in our P&R in generaing case 1 and case 2, which mainly focuses on shortening the wires and the rules which have been implemented, up to 45nm. It will be up to the user to decide the quality of P&R in case 0, which will be used to creating case 1 and case 2.
figure 1: comparison of case0, case1, and case2, from left to right, for the best net in design d28 Note: This is a 3-pin net. Apparenly, case 1 is better than case 0. After re-placement in case 2, three pins are placed much close to each other and it further cuts the wire length dramatically.
Figure 2: comparison of case 0, case 1, and case 2, from left to right, for the worst net in design d28 Note: apparently, case 1 loses to case 0. After re-placement in case 2, the result has improved a lot.
figure 3: comparison of case0, case1, and case2, from left to right, for the best net in design d65
Figure 4: comparison of case 0, case 1, and case 2(longer, zoom out more), from left to right, for the worst net in design d65 Note: in figure 4, apparently, both case 1 and case 2 lose to case 0.
Figure 5: the comparison of case 0 and case 1 for the best net in design d65
Figure 6: the comparison of case 1 and case 2 for the best net in design d65 B. detailed net-by-net length comparison
note : chart_per[x] = y =====for design d65==== -----compare_01------- chart_per[>=200%] = 3786 0.588% chart_per[>=190%] = 1265 0.197% chart_per[>=180%] = 2400 0.373% chart_per[>=170%] = 3203 0.498% chart_per[>=160%] = 3980 0.619% chart_per[>=150%] = 7761 1.206% chart_per[>=140%] = 10623 1.651% chart_per[>=130%] = 16565 2.575% chart_per[>=120%] = 26724 4.154% chart_per[>=110%] = 45255 7.034% chart_per[> 100%] = 144755 22.499% chart_per[==100%] = 40604 6.311% chart_per[> 100%] = 205230 31.899% chart_per[>=110%] = 66646 10.359% chart_per[>=120%] = 28371 4.410% chart_per[>=130%] = 12662 1.968% chart_per[>=140%] = 7316 1.137% chart_per[>=150%] = 5366 0.834% chart_per[>=160%] = 3336 0.519% chart_per[>=170%] = 1952 0.303% chart_per[>=180%] = 1503 0.234% chart_per[>=190%] = 351 0.055% chart_per[>=200%] = 3730 0.580% total net_no=643384 zoom_out for better global view chart_per[>=1100%] = 2 0.000% chart_per[>=1000%] = 2 0.000% chart_per[>=900%] = 1 0.000% chart_per[>=800%] = 8 0.001% chart_per[>=700%] = 41 0.006% chart_per[>=600%] = 87 0.014% chart_per[>=500%] = 2 0.000% chart_per[>=400%] = 51 0.008% chart_per[>=300%] = 66 0.010% chart_per[>=200%] = 3526 0.548% chart_per[> 100%] = 262531 40.805% chart_per[==100%] = 40604 6.311% chart_per[> 100%] = 332733 51.716% chart_per[>=200%] = 3227 0.502% chart_per[>=300%] = 315 0.049% chart_per[>=400%] = 55 0.009% chart_per[>=500%] = 32 0.005% chart_per[>=600%] = 22 0.003% chart_per[>=700%] = 4 0.001% chart_per[>=800%] = 9 0.001% chart_per[>=900%] = 7 0.001% chart_per[>=1000%] = 3 0.000% chart_per[>=1100%] = 56 0.009% total net_no=643384 ------compare_12------- chart_per[>=200%] = 89985 13.986% chart_per[>=190%] = 5568 0.865% chart_per[>=180%] = 6498 1.010% chart_per[>=170%] = 7434 1.155% chart_per[>=160%] = 8802 1.368% chart_per[>=150%] = 10483 1.629% chart_per[>=140%] = 11695 1.818% chart_per[>=130%] = 14844 2.307% chart_per[>=120%] = 20100 3.124% chart_per[>=110%] = 29483 4.582% chart_per[> 100%] = 69606 10.819% chart_per[==100%] = 67815 10.540% chart_per[> 100%] = 85581 13.302% chart_per[>=110%] = 43441 6.752% chart_per[>=120%] = 26819 4.168% chart_per[>=130%] = 17961 2.792% chart_per[>=140%] = 13121 2.039% chart_per[>=150%] = 10739 1.669% chart_per[>=160%] = 8809 1.369% chart_per[>=170%] = 6974 1.084% chart_per[>=180%] = 6008 0.934% chart_per[>=190%] = 4518 0.702% chart_per[>=200%] = 77100 11.984% total net_no=643384 zoom out for better global view chart_per[>=1100%] = 8339 1.296% chart_per[>=1000%] = 1285 0.200% chart_per[>=900%] = 1661 0.258% chart_per[>=800%] = 2200 0.342% chart_per[>=700%] = 2973 0.462% chart_per[>=600%] = 4136 0.643% chart_per[>=500%] = 6224 0.967% chart_per[>=400%] = 9866 1.533% chart_per[>=300%] = 17271 2.684% chart_per[>=200%] = 36030 5.600% chart_per[> 100%] = 184513 28.679% chart_per[==100%] = 67815 10.540% chart_per[> 100%] = 223971 34.811% chart_per[>=200%] = 30036 4.668% chart_per[>=300%] = 12787 1.987% chart_per[>=400%] = 7754 1.205% chart_per[>=500%] = 4856 0.755% chart_per[>=600%] = 3324 0.517% chart_per[>=700%] = 2535 0.394% chart_per[>=800%] = 2292 0.356% chart_per[>=900%] = 1758 0.273% chart_per[>=1000%] = 1464 0.228% chart_per[>=1100%] = 10294 1.600% total net_no=643384 -----compare_02------- chart_per[>=200%] = 92290 14.344% chart_per[>=190%] = 6011 0.934% chart_per[>=180%] = 6807 1.058% chart_per[>=170%] = 8035 1.249% chart_per[>=160%] = 9262 1.440% chart_per[>=150%] = 11235 1.746% chart_per[>=140%] = 13097 2.036% chart_per[>=130%] = 16974 2.638% chart_per[>=120%] = 23586 3.666% chart_per[>=110%] = 34199 5.315% chart_per[> 100%] = 70412 10.944% chart_per[==100%] = 11695 1.818% chart_per[> 100%] = 94016 14.613% chart_per[>=110%] = 53730 8.351% chart_per[>=120%] = 33835 5.259% chart_per[>=130%] = 21878 3.400% chart_per[>=140%] = 15435 2.399% chart_per[>=150%] = 12635 1.964% chart_per[>=160%] = 9933 1.544% chart_per[>=170%] = 7621 1.185% chart_per[>=180%] = 6549 1.018% chart_per[>=190%] = 4303 0.669% chart_per[>=200%] = 79846 12.410% total net_no=643384 zoom out for better global view chart_per[>=1100%] = 9214 1.432% chart_per[>=1000%] = 1421 0.221% chart_per[>=900%] = 1745 0.271% chart_per[>=800%] = 2380 0.370% chart_per[>=700%] = 3127 0.486% chart_per[>=600%] = 4467 0.694% chart_per[>=500%] = 6405 0.996% chart_per[>=400%] = 10022 1.558% chart_per[>=300%] = 17117 2.660% chart_per[>=200%] = 36392 5.656% chart_per[> 100%] = 199618 31.026% chart_per[==100%] = 11695 1.818% chart_per[> 100%] = 259935 40.401% chart_per[>=200%] = 32274 5.016% chart_per[>=300%] = 13139 2.042% chart_per[>=400%] = 7744 1.204% chart_per[>=500%] = 5133 0.798% chart_per[>=600%] = 3472 0.540% chart_per[>=700%] = 2427 0.377% chart_per[>=800%] = 2063 0.321% chart_per[>=900%] = 1689 0.263% chart_per[>=1000%] = 1428 0.222% chart_per[>=1100%] = 10477 1.628% total net_no=643384 =====for design d28===== ------compare_01-------- chart_per[>=200%] = 137 0.109% chart_per[>=190%] = 48 0.038% chart_per[>=180%] = 69 0.055% chart_per[>=170%] = 91 0.073% chart_per[>=160%] = 205 0.164% chart_per[>=150%] = 345 0.275% chart_per[>=140%] = 635 0.507% chart_per[>=130%] = 1323 1.056% chart_per[>=120%] = 2895 2.310% chart_per[>=110%] = 8359 6.669% chart_per[> 100%] = 33043 26.364% chart_per[==100%] = 636 0.507% chart_per[> 100%] = 47289 37.730% chart_per[>=110%] = 14509 11.576% chart_per[>=120%] = 6171 4.924% chart_per[>=130%] = 3337 2.662% chart_per[>=140%] = 1986 1.585% chart_per[>=150%] = 1292 1.031% chart_per[>=160%] = 769 0.614% chart_per[>=170%] = 595 0.475% chart_per[>=180%] = 411 0.328% chart_per[>=190%] = 274 0.219% chart_per[>=200%] = 916 0.731% total net_no=125335 zoom out for better global view chart_per[>=1100%] = 0 0.000% chart_per[>=1000%] = 0 0.000% chart_per[>=900%] = 0 0.000% chart_per[>=800%] = 0 0.000% chart_per[>=700%] = 0 0.000% chart_per[>=600%] = 0 0.000% chart_per[>=500%] = 0 0.000% chart_per[>=400%] = 0 0.000% chart_per[>=300%] = 7 0.006% chart_per[>=200%] = 130 0.104% chart_per[> 100%] = 47013 37.510% chart_per[==100%] = 636 0.507% chart_per[> 100%] = 76633 61.143% chart_per[>=200%] = 799 0.637% chart_per[>=300%] = 94 0.075% chart_per[>=400%] = 18 0.014% chart_per[>=500%] = 2 0.002% chart_per[>=600%] = 3 0.002% chart_per[>=700%] = 0 0.000% chart_per[>=800%] = 0 0.000% chart_per[>=900%] = 0 0.000% chart_per[>=1000] = 0 0.000% chart_per[>=1100%] = 0 0.000% total net_no=125335 ------compare_12--------- chart_per[>=200%] = 4079 3.254% chart_per[>=190%] = 414 0.330% chart_per[>=180%] = 454 0.362% chart_per[>=170%] = 619 0.494% chart_per[>=160%] = 826 0.659% chart_per[>=150%] = 1014 0.809% chart_per[>=140%] = 1354 1.080% chart_per[>=130%] = 1941 1.549% chart_per[>=120%] = 3226 2.574% chart_per[>=110%] = 6418 5.121% chart_per[> 100%] = 21451 17.115% chart_per[==100%] = 35466 28.297% chart_per[> 100%] = 23323 18.609% chart_per[>=110%] = 7283 5.811% chart_per[>=120%] = 3868 3.086% chart_per[>=130%] = 2503 1.997% chart_per[>=140%] = 1828 1.458% chart_per[>=150%] = 1326 1.058% chart_per[>=160%] = 1041 0.831% chart_per[>=170%] = 863 0.689% chart_per[>=180%] = 701 0.559% chart_per[>=190%] = 559 0.446% chart_per[>=200%] = 4778 3.812% total net_no=125335 zoom out for better global view chart_per[>=1100%] = 261 0.208% chart_per[>=1000%] = 31 0.025% chart_per[>=900%] = 62 0.049% chart_per[>=800%] = 68 0.054% chart_per[>=700%] = 102 0.081% chart_per[>=600%] = 154 0.123% chart_per[>=500%] = 225 0.180% chart_per[>=400%] = 355 0.283% chart_per[>=300%] = 756 0.603% chart_per[>=200%] = 2065 1.648% chart_per[> 100%] = 37717 30.093% chart_per[==100%] = 35466 28.297% chart_per[> 100%] = 43295 34.543% chart_per[>=200%] = 2598 2.073% chart_per[>=300%] = 860 0.686% chart_per[>=400%] = 432 0.345% chart_per[>=500%] = 239 0.191% chart_per[>=600%] = 162 0.129% chart_per[>=700%] = 101 0.081% chart_per[>=800%] = 71 0.057% chart_per[>=900%] = 56 0.045% chart_per[>=1000%] = 29 0.023% chart_per[>=1100%] = 230 0.184% total net_no=125335 --------compare_02------- chart_per[>=200%] = 3709 2.959% chart_per[>=190%] = 405 0.323% chart_per[>=180%] = 510 0.407% chart_per[>=170%] = 613 0.489% chart_per[>=160%] = 822 0.656% chart_per[>=150%] = 1116 0.890% chart_per[>=140%] = 1632 1.302% chart_per[>=130%] = 2527 2.016% chart_per[>=120%] = 4525 3.610% chart_per[>=110%] = 9213 7.351% chart_per[> 100%] = 24313 19.398% chart_per[==100%] = 442 0.353% chart_per[> 100%] = 33077 26.391% chart_per[>=110%] = 14250 11.370% chart_per[>=120%] = 7466 5.957% chart_per[>=130%] = 4560 3.638% chart_per[>=140%] = 3118 2.488% chart_per[>=150%] = 2296 1.832% chart_per[>=160%] = 1636 1.305% chart_per[>=170%] = 1270 1.013% chart_per[>=180%] = 1006 0.803% chart_per[>=190%] = 843 0.673% chart_per[>=200%] = 5986 4.776% total net_no=125335 zoom out for better global view chart_per[>=1100%] = 204 0.163% chart_per[>=1000%] = 45 0.036% chart_per[>=900%] = 36 0.029% chart_per[>=800%] = 61 0.049% chart_per[>=700%] = 75 0.060% chart_per[>=600%] = 143 0.114% chart_per[>=500%] = 193 0.154% chart_per[>=400%] = 323 0.258% chart_per[>=300%] = 679 0.542% chart_per[>=200%] = 1950 1.556% chart_per[> 100%] = 45676 36.443% chart_per[==100%] = 442 0.353% chart_per[> 100%] = 69522 55.469% chart_per[>=200%] = 3459 2.760% chart_per[>=300%] = 1072 0.855% chart_per[>=400%] = 494 0.394% chart_per[>=500%] = 263 0.210% chart_per[>=600%] = 179 0.143% chart_per[>=700%] = 92 0.073% chart_per[>=800%] = 80 0.064% chart_per[>=900%] = 64 0.051% chart_per[>=1000%] = 41 0.033% chart_per[>=1100%] = 242 0.193% total net_no=125335
Note 1: compare_01 represents the outperformance of JRoute over XRoute Note 2: for the convenience of viewing and comparison purpose in GUI, temporarily, via count is ignored in length calculation. Because JRoute uses much less number of vias, if they are included, the above numbers will be much better for JP&R. Q & AQ: your comparison data is biased and not comparing apple to apple, because case 0 is tape-out ready design, free of ALL violations, and case 1 & 2 may have lots of violations in high-end nano-meter(nm) rule checker for tape-out even though your wire length and via count is better. A: Yes, it is true. According to above data in two designs, we believe our P&R engine performs much better than the ones on the market. So we encourage the user to use their creativity to combine the use of our P&R booster and their exsiting tool to create better results. One example is to use JPlace to re-place the placement from XPlace and do the remaining jobs in the existing tool flow. Another example is to use our P&R booster to create the best framework of P&R, then use their existing tool to fix all high-end nm special rule violations for their tape-out purpose. We believe the above way may achieve better results. Logically, it makes sense and is possible, if most of the violations are local and need minor rip-up and re-route. Q: We are in high-end nm technology node now, like 2 or 3 nm, and your tool is far behind (between 45nm and 65nm), how can you help us? A: Same as before, we simply parse all special rules, intentially ignoring some of them, and generate the best framework of P or P&R for you to feed into your flow and HOPE your tape-out journey will be easier and the result will be better. Notes: 1. In JPlace, currently we only move the single height cells to minimize the impact to the given placement. 2. For passing internal-only data in LEF/DEF, the parser is done in-house, which will not be as complete as the one provided by Cadence. For this reason, the user may encounter some parser errors in trying our tool in the beginning. Definitely, this kind of issues will be fixed easily if it dose occur. |