update with mpw-5c hardened function generator
diff --git a/lef/user_project_wrapper.lef b/lef/user_project_wrapper.lef
index 1fd15e6..3381478 100644
--- a/lef/user_project_wrapper.lef
+++ b/lef/user_project_wrapper.lef
@@ -4400,7 +4400,7 @@
     END
     PORT
       LAYER met4 ;
-        RECT 1088.970 1430.910 1092.070 3529.150 ;
+        RECT 1088.970 1470.910 1092.070 3529.150 ;
     END
     PORT
       LAYER met4 ;
@@ -4588,7 +4588,7 @@
     END
     PORT
       LAYER met4 ;
-        RECT 1107.570 1430.910 1110.670 3538.750 ;
+        RECT 1107.570 1470.910 1110.670 3538.750 ;
     END
     PORT
       LAYER met4 ;
@@ -4776,7 +4776,7 @@
     END
     PORT
       LAYER met4 ;
-        RECT 1126.170 1430.910 1129.270 3548.350 ;
+        RECT 1126.170 1470.910 1129.270 3548.350 ;
     END
     PORT
       LAYER met4 ;
@@ -4960,7 +4960,7 @@
     END
     PORT
       LAYER met4 ;
-        RECT 1144.770 1430.910 1147.870 3557.950 ;
+        RECT 1144.770 1470.910 1147.870 3557.950 ;
     END
     PORT
       LAYER met4 ;
@@ -5132,11 +5132,11 @@
     END
     PORT
       LAYER met4 ;
-        RECT 1036.170 1430.910 1039.270 3548.350 ;
+        RECT 1036.170 1470.910 1039.270 3548.350 ;
     END
     PORT
       LAYER met4 ;
-        RECT 1216.170 1430.910 1219.270 3548.350 ;
+        RECT 1216.170 1470.910 1219.270 3548.350 ;
     END
     PORT
       LAYER met4 ;
@@ -5284,6 +5284,10 @@
     END
     PORT
       LAYER met4 ;
+        RECT 1234.770 -38.270 1237.870 1190.910 ;
+    END
+    PORT
+      LAYER met4 ;
         RECT -43.630 -38.270 -40.530 3557.950 ;
     END
     PORT
@@ -5308,11 +5312,11 @@
     END
     PORT
       LAYER met4 ;
-        RECT 1054.770 1430.910 1057.870 3557.950 ;
+        RECT 1054.770 1470.910 1057.870 3557.950 ;
     END
     PORT
       LAYER met4 ;
-        RECT 1234.770 -38.270 1237.870 3557.950 ;
+        RECT 1234.770 1470.910 1237.870 3557.950 ;
     END
     PORT
       LAYER met4 ;
@@ -5492,11 +5496,11 @@
     END
     PORT
       LAYER met4 ;
-        RECT 998.970 1430.910 1002.070 3529.150 ;
+        RECT 998.970 1470.910 1002.070 3529.150 ;
     END
     PORT
       LAYER met4 ;
-        RECT 1178.970 1430.910 1182.070 3529.150 ;
+        RECT 1178.970 1470.910 1182.070 3529.150 ;
     END
     PORT
       LAYER met4 ;
@@ -5672,11 +5676,11 @@
     END
     PORT
       LAYER met4 ;
-        RECT 1017.570 1430.910 1020.670 3538.750 ;
+        RECT 1017.570 1470.910 1020.670 3538.750 ;
     END
     PORT
       LAYER met4 ;
-        RECT 1197.570 1430.910 1200.670 3538.750 ;
+        RECT 1197.570 1470.910 1200.670 3538.750 ;
     END
     PORT
       LAYER met4 ;
@@ -6569,9 +6573,9 @@
   END wbs_we_i
   OBS
       LAYER li1 ;
-        RECT 1006.520 490.795 1399.655 1418.765 ;
+        RECT 1006.520 490.795 1399.655 1448.515 ;
       LAYER met1 ;
-        RECT 2.830 15.000 2902.530 3515.220 ;
+        RECT 2.830 17.040 2915.870 3515.220 ;
       LAYER met2 ;
         RECT 2.860 3517.320 40.150 3518.050 ;
         RECT 41.270 3517.320 121.110 3518.050 ;
@@ -6609,8 +6613,8 @@
         RECT 2636.590 3517.320 2716.890 3518.050 ;
         RECT 2718.010 3517.320 2797.850 3518.050 ;
         RECT 2798.970 3517.320 2878.810 3518.050 ;
-        RECT 2879.930 3517.320 2902.510 3518.050 ;
-        RECT 2.860 2.680 2902.510 3517.320 ;
+        RECT 2879.930 3517.320 2915.850 3518.050 ;
+        RECT 2.860 2.680 2915.850 3517.320 ;
         RECT 3.550 1.630 7.950 2.680 ;
         RECT 9.070 1.630 13.930 2.680 ;
         RECT 15.050 1.630 19.910 2.680 ;
