diff --git a/synthDC/ppaAnalyze.py b/synthDC/ppaAnalyze.py index f5985956..52f7ec7d 100755 --- a/synthDC/ppaAnalyze.py +++ b/synthDC/ppaAnalyze.py @@ -150,7 +150,7 @@ def csvOfBest(): writer.writerow(list(synth)) file.close() -def genLegend(fits, coefs, r2, spec): +def genLegend(fits, coefs, r2, spec, ale=False): ''' generates a list of two legend elements labels line with fit equation and dots with tech and r squared of the fit ''' @@ -161,6 +161,11 @@ def genLegend(fits, coefs, r2, spec): ind = 0 eqDict = {'c': '', 'l': 'N', 's': '$N^2$', 'g': '$log_2$(N)', 'n': 'N$log_2$(N)'} + if ale: + if (normAddWidth == 32): + eqDict = {'c': '', 'l': '(N/32)', 's': '$(N/32)^2$', 'g': '$log_2$(N/32)', 'n': '(N/32)$log_2$(N/32)'} + elif normAddWidth != 1: + print('Legend equations are wrong') for k in eqDict.keys(): if k in fits: @@ -170,7 +175,7 @@ def genLegend(fits, coefs, r2, spec): eq = eq[3:] legend_elements = [lines.Line2D([0], [0], color=spec.color, label=eq)] - if spec.shape: legend_elements += [lines.Line2D([0], [0], color=spec.color, ls='', marker=spec.shape, label=spec.tech +' $R^2$='+ str(round(r2, 4)))] + legend_elements += [lines.Line2D([0], [0], color=spec.color, ls='', marker=spec.shape, label=spec.tech +' $R^2$='+ str(round(r2, 4)))] return legend_elements def oneMetricPlot(module, var, freq=None, ax=None, fits='clsgn', norm=True, color=None): @@ -196,6 +201,8 @@ def oneMetricPlot(module, var, freq=None, ax=None, fits='clsgn', norm=True, colo allWidths = [] allMetrics = [] + ale = (var != 'delay') # if not delay, must be area, leakage, or energy + for spec in techSpecs: metric = getVals(spec.tech, module, var, freq=freq) @@ -207,14 +214,14 @@ def oneMetricPlot(module, var, freq=None, ax=None, fits='clsgn', norm=True, colo if len(metric) == 5: allWidths += widths allMetrics += metric - xp, pred, leg = regress(widths, metric, spec, fits) + xp, pred, leg = regress(widths, metric, spec, fits, ale=ale) fullLeg += leg c = color if color else spec.color ax.scatter(widths, metric, color=c, marker=spec.shape) ax.plot(xp, pred, color=c) - combined = TechSpec('combined', 'red', 0, 0, 0, 0, 0) - xp, pred, leg = regress(allWidths, allMetrics, combined, fits) + combined = TechSpec('combined', 'red', '_', 0, 0, 0, 0) + xp, pred, leg = regress(allWidths, allMetrics, combined, fits, ale=ale) fullLeg += leg ax.plot(xp, pred, color='red') @@ -236,12 +243,13 @@ def oneMetricPlot(module, var, freq=None, ax=None, fits='clsgn', norm=True, colo plt.savefig('./plots/PPA/'+ module + '_' + var + '.png') plt.show() -def regress(widths, var, spec, fits='clsgn'): +def regress(widths, var, spec, fits='clsgn', ale=False): ''' fits a curve to the given points returns lists of x and y values to plot that curve and legend elements with the equation ''' funcArr = genFuncs(fits) + widths = [w/normAddWidth for w in widths] mat = [] for w in widths: @@ -258,7 +266,7 @@ def regress(widths, var, spec, fits='clsgn'): pred = [] yp = [] for x in xp: - n = [func(x) for func in funcArr] + n = [func(x/normAddWidth) for func in funcArr] pred += [sum(np.multiply(coefs, n))] for w in widths: @@ -267,7 +275,7 @@ def regress(widths, var, spec, fits='clsgn'): r2 = skm.r2_score(y, yp) - leg = genLegend(fits, coefs, r2, spec) + leg = genLegend(fits, coefs, r2, spec, ale=ale) return xp, pred, leg @@ -507,6 +515,7 @@ if __name__ == '__main__': # set up stuff, global variables widths = [8, 16, 32, 64, 128] + normAddWidth = 32 fitDict = {'add': ['cg', 'l', 'l'], 'mult': ['cg', 'sl', 'ls'], 'comparator': ['cg', 'l', 'l'], 'csa': ['c', 'l', 'l'], 'shiftleft': ['cg', 'n', 'ln'], 'flop': ['c', 'l', 'l'], 'priorityencoder': ['cg', 'l', 'l']} fitDict.update(dict.fromkeys(['mux2', 'mux4', 'mux8'], ['cg', 'l', 'l'])) #data TechSpec = namedtuple("TechSpec", "tech color shape delay area lpower denergy") @@ -532,9 +541,9 @@ if __name__ == '__main__': for mod in modules: plotPPA(mod, norm=False) plotPPA(mod) - # for w in [8, 16, 32, 64, 128]: - # freqPlot('sky90', mod, w) - # freqPlot('tsmc28', mod, w) + for w in [8, 16, 32, 64, 128]: + freqPlot('sky90', mod, w) + freqPlot('tsmc28', mod, w) plt.close('all') - # csvOfBest() \ No newline at end of file + csvOfBest() \ No newline at end of file diff --git a/synthDC/ppaData.csv b/synthDC/ppaData.csv index 4cfac086..d28a7740 100644 --- a/synthDC/ppaData.csv +++ b/synthDC/ppaData.csv @@ -36,7 +36,6 @@ mux4,tsmc28,8,18870,0.057567,22.302,111.045,6.9368235 inv,sky90,1,100000,0.068855,3.92,5.959,30.70933 priorityencoder,sky90,16,5408,0.18331699999999998,124.460002,60.685,17.4517784 comparator,sky90,64,2500,0.399258,1413.160027,227.356,158.10616800000003 -mux2,sky90,8,43195,0.15757000000000002,104.860002,81.157,236.67014000000003 mux2,sky90,64,4590,0.243197,490.980009,117.75,171.697082 mux8,sky90,8,3577,0.27891699999999997,287.140006,116.648,60.831797699999996 flop,sky90,8,8396,0.114344,133.279999,129.629,371.7094752 @@ -101,7 +100,6 @@ mux4,sky90,64,3773,0.267446,937.860018,363.202,298.20229000000006 priorityencoder,sky90,16,3000,0.32573799999999997,95.060002,13.926,10.8145016 priorityencoder,sky90,64,4012,0.249243,786.940013,356.488,71.53274100000002 mux4,sky90,8,10845,0.214647,155.820003,90.053,85.644153 -mux2,sky90,8,28797,0.15757,104.860002,81.157,157.88513999999998 add,sky90,128,2081,0.547048,6442.520124,2500.0,2626.3774479999997 add,sky90,8,3000,0.33194,196.000004,62.336,76.77772200000001 comparator,sky90,16,3000,0.332999,314.580006,67.26,45.387763699999994 @@ -231,7 +229,6 @@ shiftleft,sky90,16,3422,0.307921,625.240012,393.788,169.048629 mux8,tsmc28,16,12756,0.07941200000000001,97.776,467.559,26.523608 csa,tsmc28,128,10000,0.067577,274.175995,917.068,78.11901199999998 priorityencoder,tsmc28,16,30000,0.046221,26.334,96.855,6.5125389 -mux2,sky90,16,39186,0.18353199999999997,176.400002,104.015,413.68112799999994 inv,sky90,1,150000,0.068856,3.92,5.959,46.06466400000001 shiftleft,sky90,8,4497,0.230081,262.640004,204.113,76.847054 mux4,sky90,16,4541,0.26359699999999997,358.680007,100.453,94.89491999999998 @@ -246,7 +243,6 @@ mux8,sky90,64,3119,0.336859,2214.800043,772.006,488.78240900000003 mux8,sky90,32,2953,0.33839600000000003,1262.24001,682.649,294.74291600000004 csa,tsmc28,32,1000,0.067577,68.543999,229.117,1.9462175999999998 add,tsmc28,128,7360,0.135903,907.578008,4370.0,347.63987399999996 -mux2,sky90,8,31676,0.15757,104.860002,81.157,173.64213999999998 mux4,sky90,32,3955,0.264635,696.780013,305.234,181.01034 add,tsmc28,16,11972,0.086035,99.036001,529.716,39.317995 flop,tsmc28,128,21528,0.048892,241.919998,2520.0,917.116136 @@ -342,7 +338,6 @@ priorityencoder,tsmc28,64,5000,0.199836,68.292,191.082,9.532177199999998 csa,tsmc28,16,25357,0.040367,100.799999,950.751,43.757828 mux2,sky90,64,4140,0.248458,479.220009,102.601,154.789334 flop,sky90,8,8746,0.114344,133.279999,129.629,387.2716936 -shiftleft,sky90,128,3097,0.548306,8470.140146,4890.0,3932.9989379999997 add,sky90,128,2312,0.530672,6506.220126,2630.0,2909.6745760000003 shiftleft,tsmc28,32,20000,0.10250200000000001,341.208,1680.0,201.826438 csa,tsmc28,128,10000,0.067577,274.175995,917.068,78.11901199999998 @@ -358,7 +353,6 @@ mux4,sky90,64,10000,0.287571,1421.980027,594.458,981.7673940000001 mux4,tsmc28,8,17760,0.056212000000000005,23.436,112.334,7.122060400000001 shiftleft,tsmc28,128,1000,0.524341,621.683997,2020.0,121.64711199999998 comparator,tsmc28,32,12384,0.082321,163.044,743.896,40.254969 -shiftleft,sky90,128,2500,0.532789,10588.900151,8240.0,4526.042555 priorityencoder,sky90,16,5523,0.180798,119.560002,54.0,16.3079796 mux4,tsmc28,32,14258,0.069512,70.056,308.062,21.54872 mult,sky90,32,825,1.305535,23737.560395,13100.0,25042.772370000002 @@ -420,7 +414,6 @@ mux2,tsmc28,64,18546,0.053857,90.846,517.414,27.359356000000002 comparator,tsmc28,128,15000,0.109851,491.022003,2380.0,182.901915 comparator,tsmc28,64,10223,0.097785,235.62,932.855,54.857384999999994 mux4,sky90,8,8836,0.21464699999999998,155.820003,90.053,69.6744162 -shiftleft,sky90,128,2973,0.524269,9936.220153,7490.0,4882.517196999999 shiftleft,tsmc28,128,7304,0.141359,2368.547985,11900.0,680.643585 mux4,sky90,128,5000,0.309527,3004.680057,1720.0,1123.273483 mux8,tsmc28,128,10250,0.097441,712.907993,3150.0,163.116234 @@ -494,7 +487,6 @@ flop,sky90,8,7544,0.114345,133.279999,129.629,334.047483 shiftleft,sky90,32,2635,0.38715099999999997,1704.220026,1140.0,488.19741100000005 priorityencoder,tsmc28,16,20770,0.048116,22.806,79.733,4.065802 mux2,sky90,64,4532,0.24323099999999998,491.96001,109.223,165.640311 -mux2,sky90,8,35996,0.15757,104.860002,81.157,197.12007 csa,tsmc28,8,26351,0.040226,52.416,489.192,23.210402 csa,tsmc28,128,5000,0.067577,274.175995,917.068,39.05950599999999 add,sky90,16,3966,0.33806800000000004,711.480014,493.165,413.795232 @@ -508,7 +500,6 @@ shiftleft,sky90,128,1907,0.5242939999999999,9192.400136,6080.0,2900.394407999999 mux2,sky90,8,6296,0.188351,64.680001,21.541,22.9223167 priorityencoder,sky90,32,10000,0.21766400000000002,373.380006,197.593,102.30208 mux8,sky90,32,1000,0.901778,822.220016,56.227,121.74003 -mux2,sky90,16,34287,0.183532,176.400002,104.015,361.925104 flop,tsmc28,32,1000,0.04889200000000005,60.4799995,629.161,10.66627872000001 mux4,sky90,64,3921,0.30271000000000003,1673.840027,1300.0,540.6400600000001 priorityencoder,tsmc28,64,12959,0.077095,118.692,338.228,16.0280505 @@ -591,7 +582,6 @@ shiftleft,sky90,128,2000,0.534484,9473.660144,6430.0,3263.559304 flop,tsmc28,32,21942,0.048892,60.4799995,629.162,233.7184276 comparator,sky90,64,3252,0.32338700000000004,1354.360026,435.572,195.002361 priorityencoder,sky90,64,9249,0.241227,907.480017,482.887,216.13939200000002 -shiftleft,sky90,128,3035,0.533883,9761.78015,6990.0,4691.763804 add,tsmc28,128,7059,0.14164800000000002,818.748007,3800.0,317.71646400000003 priorityencoder,sky90,16,5983,0.16939500000000002,166.600002,113.125,29.339214000000002 mux4,tsmc28,32,10000,0.09749100000000001,56.825999,208.953,16.5929682 @@ -627,7 +617,6 @@ mux8,tsmc28,16,12506,0.08082,99.036,498.654,27.55962 shiftleft,tsmc28,64,7939,0.126242,968.687991,4910.0,278.99482 priorityencoder,sky90,64,3184,0.31369800000000003,643.860013,144.409,42.913886399999996 flop,sky90,16,10000,0.114344,266.5599975,259.258,885.3655920000001 -mux2,sky90,8,38875,0.157569,104.860002,81.157,213.03328799999997 priorityencoder,tsmc28,64,13510,0.074611,136.836,429.547,18.055861999999998 csa,tsmc28,128,22871,0.042445,499.96801,3850.0,214.00768999999997 mux4,tsmc28,16,17125,0.060548000000000005,41.454,196.466,13.381108000000001 @@ -656,7 +645,6 @@ shiftleft,tsmc28,64,8600,0.120595,1165.877997,6270.0,333.32458 mux4,tsmc28,16,16440,0.060656,39.438,185.149,12.373824000000003 flop,tsmc28,16,1000,0.04889200000000005,30.24,314.58,5.308693360000005 shiftleft,sky90,64,2248,0.449403,4417.840063,3480.0,1354.9500449999998 -mux2,sky90,16,35687,0.183531,176.400002,104.015,376.78914299999997 mux2,tsmc28,16,10000,0.08561,14.49,74.123,4.1520850000000005 add,sky90,8,3577,0.278352,248.920005,158.724,124.701696 shiftleft,sky90,32,1000,0.973356,882.980017,61.502,141.23395560000003 @@ -671,7 +659,6 @@ mux4,tsmc28,32,16381,0.065149,89.837999,413.021,27.558027 mux2,sky90,64,3640,0.265195,453.740009,157.765,163.625315 mux8,tsmc28,16,20000,0.079961,104.202,511.588,42.05948600000001 priorityencoder,sky90,128,10000,0.292065,1726.760031,791.829,457.081725 -shiftleft,sky90,128,2912,0.526513,9740.220156,6850.0,4518.534566 csa,sky90,16,3000,0.26417999999999997,235.199997,27.622,66.916794 mux8,tsmc28,16,13006,0.077738,186.101998,913.855,37.858405999999995 mux4,sky90,64,3995,0.289447,1482.740026,933.075,413.90921 @@ -679,7 +666,6 @@ mult,tsmc28,16,3663,0.27299300000000004,1326.528005,9230.0,1224.646598 mux8,tsmc28,128,11532,0.09583900000000001,723.24,3620.0,201.93277300000003 flop,tsmc28,16,20863,0.048892000000000005,30.24,314.578,111.12662680000003 comparator,tsmc28,32,13127,0.0881,147.168,652.42,41.3189 -mux2,sky90,8,33836,0.157569,104.860002,81.157,185.458713 add,sky90,64,2327,0.460503,2953.720057,1160.0,1186.2557279999999 flop,tsmc28,64,21528,0.048892,120.959999,1260.0,458.60695999999996 add,sky90,32,1928,0.51854,1050.56002,294.688,355.1999 @@ -708,7 +694,6 @@ comparator,sky90,128,3471,0.353232,2889.040053,1200.0,468.03239999999994 priorityencoder,sky90,64,5000,0.242601,939.820016,513.255,114.26507099999999 flop,tsmc28,128,21942,0.048892,241.919998,2520.0,934.7661479999999 comparator,tsmc28,32,6604,0.151166,80.387999,260.149,19.772512799999998 -mux2,sky90,16,32188,0.183531,176.400002,104.015,339.899412 mux2,sky90,16,5841,0.202074,119.560002,32.354,45.931420200000005 comparator,tsmc28,8,18794,0.055562,42.966,238.002,11.9513862 priorityencoder,tsmc28,16,22501,0.044962,30.114,121.215,5.462883 @@ -734,7 +719,6 @@ csa,tsmc28,64,25357,0.040367,403.199997,3800.0,174.50654100000003 add,sky90,32,1847,0.537855,924.140018,210.187,308.190915 mult,sky90,32,841,1.2987609999999998,27230.280486,18100.0,31555.996016999998 flop,sky90,8,7872,0.114345,133.279999,129.629,348.546429 -mux2,sky90,16,33588,0.183532,176.400002,104.015,354.76735599999995 csa,sky90,64,6106,0.165361,2597.000051,1650.0,1245.664413 mux2,tsmc28,8,10000,0.08170100000000001,7.56,38.026,1.9689941000000004 shiftleft,tsmc28,32,9196,0.108728,270.899999,1350.0,75.23977599999999 @@ -765,12 +749,10 @@ mux8,sky90,128,10000,0.37662399999999996,4643.240084,1400.0,3025.797216 comparator,sky90,64,2000,0.469373,1392.580027,201.764,124.4777196 mult,sky90,64,645,1.5524310000000001,92630.581541,51300.0,97807.810293 shiftleft,tsmc28,16,11309,0.088357,95.003999,416.622,27.125599 -mux2,sky90,8,36716,0.15757000000000002,104.860002,81.157,201.21689000000003 mux2,tsmc28,32,16829,0.058776,29.736001,158.536,9.5687328 priorityencoder,tsmc28,16,20000,0.049953000000000004,17.514,56.066,3.2519403000000007 mux2,sky90,128,5000,0.23978300000000002,1465.100028,826.847,544.7869760000001 add,sky90,8,2000,0.498543,149.940003,30.535,50.9012403 -mux2,sky90,16,36385,0.183532,176.400002,104.015,384.316008 priorityencoder,tsmc28,128,10972,0.091107,263.466001,738.366,32.616305999999994 inv,sky90,1,20000,0.045664,1.96,1.986,1.04387904 csa,sky90,32,1000,0.264181,470.399994,55.245,44.4880804 @@ -820,7 +802,6 @@ mux2,tsmc28,16,19150,0.052219,15.75,88.448,5.1592372 shiftleft,tsmc28,16,1000,0.166466,43.722,137.066,2.20068052 mux2,sky90,64,3811,0.2621,458.640009,159.734,169.0545 flop,tsmc28,8,30000,0.048891000000000004,15.12,157.27,79.9270068 -mux2,sky90,8,35276,0.15757000000000002,104.860002,81.157,193.33839000000003 mux4,tsmc28,64,10000,0.09903100000000001,111.887999,417.29,35.453098000000004 flop,sky90,16,8396,0.114344,266.5599975,259.258,743.236 add,sky90,32,1000,0.991501,752.640015,108.261,193.34269500000002 @@ -965,7 +946,6 @@ mux2,sky90,16,4445,0.216402,114.660002,40.216,41.11638 priorityencoder,sky90,128,9142,0.298483,1775.760034,746.946,438.77001 mult,sky90,16,957,1.044805,6996.220129,4080.0,5647.171025 csa,sky90,128,6350,0.165361,5822.180113,3500.0,2827.507739 -mux2,sky90,8,33116,0.15757,104.860002,81.157,181.36307 add,sky90,16,2407,0.41505800000000004,465.500009,129.875,167.26837400000002 shiftleft,tsmc28,16,12538,0.083813,138.851999,704.964,38.637792999999995 mult,tsmc28,64,2439,0.413999,18624.186033,131000.0,21368.558384999997 @@ -1022,7 +1002,6 @@ csa,tsmc28,32,10000,0.067577,68.543999,229.117,19.462176 mult,tsmc28,16,3975,0.25678900000000004,2099.79,15900.0,1793.6711650000002 mux2,sky90,16,5729,0.202074,119.560002,32.354,45.0422946 mult,tsmc28,16,10000,0.262212,1697.220001,12500.0,3959.4012 -mux2,sky90,16,37086,0.183531,176.400002,104.015,391.655154 mux8,tsmc28,64,11220,0.092288,548.855998,2970.0,129.66464 priorityencoder,tsmc28,128,5000,0.19975,151.956,436.218,21.553025 comparator,tsmc28,16,1000,0.16839499999999996,29.736,97.953,1.1501378499999997 @@ -1056,7 +1035,6 @@ priorityencoder,sky90,32,4460,0.224168,317.520006,137.615,34.8132904 add,tsmc28,16,11068,0.090165,73.584,369.397,26.779005 shiftleft,tsmc28,128,7023,0.14238299999999998,1836.953994,8670.0,566.541957 mux8,sky90,128,2623,0.38114,3951.360076,1270.0,817.16416 -mux2,sky90,16,36387,0.183531,176.400002,104.015,384.31391399999995 add,tsmc28,64,9467,0.123938,417.564004,2000.0,179.09041 shiftleft,sky90,16,3153,0.316754,546.840011,299.663,126.7016 priorityencoder,sky90,64,2874,0.345452,586.040011,117.635,39.9687964 @@ -1074,7 +1052,6 @@ mult,tsmc28,32,2973,0.33635600000000004,5141.430011,36900.0,5416.340668 mux4,sky90,16,4625,0.25438,329.280006,134.438,87.50672 priorityencoder,sky90,32,3142,0.31800700000000004,284.200006,48.073,20.098042400000004 mux8,sky90,8,3796,0.27002499999999996,316.540006,115.77,62.96982999999999 -mux2,sky90,16,30789,0.183532,176.400002,104.015,325.035172 mult,tsmc28,16,20000,0.256602,1987.019999,14900.0,8690.853138 mux4,sky90,8,11246,0.214647,155.820003,90.053,88.649211 flop,tsmc28,32,5000,0.04889200000000002,60.4799995,629.161,53.282501600000025 @@ -1091,7 +1068,6 @@ comparator,tsmc28,8,10000,0.09890600000000001,19.782,91.167,4.8760658 mux8,tsmc28,32,1000,0.19088799999999995,105.713999,360.715,4.428601599999999 priorityencoder,sky90,8,7994,0.12495900000000001,60.760001,44.346,13.420596600000001 mult,sky90,32,2500,1.284115,29053.080518,21300.0,97288.40474499999 -mux2,sky90,16,32888,0.183532,176.400002,104.015,347.242544 shiftleft,tsmc28,16,10000,0.09990500000000001,65.772,298.445,20.390610500000005 add,sky90,32,2000,0.498008,1061.340021,292.588,363.047832 shiftleft,tsmc28,8,10000,0.09206,15.876,52.724,4.78712 @@ -1156,8 +1132,6 @@ mux2,tsmc28,64,19319,0.052536000000000006,123.858,794.333,37.563240000000015 mult,tsmc28,8,5506,0.194578,617.652002,4640.0,439.74627999999996 mux8,sky90,32,3330,0.321569,1068.20002,336.387,237.63949100000005 mux2,sky90,128,4320,0.258708,1099.560018,533.373,433.3359 -mux2,sky90,16,34987,0.183532,176.400002,104.015,369.449916 -mux2,sky90,8,34556,0.15757,104.860002,81.157,189.39913999999996 csa,tsmc28,16,23368,0.042446,62.496001,481.11,27.420115999999997 mux2,sky90,16,5076,0.20207399999999998,119.560002,32.354,39.869200199999995 mux2,tsmc28,64,17773,0.055664000000000005,83.033999,417.316,23.10056 @@ -1184,7 +1158,6 @@ mux4,sky90,64,3403,0.293479,868.280017,245.808,251.80498200000002 csa,sky90,32,6228,0.165362,1349.460026,801.907,633.0057360000001 flop,sky90,128,7696,0.114345,2132.4799805,2070.0,5449.4540099999995 mux8,sky90,16,5000,0.28662200000000004,681.100006,314.569,220.98556200000004 -mux2,sky90,16,41984,0.183532,176.400002,104.015,443.413312 mux2,tsmc28,64,18932,0.053134,84.419999,442.406,24.388505999999996 mult,sky90,16,5000,1.024199,7447.020138,4910.0,32946.433432 comparator,sky90,64,3006,0.38073100000000004,1235.780024,216.793,164.475792 @@ -1193,7 +1166,6 @@ flop,tsmc28,32,19872,0.048892,60.4799995,629.157,211.6388004 add,sky90,16,2993,0.35045,648.760012,358.879,284.91585 priorityencoder,sky90,16,5521,0.18079800000000001,119.560002,54.0,16.307979600000003 csa,sky90,32,6350,0.16398100000000002,1568.000031,983.19,753.984638 -shiftleft,sky90,128,3000,0.53086,9538.340155,6510.0,4562.210840000001 mux8,sky90,128,634,0.9183980000000002,3195.780062,219.162,320.52090200000004 flop,sky90,128,9095,0.11434499999999999,2132.4799805,2070.0,6440.367779999999 mux2,sky90,8,3000,0.320272,60.760001,10.548,16.750225599999997 @@ -1248,7 +1220,6 @@ priorityencoder,sky90,128,3492,0.31244099999999997,1487.640028,433.096,105.60505 add,sky90,16,3606,0.328756,780.080015,633.143,448.423184 mux4,sky90,64,1000,0.884302,831.040016,55.075,178.9827248 mux8,tsmc28,16,11756,0.084847,83.664,357.292,21.466291000000002 -mux2,sky90,8,40315,0.15757,104.860002,81.157,220.91314 priorityencoder,tsmc28,128,10739,0.09311599999999999,232.218,650.803,28.121031999999996 comparator,tsmc28,128,8797,0.113671,437.724,1630.0,98.55275699999999 mux4,sky90,32,4107,0.25081200000000003,578.200011,343.898,131.67630000000003 @@ -1273,7 +1244,6 @@ shiftleft,sky90,64,2068,0.483374,3315.340059,1760.0,854.121858 priorityencoder,tsmc28,32,16453,0.06074,62.118,205.801,9.438996 mux4,sky90,16,4181,0.239979,234.220005,76.845,67.0261347 add,sky90,16,2708,0.368954,534.10001,198.833,217.313906 -mux2,sky90,8,37436,0.15756900000000001,104.860002,81.157,205.15483800000004 mux4,tsmc28,64,5000,0.19659000000000001,107.099999,386.787,35.268246000000005 flop,tsmc28,8,10000,0.048892000000000005,15.12,157.269,26.642228640000006 mux8,tsmc28,32,12426,0.08657300000000001,248.723997,1220.0,58.09048300000001 @@ -1321,7 +1291,6 @@ add,sky90,8,3254,0.30578799999999995,222.460004,123.164,102.43897999999997 shiftleft,sky90,32,1500,0.66464,886.900017,99.1,153.066592 mux2,sky90,8,5500,0.18835100000000002,64.680001,21.541,20.021711300000003 mux4,tsmc28,32,10000,0.09749100000000001,56.825999,208.953,16.5929682 -mux2,sky90,8,38156,0.15756900000000001,104.860002,81.157,209.09406300000003 mult,sky90,32,732,1.366111,22404.76038,10600.0,21352.314929999997 mux4,tsmc28,8,1000,0.07530599999999998,15.12,54.869,0.26808935999999994 priorityencoder,sky90,8,8003,0.124959,60.760001,44.346,13.4455884 @@ -1392,7 +1361,6 @@ mux8,sky90,32,3393,0.327565,1058.400021,328.34,238.46731999999997 mux2,tsmc28,64,5000,0.184446,56.826002,290.343,19.1639394 mux4,tsmc28,8,17510,0.056993,20.79,93.425,6.463006200000001 mult,tsmc28,64,2488,0.41489499999999996,18264.204036,127000.0,21467.911985 -mux2,sky90,16,27990,0.183532,176.400002,104.015,295.670052 flop,tsmc28,128,20000,0.048892000000000005,241.919998,2520.0,851.9431 priorityencoder,sky90,8,8591,0.125212,64.680001,49.589,15.751669599999998 csa,sky90,16,5000,0.190168,376.320007,230.423,173.62338400000002 @@ -1563,7 +1531,6 @@ flop,sky90,128,8221,0.114345,2132.4799805,2070.0,5821.3039499999995 flop,sky90,8,8856,0.114344,133.279999,129.629,392.0627072 comparator,tsmc28,64,11288,0.09385,291.06,1290.0,72.4522 mux4,tsmc28,8,16796,0.058955,18.27,77.583,5.683262 -shiftleft,sky90,128,2850,0.532373,9946.020148,7500.0,4690.738503 comparator,tsmc28,128,10136,0.1066,543.312001,2520.0,135.06220000000002 mux2,sky90,64,3430,0.288525,448.840009,147.731,164.45924999999997 comparator,sky90,32,4309,0.273547,783.020014,417.236,160.57208899999998 @@ -1607,7 +1574,6 @@ csa,sky90,128,5740,0.166714,4641.28009,3300.0,2283.314944 comparator,tsmc28,8,17054,0.058548,32.256,160.477,8.752925999999999 priorityencoder,sky90,32,4585,0.218059,366.520007,180.82,41.9763575 flop,sky90,32,8221,0.114345,533.119995,518.516,1455.497505 -mux2,sky90,16,37786,0.183532,176.400002,104.015,398.998568 mux4,sky90,64,3280,0.304322,1098.580021,291.464,250.45700599999998 priorityencoder,sky90,32,3797,0.261069,258.720005,71.643,21.9820098 shiftleft,tsmc28,128,7164,0.140372,2240.027998,10800.0,643.0441319999999 @@ -1622,7 +1588,6 @@ priorityencoder,sky90,16,1000,0.660731,85.260002,6.292,4.763870509999999 priorityencoder,sky90,64,2883,0.345292,590.940012,95.886,34.770904400000006 mult,tsmc28,128,1944,0.526,48099.11423,294000.0,56298.83200000001 priorityencoder,sky90,16,6481,0.166629,185.220003,132.902,35.8752237 -shiftleft,sky90,128,2726,0.529821,10217.480145,7890.0,4633.814466 comparator,sky90,128,3090,0.367729,2822.400054,890.508,395.676404 comparator,sky90,64,3190,0.330526,1324.960026,402.199,187.077716 flop,tsmc28,32,21114,0.048892,60.4799995,629.161,224.8885324 @@ -1738,7 +1703,6 @@ mux2,sky90,64,4060,0.245667,514.50001,165.954,163.614222 flop,tsmc28,8,20700,0.048892,15.12,157.268,55.120840799999996 priorityencoder,sky90,16,5306,0.18675999999999998,119.560002,50.466,16.098712 csa,sky90,128,5617,0.177898,4641.28009,3300.0,2384.7226899999996 -mux2,sky90,16,32187,0.183531,176.400002,104.015,339.899412 shiftleft,tsmc28,16,12292,0.08241899999999999,142.001999,686.111,38.489672999999996 priorityencoder,sky90,64,3124,0.320056,644.840013,160.041,46.056058400000005 inv,tsmc28,1,50000,0.015147,0.378,2.478,0.27658422000000005