This version of the library is deprecated, please use the new version Go to tool

EvoApprox8B - Approximate Adders and Multipliers Library

Multipliers

A library of approximate multipliers 32x32. The circuits were pareto-optimized for Power, Area and MRE.
  • MAE - mean absolute error
  • MSE - mean squared error
  • MRE - mean relative error
  • WCE - worst case error
  • WCE LIMIT - maximal WCE, formally proven (note that real WCE may be lower)
  • VAE - variance of absolute error
  • EP - error probability
Note that circuit non-functional parameters (power, delay, area) were determined using 45nm library. Functional parameters were determined using random simulation - except limit, which is formally proven.

Download all multipliers

Download Verilog module definition

If you use this work please refer the following paper:
CESKA Milan, MATYAS Jiri, MRAZEK Vojtech, SEKANINA Lukas, VASICEK Zdenek a VOJNAR Tomas. Approximating Complex Arithmetic Circuits with Formal Error Guarantees: 32-bit Multipliers Accomplished. In: Proceedings of 36th IEEE/ACM International Conference On Computer Aided Design (ICCAD). Irvine, CA. IEEE, 2017, pg. 416-423. ISBN 978-1-5386-3093-8.

Filters

Include accurate

Areafrom to
Delayfrom to
Powerfrom to
MREfrom to
EPfrom to