@@ -7101,9 +7105,12 @@
         RECT 2882.230 1.630 2886.630 2.680 ;
         RECT 2887.750 1.630 2892.610 2.680 ;
         RECT 2893.730 1.630 2898.590 2.680 ;
-        RECT 2899.710 1.630 2902.510 2.680 ;
+        RECT 2899.710 1.630 2904.570 2.680 ;
+        RECT 2905.690 1.630 2910.550 2.680 ;
+        RECT 2911.670 1.630 2915.850 2.680 ;
       LAYER met3 ;
-        RECT 2.800 3485.700 2917.200 3486.185 ;
+        RECT 2.800 3487.020 2917.930 3487.545 ;
+        RECT 2.800 3485.700 2917.200 3487.020 ;
         RECT 2.400 3485.020 2917.200 3485.700 ;
         RECT 2.400 3422.420 2917.930 3485.020 ;
         RECT 2.800 3420.420 2917.930 3422.420 ;
@@ -7313,104 +7320,110 @@
         RECT 2.800 95.900 2917.930 97.900 ;
         RECT 2.400 33.980 2917.930 95.900 ;
         RECT 2.400 33.300 2917.200 33.980 ;
-        RECT 2.800 32.135 2917.200 33.300 ;
+        RECT 2.800 31.980 2917.200 33.300 ;
+        RECT 2.800 31.300 2917.930 31.980 ;
+        RECT 2.400 23.975 2917.930 31.300 ;
       LAYER met4 ;
-        RECT 344.620 882.600 368.570 1430.545 ;
-        RECT 372.470 882.600 387.170 1430.545 ;
-        RECT 391.070 882.600 405.770 1430.545 ;
-        RECT 409.670 882.600 424.370 1430.545 ;
-        RECT 428.270 882.600 458.570 1430.545 ;
-        RECT 462.470 882.600 477.170 1430.545 ;
-        RECT 481.070 882.600 495.770 1430.545 ;
-        RECT 499.670 882.600 514.370 1430.545 ;
-        RECT 518.270 882.600 548.570 1430.545 ;
-        RECT 552.470 882.600 567.170 1430.545 ;
-        RECT 571.070 882.600 585.770 1430.545 ;
-        RECT 589.670 882.600 604.370 1430.545 ;
-        RECT 608.270 882.600 638.570 1430.545 ;
-        RECT 642.470 882.600 657.170 1430.545 ;
-        RECT 661.070 882.600 675.770 1430.545 ;
-        RECT 679.670 882.600 694.370 1430.545 ;
-        RECT 698.270 882.600 728.570 1430.545 ;
-        RECT 732.470 882.600 747.170 1430.545 ;
-        RECT 751.070 882.600 765.770 1430.545 ;
-        RECT 769.670 882.600 784.370 1430.545 ;
-        RECT 788.270 882.600 818.570 1430.545 ;
-        RECT 822.470 882.600 837.170 1430.545 ;
+        RECT 344.620 882.600 368.570 3487.545 ;
+        RECT 372.470 882.600 387.170 3487.545 ;
+        RECT 391.070 882.600 405.770 3487.545 ;
+        RECT 409.670 882.600 424.370 3487.545 ;
+        RECT 428.270 882.600 458.570 3487.545 ;
+        RECT 462.470 882.600 477.170 3487.545 ;
+        RECT 481.070 882.600 495.770 3487.545 ;
+        RECT 499.670 882.600 514.370 3487.545 ;
+        RECT 518.270 882.600 548.570 3487.545 ;
+        RECT 552.470 882.600 567.170 3487.545 ;
+        RECT 571.070 882.600 585.770 3487.545 ;
+        RECT 589.670 882.600 604.370 3487.545 ;
+        RECT 608.270 882.600 638.570 3487.545 ;
+        RECT 642.470 882.600 657.170 3487.545 ;
+        RECT 661.070 882.600 675.770 3487.545 ;
+        RECT 679.670 882.600 694.370 3487.545 ;
+        RECT 698.270 882.600 728.570 3487.545 ;
+        RECT 732.470 882.600 747.170 3487.545 ;
+        RECT 751.070 882.600 765.770 3487.545 ;
+        RECT 769.670 882.600 784.370 3487.545 ;
+        RECT 788.270 882.600 818.570 3487.545 ;
+        RECT 822.470 882.600 837.170 3487.545 ;
         RECT 344.620 465.900 837.170 882.600 ;
-        RECT 344.620 455.095 368.570 465.900 ;
-        RECT 372.470 455.095 387.170 465.900 ;
-        RECT 391.070 455.095 405.770 465.900 ;
-        RECT 409.670 455.095 424.370 465.900 ;
-        RECT 428.270 455.095 458.570 465.900 ;
-        RECT 462.470 455.095 477.170 465.900 ;
-        RECT 481.070 455.095 495.770 465.900 ;
-        RECT 499.670 455.095 514.370 465.900 ;
-        RECT 518.270 455.095 548.570 465.900 ;
-        RECT 552.470 455.095 567.170 465.900 ;
-        RECT 571.070 455.095 585.770 465.900 ;
-        RECT 589.670 455.095 604.370 465.900 ;
-        RECT 608.270 455.095 638.570 465.900 ;
-        RECT 642.470 455.095 657.170 465.900 ;
-        RECT 661.070 455.095 675.770 465.900 ;
-        RECT 679.670 455.095 694.370 465.900 ;
-        RECT 698.270 455.095 728.570 465.900 ;
-        RECT 732.470 455.095 747.170 465.900 ;
-        RECT 751.070 455.095 765.770 465.900 ;
-        RECT 769.670 455.095 784.370 465.900 ;
-        RECT 788.270 455.095 818.570 465.900 ;
-        RECT 822.470 455.095 837.170 465.900 ;
-        RECT 841.070 455.095 855.770 1430.545 ;
-        RECT 859.670 455.095 874.370 1430.545 ;
-        RECT 878.270 455.095 908.570 1430.545 ;
-        RECT 912.470 455.095 927.170 1430.545 ;
-        RECT 931.070 455.095 945.770 1430.545 ;
-        RECT 949.670 455.095 964.370 1430.545 ;
-        RECT 968.270 1430.510 998.570 1430.545 ;
-        RECT 1002.470 1430.510 1017.170 1430.545 ;
-        RECT 1021.070 1430.510 1035.770 1430.545 ;
-        RECT 1039.670 1430.510 1054.370 1430.545 ;
-        RECT 1058.270 1430.510 1088.570 1430.545 ;
-        RECT 1092.470 1430.510 1107.170 1430.545 ;
-        RECT 1111.070 1430.510 1125.770 1430.545 ;
-        RECT 1129.670 1430.510 1144.370 1430.545 ;
-        RECT 1148.270 1430.510 1178.570 1430.545 ;
-        RECT 1182.470 1430.510 1197.170 1430.545 ;
-        RECT 1201.070 1430.510 1215.770 1430.545 ;
-        RECT 1219.670 1430.510 1234.370 1430.545 ;
-        RECT 968.270 1191.310 1234.370 1430.510 ;
-        RECT 968.270 455.095 998.570 1191.310 ;
-        RECT 1002.470 455.095 1017.170 1191.310 ;
-        RECT 1021.070 455.095 1035.770 1191.310 ;
-        RECT 1039.670 455.095 1054.370 1191.310 ;
+        RECT 344.620 23.975 368.570 465.900 ;
+        RECT 372.470 23.975 387.170 465.900 ;
+        RECT 391.070 23.975 405.770 465.900 ;
+        RECT 409.670 23.975 424.370 465.900 ;
+        RECT 428.270 23.975 458.570 465.900 ;
+        RECT 462.470 23.975 477.170 465.900 ;
+        RECT 481.070 23.975 495.770 465.900 ;
+        RECT 499.670 23.975 514.370 465.900 ;
+        RECT 518.270 23.975 548.570 465.900 ;
+        RECT 552.470 23.975 567.170 465.900 ;
+        RECT 571.070 23.975 585.770 465.900 ;
+        RECT 589.670 23.975 604.370 465.900 ;
+        RECT 608.270 23.975 638.570 465.900 ;
+        RECT 642.470 23.975 657.170 465.900 ;
+        RECT 661.070 23.975 675.770 465.900 ;
+        RECT 679.670 23.975 694.370 465.900 ;
+        RECT 698.270 23.975 728.570 465.900 ;
+        RECT 732.470 23.975 747.170 465.900 ;
+        RECT 751.070 23.975 765.770 465.900 ;
+        RECT 769.670 23.975 784.370 465.900 ;
+        RECT 788.270 23.975 818.570 465.900 ;
+        RECT 822.470 23.975 837.170 465.900 ;
+        RECT 841.070 23.975 855.770 3487.545 ;
+        RECT 859.670 23.975 874.370 3487.545 ;
+        RECT 878.270 23.975 908.570 3487.545 ;
+        RECT 912.470 23.975 927.170 3487.545 ;
+        RECT 931.070 23.975 945.770 3487.545 ;
+        RECT 949.670 23.975 964.370 3487.545 ;
+        RECT 968.270 1470.510 998.570 3487.545 ;
+        RECT 1002.470 1470.510 1017.170 3487.545 ;
+        RECT 1021.070 1470.510 1035.770 3487.545 ;
+        RECT 1039.670 1470.510 1054.370 3487.545 ;
+        RECT 1058.270 1470.510 1088.570 3487.545 ;
+        RECT 1092.470 1470.510 1107.170 3487.545 ;
+        RECT 1111.070 1470.510 1125.770 3487.545 ;
+        RECT 1129.670 1470.510 1144.370 3487.545 ;
+        RECT 1148.270 1470.510 1178.570 3487.545 ;
+        RECT 1182.470 1470.510 1197.170 3487.545 ;
+        RECT 1201.070 1470.510 1215.770 3487.545 ;
+        RECT 1219.670 1470.510 1234.370 3487.545 ;
+        RECT 1238.270 1470.510 1268.570 3487.545 ;
+        RECT 968.270 1191.310 1268.570 1470.510 ;
+        RECT 968.270 23.975 998.570 1191.310 ;
+        RECT 1002.470 23.975 1017.170 1191.310 ;
+        RECT 1021.070 23.975 1035.770 1191.310 ;
+        RECT 1039.670 23.975 1054.370 1191.310 ;
         RECT 1058.270 889.600 1088.570 1191.310 ;
         RECT 1092.470 889.600 1107.170 1191.310 ;
         RECT 1111.070 889.600 1125.770 1191.310 ;
         RECT 1129.670 889.600 1144.370 1191.310 ;
         RECT 1148.270 889.600 1178.570 1191.310 ;
         RECT 1058.270 470.400 1178.570 889.600 ;