Circuit Area (45) Delay (45) Power (45) MAE MRE WCE LIMIT WCE LIMIT % EP OPS
mul32x32_00014988 μm24.470 ns10.46 mW15050284408.90.00 %18446744073709550.000001 %100.0 %Verilog C
mul32x32_00113069 μm24.530 ns9.07 mW21632574174.30.00 %18446744073709550.000001 %100.0 %Verilog C
mul32x32_00214758 μm24.030 ns10.38 mW25377300389.60.00 %18446744073709550.000001 %100.0 %Verilog C
mul32x32_00315629 μm24.410 ns11.31 mW16217300735.90.00 %18446744073709550.000001 %100.0 %Verilog C
mul32x32_00414601 μm24.190 ns10.30 mW23048418156.70.00 %18446744073709550.000001 %100.0 %Verilog C
mul32x32_00516918 μm24.350 ns11.93 mW21675480530.90.00 %18446744073709550.000001 %100.0 %Verilog C
mul32x32_00613484 μm23.900 ns9.32 mW54818640823.10.00 %36893488147419100.000002 %100.0 %Verilog C
mul32x32_00710455 μm23.970 ns7.45 mW47327050528.70.00 %36893488147419100.000002 %100.0 %Verilog C
mul32x32_00813376 μm24.230 ns9.32 mW36016846500.00.00 %36893488147419100.000002 %100.0 %Verilog C
mul32x32_00912797 μm23.910 ns8.31 mW251310691837.50.00 %184467440737095520.00001 %100.0 %Verilog C
mul32x32_01014170 μm23.800 ns9.33 mW262513246761.70.00 %184467440737095520.00001 %100.0 %Verilog C
mul32x32_0119852 μm23.790 ns6.59 mW373399490584.20.00 %368934881474191040.00002 %100.0 %Verilog C
mul32x32_0125992 μm23.450 ns4.85 mW591810484274.20.00 %368934881474191040.00002 %100.0 %Verilog C
mul32x32_01316000 μm23.660 ns11.23 mW553756233119.80.00 %368934881474191040.00002 %100.0 %Verilog C
mul32x32_01410425 μm23.430 ns6.97 mW619872635900.10.00 %368934881474191040.00002 %100.0 %Verilog C
mul32x32_0156380 μm23.420 ns4.68 mW897226394882.70.00 %922337203685477600.00005 %100.0 %Verilog C
mul32x32_0165560 μm23.190 ns4.32 mW979960893535.90.00 %922337203685477600.00005 %100.0 %Verilog C
mul32x32_0175501 μm23.580 ns4.59 mW2138212916832.50.00 %922337203685477600.00005 %100.0 %Verilog C
mul32x32_0186176 μm23.220 ns4.32 mW2284237534128.50.01 %1844674407370955200.0001 %100.0 %Verilog C
mul32x32_0194247 μm23.530 ns3.50 mW5020875852735.80.06 %3689348814741910400.0002 %100.0 %Verilog C
mul32x32_0204011 μm22.940 ns3.23 mW10223441675419.90.02 %9223372036854776320.0005 %100.0 %Verilog C
mul32x32_0214020 μm22.890 ns3.20 mW8393005615588.20.02 %9223372036854776320.0005 %100.0 %Verilog C
mul32x32_0224143 μm22.720 ns3.25 mW11061329579902.10.03 %9223372036854776320.0005 %100.0 %Verilog C
mul32x32_0233871 μm23.040 ns3.13 mW13579965158018.10.05 %9223372036854776320.0005 %100.0 %Verilog C
mul32x32_0243842 μm23.020 ns3.17 mW19256420493183.30.04 %9223372036854776320.0005 %100.0 %Verilog C
mul32x32_0254142 μm23.050 ns3.11 mW25599997588284.20.07 %18446744073709552640.001 %100.0 %Verilog C
mul32x32_0263613 μm23.080 ns2.82 mW25915162935397.00.07 %18446744073709552640.001 %100.0 %Verilog C
mul32x32_0273844 μm22.920 ns2.74 mW47095856567719.10.09 %36893488147419105280.002 %100.0 %Verilog C
mul32x32_0283947 μm22.990 ns2.77 mW33511556401385.60.08 %36893488147419105280.002 %100.0 %Verilog C
mul32x32_0293697 μm22.940 ns2.72 mW44584428242002.30.10 %36893488147419105280.002 %100.0 %Verilog C
mul32x32_0303210 μm22.280 ns2.51 mW55021749617028.00.17 %36893488147419105280.002 %100.0 %Verilog C
mul32x32_0313460 μm23.010 ns2.60 mW46726676440979.70.12 %36893488147419105280.002 %100.0 %Verilog C
mul32x32_0322912 μm22.750 ns2.21 mW162545951608376.50.31 %92233720368547758080.005 %100.0 %Verilog C
mul32x32_0333063 μm22.550 ns2.27 mW153038649913872.00.28 %92233720368547758080.005 %100.0 %Verilog C
mul32x32_0343129 μm22.630 ns2.34 mW149059810610824.80.26 %92233720368547758080.005 %100.0 %Verilog C
mul32x32_0352795 μm22.750 ns2.15 mW165344952926952.10.34 %92233720368547758080.005 %100.0 %Verilog C
mul32x32_0362839 μm22.700 ns2.17 mW157635011266171.30.38 %92233720368547758080.005 %100.0 %Verilog C
mul32x32_0373280 μm22.630 ns2.22 mW199909608383594.00.41 %184467440737095516160.01 %100.0 %Verilog C
mul32x32_0382707 μm22.680 ns1.97 mW215357919932424.70.32 %184467440737095516160.01 %100.0 %Verilog C
mul32x32_0393040 μm22.440 ns2.20 mW245913139314778.30.49 %184467440737095516160.01 %100.0 %Verilog C
mul32x32_0403138 μm22.260 ns2.18 mW296232352067075.30.48 %184467440737095516160.01 %100.0 %Verilog C
mul32x32_0412613 μm22.570 ns1.88 mW332807992140700.00.66 %184467440737095516160.01 %100.0 %Verilog C
mul32x32_0422307 μm22.190 ns1.71 mW488554375104327.10.93 %368934881474191032320.02 %100.0 %Verilog C
mul32x32_0432317 μm22.440 ns1.63 mW637576788074157.11.45 %368934881474191032320.02 %100.0 %Verilog C
mul32x32_0442212 μm22.450 ns1.60 mW641053997365433.41.25 %368934881474191032320.02 %100.0 %Verilog C
mul32x32_0452219 μm22.270 ns1.39 mW696507083600187.43.26 %922337203685477580800.05 %100.0 %Verilog C
mul32x32_0462049 μm22.460 ns1.38 mW868849187577007.92.24 %922337203685477580800.05 %100.0 %Verilog C
mul32x32_0471867 μm22.270 ns1.24 mW1201160722090766.84.84 %922337203685477580800.05 %100.0 %Verilog C
mul32x32_0481922 μm22.580 ns1.31 mW1015064664890547.82.75 %922337203685477580800.05 %100.0 %Verilog C
mul32x32_0492134 μm22.200 ns1.39 mW1208466017512107.83.62 %922337203685477580800.05 %100.0 %Verilog C
mul32x32_0502151 μm22.340 ns1.45 mW1540520509828062.21.82 %1844674407370955161600.1 %100.0 %Verilog C
mul32x32_0511714 μm22.210 ns1.14 mW1500040826856874.03.89 %1844674407370955161600.1 %100.0 %Verilog C
mul32x32_0521589 μm22.090 ns1.06 mW3337602853479244.59.14 %1844674407370955161600.1 %100.0 %Verilog C
mul32x32_0531576 μm22.030 ns1.05 mW3108264620885303.010.59 %1844674407370955161600.1 %100.0 %Verilog C
mul32x32_0542018 μm21.950 ns1.10 mW3442068564982690.07.90 %3689348814741910323200.2 %100.0 %Verilog C
mul32x32_0551648 μm22.020 ns1.02 mW4017833557107765.58.19 %3689348814741910323200.2 %100.0 %Verilog C
mul32x32_0561574 μm22.130 ns0.93 mW4805375431599626.013.50 %3689348814741910323200.2 %100.0 %Verilog C
mul32x32_0571478 μm22.060 ns0.88 mW4485281687646734.514.04 %3689348814741910323200.2 %100.0 %Verilog C
mul32x32_0581344 μm22.210 ns0.84 mW6655932388662105.017.16 %3689348814741910323200.2 %100.0 %Verilog C
mul32x32_0591366 μm21.980 ns0.87 mW5611539629342099.015.22 %3689348814741910323200.2 %100.0 %Verilog C
mul32x32_0601513 μm22.120 ns0.97 mW4824115491890895.010.92 %3689348814741910323200.2 %100.0 %Verilog C
mul32x32_0611150 μm21.750 ns0.69 mW10647482012080490.019.69 %9223372036854775808000.5 %100.0 %Verilog C
mul32x32_0621083 μm21.870 ns0.65 mW14784666561960574.033.88 %9223372036854775808000.5 %100.0 %Verilog C
mul32x32_0631141 μm21.770 ns0.69 mW15222148331255044.029.43 %9223372036854775808000.5 %100.0 %Verilog C
mul32x32_0641125 μm21.910 ns0.66 mW14259448732928656.033.21 %9223372036854775808000.5 %100.0 %Verilog C
mul32x32_0651311 μm21.650 ns0.71 mW14523504718189976.031.53 %9223372036854775808000.5 %100.0 %Verilog C
mul32x32_0661022 μm21.740 ns0.56 mW23024975278174052.060.41 %18446744073709551616001 %100.0 %Verilog C
mul32x32_067869 μm21.750 ns0.51 mW25343988977096948.041.25 %18446744073709551616001 %100.0 %Verilog C
mul32x32_068879 μm21.650 ns0.53 mW32770457350171664.061.04 %18446744073709551616001 %100.0 %Verilog C
mul32x32_069808 μm21.760 ns0.48 mW35262162734031276.059.90 %18446744073709551616001 %100.0 %Verilog C
mul32x32_070901 μm21.660 ns0.51 mW32427288552322236.073.00 %18446744073709551616001 %100.0 %Verilog C
mul32x32_071844 μm21.680 ns0.45 mW37548190765104584.087.53 %36893488147419103232002 %100.0 %Verilog C
mul32x32_072794 μm21.620 ns0.46 mW43916470950142072.089.18 %36893488147419103232002 %100.0 %Verilog C
mul32x32_073647 μm21.510 ns0.36 mW70287410808033720.0145.02 %36893488147419103232002 %100.0 %Verilog C
mul32x32_074737 μm21.640 ns0.39 mW51008789241174568.0107.69 %36893488147419103232002 %100.0 %Verilog C
mul32x32_075497 μm21.390 ns0.24 mW165259360231995424.01190.48 %92233720368547758080005 %100.0 %Verilog C
mul32x32_076517 μm21.320 ns0.25 mW132783207020258064.0304.62 %92233720368547758080005 %100.0 %Verilog C
mul32x32_077479 μm21.430 ns0.23 mW116565409620054176.0241.23 %92233720368547758080005 %100.0 %Verilog C
mul32x32_078500 μm21.300 ns0.23 mW174083938059875456.01490.78 %92233720368547758080005 %100.0 %Verilog C
mul32x32_079319 μm21.290 ns0.13 mW296427084392260992.0731.18 %1844674407370955161600010 %100.0 %Verilog C
mul32x32_080305 μm21.070 ns0.13 mW307645601825800128.0585.51 %1844674407370955161600010 %100.0 %Verilog C
mul32x32_081369 μm21.240 ns0.15 mW316764147389671488.0569.82 %1844674407370955161600010 %100.0 %Verilog C
mul32x32_082288 μm21.080 ns0.14 mW309229898834196672.0642.42 %1844674407370955161600010 %100.0 %Verilog C
mul32x32_083341 μm21.220 ns0.15 mW319409186504226880.0580.58 %1844674407370955161600010 %100.0 %Verilog C
mul32x32_084322 μm21.230 ns0.13 mW318483583594199872.0644.20 %1844674407370955161600010 %100.0 %Verilog C
mul32x32_085211 μm20.850 ns0.08 mW347225110390225728.0672.55 %2767011611056432742400015 %100.0 %Verilog C
mul32x32_086206 μm20.880 ns0.07 mW463088604825126784.01086.93 %2767011611056432742400015 %100.0 %Verilog C
mul32x32_087204 μm20.890 ns0.07 mW479504607215923136.01109.70 %2767011611056432742400015 %100.0 %Verilog C
mul32x32_088175 μm20.770 ns0.05 mW550417964720168512.01382.20 %2767011611056432742400015 %100.0 %Verilog C
mul32x32_089204 μm20.760 ns0.07 mW467288168949157952.02837.06 %2767011611056432742400015 %100.0 %Verilog C
mul32x32_090211 μm21.030 ns0.08 mW396041399581342208.0721.10 %2767011611056432742400015 %100.0 %Verilog C
mul32x32_091164 μm20.800 ns0.05 mW558019923315181184.01253.97 %2767011611056432742400015 %100.0 %Verilog C
mul32x32_092214 μm20.800 ns0.08 mW292263837371712192.0165.05 %2767011611056432742400015 %96.9 %Verilog C
mul32x32_093157 μm20.780 ns0.05 mW590210709363001216.01329.46 %3689348814741910323200020 %100.0 %Verilog C
mul32x32_094146 μm20.700 ns0.04 mW567238759059361728.01428.07 %3689348814741910323200020 %100.0 %Verilog C
mul32x32_095172 μm20.930 ns0.06 mW563815939743124608.0752.91 %3689348814741910323200020 %100.0 %Verilog C
mul32x32_096138 μm20.680 ns0.04 mW585785359732371840.01473.69 %3689348814741910323200020 %100.0 %Verilog C
mul32x32_097134 μm20.830 ns0.04 mW640158727941016320.01642.29 %3689348814741910323200020 %100.0 %Verilog C
mul32x32_098134 μm20.630 ns0.04 mW638204913282206336.01557.34 %3689348814741910323200020 %100.0 %Verilog C