-        RECT 1058.270 455.095 1088.570 470.400 ;
-        RECT 1092.470 455.095 1107.170 470.400 ;
-        RECT 1111.070 455.095 1125.770 470.400 ;
-        RECT 1129.670 455.095 1144.370 470.400 ;
-        RECT 1148.270 455.095 1178.570 470.400 ;
-        RECT 1182.470 455.095 1197.170 1191.310 ;
-        RECT 1201.070 455.095 1215.770 1191.310 ;
-        RECT 1219.670 455.095 1234.370 1191.310 ;
-        RECT 1238.270 455.095 1268.570 1430.545 ;
-        RECT 1272.470 455.095 1287.170 1430.545 ;
-        RECT 1291.070 455.095 1305.770 1430.545 ;
-        RECT 1309.670 455.095 1324.370 1430.545 ;
-        RECT 1328.270 889.600 1358.570 1430.545 ;
-        RECT 1362.470 889.600 1377.170 1430.545 ;
-        RECT 1381.070 889.600 1395.770 1430.545 ;
-        RECT 1399.670 889.600 1414.370 1430.545 ;
+        RECT 1058.270 23.975 1088.570 470.400 ;
+        RECT 1092.470 23.975 1107.170 470.400 ;
+        RECT 1111.070 23.975 1125.770 470.400 ;
+        RECT 1129.670 23.975 1144.370 470.400 ;
+        RECT 1148.270 23.975 1178.570 470.400 ;
+        RECT 1182.470 23.975 1197.170 1191.310 ;
+        RECT 1201.070 23.975 1215.770 1191.310 ;
+        RECT 1219.670 23.975 1234.370 1191.310 ;
+        RECT 1238.270 23.975 1268.570 1191.310 ;
+        RECT 1272.470 23.975 1287.170 3487.545 ;
+        RECT 1291.070 23.975 1305.770 3487.545 ;
+        RECT 1309.670 23.975 1324.370 3487.545 ;
+        RECT 1328.270 889.600 1358.570 3487.545 ;
+        RECT 1362.470 889.600 1377.170 3487.545 ;
+        RECT 1381.070 889.600 1395.770 3487.545 ;
+        RECT 1399.670 889.600 1414.370 3487.545 ;
         RECT 1328.270 470.400 1414.370 889.600 ;
-        RECT 1328.270 455.095 1358.570 470.400 ;
-        RECT 1362.470 455.095 1377.170 470.400 ;
-        RECT 1381.070 455.095 1395.770 470.400 ;
-        RECT 1399.670 455.095 1414.370 470.400 ;
-        RECT 1418.270 455.095 1445.025 1430.545 ;
+        RECT 1328.270 23.975 1358.570 470.400 ;
+        RECT 1362.470 23.975 1377.170 470.400 ;
+        RECT 1381.070 23.975 1395.770 470.400 ;
+        RECT 1399.670 23.975 1414.370 470.400 ;
+        RECT 1418.270 23.975 1448.570 3487.545 ;
+        RECT 1452.470 23.975 1467.170 3487.545 ;
+        RECT 1471.070 23.975 1485.770 3487.545 ;
+        RECT 1489.670 23.975 1493.785 3487.545 ;
   END
 END user_project_wrapper
 END LIBRARY