New cells
diff --git a/cells/gds/AND2X1.gds b/cells/gds/AND2X1.gds index 5341e19..25f5171 100644 --- a/cells/gds/AND2X1.gds +++ b/cells/gds/AND2X1.gds Binary files differ
diff --git a/cells/gds/AND2X2.gds b/cells/gds/AND2X2.gds index bb3bd73..6e7b85a 100644 --- a/cells/gds/AND2X2.gds +++ b/cells/gds/AND2X2.gds Binary files differ
diff --git a/cells/gds/AOI21X1.gds b/cells/gds/AOI21X1.gds index cde059d..78183f9 100644 --- a/cells/gds/AOI21X1.gds +++ b/cells/gds/AOI21X1.gds Binary files differ
diff --git a/cells/gds/AOI22X1.gds b/cells/gds/AOI22X1.gds index 7998a40..d66085e 100644 --- a/cells/gds/AOI22X1.gds +++ b/cells/gds/AOI22X1.gds Binary files differ
diff --git a/cells/gds/BUFX2.gds b/cells/gds/BUFX2.gds index 9869800..8fe000a 100644 --- a/cells/gds/BUFX2.gds +++ b/cells/gds/BUFX2.gds Binary files differ
diff --git a/cells/gds/HAX1.gds b/cells/gds/HAX1.gds index bd5f7f8..4e2722b 100644 --- a/cells/gds/HAX1.gds +++ b/cells/gds/HAX1.gds Binary files differ
diff --git a/cells/gds/INV.gds b/cells/gds/INV.gds index d790f7f..256fc7e 100644 --- a/cells/gds/INV.gds +++ b/cells/gds/INV.gds Binary files differ
diff --git a/cells/gds/INVX1.gds b/cells/gds/INVX1.gds index 2c556dd..5c6ce84 100644 --- a/cells/gds/INVX1.gds +++ b/cells/gds/INVX1.gds Binary files differ
diff --git a/cells/gds/INVX2.gds b/cells/gds/INVX2.gds index 55b1489..e16a3d2 100644 --- a/cells/gds/INVX2.gds +++ b/cells/gds/INVX2.gds Binary files differ
diff --git a/cells/gds/INVX4.gds b/cells/gds/INVX4.gds index 30b14dc..a9afbb1 100644 --- a/cells/gds/INVX4.gds +++ b/cells/gds/INVX4.gds Binary files differ
diff --git a/cells/gds/INVX8.gds b/cells/gds/INVX8.gds index eb790b3..fe3ca26 100644 --- a/cells/gds/INVX8.gds +++ b/cells/gds/INVX8.gds Binary files differ
diff --git a/cells/gds/MUX2X1.gds b/cells/gds/MUX2X1.gds index e23f388..43fcd7c 100644 --- a/cells/gds/MUX2X1.gds +++ b/cells/gds/MUX2X1.gds Binary files differ
diff --git a/cells/gds/NAND2X1.gds b/cells/gds/NAND2X1.gds index 8fdbb58..fe8c92f 100644 --- a/cells/gds/NAND2X1.gds +++ b/cells/gds/NAND2X1.gds Binary files differ
diff --git a/cells/gds/NAND3X1.gds b/cells/gds/NAND3X1.gds index 907abca..20ca0a3 100644 --- a/cells/gds/NAND3X1.gds +++ b/cells/gds/NAND3X1.gds Binary files differ
diff --git a/cells/gds/NOR2X1.gds b/cells/gds/NOR2X1.gds index 899eae3..9209c5a 100644 --- a/cells/gds/NOR2X1.gds +++ b/cells/gds/NOR2X1.gds Binary files differ
diff --git a/cells/gds/OAI21X1.gds b/cells/gds/OAI21X1.gds index d338c37..4781dce 100644 --- a/cells/gds/OAI21X1.gds +++ b/cells/gds/OAI21X1.gds Binary files differ
diff --git a/cells/gds/OAI22X1.gds b/cells/gds/OAI22X1.gds index 6206f02..4b1d82a 100644 --- a/cells/gds/OAI22X1.gds +++ b/cells/gds/OAI22X1.gds Binary files differ
diff --git a/cells/gds/OR2X1.gds b/cells/gds/OR2X1.gds index 8b2fc8e..f545eeb 100644 --- a/cells/gds/OR2X1.gds +++ b/cells/gds/OR2X1.gds Binary files differ
diff --git a/cells/gds/XNOR2X1.gds b/cells/gds/XNOR2X1.gds deleted file mode 100644 index 5a3415e..0000000 --- a/cells/gds/XNOR2X1.gds +++ /dev/null Binary files differ
diff --git a/cells/lef/AND2X1.lef b/cells/lef/AND2X1.lef index 593e5ef..76f6401 100644 --- a/cells/lef/AND2X1.lef +++ b/cells/lef/AND2X1.lef
@@ -16,25 +16,26 @@ PORT LAYER met1 ; RECT 0.000 3.090 5.760 3.570 ; - RECT 0.580 3.060 0.870 3.090 ; - RECT 0.580 2.890 0.640 3.060 ; - RECT 0.810 2.890 0.870 3.060 ; - RECT 0.580 2.830 0.870 2.890 ; - RECT 3.220 3.060 3.510 3.090 ; - RECT 3.220 2.890 3.280 3.060 ; - RECT 3.450 2.890 3.510 3.060 ; - RECT 3.220 2.830 3.510 2.890 ; + RECT 0.580 3.010 0.870 3.090 ; + RECT 0.580 2.840 0.640 3.010 ; + RECT 0.810 2.840 0.870 3.010 ; + RECT 0.580 2.780 0.870 2.840 ; + RECT 3.220 3.010 3.510 3.090 ; + RECT 3.220 2.840 3.280 3.010 ; + RECT 3.450 2.840 3.510 3.010 ; + RECT 3.220 2.780 3.510 2.840 ; END END vdd PIN gnd DIRECTION INOUT ; - USE GROUND ; + USE POWER ; SHAPE ABUTMENT ; PORT LAYER met1 ; - RECT 3.220 0.360 3.510 0.420 ; - RECT 3.220 0.240 3.280 0.360 ; - RECT 3.450 0.240 3.510 0.360 ; + RECT 3.220 0.490 3.510 0.550 ; + RECT 3.220 0.320 3.280 0.490 ; + RECT 3.450 0.320 3.510 0.490 ; + RECT 3.220 0.240 3.510 0.320 ; RECT 0.000 -0.240 5.760 0.240 ; END END gnd @@ -44,115 +45,112 @@ SHAPE ABUTMENT ; PORT LAYER met1 ; - RECT 4.660 2.150 4.950 2.440 ; - RECT 4.730 0.690 4.870 2.150 ; - RECT 4.660 0.400 4.950 0.690 ; + RECT 4.660 2.200 4.950 2.490 ; + RECT 4.730 0.730 4.870 2.200 ; + RECT 4.660 0.440 4.950 0.730 ; END END Y - PIN B - DIRECTION INOUT ; - USE SIGNAL ; - SHAPE ABUTMENT ; - PORT - LAYER met1 ; - RECT 2.740 1.750 3.030 2.040 ; - RECT 2.810 1.090 2.950 1.750 ; - RECT 2.740 0.800 3.030 1.090 ; - END - END B PIN A DIRECTION INOUT ; USE SIGNAL ; SHAPE ABUTMENT ; PORT LAYER met1 ; - RECT 1.300 1.750 1.590 2.040 ; - RECT 1.370 1.090 1.510 1.750 ; - RECT 1.300 0.800 1.590 1.090 ; + RECT 1.300 1.780 1.590 2.070 ; + RECT 1.370 1.140 1.510 1.780 ; + RECT 1.300 0.850 1.590 1.140 ; END END A + PIN B + DIRECTION INOUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER met1 ; + RECT 2.740 1.780 3.030 2.070 ; + END + END B OBS LAYER li1 ; - RECT 0.560 3.060 0.890 3.140 ; - RECT 0.560 2.890 0.640 3.060 ; - RECT 0.810 2.890 0.890 3.060 ; - RECT 0.560 2.810 0.890 2.890 ; - RECT 3.200 3.060 3.530 3.140 ; - RECT 3.200 2.890 3.280 3.060 ; - RECT 3.450 2.890 3.530 3.060 ; - RECT 3.200 2.810 3.530 2.890 ; - RECT 1.760 2.380 2.090 2.460 ; - RECT 1.760 2.230 1.840 2.380 ; - RECT 1.780 2.210 1.840 2.230 ; - RECT 2.010 2.210 2.090 2.380 ; - RECT 4.640 2.380 4.970 2.460 ; - RECT 4.640 2.230 4.720 2.380 ; - RECT 1.780 2.130 2.090 2.210 ; - RECT 4.660 2.210 4.720 2.230 ; - RECT 4.890 2.210 4.970 2.380 ; - RECT 4.660 2.130 4.970 2.210 ; - RECT 1.280 1.980 1.610 2.060 ; - RECT 1.280 1.810 1.360 1.980 ; - RECT 1.530 1.810 1.610 1.980 ; - RECT 1.280 1.730 1.610 1.810 ; - RECT 2.720 1.980 3.050 2.060 ; - RECT 2.720 1.810 2.800 1.980 ; - RECT 2.970 1.810 3.050 1.980 ; - RECT 2.720 1.730 3.050 1.810 ; - RECT 4.160 1.980 4.490 2.060 ; - RECT 4.160 1.810 4.240 1.980 ; - RECT 4.410 1.810 4.490 1.980 ; - RECT 4.160 1.730 4.490 1.810 ; - RECT 1.280 1.030 1.610 1.110 ; - RECT 1.280 0.880 1.360 1.030 ; - RECT 1.300 0.860 1.360 0.880 ; - RECT 1.530 0.860 1.610 1.030 ; - RECT 1.300 0.780 1.610 0.860 ; - RECT 2.720 1.030 3.050 1.110 ; - RECT 2.720 0.860 2.800 1.030 ; - RECT 2.970 0.860 3.050 1.030 ; - RECT 2.720 0.780 3.050 0.860 ; - RECT 4.160 1.030 4.490 1.110 ; - RECT 4.160 0.860 4.240 1.030 ; - RECT 4.410 0.860 4.490 1.030 ; - RECT 4.160 0.780 4.490 0.860 ; - RECT 0.800 0.630 1.130 0.710 ; - RECT 0.800 0.460 0.880 0.630 ; - RECT 1.050 0.460 1.130 0.630 ; - RECT 4.660 0.630 4.970 0.710 ; - RECT 4.660 0.610 4.720 0.630 ; - RECT 0.800 0.380 1.130 0.460 ; - RECT 4.640 0.460 4.720 0.610 ; - RECT 4.890 0.460 4.970 0.630 ; - RECT 3.200 0.360 3.530 0.440 ; - RECT 4.640 0.380 4.970 0.460 ; - RECT 3.200 0.190 3.280 0.360 ; - RECT 3.450 0.190 3.530 0.360 ; - RECT 3.200 0.110 3.530 0.190 ; + RECT 0.560 3.010 0.890 3.090 ; + RECT 0.560 2.840 0.640 3.010 ; + RECT 0.810 2.840 0.890 3.010 ; + RECT 0.560 2.760 0.890 2.840 ; + RECT 3.200 3.010 3.530 3.090 ; + RECT 3.200 2.840 3.280 3.010 ; + RECT 3.450 2.840 3.530 3.010 ; + RECT 3.200 2.760 3.530 2.840 ; + RECT 1.760 2.430 2.090 2.510 ; + RECT 1.760 2.260 1.840 2.430 ; + RECT 2.010 2.260 2.090 2.430 ; + RECT 4.640 2.430 4.970 2.510 ; + RECT 4.640 2.260 4.720 2.430 ; + RECT 4.890 2.260 4.970 2.430 ; + RECT 1.780 2.180 2.090 2.260 ; + RECT 4.660 2.180 4.970 2.260 ; + RECT 1.280 2.010 1.610 2.090 ; + RECT 1.280 1.840 1.360 2.010 ; + RECT 1.530 1.840 1.610 2.010 ; + RECT 1.280 1.760 1.610 1.840 ; + RECT 2.720 2.010 3.050 2.090 ; + RECT 2.720 1.840 2.800 2.010 ; + RECT 2.970 1.840 3.050 2.010 ; + RECT 2.720 1.760 3.050 1.840 ; + RECT 4.160 2.010 4.490 2.090 ; + RECT 4.160 1.840 4.240 2.010 ; + RECT 4.410 1.840 4.490 2.010 ; + RECT 4.160 1.760 4.490 1.840 ; + RECT 2.800 1.160 2.970 1.760 ; + RECT 1.280 1.080 1.610 1.160 ; + RECT 1.280 0.920 1.360 1.080 ; + RECT 1.300 0.910 1.360 0.920 ; + RECT 1.530 0.910 1.610 1.080 ; + RECT 1.300 0.830 1.610 0.910 ; + RECT 2.720 1.080 3.050 1.160 ; + RECT 2.720 0.910 2.800 1.080 ; + RECT 2.970 0.910 3.050 1.080 ; + RECT 2.720 0.830 3.050 0.910 ; + RECT 4.160 1.080 4.490 1.160 ; + RECT 4.160 0.910 4.240 1.080 ; + RECT 4.410 0.910 4.490 1.080 ; + RECT 4.160 0.830 4.490 0.910 ; + RECT 0.800 0.670 1.130 0.750 ; + RECT 0.800 0.500 0.880 0.670 ; + RECT 1.050 0.500 1.130 0.670 ; + RECT 4.660 0.670 4.970 0.750 ; + RECT 4.660 0.660 4.720 0.670 ; + RECT 0.800 0.420 1.130 0.500 ; + RECT 3.200 0.490 3.530 0.570 ; + RECT 3.200 0.320 3.280 0.490 ; + RECT 3.450 0.320 3.530 0.490 ; + RECT 4.640 0.500 4.720 0.660 ; + RECT 4.890 0.500 4.970 0.670 ; + RECT 4.640 0.420 4.970 0.500 ; + RECT 3.200 0.240 3.530 0.320 ; LAYER met1 ; - RECT 1.780 2.380 2.070 2.440 ; - RECT 1.780 2.370 1.840 2.380 ; - RECT 0.890 2.230 1.840 2.370 ; - RECT 0.890 0.690 1.030 2.230 ; - RECT 1.780 2.210 1.840 2.230 ; - RECT 2.010 2.370 2.070 2.380 ; - RECT 2.010 2.230 4.390 2.370 ; - RECT 2.010 2.210 2.070 2.230 ; - RECT 1.780 2.150 2.070 2.210 ; - RECT 4.250 2.040 4.390 2.230 ; - RECT 4.180 1.980 4.470 2.040 ; - RECT 4.180 1.810 4.240 1.980 ; - RECT 4.410 1.810 4.470 1.980 ; - RECT 4.180 1.750 4.470 1.810 ; - RECT 4.250 1.090 4.390 1.750 ; - RECT 4.180 1.030 4.470 1.090 ; - RECT 4.180 0.860 4.240 1.030 ; - RECT 4.410 0.860 4.470 1.030 ; - RECT 4.180 0.800 4.470 0.860 ; - RECT 0.820 0.630 1.110 0.690 ; - RECT 0.820 0.460 0.880 0.630 ; - RECT 1.050 0.460 1.110 0.630 ; - RECT 0.820 0.400 1.110 0.460 ; + RECT 1.780 2.430 2.070 2.490 ; + RECT 1.780 2.260 1.840 2.430 ; + RECT 2.010 2.260 2.070 2.430 ; + RECT 1.780 2.200 2.070 2.260 ; + RECT 1.850 1.060 1.990 2.200 ; + RECT 4.180 2.010 4.470 2.070 ; + RECT 4.180 1.840 4.240 2.010 ; + RECT 4.410 1.840 4.470 2.010 ; + RECT 4.180 1.780 4.470 1.840 ; + RECT 4.250 1.140 4.390 1.780 ; + RECT 4.180 1.080 4.470 1.140 ; + RECT 4.180 1.060 4.240 1.080 ; + RECT 1.850 0.920 4.240 1.060 ; + RECT 0.820 0.670 1.110 0.730 ; + RECT 0.820 0.500 0.880 0.670 ; + RECT 1.050 0.660 1.110 0.670 ; + RECT 1.850 0.660 1.990 0.920 ; + RECT 4.180 0.910 4.240 0.920 ; + RECT 4.410 0.910 4.470 1.080 ; + RECT 4.180 0.850 4.470 0.910 ; + RECT 1.050 0.520 1.990 0.660 ; + RECT 1.050 0.500 1.110 0.520 ; + RECT 0.820 0.440 1.110 0.500 ; END END AND2X1 END LIBRARY
diff --git a/cells/lef/AND2X2.lef b/cells/lef/AND2X2.lef index 8e5614b..3dc0621 100644 --- a/cells/lef/AND2X2.lef +++ b/cells/lef/AND2X2.lef
@@ -16,25 +16,26 @@ PORT LAYER met1 ; RECT 0.000 3.090 5.760 3.570 ; - RECT 0.580 3.060 0.870 3.090 ; - RECT 0.580 2.890 0.640 3.060 ; - RECT 0.810 2.890 0.870 3.060 ; - RECT 0.580 2.830 0.870 2.890 ; - RECT 3.220 3.060 3.510 3.090 ; - RECT 3.220 2.890 3.280 3.060 ; - RECT 3.450 2.890 3.510 3.060 ; - RECT 3.220 2.830 3.510 2.890 ; + RECT 0.580 3.010 0.870 3.090 ; + RECT 0.580 2.840 0.640 3.010 ; + RECT 0.810 2.840 0.870 3.010 ; + RECT 0.580 2.780 0.870 2.840 ; + RECT 3.220 3.010 3.510 3.090 ; + RECT 3.220 2.840 3.280 3.010 ; + RECT 3.450 2.840 3.510 3.010 ; + RECT 3.220 2.780 3.510 2.840 ; END END vdd PIN gnd DIRECTION INOUT ; - USE GROUND ; + USE POWER ; SHAPE ABUTMENT ; PORT LAYER met1 ; - RECT 3.220 0.360 3.510 0.420 ; - RECT 3.220 0.240 3.280 0.360 ; - RECT 3.450 0.240 3.510 0.360 ; + RECT 3.220 0.490 3.510 0.550 ; + RECT 3.220 0.320 3.280 0.490 ; + RECT 3.450 0.320 3.510 0.490 ; + RECT 3.220 0.240 3.510 0.320 ; RECT 0.000 -0.240 5.760 0.240 ; END END gnd @@ -44,115 +45,114 @@ SHAPE ABUTMENT ; PORT LAYER met1 ; - RECT 4.660 2.150 4.950 2.440 ; - RECT 4.730 0.690 4.870 2.150 ; - RECT 4.660 0.400 4.950 0.690 ; + RECT 4.660 2.200 4.950 2.490 ; + RECT 4.730 0.730 4.870 2.200 ; + RECT 4.660 0.440 4.950 0.730 ; END END Y - PIN A - DIRECTION INOUT ; - USE SIGNAL ; - SHAPE ABUTMENT ; - PORT - LAYER met1 ; - RECT 1.300 1.750 1.590 2.040 ; - RECT 1.370 1.090 1.510 1.750 ; - RECT 1.300 0.800 1.590 1.090 ; - END - END A PIN B DIRECTION INOUT ; USE SIGNAL ; SHAPE ABUTMENT ; PORT LAYER met1 ; - RECT 2.740 1.750 3.030 2.040 ; - RECT 2.810 1.090 2.950 1.750 ; - RECT 2.740 0.800 3.030 1.090 ; + RECT 2.740 1.780 3.030 2.070 ; + RECT 2.810 1.540 2.950 1.780 ; + RECT 2.740 1.250 3.030 1.540 ; END END B + PIN A + DIRECTION INOUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER met1 ; + RECT 1.300 1.780 1.590 2.070 ; + RECT 1.370 1.140 1.510 1.780 ; + RECT 1.300 0.850 1.590 1.140 ; + END + END A OBS LAYER li1 ; - RECT 0.560 3.060 0.890 3.140 ; - RECT 0.560 2.890 0.640 3.060 ; - RECT 0.810 2.890 0.890 3.060 ; - RECT 0.560 2.810 0.890 2.890 ; - RECT 3.200 3.060 3.530 3.140 ; - RECT 3.200 2.890 3.280 3.060 ; - RECT 3.450 2.890 3.530 3.060 ; - RECT 3.200 2.810 3.530 2.890 ; - RECT 1.760 2.380 2.090 2.460 ; - RECT 1.760 2.230 1.840 2.380 ; - RECT 1.780 2.210 1.840 2.230 ; - RECT 2.010 2.210 2.090 2.380 ; - RECT 4.640 2.380 4.970 2.460 ; - RECT 4.640 2.230 4.720 2.380 ; - RECT 1.780 2.130 2.090 2.210 ; - RECT 4.660 2.210 4.720 2.230 ; - RECT 4.890 2.210 4.970 2.380 ; - RECT 4.660 2.130 4.970 2.210 ; - RECT 1.280 1.980 1.610 2.060 ; - RECT 1.280 1.810 1.360 1.980 ; - RECT 1.530 1.810 1.610 1.980 ; - RECT 1.280 1.730 1.610 1.810 ; - RECT 2.720 1.980 3.050 2.060 ; - RECT 2.720 1.810 2.800 1.980 ; - RECT 2.970 1.810 3.050 1.980 ; - RECT 2.720 1.730 3.050 1.810 ; - RECT 4.160 1.980 4.490 2.060 ; - RECT 4.160 1.810 4.240 1.980 ; - RECT 4.410 1.810 4.490 1.980 ; - RECT 4.160 1.730 4.490 1.810 ; - RECT 1.280 1.030 1.610 1.110 ; - RECT 1.280 0.880 1.360 1.030 ; - RECT 1.300 0.860 1.360 0.880 ; - RECT 1.530 0.860 1.610 1.030 ; - RECT 1.300 0.780 1.610 0.860 ; - RECT 2.720 1.030 3.050 1.110 ; - RECT 2.720 0.860 2.800 1.030 ; - RECT 2.970 0.860 3.050 1.030 ; - RECT 2.720 0.780 3.050 0.860 ; - RECT 4.160 1.030 4.490 1.110 ; - RECT 4.160 0.860 4.240 1.030 ; - RECT 4.410 0.860 4.490 1.030 ; - RECT 4.160 0.780 4.490 0.860 ; - RECT 0.800 0.630 1.130 0.710 ; - RECT 0.800 0.460 0.880 0.630 ; - RECT 1.050 0.460 1.130 0.630 ; - RECT 4.660 0.630 4.970 0.710 ; - RECT 4.660 0.610 4.720 0.630 ; - RECT 0.800 0.380 1.130 0.460 ; - RECT 4.640 0.460 4.720 0.610 ; - RECT 4.890 0.460 4.970 0.630 ; - RECT 3.200 0.360 3.530 0.440 ; - RECT 4.640 0.380 4.970 0.460 ; - RECT 3.200 0.190 3.280 0.360 ; - RECT 3.450 0.190 3.530 0.360 ; - RECT 3.200 0.110 3.530 0.190 ; + RECT 0.560 3.010 0.890 3.090 ; + RECT 0.560 2.840 0.640 3.010 ; + RECT 0.810 2.840 0.890 3.010 ; + RECT 0.560 2.760 0.890 2.840 ; + RECT 3.200 3.010 3.530 3.090 ; + RECT 3.200 2.840 3.280 3.010 ; + RECT 3.450 2.840 3.530 3.010 ; + RECT 3.200 2.760 3.530 2.840 ; + RECT 1.760 2.430 2.090 2.510 ; + RECT 1.760 2.260 1.840 2.430 ; + RECT 2.010 2.260 2.090 2.430 ; + RECT 4.640 2.430 4.970 2.510 ; + RECT 4.640 2.260 4.720 2.430 ; + RECT 4.890 2.260 4.970 2.430 ; + RECT 1.780 2.180 2.090 2.260 ; + RECT 4.660 2.180 4.970 2.260 ; + RECT 1.280 2.010 1.610 2.090 ; + RECT 1.280 1.840 1.360 2.010 ; + RECT 1.530 1.840 1.610 2.010 ; + RECT 1.280 1.760 1.610 1.840 ; + RECT 2.720 2.010 3.050 2.090 ; + RECT 2.720 1.840 2.800 2.010 ; + RECT 2.970 1.840 3.050 2.010 ; + RECT 2.720 1.760 3.050 1.840 ; + RECT 4.160 2.010 4.490 2.090 ; + RECT 4.160 1.840 4.240 2.010 ; + RECT 4.410 1.840 4.490 2.010 ; + RECT 4.160 1.760 4.490 1.840 ; + RECT 2.800 1.160 2.970 1.310 ; + RECT 1.280 1.080 1.610 1.160 ; + RECT 1.280 0.920 1.360 1.080 ; + RECT 1.300 0.910 1.360 0.920 ; + RECT 1.530 0.910 1.610 1.080 ; + RECT 1.300 0.830 1.610 0.910 ; + RECT 2.720 1.080 3.050 1.160 ; + RECT 2.720 0.910 2.800 1.080 ; + RECT 2.970 0.910 3.050 1.080 ; + RECT 2.720 0.830 3.050 0.910 ; + RECT 4.160 1.080 4.490 1.160 ; + RECT 4.160 0.910 4.240 1.080 ; + RECT 4.410 0.910 4.490 1.080 ; + RECT 4.160 0.830 4.490 0.910 ; + RECT 0.800 0.670 1.130 0.750 ; + RECT 0.800 0.500 0.880 0.670 ; + RECT 1.050 0.500 1.130 0.670 ; + RECT 4.660 0.670 4.970 0.750 ; + RECT 4.660 0.660 4.720 0.670 ; + RECT 0.800 0.420 1.130 0.500 ; + RECT 3.200 0.490 3.530 0.570 ; + RECT 3.200 0.320 3.280 0.490 ; + RECT 3.450 0.320 3.530 0.490 ; + RECT 4.640 0.500 4.720 0.660 ; + RECT 4.890 0.500 4.970 0.670 ; + RECT 4.640 0.420 4.970 0.500 ; + RECT 3.200 0.240 3.530 0.320 ; LAYER met1 ; - RECT 1.780 2.380 2.070 2.440 ; - RECT 1.780 2.370 1.840 2.380 ; - RECT 0.890 2.230 1.840 2.370 ; - RECT 0.890 0.690 1.030 2.230 ; - RECT 1.780 2.210 1.840 2.230 ; - RECT 2.010 2.370 2.070 2.380 ; - RECT 2.010 2.230 4.390 2.370 ; - RECT 2.010 2.210 2.070 2.230 ; - RECT 1.780 2.150 2.070 2.210 ; - RECT 4.250 2.040 4.390 2.230 ; - RECT 4.180 1.980 4.470 2.040 ; - RECT 4.180 1.810 4.240 1.980 ; - RECT 4.410 1.810 4.470 1.980 ; - RECT 4.180 1.750 4.470 1.810 ; - RECT 4.250 1.090 4.390 1.750 ; - RECT 4.180 1.030 4.470 1.090 ; - RECT 4.180 0.860 4.240 1.030 ; - RECT 4.410 0.860 4.470 1.030 ; - RECT 4.180 0.800 4.470 0.860 ; - RECT 0.820 0.630 1.110 0.690 ; - RECT 0.820 0.460 0.880 0.630 ; - RECT 1.050 0.460 1.110 0.630 ; - RECT 0.820 0.400 1.110 0.460 ; + RECT 1.780 2.430 2.070 2.490 ; + RECT 1.780 2.260 1.840 2.430 ; + RECT 2.010 2.260 2.070 2.430 ; + RECT 1.780 2.200 2.070 2.260 ; + RECT 1.850 1.060 1.990 2.200 ; + RECT 4.180 2.010 4.470 2.070 ; + RECT 4.180 1.840 4.240 2.010 ; + RECT 4.410 1.840 4.470 2.010 ; + RECT 4.180 1.780 4.470 1.840 ; + RECT 4.250 1.140 4.390 1.780 ; + RECT 4.180 1.080 4.470 1.140 ; + RECT 4.180 1.060 4.240 1.080 ; + RECT 1.850 0.920 4.240 1.060 ; + RECT 0.820 0.670 1.110 0.730 ; + RECT 0.820 0.500 0.880 0.670 ; + RECT 1.050 0.660 1.110 0.670 ; + RECT 1.850 0.660 1.990 0.920 ; + RECT 4.180 0.910 4.240 0.920 ; + RECT 4.410 0.910 4.470 1.080 ; + RECT 4.180 0.850 4.470 0.910 ; + RECT 1.050 0.520 1.990 0.660 ; + RECT 1.050 0.500 1.110 0.520 ; + RECT 0.820 0.440 1.110 0.500 ; END END AND2X2 END LIBRARY
diff --git a/cells/lef/AOI21X1.lef b/cells/lef/AOI21X1.lef index e6565af..7bece65 100644 --- a/cells/lef/AOI21X1.lef +++ b/cells/lef/AOI21X1.lef
@@ -16,19 +16,21 @@ PORT LAYER met1 ; RECT 0.000 3.090 5.760 3.570 ; - RECT 3.220 3.060 3.510 3.090 ; - RECT 3.220 2.890 3.280 3.060 ; - RECT 3.450 2.890 3.510 3.060 ; - RECT 3.220 2.830 3.510 2.890 ; + RECT 3.220 3.010 3.510 3.090 ; + RECT 3.220 2.840 3.280 3.010 ; + RECT 3.450 2.840 3.510 3.010 ; + RECT 3.220 2.780 3.510 2.840 ; END END vdd PIN gnd DIRECTION INOUT ; - USE GROUND ; + USE POWER ; SHAPE ABUTMENT ; PORT LAYER met1 ; - RECT 1.780 0.240 2.070 0.280 ; + RECT 1.780 0.270 2.070 0.330 ; + RECT 1.780 0.240 1.840 0.270 ; + RECT 2.010 0.240 2.070 0.270 ; RECT 0.000 -0.240 5.760 0.240 ; END END gnd @@ -38,13 +40,13 @@ SHAPE ABUTMENT ; PORT LAYER met1 ; - RECT 0.820 2.150 1.110 2.440 ; - RECT 0.890 0.690 1.030 2.150 ; - RECT 0.820 0.610 1.110 0.690 ; - RECT 4.660 0.610 4.950 0.690 ; - RECT 0.820 0.470 4.950 0.610 ; - RECT 0.820 0.400 1.110 0.470 ; - RECT 4.660 0.400 4.950 0.470 ; + RECT 0.820 2.200 1.110 2.490 ; + RECT 0.890 0.730 1.030 2.200 ; + RECT 0.820 0.660 1.110 0.730 ; + RECT 4.660 0.660 4.950 0.730 ; + RECT 0.820 0.520 4.950 0.660 ; + RECT 0.820 0.440 1.110 0.520 ; + RECT 4.660 0.440 4.950 0.520 ; END END Y PIN B @@ -53,103 +55,103 @@ SHAPE ABUTMENT ; PORT LAYER met1 ; - RECT 4.180 1.750 4.470 2.040 ; - RECT 4.250 1.090 4.390 1.750 ; - RECT 4.180 0.800 4.470 1.090 ; + RECT 4.180 1.780 4.470 2.070 ; + RECT 4.250 1.140 4.390 1.780 ; + RECT 4.180 0.850 4.470 1.140 ; END END B - PIN A - DIRECTION INOUT ; - USE SIGNAL ; - SHAPE ABUTMENT ; - PORT - LAYER met1 ; - RECT 2.740 1.750 3.030 2.040 ; - RECT 2.810 1.090 2.950 1.750 ; - RECT 2.740 0.800 3.030 1.090 ; - END - END A PIN C DIRECTION INOUT ; USE SIGNAL ; SHAPE ABUTMENT ; PORT LAYER met1 ; - RECT 1.300 1.750 1.590 2.040 ; - RECT 1.370 1.090 1.510 1.750 ; - RECT 1.300 0.800 1.590 1.090 ; + RECT 1.300 1.780 1.590 2.070 ; + RECT 1.370 1.140 1.510 1.780 ; + RECT 1.300 0.850 1.590 1.140 ; END END C + PIN A + DIRECTION INOUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER met1 ; + RECT 2.740 1.780 3.030 2.070 ; + RECT 2.810 1.140 2.950 1.780 ; + RECT 2.740 0.850 3.030 1.140 ; + END + END A OBS LAYER li1 ; - RECT 3.200 3.060 3.530 3.140 ; - RECT 3.200 2.890 3.280 3.060 ; - RECT 3.450 2.890 3.530 3.060 ; - RECT 3.200 2.810 3.530 2.890 ; - RECT 0.800 2.380 1.130 2.460 ; - RECT 0.800 2.210 0.880 2.380 ; - RECT 1.050 2.210 1.130 2.380 ; - RECT 0.800 2.130 1.130 2.210 ; - RECT 2.240 2.380 2.570 2.460 ; - RECT 2.240 2.210 2.320 2.380 ; - RECT 2.490 2.230 2.570 2.380 ; - RECT 4.640 2.380 4.970 2.460 ; - RECT 4.640 2.230 4.720 2.380 ; - RECT 2.490 2.210 2.550 2.230 ; - RECT 2.240 2.130 2.550 2.210 ; - RECT 4.660 2.210 4.720 2.230 ; - RECT 4.890 2.210 4.970 2.380 ; - RECT 4.660 2.130 4.970 2.210 ; - RECT 1.300 1.980 1.610 2.060 ; - RECT 1.300 1.960 1.360 1.980 ; - RECT 1.280 1.810 1.360 1.960 ; - RECT 1.530 1.810 1.610 1.980 ; - RECT 1.280 1.730 1.610 1.810 ; - RECT 2.720 1.980 3.050 2.060 ; - RECT 2.720 1.810 2.800 1.980 ; - RECT 2.970 1.810 3.050 1.980 ; - RECT 2.720 1.730 3.050 1.810 ; - RECT 4.160 1.980 4.490 2.060 ; - RECT 4.160 1.810 4.240 1.980 ; - RECT 4.410 1.810 4.490 1.980 ; - RECT 4.160 1.730 4.490 1.810 ; - RECT 1.280 1.030 1.610 1.110 ; - RECT 1.280 0.860 1.360 1.030 ; - RECT 1.530 0.860 1.610 1.030 ; - RECT 1.280 0.780 1.610 0.860 ; - RECT 2.720 1.030 3.050 1.110 ; - RECT 2.720 0.860 2.800 1.030 ; - RECT 2.970 0.860 3.050 1.030 ; - RECT 2.720 0.780 3.050 0.860 ; - RECT 4.160 1.030 4.490 1.110 ; - RECT 4.160 0.860 4.240 1.030 ; - RECT 4.410 0.880 4.490 1.030 ; - RECT 4.410 0.860 4.470 0.880 ; - RECT 4.160 0.780 4.470 0.860 ; - RECT 0.800 0.630 1.110 0.710 ; - RECT 0.800 0.460 0.880 0.630 ; - RECT 1.050 0.610 1.110 0.630 ; - RECT 4.640 0.630 4.970 0.710 ; - RECT 1.050 0.460 1.130 0.610 ; - RECT 0.800 0.380 1.130 0.460 ; - RECT 4.640 0.460 4.720 0.630 ; - RECT 4.890 0.460 4.970 0.630 ; - RECT 1.760 0.360 2.090 0.440 ; - RECT 4.640 0.380 4.970 0.460 ; - RECT 1.760 0.110 1.840 0.360 ; - RECT 2.010 0.110 2.090 0.360 ; + RECT 3.200 3.010 3.530 3.090 ; + RECT 3.200 2.840 3.280 3.010 ; + RECT 3.450 2.840 3.530 3.010 ; + RECT 3.200 2.760 3.530 2.840 ; + RECT 0.800 2.430 1.130 2.510 ; + RECT 0.800 2.260 0.880 2.430 ; + RECT 1.050 2.260 1.130 2.430 ; + RECT 0.800 2.180 1.130 2.260 ; + RECT 2.240 2.430 2.570 2.510 ; + RECT 2.240 2.260 2.320 2.430 ; + RECT 2.490 2.260 2.570 2.430 ; + RECT 4.640 2.430 4.970 2.510 ; + RECT 4.640 2.260 4.720 2.430 ; + RECT 4.890 2.260 4.970 2.430 ; + RECT 2.240 2.180 2.550 2.260 ; + RECT 4.660 2.180 4.970 2.260 ; + RECT 1.300 2.010 1.610 2.090 ; + RECT 1.280 1.840 1.360 2.010 ; + RECT 1.530 1.840 1.610 2.010 ; + RECT 1.280 1.760 1.610 1.840 ; + RECT 2.720 2.010 3.050 2.090 ; + RECT 2.720 1.840 2.800 2.010 ; + RECT 2.970 1.840 3.050 2.010 ; + RECT 2.720 1.760 3.050 1.840 ; + RECT 4.160 2.010 4.490 2.090 ; + RECT 4.160 1.840 4.240 2.010 ; + RECT 4.410 1.840 4.490 2.010 ; + RECT 4.160 1.760 4.490 1.840 ; + RECT 1.280 1.080 1.610 1.160 ; + RECT 1.280 0.910 1.360 1.080 ; + RECT 1.530 0.910 1.610 1.080 ; + RECT 1.280 0.830 1.610 0.910 ; + RECT 2.720 1.080 3.050 1.160 ; + RECT 2.720 0.910 2.800 1.080 ; + RECT 2.970 0.910 3.050 1.080 ; + RECT 2.720 0.830 3.050 0.910 ; + RECT 4.160 1.080 4.490 1.160 ; + RECT 4.160 0.910 4.240 1.080 ; + RECT 4.410 0.920 4.490 1.080 ; + RECT 4.410 0.910 4.470 0.920 ; + RECT 4.160 0.830 4.470 0.910 ; + RECT 0.800 0.670 1.110 0.750 ; + RECT 0.800 0.500 0.880 0.670 ; + RECT 1.050 0.660 1.110 0.670 ; + RECT 4.640 0.670 4.970 0.750 ; + RECT 1.050 0.500 1.130 0.660 ; + RECT 0.800 0.420 1.130 0.500 ; + RECT 1.760 0.490 2.090 0.570 ; + RECT 1.760 0.320 1.840 0.490 ; + RECT 2.010 0.320 2.090 0.490 ; + RECT 4.640 0.500 4.720 0.670 ; + RECT 4.890 0.500 4.970 0.670 ; + RECT 4.640 0.420 4.970 0.500 ; + RECT 1.760 0.270 2.090 0.320 ; + RECT 1.760 0.240 1.840 0.270 ; + RECT 2.010 0.240 2.090 0.270 ; LAYER met1 ; - RECT 2.260 2.380 2.550 2.440 ; - RECT 2.260 2.210 2.320 2.380 ; - RECT 2.490 2.370 2.550 2.380 ; - RECT 4.660 2.380 4.950 2.440 ; - RECT 4.660 2.370 4.720 2.380 ; - RECT 2.490 2.230 4.720 2.370 ; - RECT 2.490 2.210 2.550 2.230 ; - RECT 2.260 2.150 2.550 2.210 ; - RECT 4.660 2.210 4.720 2.230 ; - RECT 4.890 2.210 4.950 2.380 ; - RECT 4.660 2.150 4.950 2.210 ; + RECT 2.260 2.430 2.550 2.490 ; + RECT 2.260 2.260 2.320 2.430 ; + RECT 2.490 2.410 2.550 2.430 ; + RECT 4.660 2.430 4.950 2.490 ; + RECT 4.660 2.410 4.720 2.430 ; + RECT 2.490 2.270 4.720 2.410 ; + RECT 2.490 2.260 2.550 2.270 ; + RECT 2.260 2.200 2.550 2.260 ; + RECT 4.660 2.260 4.720 2.270 ; + RECT 4.890 2.260 4.950 2.430 ; + RECT 4.660 2.200 4.950 2.260 ; END END AOI21X1 END LIBRARY
diff --git a/cells/lef/AOI22X1.lef b/cells/lef/AOI22X1.lef index 58d1e54..d0a2132 100644 --- a/cells/lef/AOI22X1.lef +++ b/cells/lef/AOI22X1.lef
@@ -16,19 +16,21 @@ PORT LAYER met1 ; RECT 0.000 3.090 7.200 3.570 ; - RECT 1.780 3.060 2.070 3.090 ; - RECT 1.780 2.890 1.840 3.060 ; - RECT 2.010 2.890 2.070 3.060 ; - RECT 1.780 2.830 2.070 2.890 ; + RECT 1.780 3.010 2.070 3.090 ; + RECT 1.780 2.840 1.840 3.010 ; + RECT 2.010 2.840 2.070 3.010 ; + RECT 1.780 2.780 2.070 2.840 ; END END vdd PIN gnd DIRECTION INOUT ; - USE GROUND ; + USE POWER ; SHAPE ABUTMENT ; PORT LAYER met1 ; - RECT 3.220 0.240 3.510 0.280 ; + RECT 3.220 0.270 3.510 0.330 ; + RECT 3.220 0.240 3.280 0.270 ; + RECT 3.450 0.240 3.510 0.270 ; RECT 0.000 -0.240 7.200 0.240 ; END END gnd @@ -38,148 +40,159 @@ SHAPE ABUTMENT ; PORT LAYER met1 ; - RECT 4.660 2.150 4.950 2.440 ; - RECT 0.820 0.610 1.110 0.690 ; - RECT 4.730 0.610 4.870 2.150 ; - RECT 6.100 0.610 6.390 0.690 ; - RECT 0.820 0.470 6.390 0.610 ; - RECT 0.820 0.400 1.110 0.470 ; - RECT 6.100 0.400 6.390 0.470 ; + RECT 5.140 2.410 5.430 2.490 ; + RECT 5.140 2.270 6.310 2.410 ; + RECT 5.140 2.200 5.430 2.270 ; + RECT 6.170 0.730 6.310 2.270 ; + RECT 0.820 0.660 1.110 0.730 ; + RECT 6.100 0.660 6.390 0.730 ; + RECT 0.820 0.520 6.390 0.660 ; + RECT 0.820 0.440 1.110 0.520 ; + RECT 6.100 0.440 6.390 0.520 ; END END Y - PIN B - DIRECTION INOUT ; - USE SIGNAL ; - SHAPE ABUTMENT ; - PORT - LAYER met1 ; - RECT 1.300 1.750 1.590 2.040 ; - RECT 1.370 1.090 1.510 1.750 ; - RECT 1.300 0.800 1.590 1.090 ; - END - END B - PIN A - DIRECTION INOUT ; - USE SIGNAL ; - SHAPE ABUTMENT ; - PORT - LAYER met1 ; - RECT 2.740 1.750 3.030 2.040 ; - RECT 2.810 1.090 2.950 1.750 ; - RECT 2.740 0.800 3.030 1.090 ; - END - END A - PIN C - DIRECTION INOUT ; - USE SIGNAL ; - SHAPE ABUTMENT ; - PORT - LAYER met1 ; - RECT 4.180 1.750 4.470 2.040 ; - RECT 4.250 1.090 4.390 1.750 ; - RECT 4.180 0.800 4.470 1.090 ; - END - END C PIN D DIRECTION INOUT ; USE SIGNAL ; SHAPE ABUTMENT ; PORT LAYER met1 ; - RECT 5.620 1.750 5.910 2.040 ; - RECT 5.690 1.090 5.830 1.750 ; - RECT 5.620 0.800 5.910 1.090 ; + RECT 5.620 1.780 5.910 2.070 ; + RECT 5.690 1.140 5.830 1.780 ; + RECT 5.620 0.850 5.910 1.140 ; END END D + PIN C + DIRECTION INOUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER met1 ; + RECT 4.180 1.780 4.470 2.070 ; + RECT 4.250 1.140 4.390 1.780 ; + RECT 4.180 0.850 4.470 1.140 ; + END + END C + PIN A + DIRECTION INOUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER met1 ; + RECT 2.740 1.780 3.030 2.070 ; + RECT 2.810 1.140 2.950 1.780 ; + RECT 2.740 0.850 3.030 1.140 ; + END + END A + PIN B + DIRECTION INOUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER met1 ; + RECT 1.300 1.780 1.590 2.070 ; + RECT 1.370 1.140 1.510 1.780 ; + RECT 1.300 0.850 1.590 1.140 ; + END + END B OBS LAYER li1 ; - RECT 1.760 3.060 2.090 3.140 ; - RECT 1.760 2.890 1.840 3.060 ; - RECT 2.010 2.890 2.090 3.060 ; - RECT 1.760 2.810 2.090 2.890 ; - RECT 6.080 2.790 6.410 2.870 ; - RECT 6.080 2.620 6.160 2.790 ; - RECT 6.330 2.620 6.410 2.790 ; - RECT 6.080 2.540 6.410 2.620 ; - RECT 0.800 2.380 1.130 2.460 ; - RECT 0.800 2.210 0.880 2.380 ; - RECT 1.050 2.210 1.130 2.380 ; - RECT 3.200 2.380 3.530 2.460 ; - RECT 3.200 2.230 3.280 2.380 ; - RECT 0.800 2.130 1.130 2.210 ; - RECT 3.220 2.210 3.280 2.230 ; - RECT 3.450 2.210 3.530 2.380 ; - RECT 4.640 2.380 4.970 2.460 ; - RECT 4.640 2.230 4.720 2.380 ; - RECT 3.220 2.130 3.530 2.210 ; - RECT 4.660 2.210 4.720 2.230 ; - RECT 4.890 2.210 4.970 2.380 ; - RECT 4.660 2.130 4.970 2.210 ; - RECT 1.300 1.980 1.610 2.060 ; - RECT 1.300 1.960 1.360 1.980 ; - RECT 1.280 1.810 1.360 1.960 ; - RECT 1.530 1.810 1.610 1.980 ; - RECT 1.280 1.730 1.610 1.810 ; - RECT 2.720 1.980 3.050 2.060 ; - RECT 2.720 1.810 2.800 1.980 ; - RECT 2.970 1.810 3.050 1.980 ; - RECT 2.720 1.730 3.050 1.810 ; - RECT 4.160 1.980 4.490 2.060 ; - RECT 4.160 1.810 4.240 1.980 ; - RECT 4.410 1.810 4.490 1.980 ; - RECT 4.160 1.730 4.490 1.810 ; - RECT 5.600 1.980 5.930 2.060 ; - RECT 5.600 1.810 5.680 1.980 ; - RECT 5.850 1.810 5.930 1.980 ; - RECT 5.600 1.730 5.930 1.810 ; - RECT 1.280 1.030 1.610 1.110 ; - RECT 1.280 0.860 1.360 1.030 ; - RECT 1.530 0.860 1.610 1.030 ; - RECT 1.280 0.780 1.610 0.860 ; - RECT 2.720 1.030 3.050 1.110 ; - RECT 2.720 0.860 2.800 1.030 ; - RECT 2.970 0.860 3.050 1.030 ; - RECT 2.720 0.780 3.050 0.860 ; - RECT 4.160 1.030 4.490 1.110 ; - RECT 4.160 0.860 4.240 1.030 ; - RECT 4.410 0.860 4.490 1.030 ; - RECT 4.160 0.780 4.490 0.860 ; - RECT 5.600 1.030 5.930 1.110 ; - RECT 5.600 0.860 5.680 1.030 ; - RECT 5.850 0.880 5.930 1.030 ; - RECT 5.850 0.860 5.910 0.880 ; - RECT 5.600 0.780 5.910 0.860 ; - RECT 0.800 0.630 1.110 0.710 ; - RECT 0.800 0.460 0.880 0.630 ; - RECT 1.050 0.610 1.110 0.630 ; - RECT 6.080 0.630 6.410 0.710 ; - RECT 1.050 0.460 1.130 0.610 ; - RECT 0.800 0.380 1.130 0.460 ; - RECT 6.080 0.460 6.160 0.630 ; - RECT 6.330 0.460 6.410 0.630 ; - RECT 3.200 0.360 3.530 0.440 ; - RECT 6.080 0.380 6.410 0.460 ; - RECT 3.200 0.110 3.280 0.360 ; - RECT 3.450 0.110 3.530 0.360 ; + RECT 1.760 3.010 2.090 3.090 ; + RECT 1.760 2.840 1.840 3.010 ; + RECT 2.010 2.840 2.090 3.010 ; + RECT 1.760 2.760 2.090 2.840 ; + RECT 3.680 2.830 4.010 2.910 ; + RECT 3.680 2.660 3.760 2.830 ; + RECT 3.930 2.660 4.010 2.830 ; + RECT 3.680 2.580 4.010 2.660 ; + RECT 6.080 2.830 6.410 2.910 ; + RECT 6.080 2.660 6.160 2.830 ; + RECT 6.330 2.660 6.410 2.830 ; + RECT 6.080 2.580 6.410 2.660 ; + RECT 0.800 2.430 1.130 2.510 ; + RECT 0.800 2.260 0.880 2.430 ; + RECT 1.050 2.260 1.130 2.430 ; + RECT 3.200 2.430 3.510 2.510 ; + RECT 3.200 2.260 3.280 2.430 ; + RECT 3.450 2.410 3.510 2.430 ; + RECT 5.120 2.430 5.450 2.510 ; + RECT 3.450 2.260 3.530 2.410 ; + RECT 0.800 2.180 1.110 2.260 ; + RECT 3.200 2.180 3.530 2.260 ; + RECT 5.120 2.260 5.200 2.430 ; + RECT 5.370 2.260 5.450 2.430 ; + RECT 5.120 2.180 5.430 2.260 ; + RECT 1.280 2.010 1.610 2.090 ; + RECT 1.280 1.840 1.360 2.010 ; + RECT 1.530 1.840 1.610 2.010 ; + RECT 1.280 1.760 1.610 1.840 ; + RECT 2.720 2.010 3.030 2.090 ; + RECT 4.160 2.010 4.490 2.090 ; + RECT 2.720 1.840 2.800 2.010 ; + RECT 2.970 1.840 3.050 2.010 ; + RECT 2.720 1.760 3.050 1.840 ; + RECT 4.160 1.840 4.240 2.010 ; + RECT 4.410 1.840 4.490 2.010 ; + RECT 4.160 1.760 4.490 1.840 ; + RECT 5.600 2.010 5.930 2.090 ; + RECT 5.600 1.840 5.680 2.010 ; + RECT 5.850 1.840 5.930 2.010 ; + RECT 5.600 1.760 5.930 1.840 ; + RECT 1.280 1.080 1.610 1.160 ; + RECT 1.280 0.910 1.360 1.080 ; + RECT 1.530 0.910 1.610 1.080 ; + RECT 1.280 0.830 1.610 0.910 ; + RECT 2.720 1.080 3.050 1.160 ; + RECT 2.720 0.910 2.800 1.080 ; + RECT 2.970 0.910 3.050 1.080 ; + RECT 2.720 0.830 3.050 0.910 ; + RECT 4.160 1.080 4.490 1.160 ; + RECT 4.160 0.910 4.240 1.080 ; + RECT 4.410 0.910 4.490 1.080 ; + RECT 4.160 0.830 4.490 0.910 ; + RECT 5.600 1.080 5.930 1.160 ; + RECT 5.600 0.910 5.680 1.080 ; + RECT 5.850 0.910 5.930 1.080 ; + RECT 5.600 0.830 5.930 0.910 ; + RECT 0.800 0.670 1.110 0.750 ; + RECT 0.800 0.500 0.880 0.670 ; + RECT 1.050 0.660 1.110 0.670 ; + RECT 6.100 0.670 6.410 0.750 ; + RECT 6.100 0.660 6.160 0.670 ; + RECT 1.050 0.500 1.130 0.660 ; + RECT 0.800 0.420 1.130 0.500 ; + RECT 3.200 0.490 3.530 0.570 ; + RECT 3.200 0.320 3.280 0.490 ; + RECT 3.450 0.320 3.530 0.490 ; + RECT 6.080 0.500 6.160 0.660 ; + RECT 6.330 0.500 6.410 0.670 ; + RECT 6.080 0.420 6.410 0.500 ; + RECT 3.200 0.270 3.530 0.320 ; + RECT 3.200 0.240 3.280 0.270 ; + RECT 3.450 0.240 3.530 0.270 ; LAYER met1 ; - RECT 6.100 2.790 6.390 2.850 ; - RECT 6.100 2.770 6.160 2.790 ; - RECT 3.290 2.630 6.160 2.770 ; - RECT 3.290 2.440 3.430 2.630 ; - RECT 6.100 2.620 6.160 2.630 ; - RECT 6.330 2.620 6.390 2.790 ; - RECT 6.100 2.560 6.390 2.620 ; - RECT 0.820 2.380 1.110 2.440 ; - RECT 0.820 2.210 0.880 2.380 ; - RECT 1.050 2.370 1.110 2.380 ; - RECT 3.220 2.380 3.510 2.440 ; - RECT 3.220 2.370 3.280 2.380 ; - RECT 1.050 2.230 3.280 2.370 ; - RECT 1.050 2.210 1.110 2.230 ; - RECT 0.820 2.150 1.110 2.210 ; - RECT 3.220 2.210 3.280 2.230 ; - RECT 3.450 2.210 3.510 2.380 ; - RECT 3.220 2.150 3.510 2.210 ; + RECT 3.700 2.830 3.990 2.890 ; + RECT 3.700 2.660 3.760 2.830 ; + RECT 3.930 2.820 3.990 2.830 ; + RECT 6.100 2.830 6.390 2.890 ; + RECT 6.100 2.820 6.160 2.830 ; + RECT 3.930 2.680 6.160 2.820 ; + RECT 3.930 2.660 3.990 2.680 ; + RECT 3.700 2.600 3.990 2.660 ; + RECT 6.100 2.660 6.160 2.680 ; + RECT 6.330 2.660 6.390 2.830 ; + RECT 6.100 2.600 6.390 2.660 ; + RECT 0.820 2.430 1.110 2.490 ; + RECT 0.820 2.260 0.880 2.430 ; + RECT 1.050 2.410 1.110 2.430 ; + RECT 3.220 2.430 3.510 2.490 ; + RECT 3.220 2.410 3.280 2.430 ; + RECT 1.050 2.270 3.280 2.410 ; + RECT 1.050 2.260 1.110 2.270 ; + RECT 0.820 2.200 1.110 2.260 ; + RECT 3.220 2.260 3.280 2.270 ; + RECT 3.450 2.260 3.510 2.430 ; + RECT 3.220 2.200 3.510 2.260 ; END END AOI22X1 END LIBRARY
diff --git a/cells/lef/BUFX2.lef b/cells/lef/BUFX2.lef index 1b76a0c..7bfd4ad 100644 --- a/cells/lef/BUFX2.lef +++ b/cells/lef/BUFX2.lef
@@ -16,21 +16,22 @@ PORT LAYER met1 ; RECT 0.000 3.090 4.320 3.570 ; - RECT 1.780 3.060 2.070 3.090 ; - RECT 1.780 2.890 1.840 3.060 ; - RECT 2.010 2.890 2.070 3.060 ; - RECT 1.780 2.830 2.070 2.890 ; + RECT 1.780 3.010 2.070 3.090 ; + RECT 1.780 2.840 1.840 3.010 ; + RECT 2.010 2.840 2.070 3.010 ; + RECT 1.780 2.780 2.070 2.840 ; END END vdd PIN gnd DIRECTION INOUT ; - USE GROUND ; + USE POWER ; SHAPE ABUTMENT ; PORT LAYER met1 ; - RECT 1.780 0.360 2.070 0.420 ; - RECT 1.780 0.240 1.840 0.360 ; - RECT 2.010 0.240 2.070 0.360 ; + RECT 1.780 0.490 2.070 0.550 ; + RECT 1.780 0.320 1.840 0.490 ; + RECT 2.010 0.320 2.070 0.490 ; + RECT 1.780 0.240 2.070 0.320 ; RECT 0.000 -0.240 4.320 0.240 ; END END gnd @@ -40,9 +41,9 @@ SHAPE ABUTMENT ; PORT LAYER met1 ; - RECT 3.220 2.150 3.510 2.440 ; - RECT 3.290 0.690 3.430 2.150 ; - RECT 3.220 0.400 3.510 0.690 ; + RECT 3.220 2.200 3.510 2.490 ; + RECT 3.290 0.730 3.430 2.200 ; + RECT 3.220 0.440 3.510 0.730 ; END END Y PIN A @@ -51,78 +52,75 @@ SHAPE ABUTMENT ; PORT LAYER met1 ; - RECT 1.300 1.340 1.590 1.630 ; - RECT 1.370 1.090 1.510 1.340 ; - RECT 1.300 0.800 1.590 1.090 ; + RECT 1.300 1.780 1.590 2.070 ; END END A OBS LAYER li1 ; - RECT 1.760 3.060 2.090 3.140 ; - RECT 1.760 2.890 1.840 3.060 ; - RECT 2.010 2.890 2.090 3.060 ; - RECT 1.760 2.810 2.090 2.890 ; - RECT 0.560 2.380 0.890 2.460 ; - RECT 0.560 2.210 0.640 2.380 ; - RECT 0.810 2.210 0.890 2.380 ; - RECT 0.560 2.130 0.890 2.210 ; - RECT 3.200 2.380 3.530 2.460 ; - RECT 3.200 2.210 3.280 2.380 ; - RECT 3.450 2.210 3.530 2.380 ; - RECT 3.200 2.130 3.530 2.210 ; - RECT 1.280 1.980 1.610 2.060 ; - RECT 1.280 1.810 1.360 1.980 ; - RECT 1.530 1.810 1.610 1.980 ; - RECT 1.280 1.730 1.610 1.810 ; - RECT 2.720 1.980 3.030 2.060 ; - RECT 2.720 1.810 2.800 1.980 ; - RECT 2.970 1.960 3.030 1.980 ; - RECT 2.970 1.810 3.050 1.960 ; - RECT 2.720 1.730 3.050 1.810 ; - RECT 1.360 1.570 1.530 1.730 ; - RECT 1.280 1.030 1.610 1.110 ; - RECT 1.280 0.860 1.360 1.030 ; - RECT 1.530 0.860 1.610 1.030 ; - RECT 1.280 0.780 1.610 0.860 ; - RECT 2.720 1.030 3.050 1.110 ; - RECT 2.720 0.860 2.800 1.030 ; - RECT 2.970 0.880 3.050 1.030 ; - RECT 2.970 0.860 3.030 0.880 ; - RECT 2.720 0.780 3.030 0.860 ; - RECT 0.560 0.630 0.890 0.710 ; - RECT 0.560 0.460 0.640 0.630 ; - RECT 0.810 0.460 0.890 0.630 ; - RECT 0.560 0.380 0.890 0.460 ; - RECT 3.200 0.630 3.530 0.710 ; - RECT 3.200 0.460 3.280 0.630 ; - RECT 3.450 0.460 3.530 0.630 ; - RECT 1.760 0.360 2.090 0.440 ; - RECT 3.200 0.380 3.530 0.460 ; - RECT 1.760 0.190 1.840 0.360 ; - RECT 2.010 0.190 2.090 0.360 ; - RECT 1.760 0.110 2.090 0.190 ; + RECT 1.760 3.010 2.090 3.090 ; + RECT 1.760 2.840 1.840 3.010 ; + RECT 2.010 2.840 2.090 3.010 ; + RECT 1.760 2.760 2.090 2.840 ; + RECT 0.560 2.430 0.890 2.510 ; + RECT 0.560 2.260 0.640 2.430 ; + RECT 0.810 2.260 0.890 2.430 ; + RECT 0.560 2.180 0.890 2.260 ; + RECT 3.200 2.430 3.530 2.510 ; + RECT 3.200 2.260 3.280 2.430 ; + RECT 3.450 2.260 3.530 2.430 ; + RECT 3.200 2.180 3.530 2.260 ; + RECT 1.280 2.010 1.610 2.090 ; + RECT 1.280 1.840 1.360 2.010 ; + RECT 1.530 1.840 1.610 2.010 ; + RECT 1.280 1.760 1.610 1.840 ; + RECT 2.720 2.010 3.030 2.090 ; + RECT 2.720 1.840 2.800 2.010 ; + RECT 2.970 1.840 3.050 2.010 ; + RECT 2.720 1.760 3.050 1.840 ; + RECT 1.360 1.160 1.530 1.760 ; + RECT 1.280 1.080 1.610 1.160 ; + RECT 1.280 0.910 1.360 1.080 ; + RECT 1.530 0.910 1.610 1.080 ; + RECT 1.280 0.830 1.610 0.910 ; + RECT 2.720 1.080 3.050 1.160 ; + RECT 2.720 0.910 2.800 1.080 ; + RECT 2.970 0.920 3.050 1.080 ; + RECT 2.970 0.910 3.030 0.920 ; + RECT 2.720 0.830 3.030 0.910 ; + RECT 0.560 0.670 0.890 0.750 ; + RECT 0.560 0.500 0.640 0.670 ; + RECT 0.810 0.500 0.890 0.670 ; + RECT 3.200 0.670 3.530 0.750 ; + RECT 0.560 0.420 0.890 0.500 ; + RECT 1.760 0.490 2.090 0.570 ; + RECT 1.760 0.320 1.840 0.490 ; + RECT 2.010 0.320 2.090 0.490 ; + RECT 3.200 0.500 3.280 0.670 ; + RECT 3.450 0.500 3.530 0.670 ; + RECT 3.200 0.420 3.530 0.500 ; + RECT 1.760 0.240 2.090 0.320 ; LAYER met1 ; - RECT 0.580 2.380 0.870 2.440 ; - RECT 0.580 2.210 0.640 2.380 ; - RECT 0.810 2.210 0.870 2.380 ; - RECT 0.580 2.150 0.870 2.210 ; - RECT 0.650 1.960 0.790 2.150 ; - RECT 2.740 1.980 3.030 2.040 ; - RECT 2.740 1.960 2.800 1.980 ; - RECT 0.650 1.820 2.800 1.960 ; - RECT 0.650 0.690 0.790 1.820 ; - RECT 2.740 1.810 2.800 1.820 ; - RECT 2.970 1.810 3.030 1.980 ; - RECT 2.740 1.750 3.030 1.810 ; - RECT 2.810 1.090 2.950 1.750 ; - RECT 2.740 1.030 3.030 1.090 ; - RECT 2.740 0.860 2.800 1.030 ; - RECT 2.970 0.860 3.030 1.030 ; - RECT 2.740 0.800 3.030 0.860 ; - RECT 0.580 0.630 0.870 0.690 ; - RECT 0.580 0.460 0.640 0.630 ; - RECT 0.810 0.460 0.870 0.630 ; - RECT 0.580 0.400 0.870 0.460 ; + RECT 0.580 2.430 0.870 2.490 ; + RECT 0.580 2.260 0.640 2.430 ; + RECT 0.810 2.260 0.870 2.430 ; + RECT 0.580 2.200 0.870 2.260 ; + RECT 0.650 1.060 0.790 2.200 ; + RECT 2.740 2.010 3.030 2.070 ; + RECT 2.740 1.840 2.800 2.010 ; + RECT 2.970 1.840 3.030 2.010 ; + RECT 2.740 1.780 3.030 1.840 ; + RECT 2.810 1.140 2.950 1.780 ; + RECT 2.740 1.080 3.030 1.140 ; + RECT 2.740 1.060 2.800 1.080 ; + RECT 0.650 0.920 2.800 1.060 ; + RECT 0.650 0.730 0.790 0.920 ; + RECT 2.740 0.910 2.800 0.920 ; + RECT 2.970 0.910 3.030 1.080 ; + RECT 2.740 0.850 3.030 0.910 ; + RECT 0.580 0.670 0.870 0.730 ; + RECT 0.580 0.500 0.640 0.670 ; + RECT 0.810 0.500 0.870 0.670 ; + RECT 0.580 0.440 0.870 0.500 ; END END BUFX2 END LIBRARY
diff --git a/cells/lef/HAX1.lef b/cells/lef/HAX1.lef index 6ad00e4..73c9974 100644 --- a/cells/lef/HAX1.lef +++ b/cells/lef/HAX1.lef
@@ -16,313 +16,327 @@ PORT LAYER met1 ; RECT 0.000 3.090 15.840 3.570 ; - RECT 1.780 3.060 2.070 3.090 ; - RECT 1.780 2.890 1.840 3.060 ; - RECT 2.010 2.890 2.070 3.060 ; - RECT 1.780 2.830 2.070 2.890 ; - RECT 4.660 3.060 4.950 3.090 ; - RECT 4.660 2.890 4.720 3.060 ; - RECT 4.890 2.890 4.950 3.060 ; - RECT 7.780 3.020 7.840 3.090 ; - RECT 8.010 3.020 8.070 3.090 ; - RECT 7.780 2.960 8.070 3.020 ; - RECT 11.860 3.060 12.150 3.090 ; - RECT 4.660 2.830 4.950 2.890 ; - RECT 11.860 2.890 11.920 3.060 ; - RECT 12.090 2.890 12.150 3.060 ; - RECT 11.860 2.830 12.150 2.890 ; - RECT 13.540 3.060 13.830 3.090 ; - RECT 13.540 2.890 13.600 3.060 ; - RECT 13.770 2.890 13.830 3.060 ; - RECT 13.540 2.830 13.830 2.890 ; + RECT 1.780 3.010 2.070 3.090 ; + RECT 1.780 2.840 1.840 3.010 ; + RECT 2.010 2.840 2.070 3.010 ; + RECT 1.780 2.780 2.070 2.840 ; + RECT 4.660 3.010 4.950 3.090 ; + RECT 4.660 2.840 4.720 3.010 ; + RECT 4.890 2.840 4.950 3.010 ; + RECT 4.660 2.780 4.950 2.840 ; + RECT 7.780 3.010 8.070 3.090 ; + RECT 7.780 2.840 7.840 3.010 ; + RECT 8.010 2.840 8.070 3.010 ; + RECT 7.780 2.780 8.070 2.840 ; + RECT 11.860 3.010 12.150 3.090 ; + RECT 11.860 2.840 11.920 3.010 ; + RECT 12.090 2.840 12.150 3.010 ; + RECT 11.860 2.780 12.150 2.840 ; + RECT 13.540 3.010 13.830 3.090 ; + RECT 13.540 2.840 13.600 3.010 ; + RECT 13.770 2.840 13.830 3.010 ; + RECT 13.540 2.780 13.830 2.840 ; END END vdd PIN gnd DIRECTION INOUT ; - USE GROUND ; + USE POWER ; SHAPE ABUTMENT ; PORT LAYER met1 ; - RECT 1.780 0.360 2.070 0.420 ; - RECT 1.780 0.240 1.840 0.360 ; - RECT 2.010 0.240 2.070 0.360 ; - RECT 6.100 0.240 6.390 0.280 ; - RECT 7.780 0.240 8.070 0.280 ; - RECT 13.540 0.240 13.830 0.280 ; + RECT 1.780 0.490 2.070 0.550 ; + RECT 1.780 0.320 1.840 0.490 ; + RECT 2.010 0.320 2.070 0.490 ; + RECT 13.540 0.490 13.830 0.550 ; + RECT 1.780 0.240 2.070 0.320 ; + RECT 6.100 0.270 6.390 0.330 ; + RECT 6.100 0.240 6.160 0.270 ; + RECT 6.330 0.240 6.390 0.270 ; + RECT 7.780 0.270 8.070 0.330 ; + RECT 7.780 0.240 7.840 0.270 ; + RECT 8.010 0.240 8.070 0.270 ; + RECT 13.540 0.320 13.600 0.490 ; + RECT 13.770 0.320 13.830 0.490 ; + RECT 13.540 0.240 13.830 0.320 ; RECT 0.000 -0.240 15.840 0.240 ; END END gnd - PIN YS - DIRECTION INOUT ; - USE SIGNAL ; - SHAPE ABUTMENT ; - PORT - LAYER met1 ; - RECT 14.740 2.150 15.030 2.440 ; - RECT 14.810 0.690 14.950 2.150 ; - RECT 14.740 0.400 15.030 0.690 ; - END - END YS PIN YC DIRECTION INOUT ; USE SIGNAL ; SHAPE ABUTMENT ; PORT LAYER met1 ; - RECT 0.580 2.150 0.870 2.440 ; - RECT 0.650 0.690 0.790 2.150 ; - RECT 0.580 0.400 0.870 0.690 ; + RECT 0.580 2.200 0.870 2.490 ; + RECT 0.650 0.730 0.790 2.200 ; + RECT 0.580 0.440 0.870 0.730 ; END END YC - PIN A + PIN YS DIRECTION INOUT ; USE SIGNAL ; SHAPE ABUTMENT ; PORT LAYER met1 ; - RECT 5.620 1.750 5.910 2.040 ; - RECT 5.690 1.090 5.830 1.750 ; - RECT 5.620 0.800 5.910 1.090 ; + RECT 14.740 2.200 15.030 2.490 ; + RECT 14.810 0.730 14.950 2.200 ; + RECT 14.740 0.440 15.030 0.730 ; END - END A + END YS PIN B DIRECTION INOUT ; USE SIGNAL ; SHAPE ABUTMENT ; PORT LAYER met1 ; - RECT 4.180 1.750 4.470 2.040 ; - RECT 9.940 1.750 10.230 2.040 ; - RECT 4.250 1.090 4.390 1.750 ; - RECT 10.010 1.090 10.150 1.750 ; - RECT 4.180 0.800 4.470 1.090 ; - RECT 9.940 0.800 10.230 1.090 ; - RECT 4.250 0.610 4.390 0.800 ; - RECT 10.010 0.610 10.150 0.800 ; - RECT 4.250 0.470 10.150 0.610 ; + RECT 4.180 1.780 4.470 2.070 ; + RECT 4.250 1.140 4.390 1.780 ; + RECT 4.180 0.850 4.470 1.140 ; + RECT 9.940 1.060 10.230 1.140 ; + RECT 6.170 0.920 10.230 1.060 ; + RECT 4.250 0.660 4.390 0.850 ; + RECT 6.170 0.660 6.310 0.920 ; + RECT 9.940 0.850 10.230 0.920 ; + RECT 4.250 0.520 6.310 0.660 ; END END B + PIN A + DIRECTION INOUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER met1 ; + RECT 5.620 1.780 5.910 2.070 ; + RECT 11.380 1.780 11.670 2.070 ; + RECT 5.690 1.470 5.830 1.780 ; + RECT 11.450 1.470 11.590 1.780 ; + RECT 5.690 1.330 11.590 1.470 ; + RECT 5.690 1.140 5.830 1.330 ; + RECT 11.450 1.140 11.590 1.330 ; + RECT 5.620 0.850 5.910 1.140 ; + RECT 11.380 0.850 11.670 1.140 ; + END + END A OBS LAYER li1 ; - RECT 1.760 3.060 2.090 3.140 ; - RECT 1.760 2.890 1.840 3.060 ; - RECT 2.010 2.890 2.090 3.060 ; - RECT 1.760 2.810 2.090 2.890 ; - RECT 4.640 3.060 4.970 3.140 ; - RECT 4.640 2.890 4.720 3.060 ; - RECT 4.890 2.890 4.970 3.060 ; - RECT 4.640 2.810 4.970 2.890 ; - RECT 7.760 2.890 7.840 3.140 ; - RECT 8.010 2.890 8.090 3.140 ; - RECT 7.760 2.810 8.090 2.890 ; - RECT 11.840 3.060 12.170 3.140 ; - RECT 11.840 2.890 11.920 3.060 ; - RECT 12.090 2.890 12.170 3.060 ; - RECT 11.840 2.810 12.170 2.890 ; - RECT 13.520 3.060 13.850 3.140 ; - RECT 13.520 2.890 13.600 3.060 ; - RECT 13.770 2.890 13.850 3.060 ; - RECT 13.520 2.810 13.850 2.890 ; - RECT 0.560 2.380 0.890 2.460 ; - RECT 0.560 2.210 0.640 2.380 ; - RECT 0.810 2.210 0.890 2.380 ; - RECT 0.560 2.130 0.890 2.210 ; - RECT 3.440 2.380 3.770 2.460 ; - RECT 3.440 2.210 3.520 2.380 ; - RECT 3.690 2.210 3.770 2.380 ; - RECT 3.440 2.130 3.770 2.210 ; - RECT 5.680 2.060 5.850 2.620 ; - RECT 6.080 2.380 6.410 2.460 ; - RECT 6.080 2.210 6.160 2.380 ; - RECT 6.330 2.210 6.410 2.380 ; - RECT 6.080 2.130 6.410 2.210 ; - RECT 9.440 2.380 9.770 2.460 ; - RECT 9.440 2.210 9.520 2.380 ; - RECT 9.690 2.230 9.770 2.380 ; - RECT 14.720 2.380 15.050 2.460 ; - RECT 14.720 2.230 14.800 2.380 ; - RECT 9.690 2.210 9.750 2.230 ; - RECT 9.440 2.130 9.750 2.210 ; - RECT 14.740 2.210 14.800 2.230 ; - RECT 14.970 2.210 15.050 2.380 ; - RECT 14.740 2.130 15.050 2.210 ; - RECT 1.280 1.980 1.610 2.060 ; - RECT 1.280 1.810 1.360 1.980 ; - RECT 1.530 1.810 1.610 1.980 ; - RECT 1.280 1.730 1.610 1.810 ; - RECT 4.160 1.980 4.490 2.060 ; - RECT 4.160 1.810 4.240 1.980 ; - RECT 4.410 1.810 4.490 1.980 ; - RECT 4.160 1.730 4.490 1.810 ; - RECT 5.600 1.980 5.910 2.060 ; - RECT 5.600 1.810 5.680 1.980 ; - RECT 5.850 1.960 5.910 1.980 ; - RECT 8.480 1.980 8.810 2.060 ; - RECT 5.850 1.810 5.930 1.960 ; - RECT 5.600 1.730 5.930 1.810 ; - RECT 8.480 1.810 8.560 1.980 ; - RECT 8.730 1.810 8.810 1.980 ; - RECT 8.480 1.730 8.810 1.810 ; - RECT 9.920 1.980 10.250 2.060 ; - RECT 9.920 1.810 10.000 1.980 ; - RECT 10.170 1.810 10.250 1.980 ; - RECT 9.920 1.730 10.250 1.810 ; - RECT 11.360 1.980 11.690 2.060 ; - RECT 11.360 1.810 11.440 1.980 ; - RECT 11.610 1.810 11.690 1.980 ; - RECT 11.360 1.730 11.690 1.810 ; - RECT 14.240 1.980 14.570 2.060 ; - RECT 14.240 1.810 14.320 1.980 ; - RECT 14.490 1.810 14.570 1.980 ; - RECT 14.240 1.730 14.570 1.810 ; - RECT 1.280 1.030 1.610 1.110 ; - RECT 1.280 0.860 1.360 1.030 ; - RECT 1.530 0.860 1.610 1.030 ; - RECT 1.280 0.780 1.610 0.860 ; - RECT 4.160 1.030 4.490 1.110 ; - RECT 4.160 0.860 4.240 1.030 ; - RECT 4.410 0.860 4.490 1.030 ; - RECT 4.160 0.780 4.490 0.860 ; - RECT 5.600 1.030 5.930 1.110 ; - RECT 5.600 0.860 5.680 1.030 ; - RECT 5.850 0.860 5.930 1.030 ; - RECT 5.600 0.780 5.930 0.860 ; - RECT 8.480 1.030 8.810 1.110 ; - RECT 8.480 0.860 8.560 1.030 ; - RECT 8.730 0.860 8.810 1.030 ; - RECT 8.480 0.780 8.810 0.860 ; - RECT 9.920 1.030 10.250 1.110 ; - RECT 9.920 0.860 10.000 1.030 ; - RECT 10.170 0.860 10.250 1.030 ; - RECT 9.920 0.780 10.250 0.860 ; - RECT 11.360 1.030 11.690 1.110 ; - RECT 11.360 0.860 11.440 1.030 ; - RECT 11.610 0.860 11.690 1.030 ; - RECT 11.360 0.780 11.690 0.860 ; - RECT 14.240 1.030 14.570 1.110 ; - RECT 14.240 0.860 14.320 1.030 ; - RECT 14.490 0.880 14.570 1.030 ; - RECT 14.490 0.860 14.550 0.880 ; - RECT 14.240 0.780 14.550 0.860 ; - RECT 0.560 0.630 0.890 0.710 ; - RECT 0.560 0.460 0.640 0.630 ; - RECT 0.810 0.460 0.890 0.630 ; - RECT 0.560 0.380 0.890 0.460 ; - RECT 3.440 0.630 3.770 0.710 ; - RECT 3.440 0.460 3.520 0.630 ; - RECT 3.690 0.460 3.770 0.630 ; - RECT 10.420 0.630 10.730 0.710 ; - RECT 10.420 0.610 10.480 0.630 ; - RECT 1.760 0.360 2.090 0.440 ; - RECT 3.440 0.380 3.770 0.460 ; - RECT 10.400 0.460 10.480 0.610 ; - RECT 10.650 0.460 10.730 0.630 ; - RECT 1.760 0.190 1.840 0.360 ; - RECT 2.010 0.190 2.090 0.360 ; - RECT 1.760 0.110 2.090 0.190 ; - RECT 6.080 0.360 6.410 0.440 ; - RECT 6.080 0.110 6.160 0.360 ; - RECT 6.330 0.110 6.410 0.360 ; - RECT 7.760 0.360 8.090 0.440 ; - RECT 7.760 0.110 7.840 0.360 ; - RECT 8.010 0.110 8.090 0.360 ; - RECT 9.440 0.360 9.770 0.440 ; - RECT 10.400 0.390 10.730 0.460 ; - RECT 14.720 0.630 15.050 0.710 ; - RECT 14.720 0.460 14.800 0.630 ; - RECT 14.970 0.460 15.050 0.630 ; - RECT 9.440 0.190 9.520 0.360 ; - RECT 9.690 0.220 9.770 0.360 ; - RECT 11.840 0.360 12.170 0.440 ; - RECT 11.840 0.220 11.920 0.360 ; - RECT 9.690 0.190 11.920 0.220 ; - RECT 12.090 0.190 12.170 0.360 ; - RECT 9.440 0.110 12.170 0.190 ; - RECT 13.520 0.360 13.850 0.440 ; - RECT 14.720 0.380 15.050 0.460 ; - RECT 13.520 0.110 13.600 0.360 ; - RECT 13.770 0.110 13.850 0.360 ; - RECT 9.520 0.050 12.090 0.110 ; + RECT 1.760 3.010 2.090 3.090 ; + RECT 1.760 2.840 1.840 3.010 ; + RECT 2.010 2.840 2.090 3.010 ; + RECT 1.760 2.760 2.090 2.840 ; + RECT 4.640 3.010 4.970 3.090 ; + RECT 4.640 2.840 4.720 3.010 ; + RECT 4.890 2.840 4.970 3.010 ; + RECT 4.640 2.760 4.970 2.840 ; + RECT 7.760 3.010 8.090 3.090 ; + RECT 7.760 2.840 7.840 3.010 ; + RECT 8.010 2.840 8.090 3.010 ; + RECT 7.760 2.760 8.090 2.840 ; + RECT 11.840 3.010 12.170 3.090 ; + RECT 11.840 2.840 11.920 3.010 ; + RECT 12.090 2.840 12.170 3.010 ; + RECT 11.840 2.760 12.170 2.840 ; + RECT 13.520 3.010 13.850 3.090 ; + RECT 13.520 2.840 13.600 3.010 ; + RECT 13.770 2.840 13.850 3.010 ; + RECT 13.520 2.760 13.850 2.840 ; + RECT 0.560 2.430 0.890 2.510 ; + RECT 0.560 2.260 0.640 2.430 ; + RECT 0.810 2.260 0.890 2.430 ; + RECT 0.560 2.180 0.890 2.260 ; + RECT 3.440 2.430 3.770 2.510 ; + RECT 3.440 2.260 3.520 2.430 ; + RECT 3.690 2.260 3.770 2.430 ; + RECT 3.440 2.180 3.770 2.260 ; + RECT 6.080 2.430 6.410 2.510 ; + RECT 6.080 2.260 6.160 2.430 ; + RECT 6.330 2.260 6.410 2.430 ; + RECT 6.080 2.180 6.410 2.260 ; + RECT 9.440 2.430 9.770 2.510 ; + RECT 9.440 2.260 9.520 2.430 ; + RECT 9.690 2.260 9.770 2.430 ; + RECT 14.720 2.430 15.050 2.510 ; + RECT 14.720 2.260 14.800 2.430 ; + RECT 14.970 2.260 15.050 2.430 ; + RECT 9.440 2.180 9.750 2.260 ; + RECT 14.740 2.180 15.050 2.260 ; + RECT 1.280 2.010 1.610 2.090 ; + RECT 1.280 1.840 1.360 2.010 ; + RECT 1.530 1.840 1.610 2.010 ; + RECT 1.280 1.760 1.610 1.840 ; + RECT 4.160 2.010 4.490 2.090 ; + RECT 4.160 1.840 4.240 2.010 ; + RECT 4.410 1.840 4.490 2.010 ; + RECT 4.160 1.760 4.490 1.840 ; + RECT 5.600 2.010 5.910 2.090 ; + RECT 8.480 2.010 8.810 2.090 ; + RECT 5.600 1.840 5.680 2.010 ; + RECT 5.850 1.840 5.930 2.010 ; + RECT 5.600 1.760 5.930 1.840 ; + RECT 8.480 1.840 8.560 2.010 ; + RECT 8.730 1.840 8.810 2.010 ; + RECT 8.480 1.760 8.810 1.840 ; + RECT 9.920 2.010 10.250 2.090 ; + RECT 9.920 1.760 10.000 2.010 ; + RECT 10.170 1.760 10.250 2.010 ; + RECT 11.360 2.010 11.690 2.090 ; + RECT 11.360 1.840 11.440 2.010 ; + RECT 11.610 1.840 11.690 2.010 ; + RECT 11.360 1.760 11.690 1.840 ; + RECT 14.240 2.010 14.570 2.090 ; + RECT 14.240 1.840 14.320 2.010 ; + RECT 14.490 1.840 14.570 2.010 ; + RECT 14.240 1.760 14.570 1.840 ; + RECT 8.560 1.160 8.730 1.760 ; + RECT 10.000 1.160 10.170 1.720 ; + RECT 1.280 1.080 1.610 1.160 ; + RECT 1.280 0.910 1.360 1.080 ; + RECT 1.530 0.910 1.610 1.080 ; + RECT 1.280 0.830 1.610 0.910 ; + RECT 4.160 1.080 4.490 1.160 ; + RECT 4.160 0.910 4.240 1.080 ; + RECT 4.410 0.910 4.490 1.080 ; + RECT 4.160 0.830 4.490 0.910 ; + RECT 5.600 1.080 5.930 1.160 ; + RECT 5.600 0.910 5.680 1.080 ; + RECT 5.850 0.910 5.930 1.080 ; + RECT 5.600 0.830 5.930 0.910 ; + RECT 8.480 1.080 8.810 1.160 ; + RECT 8.480 0.910 8.560 1.080 ; + RECT 8.730 0.910 8.810 1.080 ; + RECT 8.480 0.830 8.810 0.910 ; + RECT 9.920 1.080 10.250 1.160 ; + RECT 9.920 0.910 10.000 1.080 ; + RECT 10.170 0.920 10.250 1.080 ; + RECT 10.170 0.910 10.230 0.920 ; + RECT 9.920 0.830 10.230 0.910 ; + RECT 10.480 0.750 10.650 1.720 ; + RECT 11.360 1.080 11.690 1.160 ; + RECT 11.360 0.910 11.440 1.080 ; + RECT 11.610 0.910 11.690 1.080 ; + RECT 11.360 0.830 11.690 0.910 ; + RECT 14.240 1.080 14.570 1.160 ; + RECT 14.240 0.910 14.320 1.080 ; + RECT 14.490 0.920 14.570 1.080 ; + RECT 14.490 0.910 14.550 0.920 ; + RECT 14.240 0.830 14.550 0.910 ; + RECT 0.560 0.670 0.890 0.750 ; + RECT 0.560 0.500 0.640 0.670 ; + RECT 0.810 0.500 0.890 0.670 ; + RECT 3.440 0.670 3.770 0.750 ; + RECT 0.560 0.420 0.890 0.500 ; + RECT 1.760 0.490 2.090 0.570 ; + RECT 1.760 0.320 1.840 0.490 ; + RECT 2.010 0.320 2.090 0.490 ; + RECT 3.440 0.500 3.520 0.670 ; + RECT 3.690 0.500 3.770 0.670 ; + RECT 9.440 0.670 9.750 0.750 ; + RECT 3.440 0.420 3.770 0.500 ; + RECT 6.080 0.490 6.410 0.570 ; + RECT 1.760 0.240 2.090 0.320 ; + RECT 6.080 0.320 6.160 0.490 ; + RECT 6.330 0.320 6.410 0.490 ; + RECT 6.080 0.270 6.410 0.320 ; + RECT 6.080 0.240 6.160 0.270 ; + RECT 6.330 0.240 6.410 0.270 ; + RECT 7.760 0.490 8.090 0.570 ; + RECT 7.760 0.320 7.840 0.490 ; + RECT 8.010 0.320 8.090 0.490 ; + RECT 9.440 0.500 9.520 0.670 ; + RECT 9.690 0.660 9.750 0.670 ; + RECT 10.400 0.670 10.730 0.750 ; + RECT 9.690 0.500 9.770 0.660 ; + RECT 9.440 0.420 9.770 0.500 ; + RECT 10.400 0.500 10.480 0.670 ; + RECT 10.650 0.500 10.730 0.670 ; + RECT 11.860 0.670 12.170 0.750 ; + RECT 11.860 0.660 11.920 0.670 ; + RECT 10.400 0.420 10.730 0.500 ; + RECT 11.840 0.500 11.920 0.660 ; + RECT 12.090 0.500 12.170 0.670 ; + RECT 14.720 0.670 15.050 0.750 ; + RECT 11.840 0.420 12.170 0.500 ; + RECT 13.520 0.490 13.850 0.570 ; + RECT 7.760 0.270 8.090 0.320 ; + RECT 7.760 0.240 7.840 0.270 ; + RECT 8.010 0.240 8.090 0.270 ; + RECT 13.520 0.320 13.600 0.490 ; + RECT 13.770 0.320 13.850 0.490 ; + RECT 14.720 0.500 14.800 0.670 ; + RECT 14.970 0.500 15.050 0.670 ; + RECT 14.720 0.420 15.050 0.500 ; + RECT 13.520 0.240 13.850 0.320 ; LAYER met1 ; - RECT 5.620 2.790 5.910 2.850 ; - RECT 5.620 2.620 5.680 2.790 ; - RECT 5.850 2.770 5.910 2.790 ; - RECT 5.850 2.630 11.590 2.770 ; - RECT 5.850 2.620 5.910 2.630 ; - RECT 5.620 2.560 5.910 2.620 ; - RECT 3.460 2.380 3.750 2.440 ; - RECT 3.460 2.210 3.520 2.380 ; - RECT 3.690 2.370 3.750 2.380 ; - RECT 6.100 2.380 6.390 2.440 ; - RECT 6.100 2.370 6.160 2.380 ; - RECT 3.690 2.230 6.160 2.370 ; - RECT 3.690 2.210 3.750 2.230 ; - RECT 3.460 2.150 3.750 2.210 ; - RECT 6.100 2.210 6.160 2.230 ; - RECT 6.330 2.370 6.390 2.380 ; - RECT 9.460 2.380 9.750 2.440 ; - RECT 6.330 2.230 8.710 2.370 ; - RECT 6.330 2.210 6.390 2.230 ; - RECT 6.100 2.150 6.390 2.210 ; - RECT 1.300 1.980 1.590 2.040 ; - RECT 1.300 1.810 1.360 1.980 ; - RECT 1.530 1.810 1.590 1.980 ; - RECT 1.300 1.750 1.590 1.810 ; - RECT 1.370 1.090 1.510 1.750 ; - RECT 1.300 1.030 1.590 1.090 ; - RECT 1.300 0.860 1.360 1.030 ; - RECT 1.530 1.020 1.590 1.030 ; - RECT 3.530 1.020 3.670 2.150 ; - RECT 8.570 2.040 8.710 2.230 ; - RECT 9.460 2.210 9.520 2.380 ; - RECT 9.690 2.370 9.750 2.380 ; - RECT 9.690 2.230 10.630 2.370 ; - RECT 9.690 2.210 9.750 2.230 ; - RECT 9.460 2.150 9.750 2.210 ; - RECT 8.500 1.980 8.790 2.040 ; - RECT 8.500 1.810 8.560 1.980 ; - RECT 8.730 1.810 8.790 1.980 ; - RECT 8.500 1.750 8.790 1.810 ; - RECT 8.570 1.090 8.710 1.750 ; - RECT 1.530 0.880 3.670 1.020 ; - RECT 1.530 0.860 1.590 0.880 ; - RECT 1.300 0.800 1.590 0.860 ; - RECT 3.530 0.690 3.670 0.880 ; - RECT 8.500 1.030 8.790 1.090 ; - RECT 8.500 0.860 8.560 1.030 ; - RECT 8.730 0.860 8.790 1.030 ; - RECT 8.500 0.800 8.790 0.860 ; - RECT 10.490 0.690 10.630 2.230 ; - RECT 11.450 2.040 11.590 2.630 ; - RECT 11.380 1.980 11.670 2.040 ; - RECT 11.380 1.810 11.440 1.980 ; - RECT 11.610 1.810 11.670 1.980 ; - RECT 11.380 1.750 11.670 1.810 ; - RECT 14.260 1.980 14.550 2.040 ; - RECT 14.260 1.810 14.320 1.980 ; - RECT 14.490 1.810 14.550 1.980 ; - RECT 14.260 1.750 14.550 1.810 ; - RECT 11.450 1.090 11.590 1.750 ; - RECT 14.330 1.090 14.470 1.750 ; - RECT 11.380 1.030 11.670 1.090 ; - RECT 11.380 0.860 11.440 1.030 ; - RECT 11.610 0.860 11.670 1.030 ; - RECT 11.380 0.800 11.670 0.860 ; - RECT 14.260 1.030 14.550 1.090 ; - RECT 14.260 0.860 14.320 1.030 ; - RECT 14.490 0.860 14.550 1.030 ; - RECT 14.260 0.800 14.550 0.860 ; - RECT 3.460 0.630 3.750 0.690 ; - RECT 3.460 0.460 3.520 0.630 ; - RECT 3.690 0.460 3.750 0.630 ; - RECT 3.460 0.400 3.750 0.460 ; - RECT 10.420 0.630 10.710 0.690 ; - RECT 10.420 0.460 10.480 0.630 ; - RECT 10.650 0.610 10.710 0.630 ; - RECT 14.330 0.610 14.470 0.800 ; - RECT 10.650 0.470 14.470 0.610 ; - RECT 10.650 0.460 10.710 0.470 ; - RECT 10.420 0.400 10.710 0.460 ; + RECT 3.460 2.430 3.750 2.490 ; + RECT 3.460 2.260 3.520 2.430 ; + RECT 3.690 2.410 3.750 2.430 ; + RECT 6.100 2.430 6.390 2.490 ; + RECT 6.100 2.410 6.160 2.430 ; + RECT 3.690 2.270 6.160 2.410 ; + RECT 3.690 2.260 3.750 2.270 ; + RECT 3.460 2.200 3.750 2.260 ; + RECT 6.100 2.260 6.160 2.270 ; + RECT 6.330 2.410 6.390 2.430 ; + RECT 9.460 2.430 9.750 2.490 ; + RECT 6.330 2.270 8.710 2.410 ; + RECT 6.330 2.260 6.390 2.270 ; + RECT 6.100 2.200 6.390 2.260 ; + RECT 1.300 2.010 1.590 2.070 ; + RECT 1.300 1.840 1.360 2.010 ; + RECT 1.530 2.000 1.590 2.010 ; + RECT 3.530 2.000 3.670 2.200 ; + RECT 8.570 2.070 8.710 2.270 ; + RECT 9.460 2.260 9.520 2.430 ; + RECT 9.690 2.410 9.750 2.430 ; + RECT 9.690 2.270 14.470 2.410 ; + RECT 9.690 2.260 9.750 2.270 ; + RECT 9.460 2.200 9.750 2.260 ; + RECT 1.530 1.860 3.670 2.000 ; + RECT 1.530 1.840 1.590 1.860 ; + RECT 1.300 1.780 1.590 1.840 ; + RECT 1.370 1.140 1.510 1.780 ; + RECT 1.300 1.080 1.590 1.140 ; + RECT 1.300 0.910 1.360 1.080 ; + RECT 1.530 0.910 1.590 1.080 ; + RECT 1.300 0.850 1.590 0.910 ; + RECT 3.530 0.730 3.670 1.860 ; + RECT 8.500 2.010 8.790 2.070 ; + RECT 8.500 1.840 8.560 2.010 ; + RECT 8.730 1.840 8.790 2.010 ; + RECT 8.500 1.780 8.790 1.840 ; + RECT 9.940 2.010 10.230 2.070 ; + RECT 9.940 1.720 10.000 2.010 ; + RECT 10.170 1.720 10.230 2.010 ; + RECT 10.490 1.950 10.630 2.270 ; + RECT 14.330 2.070 14.470 2.270 ; + RECT 14.260 2.010 14.550 2.070 ; + RECT 9.940 1.660 10.230 1.720 ; + RECT 10.420 1.890 10.710 1.950 ; + RECT 10.420 1.720 10.480 1.890 ; + RECT 10.650 1.720 10.710 1.890 ; + RECT 14.260 1.840 14.320 2.010 ; + RECT 14.490 1.840 14.550 2.010 ; + RECT 14.260 1.780 14.550 1.840 ; + RECT 10.420 1.660 10.710 1.720 ; + RECT 14.330 1.140 14.470 1.780 ; + RECT 14.260 1.080 14.550 1.140 ; + RECT 14.260 0.910 14.320 1.080 ; + RECT 14.490 0.910 14.550 1.080 ; + RECT 14.260 0.850 14.550 0.910 ; + RECT 3.460 0.670 3.750 0.730 ; + RECT 3.460 0.500 3.520 0.670 ; + RECT 3.690 0.500 3.750 0.670 ; + RECT 3.460 0.440 3.750 0.500 ; + RECT 9.460 0.670 9.750 0.730 ; + RECT 9.460 0.500 9.520 0.670 ; + RECT 9.690 0.660 9.750 0.670 ; + RECT 11.860 0.670 12.150 0.730 ; + RECT 11.860 0.660 11.920 0.670 ; + RECT 9.690 0.520 11.920 0.660 ; + RECT 9.690 0.500 9.750 0.520 ; + RECT 9.460 0.440 9.750 0.500 ; + RECT 11.860 0.500 11.920 0.520 ; + RECT 12.090 0.500 12.150 0.670 ; + RECT 11.860 0.440 12.150 0.500 ; END END HAX1 END LIBRARY
diff --git a/cells/lef/INV.lef b/cells/lef/INV.lef index 8a83d30..556283f 100644 --- a/cells/lef/INV.lef +++ b/cells/lef/INV.lef
@@ -20,7 +20,7 @@ END vdd PIN gnd DIRECTION INOUT ; - USE GROUND ; + USE POWER ; SHAPE ABUTMENT ; PORT LAYER met1 ; @@ -33,9 +33,9 @@ SHAPE ABUTMENT ; PORT LAYER met1 ; - RECT 0.580 2.150 0.870 2.440 ; - RECT 0.650 0.690 0.790 2.150 ; - RECT 0.580 0.400 0.870 0.690 ; + RECT 0.580 2.200 0.870 2.490 ; + RECT 0.650 0.730 0.790 2.200 ; + RECT 0.580 0.440 0.870 0.730 ; END END Y PIN A @@ -44,19 +44,19 @@ SHAPE ABUTMENT ; PORT LAYER met1 ; - RECT 1.300 1.750 1.590 2.040 ; - RECT 1.370 1.090 1.510 1.750 ; - RECT 1.300 0.800 1.590 1.090 ; + RECT 1.300 1.780 1.590 2.070 ; + RECT 1.370 1.140 1.510 1.780 ; + RECT 1.300 0.850 1.590 1.140 ; END END A OBS LAYER li1 ; - RECT 1.760 2.810 2.090 3.140 ; - RECT 0.560 2.130 0.890 2.460 ; - RECT 1.280 1.730 1.610 2.060 ; - RECT 1.280 0.780 1.610 1.110 ; - RECT 0.560 0.380 0.890 0.710 ; - RECT 1.760 0.110 2.090 0.440 ; + RECT 1.760 2.760 2.090 3.090 ; + RECT 0.560 2.180 0.890 2.510 ; + RECT 1.280 1.760 1.610 2.090 ; + RECT 1.280 0.830 1.610 1.160 ; + RECT 0.560 0.420 0.890 0.750 ; + RECT 1.760 0.240 2.090 0.570 ; END END INV END LIBRARY
diff --git a/cells/lef/INVX1.lef b/cells/lef/INVX1.lef index 5fd22e3..139b58d 100644 --- a/cells/lef/INVX1.lef +++ b/cells/lef/INVX1.lef
@@ -20,7 +20,7 @@ END vdd PIN gnd DIRECTION INOUT ; - USE GROUND ; + USE POWER ; SHAPE ABUTMENT ; PORT LAYER met1 ; @@ -33,9 +33,9 @@ SHAPE ABUTMENT ; PORT LAYER met1 ; - RECT 0.580 2.150 0.870 2.440 ; - RECT 0.650 0.690 0.790 2.150 ; - RECT 0.580 0.400 0.870 0.690 ; + RECT 0.580 2.200 0.870 2.490 ; + RECT 0.650 0.730 0.790 2.200 ; + RECT 0.580 0.440 0.870 0.730 ; END END Y PIN A @@ -44,19 +44,19 @@ SHAPE ABUTMENT ; PORT LAYER met1 ; - RECT 1.300 1.750 1.590 2.040 ; - RECT 1.370 1.090 1.510 1.750 ; - RECT 1.300 0.800 1.590 1.090 ; + RECT 1.300 1.780 1.590 2.070 ; + RECT 1.370 1.140 1.510 1.780 ; + RECT 1.300 0.850 1.590 1.140 ; END END A OBS LAYER li1 ; - RECT 1.760 2.810 2.090 3.140 ; - RECT 0.560 2.130 0.890 2.460 ; - RECT 1.280 1.730 1.610 2.060 ; - RECT 1.280 0.780 1.610 1.110 ; - RECT 0.560 0.380 0.890 0.710 ; - RECT 1.760 0.110 2.090 0.440 ; + RECT 1.760 2.760 2.090 3.090 ; + RECT 0.560 2.180 0.890 2.510 ; + RECT 1.280 1.760 1.610 2.090 ; + RECT 1.280 0.830 1.610 1.160 ; + RECT 0.560 0.420 0.890 0.750 ; + RECT 1.760 0.240 2.090 0.570 ; END END INVX1 END LIBRARY
diff --git a/cells/lef/INVX2.lef b/cells/lef/INVX2.lef index 5289631..d8f10b5 100644 --- a/cells/lef/INVX2.lef +++ b/cells/lef/INVX2.lef
@@ -20,7 +20,7 @@ END vdd PIN gnd DIRECTION INOUT ; - USE GROUND ; + USE POWER ; SHAPE ABUTMENT ; PORT LAYER met1 ; @@ -33,9 +33,9 @@ SHAPE ABUTMENT ; PORT LAYER met1 ; - RECT 0.580 2.150 0.870 2.440 ; - RECT 0.650 0.690 0.790 2.150 ; - RECT 0.580 0.400 0.870 0.690 ; + RECT 0.580 2.200 0.870 2.490 ; + RECT 0.650 0.730 0.790 2.200 ; + RECT 0.580 0.440 0.870 0.730 ; END END Y PIN A @@ -44,19 +44,19 @@ SHAPE ABUTMENT ; PORT LAYER met1 ; - RECT 1.300 1.750 1.590 2.040 ; - RECT 1.370 1.090 1.510 1.750 ; - RECT 1.300 0.800 1.590 1.090 ; + RECT 1.300 1.780 1.590 2.070 ; + RECT 1.370 1.140 1.510 1.780 ; + RECT 1.300 0.850 1.590 1.140 ; END END A OBS LAYER li1 ; - RECT 1.760 2.810 2.090 3.140 ; - RECT 0.560 2.130 0.890 2.460 ; - RECT 1.280 1.730 1.610 2.060 ; - RECT 1.280 0.780 1.610 1.110 ; - RECT 0.560 0.380 0.890 0.710 ; - RECT 1.760 0.110 2.090 0.440 ; + RECT 1.760 2.760 2.090 3.090 ; + RECT 0.560 2.180 0.890 2.510 ; + RECT 1.280 1.760 1.610 2.090 ; + RECT 1.280 0.830 1.610 1.160 ; + RECT 0.560 0.420 0.890 0.750 ; + RECT 1.760 0.240 2.090 0.570 ; END END INVX2 END LIBRARY
diff --git a/cells/lef/INVX4.lef b/cells/lef/INVX4.lef index 49354fc..5d1ae9a 100644 --- a/cells/lef/INVX4.lef +++ b/cells/lef/INVX4.lef
@@ -16,21 +16,22 @@ PORT LAYER met1 ; RECT 0.000 3.090 4.320 3.570 ; - RECT 1.780 3.060 2.070 3.090 ; - RECT 1.780 2.890 1.840 3.060 ; - RECT 2.010 2.890 2.070 3.060 ; - RECT 1.780 2.830 2.070 2.890 ; + RECT 1.780 3.010 2.070 3.090 ; + RECT 1.780 2.840 1.840 3.010 ; + RECT 2.010 2.840 2.070 3.010 ; + RECT 1.780 2.780 2.070 2.840 ; END END vdd PIN gnd DIRECTION INOUT ; - USE GROUND ; + USE POWER ; SHAPE ABUTMENT ; PORT LAYER met1 ; - RECT 1.780 0.360 2.070 0.420 ; - RECT 1.780 0.240 1.840 0.360 ; - RECT 2.010 0.240 2.070 0.360 ; + RECT 1.780 0.490 2.070 0.550 ; + RECT 1.780 0.320 1.840 0.490 ; + RECT 2.010 0.320 2.070 0.490 ; + RECT 1.780 0.240 2.070 0.320 ; RECT 0.000 -0.240 4.320 0.240 ; END END gnd @@ -40,15 +41,15 @@ SHAPE ABUTMENT ; PORT LAYER met1 ; - RECT 0.580 2.370 0.870 2.440 ; - RECT 3.220 2.370 3.510 2.440 ; - RECT 0.580 2.230 3.510 2.370 ; - RECT 0.580 2.150 0.870 2.230 ; - RECT 3.220 2.150 3.510 2.230 ; - RECT 0.650 0.690 0.790 2.150 ; - RECT 3.290 0.690 3.430 2.150 ; - RECT 0.580 0.400 0.870 0.690 ; - RECT 3.220 0.400 3.510 0.690 ; + RECT 0.820 2.410 1.110 2.490 ; + RECT 3.220 2.410 3.510 2.490 ; + RECT 0.820 2.270 3.510 2.410 ; + RECT 0.820 2.200 1.110 2.270 ; + RECT 3.220 2.200 3.510 2.270 ; + RECT 0.890 0.730 1.030 2.200 ; + RECT 3.290 0.730 3.430 2.200 ; + RECT 0.820 0.440 1.110 0.730 ; + RECT 3.220 0.440 3.510 0.730 ; END END Y PIN A @@ -57,61 +58,61 @@ SHAPE ABUTMENT ; PORT LAYER met1 ; - RECT 1.300 1.750 1.590 2.040 ; - RECT 2.740 1.750 3.030 2.040 ; - RECT 1.370 1.090 1.510 1.750 ; - RECT 2.810 1.090 2.950 1.750 ; - RECT 1.300 1.020 1.590 1.090 ; - RECT 2.740 1.020 3.030 1.090 ; - RECT 1.300 0.880 3.030 1.020 ; - RECT 1.300 0.800 1.590 0.880 ; - RECT 2.740 0.800 3.030 0.880 ; + RECT 1.300 1.780 1.590 2.070 ; + RECT 2.740 1.780 3.030 2.070 ; + RECT 1.370 1.140 1.510 1.780 ; + RECT 2.810 1.140 2.950 1.780 ; + RECT 1.300 1.060 1.590 1.140 ; + RECT 2.740 1.060 3.030 1.140 ; + RECT 1.300 0.920 3.030 1.060 ; + RECT 1.300 0.850 1.590 0.920 ; + RECT 2.740 0.850 3.030 0.920 ; END END A OBS LAYER li1 ; - RECT 1.760 3.060 2.090 3.140 ; - RECT 1.760 2.890 1.840 3.060 ; - RECT 2.010 2.890 2.090 3.060 ; - RECT 1.760 2.810 2.090 2.890 ; - RECT 0.560 2.380 0.890 2.460 ; - RECT 0.560 2.210 0.640 2.380 ; - RECT 0.810 2.210 0.890 2.380 ; - RECT 0.560 2.130 0.890 2.210 ; - RECT 3.200 2.380 3.530 2.460 ; - RECT 3.200 2.210 3.280 2.380 ; - RECT 3.450 2.210 3.530 2.380 ; - RECT 3.200 2.130 3.530 2.210 ; - RECT 1.280 1.980 1.610 2.060 ; - RECT 1.280 1.810 1.360 1.980 ; - RECT 1.530 1.810 1.610 1.980 ; - RECT 1.280 1.730 1.610 1.810 ; - RECT 2.720 1.980 3.030 2.060 ; - RECT 2.720 1.810 2.800 1.980 ; - RECT 2.970 1.960 3.030 1.980 ; - RECT 2.970 1.810 3.050 1.960 ; - RECT 2.720 1.730 3.050 1.810 ; - RECT 1.280 1.030 1.610 1.110 ; - RECT 1.280 0.860 1.360 1.030 ; - RECT 1.530 0.860 1.610 1.030 ; - RECT 1.280 0.780 1.610 0.860 ; - RECT 2.720 1.030 3.050 1.110 ; - RECT 2.720 0.860 2.800 1.030 ; - RECT 2.970 0.880 3.050 1.030 ; - RECT 2.970 0.860 3.030 0.880 ; - RECT 2.720 0.780 3.030 0.860 ; - RECT 0.560 0.630 0.890 0.710 ; - RECT 0.560 0.460 0.640 0.630 ; - RECT 0.810 0.460 0.890 0.630 ; - RECT 0.560 0.380 0.890 0.460 ; - RECT 3.200 0.630 3.530 0.710 ; - RECT 3.200 0.460 3.280 0.630 ; - RECT 3.450 0.460 3.530 0.630 ; - RECT 1.760 0.360 2.090 0.440 ; - RECT 3.200 0.380 3.530 0.460 ; - RECT 1.760 0.190 1.840 0.360 ; - RECT 2.010 0.190 2.090 0.360 ; - RECT 1.760 0.110 2.090 0.190 ; + RECT 1.760 3.010 2.090 3.090 ; + RECT 1.760 2.840 1.840 3.010 ; + RECT 2.010 2.840 2.090 3.010 ; + RECT 1.760 2.760 2.090 2.840 ; + RECT 0.800 2.430 1.130 2.510 ; + RECT 0.800 2.260 0.880 2.430 ; + RECT 1.050 2.260 1.130 2.430 ; + RECT 3.200 2.430 3.530 2.510 ; + RECT 3.200 2.260 3.280 2.430 ; + RECT 3.450 2.260 3.530 2.430 ; + RECT 0.800 2.180 1.110 2.260 ; + RECT 3.220 2.180 3.530 2.260 ; + RECT 1.280 2.010 1.610 2.090 ; + RECT 1.280 1.840 1.360 2.010 ; + RECT 1.530 1.840 1.610 2.010 ; + RECT 1.280 1.760 1.610 1.840 ; + RECT 2.720 2.010 3.050 2.090 ; + RECT 2.720 1.840 2.800 2.010 ; + RECT 2.970 1.840 3.050 2.010 ; + RECT 2.720 1.760 3.050 1.840 ; + RECT 1.280 1.080 1.610 1.160 ; + RECT 1.280 0.920 1.360 1.080 ; + RECT 1.300 0.910 1.360 0.920 ; + RECT 1.530 0.910 1.610 1.080 ; + RECT 1.300 0.830 1.610 0.910 ; + RECT 2.720 1.080 3.050 1.160 ; + RECT 2.720 0.910 2.800 1.080 ; + RECT 2.970 0.910 3.050 1.080 ; + RECT 2.720 0.830 3.050 0.910 ; + RECT 0.800 0.670 1.130 0.750 ; + RECT 0.800 0.500 0.880 0.670 ; + RECT 1.050 0.500 1.130 0.670 ; + RECT 3.220 0.670 3.530 0.750 ; + RECT 3.220 0.660 3.280 0.670 ; + RECT 0.800 0.420 1.130 0.500 ; + RECT 1.760 0.490 2.090 0.570 ; + RECT 1.760 0.320 1.840 0.490 ; + RECT 2.010 0.320 2.090 0.490 ; + RECT 3.200 0.500 3.280 0.660 ; + RECT 3.450 0.500 3.530 0.670 ; + RECT 3.200 0.420 3.530 0.500 ; + RECT 1.760 0.240 2.090 0.320 ; END END INVX4 END LIBRARY
diff --git a/cells/lef/INVX8.lef b/cells/lef/INVX8.lef index 6664a71..1ce96d7 100644 --- a/cells/lef/INVX8.lef +++ b/cells/lef/INVX8.lef
@@ -16,24 +16,28 @@ PORT LAYER met1 ; RECT 0.000 3.090 7.200 3.570 ; - RECT 1.780 3.060 2.070 3.090 ; - RECT 1.780 2.890 1.840 3.060 ; - RECT 2.010 2.890 2.070 3.060 ; - RECT 1.780 2.830 2.070 2.890 ; - RECT 4.660 3.060 4.950 3.090 ; - RECT 4.660 2.890 4.720 3.060 ; - RECT 4.890 2.890 4.950 3.060 ; - RECT 4.660 2.830 4.950 2.890 ; + RECT 1.780 3.010 2.070 3.090 ; + RECT 1.780 2.840 1.840 3.010 ; + RECT 2.010 2.840 2.070 3.010 ; + RECT 1.780 2.780 2.070 2.840 ; + RECT 4.660 3.010 4.950 3.090 ; + RECT 4.660 2.840 4.720 3.010 ; + RECT 4.890 2.840 4.950 3.010 ; + RECT 4.660 2.780 4.950 2.840 ; END END vdd PIN gnd DIRECTION INOUT ; - USE GROUND ; + USE POWER ; SHAPE ABUTMENT ; PORT LAYER met1 ; - RECT 1.780 0.240 2.070 0.280 ; - RECT 4.660 0.240 4.950 0.280 ; + RECT 1.780 0.270 2.070 0.330 ; + RECT 1.780 0.240 1.840 0.270 ; + RECT 2.010 0.240 2.070 0.270 ; + RECT 4.660 0.270 4.950 0.330 ; + RECT 4.660 0.240 4.720 0.270 ; + RECT 4.890 0.240 4.950 0.270 ; RECT 0.000 -0.240 7.200 0.240 ; END END gnd @@ -43,21 +47,21 @@ SHAPE ABUTMENT ; PORT LAYER met1 ; - RECT 0.580 2.370 0.870 2.440 ; - RECT 3.220 2.370 3.510 2.440 ; - RECT 0.580 2.230 3.510 2.370 ; - RECT 0.580 2.150 0.870 2.230 ; - RECT 3.220 2.150 3.510 2.230 ; - RECT 6.100 2.150 6.390 2.440 ; - RECT 0.650 0.690 0.790 2.150 ; - RECT 6.170 0.690 6.310 2.150 ; - RECT 0.580 0.610 0.870 0.690 ; - RECT 3.220 0.610 3.510 0.690 ; - RECT 6.100 0.610 6.390 0.690 ; - RECT 0.580 0.470 6.390 0.610 ; - RECT 0.580 0.400 0.870 0.470 ; - RECT 3.220 0.400 3.510 0.470 ; - RECT 6.100 0.400 6.390 0.470 ; + RECT 0.820 2.410 1.110 2.490 ; + RECT 3.700 2.410 3.990 2.490 ; + RECT 6.100 2.410 6.390 2.490 ; + RECT 0.820 2.270 6.390 2.410 ; + RECT 0.820 2.200 1.110 2.270 ; + RECT 3.700 2.200 3.990 2.270 ; + RECT 6.100 2.200 6.390 2.270 ; + RECT 0.890 0.730 1.030 2.200 ; + RECT 6.170 0.730 6.310 2.200 ; + RECT 0.820 0.440 1.110 0.730 ; + RECT 3.700 0.660 3.990 0.730 ; + RECT 6.100 0.660 6.390 0.730 ; + RECT 3.700 0.520 6.390 0.660 ; + RECT 3.700 0.440 3.990 0.520 ; + RECT 6.100 0.440 6.390 0.520 ; END END Y PIN A @@ -66,101 +70,106 @@ SHAPE ABUTMENT ; PORT LAYER met1 ; - RECT 1.300 1.960 1.590 2.040 ; - RECT 2.740 1.960 3.030 2.040 ; - RECT 4.180 1.960 4.470 2.040 ; - RECT 5.620 1.960 5.910 2.040 ; - RECT 1.300 1.820 5.910 1.960 ; - RECT 1.300 1.750 1.590 1.820 ; - RECT 2.740 1.750 3.030 1.820 ; - RECT 4.180 1.750 4.470 1.820 ; - RECT 5.620 1.750 5.910 1.820 ; - RECT 1.370 1.090 1.510 1.750 ; - RECT 2.810 1.090 2.950 1.750 ; - RECT 4.250 1.090 4.390 1.750 ; - RECT 5.690 1.090 5.830 1.750 ; - RECT 1.300 0.800 1.590 1.090 ; - RECT 2.740 0.800 3.030 1.090 ; - RECT 4.180 0.800 4.470 1.090 ; - RECT 5.620 0.800 5.910 1.090 ; + RECT 1.300 2.000 1.590 2.070 ; + RECT 2.740 2.000 3.030 2.070 ; + RECT 4.180 2.000 4.470 2.070 ; + RECT 5.620 2.000 5.910 2.070 ; + RECT 1.300 1.860 5.910 2.000 ; + RECT 1.300 1.780 1.590 1.860 ; + RECT 2.740 1.780 3.030 1.860 ; + RECT 4.180 1.780 4.470 1.860 ; + RECT 5.620 1.780 5.910 1.860 ; + RECT 1.370 1.140 1.510 1.780 ; + RECT 2.810 1.140 2.950 1.780 ; + RECT 4.250 1.140 4.390 1.780 ; + RECT 5.690 1.140 5.830 1.780 ; + RECT 1.300 0.850 1.590 1.140 ; + RECT 2.740 0.850 3.030 1.140 ; + RECT 4.180 0.850 4.470 1.140 ; + RECT 5.620 0.850 5.910 1.140 ; END END A OBS LAYER li1 ; - RECT 1.760 3.060 2.090 3.140 ; - RECT 1.760 2.890 1.840 3.060 ; - RECT 2.010 2.890 2.090 3.060 ; - RECT 1.760 2.810 2.090 2.890 ; - RECT 4.640 3.060 4.970 3.140 ; - RECT 4.640 2.890 4.720 3.060 ; - RECT 4.890 2.890 4.970 3.060 ; - RECT 4.640 2.810 4.970 2.890 ; - RECT 0.560 2.380 0.890 2.460 ; - RECT 0.560 2.210 0.640 2.380 ; - RECT 0.810 2.210 0.890 2.380 ; - RECT 3.200 2.380 3.530 2.460 ; - RECT 3.200 2.230 3.280 2.380 ; - RECT 0.560 2.130 0.890 2.210 ; - RECT 3.220 2.210 3.280 2.230 ; - RECT 3.450 2.210 3.530 2.380 ; - RECT 6.080 2.380 6.410 2.460 ; - RECT 6.080 2.230 6.160 2.380 ; - RECT 3.220 2.130 3.530 2.210 ; - RECT 6.100 2.210 6.160 2.230 ; - RECT 6.330 2.210 6.410 2.380 ; - RECT 6.100 2.130 6.410 2.210 ; - RECT 1.280 1.980 1.610 2.060 ; - RECT 1.280 1.810 1.360 1.980 ; - RECT 1.530 1.810 1.610 1.980 ; - RECT 1.280 1.730 1.610 1.810 ; - RECT 2.720 1.980 3.050 2.060 ; - RECT 2.720 1.810 2.800 1.980 ; - RECT 2.970 1.810 3.050 1.980 ; - RECT 2.720 1.730 3.050 1.810 ; - RECT 4.160 1.980 4.490 2.060 ; - RECT 4.160 1.810 4.240 1.980 ; - RECT 4.410 1.810 4.490 1.980 ; - RECT 4.160 1.730 4.490 1.810 ; - RECT 5.600 1.980 5.930 2.060 ; - RECT 5.600 1.810 5.680 1.980 ; - RECT 5.850 1.810 5.930 1.980 ; - RECT 5.600 1.730 5.930 1.810 ; - RECT 1.280 1.030 1.610 1.110 ; - RECT 1.280 0.860 1.360 1.030 ; - RECT 1.530 0.860 1.610 1.030 ; - RECT 1.280 0.780 1.610 0.860 ; - RECT 2.720 1.030 3.050 1.110 ; - RECT 2.720 0.860 2.800 1.030 ; - RECT 2.970 0.880 3.050 1.030 ; - RECT 4.160 1.030 4.490 1.110 ; - RECT 2.970 0.860 3.030 0.880 ; - RECT 2.720 0.780 3.030 0.860 ; - RECT 4.160 0.860 4.240 1.030 ; - RECT 4.410 0.860 4.490 1.030 ; - RECT 4.160 0.780 4.490 0.860 ; - RECT 5.600 1.030 5.930 1.110 ; - RECT 5.600 0.860 5.680 1.030 ; - RECT 5.850 0.860 5.930 1.030 ; - RECT 5.600 0.780 5.930 0.860 ; - RECT 0.560 0.630 0.890 0.710 ; - RECT 0.560 0.460 0.640 0.630 ; - RECT 0.810 0.460 0.890 0.630 ; - RECT 0.560 0.380 0.890 0.460 ; - RECT 3.200 0.630 3.530 0.710 ; - RECT 3.200 0.460 3.280 0.630 ; - RECT 3.450 0.460 3.530 0.630 ; - RECT 6.100 0.630 6.410 0.710 ; - RECT 6.100 0.610 6.160 0.630 ; - RECT 1.760 0.360 2.090 0.440 ; - RECT 3.200 0.380 3.530 0.460 ; - RECT 6.080 0.460 6.160 0.610 ; - RECT 6.330 0.460 6.410 0.630 ; - RECT 1.760 0.110 1.840 0.360 ; - RECT 2.010 0.110 2.090 0.360 ; - RECT 4.640 0.360 4.970 0.440 ; - RECT 6.080 0.380 6.410 0.460 ; - RECT 4.640 0.110 4.720 0.360 ; - RECT 4.890 0.110 4.970 0.360 ; + RECT 1.760 3.010 2.090 3.090 ; + RECT 1.760 2.840 1.840 3.010 ; + RECT 2.010 2.840 2.090 3.010 ; + RECT 1.760 2.760 2.090 2.840 ; + RECT 4.640 3.010 4.970 3.090 ; + RECT 4.640 2.840 4.720 3.010 ; + RECT 4.890 2.840 4.970 3.010 ; + RECT 4.640 2.760 4.970 2.840 ; + RECT 0.800 2.430 1.130 2.510 ; + RECT 0.800 2.260 0.880 2.430 ; + RECT 1.050 2.260 1.130 2.430 ; + RECT 0.800 2.180 1.130 2.260 ; + RECT 3.680 2.430 4.010 2.510 ; + RECT 3.680 2.260 3.760 2.430 ; + RECT 3.930 2.260 4.010 2.430 ; + RECT 6.080 2.430 6.410 2.510 ; + RECT 6.080 2.260 6.160 2.430 ; + RECT 6.330 2.260 6.410 2.430 ; + RECT 3.680 2.180 3.990 2.260 ; + RECT 6.100 2.180 6.410 2.260 ; + RECT 1.300 2.010 1.610 2.090 ; + RECT 1.280 1.840 1.360 2.010 ; + RECT 1.530 1.840 1.610 2.010 ; + RECT 1.280 1.760 1.610 1.840 ; + RECT 2.720 2.010 3.050 2.090 ; + RECT 2.720 1.840 2.800 2.010 ; + RECT 2.970 1.840 3.050 2.010 ; + RECT 2.720 1.760 3.050 1.840 ; + RECT 4.160 2.010 4.490 2.090 ; + RECT 4.160 1.840 4.240 2.010 ; + RECT 4.410 1.840 4.490 2.010 ; + RECT 4.160 1.760 4.490 1.840 ; + RECT 5.600 2.010 5.930 2.090 ; + RECT 5.600 1.840 5.680 2.010 ; + RECT 5.850 1.840 5.930 2.010 ; + RECT 5.600 1.760 5.930 1.840 ; + RECT 1.280 1.080 1.610 1.160 ; + RECT 1.280 0.910 1.360 1.080 ; + RECT 1.530 0.910 1.610 1.080 ; + RECT 1.280 0.830 1.610 0.910 ; + RECT 2.720 1.080 3.050 1.160 ; + RECT 2.720 0.910 2.800 1.080 ; + RECT 2.970 0.910 3.050 1.080 ; + RECT 4.160 1.080 4.490 1.160 ; + RECT 4.160 0.920 4.240 1.080 ; + RECT 2.720 0.830 3.050 0.910 ; + RECT 4.180 0.910 4.240 0.920 ; + RECT 4.410 0.910 4.490 1.080 ; + RECT 4.180 0.830 4.490 0.910 ; + RECT 5.600 1.080 5.930 1.160 ; + RECT 5.600 0.910 5.680 1.080 ; + RECT 5.850 0.910 5.930 1.080 ; + RECT 5.600 0.830 5.930 0.910 ; + RECT 0.800 0.670 1.110 0.750 ; + RECT 0.800 0.500 0.880 0.670 ; + RECT 1.050 0.660 1.110 0.670 ; + RECT 3.680 0.670 4.010 0.750 ; + RECT 1.050 0.500 1.130 0.660 ; + RECT 0.800 0.420 1.130 0.500 ; + RECT 1.760 0.490 2.090 0.570 ; + RECT 1.760 0.320 1.840 0.490 ; + RECT 2.010 0.320 2.090 0.490 ; + RECT 3.680 0.500 3.760 0.670 ; + RECT 3.930 0.500 4.010 0.670 ; + RECT 6.100 0.670 6.410 0.750 ; + RECT 6.100 0.660 6.160 0.670 ; + RECT 3.680 0.420 4.010 0.500 ; + RECT 4.640 0.490 4.970 0.570 ; + RECT 1.760 0.270 2.090 0.320 ; + RECT 1.760 0.240 1.840 0.270 ; + RECT 2.010 0.240 2.090 0.270 ; + RECT 4.640 0.320 4.720 0.490 ; + RECT 4.890 0.320 4.970 0.490 ; + RECT 6.080 0.500 6.160 0.660 ; + RECT 6.330 0.500 6.410 0.670 ; + RECT 6.080 0.420 6.410 0.500 ; + RECT 4.640 0.270 4.970 0.320 ; + RECT 4.640 0.240 4.720 0.270 ; + RECT 4.890 0.240 4.970 0.270 ; END END INVX8 END LIBRARY
diff --git a/cells/lef/MUX2X1.lef b/cells/lef/MUX2X1.lef index a56934d..ea9e1e7 100644 --- a/cells/lef/MUX2X1.lef +++ b/cells/lef/MUX2X1.lef
@@ -16,28 +16,30 @@ PORT LAYER met1 ; RECT 0.000 3.090 8.640 3.570 ; - RECT 1.780 3.060 2.070 3.090 ; - RECT 1.780 2.890 1.840 3.060 ; - RECT 2.010 2.890 2.070 3.060 ; - RECT 1.780 2.830 2.070 2.890 ; - RECT 7.540 3.060 7.830 3.090 ; - RECT 7.540 2.890 7.600 3.060 ; - RECT 7.770 2.890 7.830 3.060 ; - RECT 7.540 2.830 7.830 2.890 ; + RECT 1.780 3.010 2.070 3.090 ; + RECT 1.780 2.840 1.840 3.010 ; + RECT 2.010 2.840 2.070 3.010 ; + RECT 1.780 2.780 2.070 2.840 ; + RECT 7.540 3.010 7.830 3.090 ; + RECT 7.540 2.840 7.600 3.010 ; + RECT 7.770 2.840 7.830 3.010 ; + RECT 7.540 2.780 7.830 2.840 ; END END vdd PIN gnd DIRECTION INOUT ; - USE GROUND ; + USE POWER ; SHAPE ABUTMENT ; PORT LAYER met1 ; - RECT 1.780 0.360 2.070 0.420 ; - RECT 1.780 0.240 1.840 0.360 ; - RECT 2.010 0.240 2.070 0.360 ; - RECT 7.540 0.360 7.830 0.420 ; - RECT 7.540 0.240 7.600 0.360 ; - RECT 7.770 0.240 7.830 0.360 ; + RECT 1.780 0.490 2.070 0.550 ; + RECT 1.780 0.320 1.840 0.490 ; + RECT 2.010 0.320 2.070 0.490 ; + RECT 1.780 0.240 2.070 0.320 ; + RECT 7.540 0.490 7.830 0.550 ; + RECT 7.540 0.320 7.600 0.490 ; + RECT 7.770 0.320 7.830 0.490 ; + RECT 7.540 0.240 7.830 0.320 ; RECT 0.000 -0.240 8.640 0.240 ; END END gnd @@ -47,9 +49,9 @@ SHAPE ABUTMENT ; PORT LAYER met1 ; - RECT 5.140 2.150 5.430 2.440 ; - RECT 5.210 1.500 5.350 2.150 ; - RECT 5.140 1.210 5.430 1.500 ; + RECT 5.140 2.200 5.430 2.490 ; + RECT 5.210 1.540 5.350 2.200 ; + RECT 5.140 1.250 5.430 1.540 ; END END Y PIN S @@ -58,145 +60,144 @@ SHAPE ABUTMENT ; PORT LAYER met1 ; - RECT 5.620 1.960 5.910 2.040 ; - RECT 5.620 1.820 6.310 1.960 ; - RECT 5.620 1.750 5.910 1.820 ; - RECT 1.300 1.020 1.590 1.090 ; - RECT 4.180 1.020 4.470 1.090 ; - RECT 1.300 0.880 4.470 1.020 ; - RECT 1.300 0.800 1.590 0.880 ; - RECT 4.180 0.800 4.470 0.880 ; - RECT 4.250 0.610 4.390 0.800 ; - RECT 6.170 0.610 6.310 1.820 ; - RECT 4.250 0.470 6.310 0.610 ; + RECT 5.620 2.000 5.910 2.070 ; + RECT 5.620 1.860 6.310 2.000 ; + RECT 5.620 1.780 5.910 1.860 ; + RECT 1.300 1.060 1.590 1.140 ; + RECT 4.180 1.060 4.470 1.140 ; + RECT 1.300 0.920 4.470 1.060 ; + RECT 1.300 0.850 1.590 0.920 ; + RECT 4.180 0.850 4.470 0.920 ; + RECT 4.250 0.660 4.390 0.850 ; + RECT 6.170 0.660 6.310 1.860 ; + RECT 4.250 0.520 6.310 0.660 ; END END S - PIN B - DIRECTION INOUT ; - USE SIGNAL ; - SHAPE ABUTMENT ; - PORT - LAYER met1 ; - RECT 7.060 1.750 7.350 2.040 ; - RECT 7.130 1.090 7.270 1.750 ; - RECT 7.060 0.800 7.350 1.090 ; - END - END B PIN A DIRECTION INOUT ; USE SIGNAL ; SHAPE ABUTMENT ; PORT LAYER met1 ; - RECT 2.740 1.210 3.030 1.500 ; + RECT 2.740 1.250 3.030 1.540 ; END END A + PIN B + DIRECTION INOUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER met1 ; + RECT 7.060 1.780 7.350 2.070 ; + RECT 7.130 1.140 7.270 1.780 ; + RECT 7.060 0.850 7.350 1.140 ; + END + END B OBS LAYER li1 ; - RECT 1.760 3.060 2.090 3.140 ; - RECT 1.760 2.890 1.840 3.060 ; - RECT 2.010 2.890 2.090 3.060 ; - RECT 1.760 2.810 2.090 2.890 ; - RECT 7.520 3.060 7.850 3.140 ; - RECT 7.520 2.890 7.600 3.060 ; - RECT 7.770 2.890 7.850 3.060 ; - RECT 7.520 2.810 7.850 2.890 ; - RECT 0.560 2.380 0.890 2.460 ; - RECT 0.560 2.210 0.640 2.380 ; - RECT 0.810 2.210 0.890 2.380 ; - RECT 0.560 2.130 0.890 2.210 ; - RECT 5.120 2.380 5.450 2.460 ; - RECT 5.120 2.210 5.200 2.380 ; - RECT 5.370 2.210 5.450 2.380 ; - RECT 5.120 2.130 5.450 2.210 ; - RECT 1.280 1.980 1.610 2.060 ; - RECT 1.280 1.810 1.360 1.980 ; - RECT 1.530 1.810 1.610 1.980 ; - RECT 1.280 1.730 1.610 1.810 ; - RECT 2.720 1.980 3.050 2.060 ; - RECT 2.720 1.810 2.800 1.980 ; - RECT 2.970 1.810 3.050 1.980 ; - RECT 2.720 1.730 3.050 1.810 ; - RECT 4.160 1.980 4.490 2.060 ; - RECT 4.160 1.810 4.240 1.980 ; - RECT 4.410 1.810 4.490 1.980 ; - RECT 5.620 1.980 5.930 2.060 ; - RECT 5.620 1.960 5.680 1.980 ; - RECT 4.160 1.730 4.490 1.810 ; - RECT 5.600 1.810 5.680 1.960 ; - RECT 5.850 1.810 5.930 1.980 ; - RECT 5.600 1.730 5.930 1.810 ; - RECT 7.040 1.980 7.370 2.060 ; - RECT 7.040 1.810 7.120 1.980 ; - RECT 7.290 1.810 7.370 1.980 ; - RECT 7.040 1.730 7.370 1.810 ; - RECT 1.360 1.110 1.530 1.730 ; - RECT 2.800 1.440 2.970 1.730 ; - RECT 2.800 1.110 2.970 1.270 ; - RECT 1.280 1.030 1.610 1.110 ; - RECT 1.280 0.860 1.360 1.030 ; - RECT 1.530 0.860 1.610 1.030 ; - RECT 1.280 0.780 1.610 0.860 ; - RECT 2.720 1.030 3.050 1.110 ; - RECT 2.720 0.860 2.800 1.030 ; - RECT 2.970 0.860 3.050 1.030 ; - RECT 2.720 0.780 3.050 0.860 ; - RECT 4.160 1.030 4.490 1.110 ; - RECT 4.160 0.860 4.240 1.030 ; - RECT 4.410 0.860 4.490 1.030 ; - RECT 4.160 0.780 4.490 0.860 ; - RECT 5.200 0.710 5.370 1.270 ; - RECT 5.600 1.030 5.930 1.110 ; - RECT 5.600 0.880 5.680 1.030 ; - RECT 5.620 0.860 5.680 0.880 ; - RECT 5.850 0.860 5.930 1.030 ; - RECT 5.620 0.780 5.930 0.860 ; - RECT 7.040 1.030 7.370 1.110 ; - RECT 7.040 0.860 7.120 1.030 ; - RECT 7.290 0.860 7.370 1.030 ; - RECT 7.040 0.780 7.370 0.860 ; - RECT 0.560 0.630 0.890 0.710 ; - RECT 0.560 0.460 0.640 0.630 ; - RECT 0.810 0.460 0.890 0.630 ; - RECT 0.560 0.380 0.890 0.460 ; - RECT 5.120 0.630 5.450 0.710 ; - RECT 5.120 0.460 5.200 0.630 ; - RECT 5.370 0.460 5.450 0.630 ; - RECT 1.760 0.360 2.090 0.440 ; - RECT 5.120 0.380 5.450 0.460 ; - RECT 1.760 0.190 1.840 0.360 ; - RECT 2.010 0.190 2.090 0.360 ; - RECT 1.760 0.110 2.090 0.190 ; - RECT 7.520 0.360 7.850 0.440 ; - RECT 7.520 0.190 7.600 0.360 ; - RECT 7.770 0.190 7.850 0.360 ; - RECT 7.520 0.110 7.850 0.190 ; + RECT 1.760 3.010 2.090 3.090 ; + RECT 1.760 2.840 1.840 3.010 ; + RECT 2.010 2.840 2.090 3.010 ; + RECT 1.760 2.760 2.090 2.840 ; + RECT 7.520 3.010 7.850 3.090 ; + RECT 7.520 2.840 7.600 3.010 ; + RECT 7.770 2.840 7.850 3.010 ; + RECT 7.520 2.760 7.850 2.840 ; + RECT 0.560 2.430 0.890 2.510 ; + RECT 0.560 2.260 0.640 2.430 ; + RECT 0.810 2.260 0.890 2.430 ; + RECT 0.560 2.180 0.890 2.260 ; + RECT 5.120 2.430 5.450 2.510 ; + RECT 5.120 2.260 5.200 2.430 ; + RECT 5.370 2.260 5.450 2.430 ; + RECT 5.120 2.180 5.450 2.260 ; + RECT 1.280 2.010 1.610 2.090 ; + RECT 1.280 1.840 1.360 2.010 ; + RECT 1.530 1.840 1.610 2.010 ; + RECT 1.280 1.760 1.610 1.840 ; + RECT 2.720 2.010 3.050 2.090 ; + RECT 2.720 1.840 2.800 2.010 ; + RECT 2.970 1.840 3.050 2.010 ; + RECT 2.720 1.760 3.050 1.840 ; + RECT 4.160 2.010 4.490 2.090 ; + RECT 5.620 2.010 5.930 2.090 ; + RECT 4.160 1.840 4.240 2.010 ; + RECT 4.410 1.840 4.490 2.010 ; + RECT 4.160 1.760 4.490 1.840 ; + RECT 5.600 1.840 5.680 2.010 ; + RECT 5.850 1.840 5.930 2.010 ; + RECT 5.600 1.760 5.930 1.840 ; + RECT 7.040 2.010 7.370 2.090 ; + RECT 7.040 1.840 7.120 2.010 ; + RECT 7.290 1.840 7.370 2.010 ; + RECT 7.040 1.760 7.370 1.840 ; + RECT 1.360 1.160 1.530 1.760 ; + RECT 2.800 1.480 2.970 1.760 ; + RECT 2.800 1.160 2.970 1.310 ; + RECT 1.280 1.080 1.610 1.160 ; + RECT 1.280 0.910 1.360 1.080 ; + RECT 1.530 0.910 1.610 1.080 ; + RECT 1.280 0.830 1.610 0.910 ; + RECT 2.720 1.080 3.050 1.160 ; + RECT 2.720 0.910 2.800 1.080 ; + RECT 2.970 0.910 3.050 1.080 ; + RECT 2.720 0.830 3.050 0.910 ; + RECT 4.160 1.080 4.490 1.160 ; + RECT 4.160 0.910 4.240 1.080 ; + RECT 4.410 0.910 4.490 1.080 ; + RECT 4.160 0.830 4.490 0.910 ; + RECT 5.200 0.750 5.370 1.310 ; + RECT 5.600 1.080 5.930 1.160 ; + RECT 5.600 0.920 5.680 1.080 ; + RECT 5.620 0.910 5.680 0.920 ; + RECT 5.850 0.910 5.930 1.080 ; + RECT 5.620 0.830 5.930 0.910 ; + RECT 7.040 1.080 7.370 1.160 ; + RECT 7.040 0.910 7.120 1.080 ; + RECT 7.290 0.910 7.370 1.080 ; + RECT 7.040 0.830 7.370 0.910 ; + RECT 0.560 0.670 0.890 0.750 ; + RECT 0.560 0.500 0.640 0.670 ; + RECT 0.810 0.500 0.890 0.670 ; + RECT 5.120 0.670 5.450 0.750 ; + RECT 0.560 0.420 0.890 0.500 ; + RECT 1.760 0.490 2.090 0.570 ; + RECT 1.760 0.320 1.840 0.490 ; + RECT 2.010 0.320 2.090 0.490 ; + RECT 5.120 0.500 5.200 0.670 ; + RECT 5.370 0.500 5.450 0.670 ; + RECT 5.120 0.420 5.450 0.500 ; + RECT 7.520 0.490 7.850 0.570 ; + RECT 1.760 0.240 2.090 0.320 ; + RECT 7.520 0.320 7.600 0.490 ; + RECT 7.770 0.320 7.850 0.490 ; + RECT 7.520 0.240 7.850 0.320 ; LAYER met1 ; - RECT 0.580 2.380 0.870 2.440 ; - RECT 0.580 2.210 0.640 2.380 ; - RECT 0.810 2.210 0.870 2.380 ; - RECT 0.580 2.150 0.870 2.210 ; - RECT 0.650 1.960 0.790 2.150 ; - RECT 4.180 1.980 4.470 2.040 ; - RECT 4.180 1.960 4.240 1.980 ; - RECT 0.650 1.820 4.240 1.960 ; - RECT 0.650 0.690 0.790 1.820 ; - RECT 4.180 1.810 4.240 1.820 ; - RECT 4.410 1.960 4.470 1.980 ; - RECT 4.410 1.820 4.870 1.960 ; - RECT 4.410 1.810 4.470 1.820 ; - RECT 4.180 1.750 4.470 1.810 ; - RECT 4.730 1.020 4.870 1.820 ; - RECT 5.620 1.030 5.910 1.090 ; - RECT 5.620 1.020 5.680 1.030 ; - RECT 4.730 0.880 5.680 1.020 ; - RECT 5.620 0.860 5.680 0.880 ; - RECT 5.850 0.860 5.910 1.030 ; - RECT 5.620 0.800 5.910 0.860 ; - RECT 0.580 0.630 0.870 0.690 ; - RECT 0.580 0.460 0.640 0.630 ; - RECT 0.810 0.460 0.870 0.630 ; - RECT 0.580 0.400 0.870 0.460 ; + RECT 0.580 2.430 0.870 2.490 ; + RECT 0.580 2.260 0.640 2.430 ; + RECT 0.810 2.260 0.870 2.430 ; + RECT 0.580 2.200 0.870 2.260 ; + RECT 0.650 2.000 0.790 2.200 ; + RECT 4.180 2.010 4.470 2.070 ; + RECT 4.180 2.000 4.240 2.010 ; + RECT 0.650 1.860 4.240 2.000 ; + RECT 0.650 0.730 0.790 1.860 ; + RECT 4.180 1.840 4.240 1.860 ; + RECT 4.410 2.000 4.470 2.010 ; + RECT 4.410 1.860 4.870 2.000 ; + RECT 4.410 1.840 4.470 1.860 ; + RECT 4.180 1.780 4.470 1.840 ; + RECT 4.730 1.060 4.870 1.860 ; + RECT 5.620 1.080 5.910 1.140 ; + RECT 5.620 1.060 5.680 1.080 ; + RECT 4.730 0.920 5.680 1.060 ; + RECT 5.620 0.910 5.680 0.920 ; + RECT 5.850 0.910 5.910 1.080 ; + RECT 5.620 0.850 5.910 0.910 ; + RECT 0.580 0.670 0.870 0.730 ; + RECT 0.580 0.500 0.640 0.670 ; + RECT 0.810 0.500 0.870 0.670 ; + RECT 0.580 0.440 0.870 0.500 ; END END MUX2X1 END LIBRARY
diff --git a/cells/lef/NAND2X1.lef b/cells/lef/NAND2X1.lef index e4993ea..48c50cb 100644 --- a/cells/lef/NAND2X1.lef +++ b/cells/lef/NAND2X1.lef
@@ -16,21 +16,22 @@ PORT LAYER met1 ; RECT 0.000 3.090 4.320 3.570 ; - RECT 1.780 3.060 2.070 3.090 ; - RECT 1.780 2.890 1.840 3.060 ; - RECT 2.010 2.890 2.070 3.060 ; - RECT 1.780 2.830 2.070 2.890 ; + RECT 1.780 3.010 2.070 3.090 ; + RECT 1.780 2.840 1.840 3.010 ; + RECT 2.010 2.840 2.070 3.010 ; + RECT 1.780 2.780 2.070 2.840 ; END END vdd PIN gnd DIRECTION INOUT ; - USE GROUND ; + USE POWER ; SHAPE ABUTMENT ; PORT LAYER met1 ; - RECT 3.220 0.360 3.510 0.420 ; - RECT 3.220 0.240 3.280 0.360 ; - RECT 3.450 0.240 3.510 0.360 ; + RECT 3.220 0.490 3.510 0.550 ; + RECT 3.220 0.320 3.280 0.490 ; + RECT 3.450 0.320 3.510 0.490 ; + RECT 3.220 0.240 3.510 0.320 ; RECT 0.000 -0.240 4.320 0.240 ; END END gnd @@ -40,76 +41,75 @@ SHAPE ABUTMENT ; PORT LAYER met1 ; - RECT 0.580 2.370 0.870 2.440 ; - RECT 3.220 2.370 3.510 2.440 ; - RECT 0.580 2.230 3.510 2.370 ; - RECT 0.580 2.150 0.870 2.230 ; - RECT 3.220 2.150 3.510 2.230 ; - RECT 0.650 0.690 0.790 2.150 ; - RECT 0.580 0.400 0.870 0.690 ; + RECT 0.580 2.410 0.870 2.490 ; + RECT 3.220 2.410 3.510 2.490 ; + RECT 0.580 2.270 3.510 2.410 ; + RECT 0.580 2.200 0.870 2.270 ; + RECT 3.220 2.200 3.510 2.270 ; + RECT 0.650 0.730 0.790 2.200 ; + RECT 0.580 0.440 0.870 0.730 ; END END Y - PIN B - DIRECTION INOUT ; - USE SIGNAL ; - SHAPE ABUTMENT ; - PORT - LAYER met1 ; - RECT 1.300 1.750 1.590 2.040 ; - RECT 1.370 1.090 1.510 1.750 ; - RECT 1.300 0.800 1.590 1.090 ; - END - END B PIN A DIRECTION INOUT ; USE SIGNAL ; SHAPE ABUTMENT ; PORT LAYER met1 ; - RECT 2.740 1.750 3.030 2.040 ; - RECT 2.810 1.090 2.950 1.750 ; - RECT 2.740 0.800 3.030 1.090 ; + RECT 2.740 1.780 3.030 2.070 ; + RECT 2.810 1.140 2.950 1.780 ; + RECT 2.740 0.850 3.030 1.140 ; END END A + PIN B + DIRECTION INOUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER met1 ; + RECT 1.300 1.780 1.590 2.070 ; + RECT 1.370 1.140 1.510 1.780 ; + RECT 1.300 0.850 1.590 1.140 ; + END + END B OBS LAYER li1 ; - RECT 1.760 3.060 2.090 3.140 ; - RECT 1.760 2.890 1.840 3.060 ; - RECT 2.010 2.890 2.090 3.060 ; - RECT 1.760 2.810 2.090 2.890 ; - RECT 0.560 2.380 0.890 2.460 ; - RECT 0.560 2.210 0.640 2.380 ; - RECT 0.810 2.210 0.890 2.380 ; - RECT 0.560 2.130 0.890 2.210 ; - RECT 3.200 2.380 3.530 2.460 ; - RECT 3.200 2.210 3.280 2.380 ; - RECT 3.450 2.210 3.530 2.380 ; - RECT 3.200 2.130 3.530 2.210 ; - RECT 1.280 1.980 1.610 2.060 ; - RECT 1.280 1.810 1.360 1.980 ; - RECT 1.530 1.810 1.610 1.980 ; - RECT 1.280 1.730 1.610 1.810 ; - RECT 2.720 1.980 3.030 2.060 ; - RECT 2.720 1.810 2.800 1.980 ; - RECT 2.970 1.960 3.030 1.980 ; - RECT 2.970 1.810 3.050 1.960 ; - RECT 2.720 1.730 3.050 1.810 ; - RECT 1.280 1.030 1.610 1.110 ; - RECT 1.280 0.860 1.360 1.030 ; - RECT 1.530 0.860 1.610 1.030 ; - RECT 1.280 0.780 1.610 0.860 ; - RECT 2.720 1.030 3.050 1.110 ; - RECT 2.720 0.860 2.800 1.030 ; - RECT 2.970 0.860 3.050 1.030 ; - RECT 2.720 0.780 3.050 0.860 ; - RECT 0.560 0.630 0.890 0.710 ; - RECT 0.560 0.460 0.640 0.630 ; - RECT 0.810 0.460 0.890 0.630 ; - RECT 0.560 0.380 0.890 0.460 ; - RECT 3.200 0.360 3.530 0.440 ; - RECT 3.200 0.190 3.280 0.360 ; - RECT 3.450 0.190 3.530 0.360 ; - RECT 3.200 0.110 3.530 0.190 ; + RECT 1.760 3.010 2.090 3.090 ; + RECT 1.760 2.840 1.840 3.010 ; + RECT 2.010 2.840 2.090 3.010 ; + RECT 1.760 2.760 2.090 2.840 ; + RECT 0.560 2.430 0.890 2.510 ; + RECT 0.560 2.260 0.640 2.430 ; + RECT 0.810 2.260 0.890 2.430 ; + RECT 0.560 2.180 0.890 2.260 ; + RECT 3.200 2.430 3.530 2.510 ; + RECT 3.200 2.260 3.280 2.430 ; + RECT 3.450 2.260 3.530 2.430 ; + RECT 3.200 2.180 3.530 2.260 ; + RECT 1.280 2.010 1.610 2.090 ; + RECT 1.280 1.840 1.360 2.010 ; + RECT 1.530 1.840 1.610 2.010 ; + RECT 1.280 1.760 1.610 1.840 ; + RECT 2.720 2.010 3.030 2.090 ; + RECT 2.720 1.840 2.800 2.010 ; + RECT 2.970 1.840 3.050 2.010 ; + RECT 2.720 1.760 3.050 1.840 ; + RECT 1.280 1.080 1.610 1.160 ; + RECT 1.280 0.910 1.360 1.080 ; + RECT 1.530 0.910 1.610 1.080 ; + RECT 1.280 0.830 1.610 0.910 ; + RECT 2.720 1.080 3.050 1.160 ; + RECT 2.720 0.910 2.800 1.080 ; + RECT 2.970 0.910 3.050 1.080 ; + RECT 2.720 0.830 3.050 0.910 ; + RECT 0.560 0.670 0.890 0.750 ; + RECT 0.560 0.500 0.640 0.670 ; + RECT 0.810 0.500 0.890 0.670 ; + RECT 0.560 0.420 0.890 0.500 ; + RECT 3.200 0.490 3.530 0.570 ; + RECT 3.200 0.320 3.280 0.490 ; + RECT 3.450 0.320 3.530 0.490 ; + RECT 3.200 0.240 3.530 0.320 ; END END NAND2X1 END LIBRARY
diff --git a/cells/lef/NAND3X1.lef b/cells/lef/NAND3X1.lef index 57afaa9..16daf87 100644 --- a/cells/lef/NAND3X1.lef +++ b/cells/lef/NAND3X1.lef
@@ -16,25 +16,26 @@ PORT LAYER met1 ; RECT 0.000 3.090 5.760 3.570 ; - RECT 1.780 3.060 2.070 3.090 ; - RECT 1.780 2.890 1.840 3.060 ; - RECT 2.010 2.890 2.070 3.060 ; - RECT 1.780 2.830 2.070 2.890 ; - RECT 4.660 3.060 4.950 3.090 ; - RECT 4.660 2.890 4.720 3.060 ; - RECT 4.890 2.890 4.950 3.060 ; - RECT 4.660 2.830 4.950 2.890 ; + RECT 1.780 3.010 2.070 3.090 ; + RECT 1.780 2.840 1.840 3.010 ; + RECT 2.010 2.840 2.070 3.010 ; + RECT 1.780 2.780 2.070 2.840 ; + RECT 4.660 3.010 4.950 3.090 ; + RECT 4.660 2.840 4.720 3.010 ; + RECT 4.890 2.840 4.950 3.010 ; + RECT 4.660 2.780 4.950 2.840 ; END END vdd PIN gnd DIRECTION INOUT ; - USE GROUND ; + USE POWER ; SHAPE ABUTMENT ; PORT LAYER met1 ; - RECT 4.660 0.360 4.950 0.420 ; - RECT 4.660 0.240 4.720 0.360 ; - RECT 4.890 0.240 4.950 0.360 ; + RECT 4.660 0.490 4.950 0.550 ; + RECT 4.660 0.320 4.720 0.490 ; + RECT 4.890 0.320 4.950 0.490 ; + RECT 4.660 0.240 4.950 0.320 ; RECT 0.000 -0.240 5.760 0.240 ; END END gnd @@ -44,35 +45,24 @@ SHAPE ABUTMENT ; PORT LAYER met1 ; - RECT 0.580 2.370 0.870 2.440 ; - RECT 3.220 2.370 3.510 2.440 ; - RECT 0.580 2.230 3.510 2.370 ; - RECT 0.580 2.150 0.870 2.230 ; - RECT 3.220 2.150 3.510 2.230 ; - RECT 0.650 0.690 0.790 2.150 ; - RECT 0.580 0.400 0.870 0.690 ; + RECT 0.580 2.410 0.870 2.490 ; + RECT 3.220 2.410 3.510 2.490 ; + RECT 0.580 2.270 3.510 2.410 ; + RECT 0.580 2.200 0.870 2.270 ; + RECT 3.220 2.200 3.510 2.270 ; + RECT 0.650 0.730 0.790 2.200 ; + RECT 0.580 0.440 0.870 0.730 ; END END Y - PIN A - DIRECTION INOUT ; - USE SIGNAL ; - SHAPE ABUTMENT ; - PORT - LAYER met1 ; - RECT 4.180 1.750 4.470 2.040 ; - RECT 4.250 1.090 4.390 1.750 ; - RECT 4.180 0.800 4.470 1.090 ; - END - END A PIN C DIRECTION INOUT ; USE SIGNAL ; SHAPE ABUTMENT ; PORT LAYER met1 ; - RECT 1.300 1.750 1.590 2.040 ; - RECT 1.370 1.090 1.510 1.750 ; - RECT 1.300 0.800 1.590 1.090 ; + RECT 1.300 1.780 1.590 2.070 ; + RECT 1.370 1.140 1.510 1.780 ; + RECT 1.300 0.850 1.590 1.140 ; END END C PIN B @@ -81,62 +71,72 @@ SHAPE ABUTMENT ; PORT LAYER met1 ; - RECT 2.740 1.750 3.030 2.040 ; - RECT 2.810 1.090 2.950 1.750 ; - RECT 2.740 0.800 3.030 1.090 ; + RECT 2.740 1.780 3.030 2.070 ; + RECT 2.810 1.140 2.950 1.780 ; + RECT 2.740 0.850 3.030 1.140 ; END END B + PIN A + DIRECTION INOUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER met1 ; + RECT 4.180 1.780 4.470 2.070 ; + RECT 4.250 1.140 4.390 1.780 ; + RECT 4.180 0.850 4.470 1.140 ; + END + END A OBS LAYER li1 ; - RECT 1.760 3.060 2.090 3.140 ; - RECT 1.760 2.890 1.840 3.060 ; - RECT 2.010 2.890 2.090 3.060 ; - RECT 1.760 2.810 2.090 2.890 ; - RECT 4.640 3.060 4.970 3.140 ; - RECT 4.640 2.890 4.720 3.060 ; - RECT 4.890 2.890 4.970 3.060 ; - RECT 4.640 2.810 4.970 2.890 ; - RECT 0.560 2.380 0.890 2.460 ; - RECT 0.560 2.210 0.640 2.380 ; - RECT 0.810 2.210 0.890 2.380 ; - RECT 0.560 2.130 0.890 2.210 ; - RECT 3.200 2.380 3.530 2.460 ; - RECT 3.200 2.210 3.280 2.380 ; - RECT 3.450 2.210 3.530 2.380 ; - RECT 3.200 2.130 3.530 2.210 ; - RECT 1.280 1.980 1.610 2.060 ; - RECT 1.280 1.810 1.360 1.980 ; - RECT 1.530 1.810 1.610 1.980 ; - RECT 1.280 1.730 1.610 1.810 ; - RECT 2.720 1.980 3.030 2.060 ; - RECT 2.720 1.810 2.800 1.980 ; - RECT 2.970 1.960 3.030 1.980 ; - RECT 4.160 1.980 4.490 2.060 ; - RECT 2.970 1.810 3.050 1.960 ; - RECT 2.720 1.730 3.050 1.810 ; - RECT 4.160 1.810 4.240 1.980 ; - RECT 4.410 1.810 4.490 1.980 ; - RECT 4.160 1.730 4.490 1.810 ; - RECT 1.280 1.030 1.610 1.110 ; - RECT 1.280 0.860 1.360 1.030 ; - RECT 1.530 0.860 1.610 1.030 ; - RECT 1.280 0.780 1.610 0.860 ; - RECT 2.720 1.030 3.050 1.110 ; - RECT 2.720 0.860 2.800 1.030 ; - RECT 2.970 0.860 3.050 1.030 ; - RECT 2.720 0.780 3.050 0.860 ; - RECT 4.160 1.030 4.490 1.110 ; - RECT 4.160 0.860 4.240 1.030 ; - RECT 4.410 0.860 4.490 1.030 ; - RECT 4.160 0.780 4.490 0.860 ; - RECT 0.560 0.630 0.890 0.710 ; - RECT 0.560 0.460 0.640 0.630 ; - RECT 0.810 0.460 0.890 0.630 ; - RECT 0.560 0.380 0.890 0.460 ; - RECT 4.640 0.360 4.970 0.440 ; - RECT 4.640 0.190 4.720 0.360 ; - RECT 4.890 0.190 4.970 0.360 ; - RECT 4.640 0.110 4.970 0.190 ; + RECT 1.760 3.010 2.090 3.090 ; + RECT 1.760 2.840 1.840 3.010 ; + RECT 2.010 2.840 2.090 3.010 ; + RECT 1.760 2.760 2.090 2.840 ; + RECT 4.640 3.010 4.970 3.090 ; + RECT 4.640 2.840 4.720 3.010 ; + RECT 4.890 2.840 4.970 3.010 ; + RECT 4.640 2.760 4.970 2.840 ; + RECT 0.560 2.430 0.890 2.510 ; + RECT 0.560 2.260 0.640 2.430 ; + RECT 0.810 2.260 0.890 2.430 ; + RECT 0.560 2.180 0.890 2.260 ; + RECT 3.200 2.430 3.530 2.510 ; + RECT 3.200 2.260 3.280 2.430 ; + RECT 3.450 2.260 3.530 2.430 ; + RECT 3.200 2.180 3.530 2.260 ; + RECT 1.280 2.010 1.610 2.090 ; + RECT 1.280 1.840 1.360 2.010 ; + RECT 1.530 1.840 1.610 2.010 ; + RECT 1.280 1.760 1.610 1.840 ; + RECT 2.720 2.010 3.030 2.090 ; + RECT 4.160 2.010 4.490 2.090 ; + RECT 2.720 1.840 2.800 2.010 ; + RECT 2.970 1.840 3.050 2.010 ; + RECT 2.720 1.760 3.050 1.840 ; + RECT 4.160 1.840 4.240 2.010 ; + RECT 4.410 1.840 4.490 2.010 ; + RECT 4.160 1.760 4.490 1.840 ; + RECT 1.280 1.080 1.610 1.160 ; + RECT 1.280 0.910 1.360 1.080 ; + RECT 1.530 0.910 1.610 1.080 ; + RECT 1.280 0.830 1.610 0.910 ; + RECT 2.720 1.080 3.050 1.160 ; + RECT 2.720 0.910 2.800 1.080 ; + RECT 2.970 0.910 3.050 1.080 ; + RECT 2.720 0.830 3.050 0.910 ; + RECT 4.160 1.080 4.490 1.160 ; + RECT 4.160 0.910 4.240 1.080 ; + RECT 4.410 0.910 4.490 1.080 ; + RECT 4.160 0.830 4.490 0.910 ; + RECT 0.560 0.670 0.890 0.750 ; + RECT 0.560 0.500 0.640 0.670 ; + RECT 0.810 0.500 0.890 0.670 ; + RECT 0.560 0.420 0.890 0.500 ; + RECT 4.640 0.490 4.970 0.570 ; + RECT 4.640 0.320 4.720 0.490 ; + RECT 4.890 0.320 4.970 0.490 ; + RECT 4.640 0.240 4.970 0.320 ; END END NAND3X1 END LIBRARY
diff --git a/cells/lef/NOR2X1.lef b/cells/lef/NOR2X1.lef index bebfeef..0945a27 100644 --- a/cells/lef/NOR2X1.lef +++ b/cells/lef/NOR2X1.lef
@@ -16,19 +16,21 @@ PORT LAYER met1 ; RECT 0.000 3.090 4.320 3.570 ; - RECT 0.580 3.060 0.870 3.090 ; - RECT 0.580 2.890 0.640 3.060 ; - RECT 0.810 2.890 0.870 3.060 ; - RECT 0.580 2.830 0.870 2.890 ; + RECT 0.580 3.010 0.870 3.090 ; + RECT 0.580 2.840 0.640 3.010 ; + RECT 0.810 2.840 0.870 3.010 ; + RECT 0.580 2.780 0.870 2.840 ; END END vdd PIN gnd DIRECTION INOUT ; - USE GROUND ; + USE POWER ; SHAPE ABUTMENT ; PORT LAYER met1 ; - RECT 1.780 0.240 2.070 0.280 ; + RECT 1.780 0.270 2.070 0.330 ; + RECT 1.780 0.240 1.840 0.270 ; + RECT 2.010 0.240 2.070 0.270 ; RECT 0.000 -0.240 4.320 0.240 ; END END gnd @@ -38,77 +40,79 @@ SHAPE ABUTMENT ; PORT LAYER met1 ; - RECT 3.220 2.150 3.510 2.440 ; - RECT 3.290 0.690 3.430 2.150 ; - RECT 0.820 0.610 1.110 0.690 ; - RECT 3.220 0.610 3.510 0.690 ; - RECT 0.820 0.470 3.510 0.610 ; - RECT 0.820 0.400 1.110 0.470 ; - RECT 3.220 0.400 3.510 0.470 ; + RECT 3.220 2.200 3.510 2.490 ; + RECT 3.290 0.730 3.430 2.200 ; + RECT 0.820 0.660 1.110 0.730 ; + RECT 3.220 0.660 3.510 0.730 ; + RECT 0.820 0.520 3.510 0.660 ; + RECT 0.820 0.440 1.110 0.520 ; + RECT 3.220 0.440 3.510 0.520 ; END END Y - PIN A - DIRECTION INOUT ; - USE SIGNAL ; - SHAPE ABUTMENT ; - PORT - LAYER met1 ; - RECT 1.300 1.750 1.590 2.040 ; - RECT 1.370 1.090 1.510 1.750 ; - RECT 1.300 0.800 1.590 1.090 ; - END - END A PIN B DIRECTION INOUT ; USE SIGNAL ; SHAPE ABUTMENT ; PORT LAYER met1 ; - RECT 2.740 1.750 3.030 2.040 ; - RECT 2.810 1.090 2.950 1.750 ; - RECT 2.740 0.800 3.030 1.090 ; + RECT 2.740 1.780 3.030 2.070 ; + RECT 2.810 1.140 2.950 1.780 ; + RECT 2.740 0.850 3.030 1.140 ; END END B + PIN A + DIRECTION INOUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER met1 ; + RECT 1.300 1.780 1.590 2.070 ; + RECT 1.370 1.140 1.510 1.780 ; + RECT 1.300 0.850 1.590 1.140 ; + END + END A OBS LAYER li1 ; - RECT 0.560 3.060 0.890 3.140 ; - RECT 0.560 2.890 0.640 3.060 ; - RECT 0.810 2.890 0.890 3.060 ; - RECT 0.560 2.810 0.890 2.890 ; - RECT 3.200 2.380 3.530 2.460 ; - RECT 3.200 2.210 3.280 2.380 ; - RECT 3.450 2.210 3.530 2.380 ; - RECT 3.200 2.130 3.530 2.210 ; - RECT 1.280 1.980 1.610 2.060 ; - RECT 1.280 1.810 1.360 1.980 ; - RECT 1.530 1.810 1.610 1.980 ; - RECT 1.280 1.730 1.610 1.810 ; - RECT 2.720 1.980 3.030 2.060 ; - RECT 2.720 1.810 2.800 1.980 ; - RECT 2.970 1.960 3.030 1.980 ; - RECT 2.970 1.810 3.050 1.960 ; - RECT 2.720 1.730 3.050 1.810 ; - RECT 1.280 1.030 1.610 1.110 ; - RECT 1.280 0.860 1.360 1.030 ; - RECT 1.530 0.860 1.610 1.030 ; - RECT 1.280 0.780 1.610 0.860 ; - RECT 2.720 1.030 3.050 1.110 ; - RECT 2.720 0.860 2.800 1.030 ; - RECT 2.970 0.880 3.050 1.030 ; - RECT 2.970 0.860 3.030 0.880 ; - RECT 2.720 0.780 3.030 0.860 ; - RECT 0.800 0.630 1.110 0.710 ; - RECT 0.800 0.460 0.880 0.630 ; - RECT 1.050 0.610 1.110 0.630 ; - RECT 3.200 0.630 3.530 0.710 ; - RECT 1.050 0.460 1.130 0.610 ; - RECT 0.800 0.380 1.130 0.460 ; - RECT 3.200 0.460 3.280 0.630 ; - RECT 3.450 0.460 3.530 0.630 ; - RECT 1.760 0.360 2.090 0.440 ; - RECT 3.200 0.380 3.530 0.460 ; - RECT 1.760 0.110 1.840 0.360 ; - RECT 2.010 0.110 2.090 0.360 ; + RECT 0.560 3.010 0.890 3.090 ; + RECT 0.560 2.840 0.640 3.010 ; + RECT 0.810 2.840 0.890 3.010 ; + RECT 0.560 2.760 0.890 2.840 ; + RECT 3.200 2.430 3.530 2.510 ; + RECT 3.200 2.260 3.280 2.430 ; + RECT 3.450 2.260 3.530 2.430 ; + RECT 3.200 2.180 3.530 2.260 ; + RECT 1.280 2.010 1.610 2.090 ; + RECT 1.280 1.840 1.360 2.010 ; + RECT 1.530 1.840 1.610 2.010 ; + RECT 1.280 1.760 1.610 1.840 ; + RECT 2.720 2.010 3.030 2.090 ; + RECT 2.720 1.840 2.800 2.010 ; + RECT 2.970 1.840 3.050 2.010 ; + RECT 2.720 1.760 3.050 1.840 ; + RECT 1.280 1.080 1.610 1.160 ; + RECT 1.280 0.910 1.360 1.080 ; + RECT 1.530 0.910 1.610 1.080 ; + RECT 1.280 0.830 1.610 0.910 ; + RECT 2.720 1.080 3.050 1.160 ; + RECT 2.720 0.910 2.800 1.080 ; + RECT 2.970 0.920 3.050 1.080 ; + RECT 2.970 0.910 3.030 0.920 ; + RECT 2.720 0.830 3.030 0.910 ; + RECT 0.800 0.670 1.110 0.750 ; + RECT 0.800 0.500 0.880 0.670 ; + RECT 1.050 0.660 1.110 0.670 ; + RECT 3.200 0.670 3.530 0.750 ; + RECT 1.050 0.500 1.130 0.660 ; + RECT 0.800 0.420 1.130 0.500 ; + RECT 1.760 0.490 2.090 0.570 ; + RECT 1.760 0.320 1.840 0.490 ; + RECT 2.010 0.320 2.090 0.490 ; + RECT 3.200 0.500 3.280 0.670 ; + RECT 3.450 0.500 3.530 0.670 ; + RECT 3.200 0.420 3.530 0.500 ; + RECT 1.760 0.270 2.090 0.320 ; + RECT 1.760 0.240 1.840 0.270 ; + RECT 2.010 0.240 2.090 0.270 ; END END NOR2X1 END LIBRARY
diff --git a/cells/lef/OAI21X1.lef b/cells/lef/OAI21X1.lef index cf34d7c..ebae949 100644 --- a/cells/lef/OAI21X1.lef +++ b/cells/lef/OAI21X1.lef
@@ -16,19 +16,21 @@ PORT LAYER met1 ; RECT 0.000 3.090 5.760 3.570 ; - RECT 1.780 3.060 2.070 3.090 ; - RECT 1.780 2.890 1.840 3.060 ; - RECT 2.010 2.890 2.070 3.060 ; - RECT 1.780 2.830 2.070 2.890 ; + RECT 1.780 3.010 2.070 3.090 ; + RECT 1.780 2.840 1.840 3.010 ; + RECT 2.010 2.840 2.070 3.010 ; + RECT 1.780 2.780 2.070 2.840 ; END END vdd PIN gnd DIRECTION INOUT ; - USE GROUND ; + USE POWER ; SHAPE ABUTMENT ; PORT LAYER met1 ; - RECT 3.220 0.240 3.510 0.280 ; + RECT 3.220 0.270 3.510 0.330 ; + RECT 3.220 0.240 3.280 0.270 ; + RECT 3.450 0.240 3.510 0.270 ; RECT 0.000 -0.240 5.760 0.240 ; END END gnd @@ -38,13 +40,13 @@ SHAPE ABUTMENT ; PORT LAYER met1 ; - RECT 0.580 2.370 0.870 2.440 ; - RECT 4.660 2.370 4.950 2.440 ; - RECT 0.580 2.230 4.950 2.370 ; - RECT 0.580 2.150 0.870 2.230 ; - RECT 4.660 2.150 4.950 2.230 ; - RECT 0.650 0.690 0.790 2.150 ; - RECT 0.580 0.400 0.870 0.690 ; + RECT 0.580 2.410 0.870 2.490 ; + RECT 4.660 2.410 4.950 2.490 ; + RECT 0.580 2.270 4.950 2.410 ; + RECT 0.580 2.200 0.870 2.270 ; + RECT 4.660 2.200 4.950 2.270 ; + RECT 0.650 0.730 0.790 2.200 ; + RECT 0.580 0.440 0.870 0.730 ; END END Y PIN A @@ -53,101 +55,103 @@ SHAPE ABUTMENT ; PORT LAYER met1 ; - RECT 2.740 1.750 3.030 2.040 ; - RECT 2.810 1.090 2.950 1.750 ; - RECT 2.740 0.800 3.030 1.090 ; + RECT 2.740 1.780 3.030 2.070 ; + RECT 2.810 1.140 2.950 1.780 ; + RECT 2.740 0.850 3.030 1.140 ; END END A - PIN C - DIRECTION INOUT ; - USE SIGNAL ; - SHAPE ABUTMENT ; - PORT - LAYER met1 ; - RECT 1.300 1.750 1.590 2.040 ; - RECT 1.370 1.090 1.510 1.750 ; - RECT 1.300 0.800 1.590 1.090 ; - END - END C PIN B DIRECTION INOUT ; USE SIGNAL ; SHAPE ABUTMENT ; PORT LAYER met1 ; - RECT 4.180 1.750 4.470 2.040 ; - RECT 4.250 1.090 4.390 1.750 ; - RECT 4.180 0.800 4.470 1.090 ; + RECT 4.180 1.780 4.470 2.070 ; + RECT 4.250 1.140 4.390 1.780 ; + RECT 4.180 0.850 4.470 1.140 ; END END B + PIN C + DIRECTION INOUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER met1 ; + RECT 1.300 1.780 1.590 2.070 ; + RECT 1.370 1.140 1.510 1.780 ; + RECT 1.300 0.850 1.590 1.140 ; + END + END C OBS LAYER li1 ; - RECT 1.760 3.060 2.090 3.140 ; - RECT 1.760 2.890 1.840 3.060 ; - RECT 2.010 2.890 2.090 3.060 ; - RECT 1.760 2.810 2.090 2.890 ; - RECT 0.560 2.380 0.890 2.460 ; - RECT 0.560 2.210 0.640 2.380 ; - RECT 0.810 2.210 0.890 2.380 ; - RECT 0.560 2.130 0.890 2.210 ; - RECT 4.640 2.380 4.970 2.460 ; - RECT 4.640 2.210 4.720 2.380 ; - RECT 4.890 2.210 4.970 2.380 ; - RECT 4.640 2.130 4.970 2.210 ; - RECT 1.280 1.980 1.610 2.060 ; - RECT 1.280 1.810 1.360 1.980 ; - RECT 1.530 1.810 1.610 1.980 ; - RECT 1.280 1.730 1.610 1.810 ; - RECT 2.720 1.980 3.050 2.060 ; - RECT 2.720 1.810 2.800 1.980 ; - RECT 2.970 1.810 3.050 1.980 ; - RECT 2.720 1.730 3.050 1.810 ; - RECT 4.160 1.980 4.470 2.060 ; - RECT 4.160 1.810 4.240 1.980 ; - RECT 4.410 1.960 4.470 1.980 ; - RECT 4.410 1.810 4.490 1.960 ; - RECT 4.160 1.730 4.490 1.810 ; - RECT 1.280 1.030 1.610 1.110 ; - RECT 1.280 0.860 1.360 1.030 ; - RECT 1.530 0.860 1.610 1.030 ; - RECT 1.280 0.780 1.610 0.860 ; - RECT 2.720 1.030 3.050 1.110 ; - RECT 2.720 0.860 2.800 1.030 ; - RECT 2.970 0.860 3.050 1.030 ; - RECT 2.720 0.780 3.050 0.860 ; - RECT 4.160 1.030 4.490 1.110 ; - RECT 4.160 0.860 4.240 1.030 ; - RECT 4.410 0.880 4.490 1.030 ; - RECT 4.410 0.860 4.470 0.880 ; - RECT 4.160 0.780 4.470 0.860 ; - RECT 0.560 0.630 0.890 0.710 ; - RECT 0.560 0.460 0.640 0.630 ; - RECT 0.810 0.460 0.890 0.630 ; - RECT 0.560 0.380 0.890 0.460 ; - RECT 2.240 0.630 2.550 0.710 ; - RECT 2.240 0.460 2.320 0.630 ; - RECT 2.490 0.610 2.550 0.630 ; - RECT 4.640 0.630 4.970 0.710 ; - RECT 2.490 0.460 2.570 0.610 ; - RECT 2.240 0.380 2.570 0.460 ; - RECT 4.640 0.460 4.720 0.630 ; - RECT 4.890 0.460 4.970 0.630 ; - RECT 3.200 0.360 3.530 0.440 ; - RECT 4.640 0.380 4.970 0.460 ; - RECT 3.200 0.110 3.280 0.360 ; - RECT 3.450 0.110 3.530 0.360 ; + RECT 1.760 3.010 2.090 3.090 ; + RECT 1.760 2.840 1.840 3.010 ; + RECT 2.010 2.840 2.090 3.010 ; + RECT 1.760 2.760 2.090 2.840 ; + RECT 0.560 2.430 0.890 2.510 ; + RECT 0.560 2.260 0.640 2.430 ; + RECT 0.810 2.260 0.890 2.430 ; + RECT 0.560 2.180 0.890 2.260 ; + RECT 4.640 2.430 4.970 2.510 ; + RECT 4.640 2.260 4.720 2.430 ; + RECT 4.890 2.260 4.970 2.430 ; + RECT 4.640 2.180 4.970 2.260 ; + RECT 1.280 2.010 1.610 2.090 ; + RECT 1.280 1.840 1.360 2.010 ; + RECT 1.530 1.840 1.610 2.010 ; + RECT 1.280 1.760 1.610 1.840 ; + RECT 2.720 2.010 3.050 2.090 ; + RECT 2.720 1.840 2.800 2.010 ; + RECT 2.970 1.840 3.050 2.010 ; + RECT 2.720 1.760 3.050 1.840 ; + RECT 4.160 2.010 4.470 2.090 ; + RECT 4.160 1.840 4.240 2.010 ; + RECT 4.410 1.840 4.490 2.010 ; + RECT 4.160 1.760 4.490 1.840 ; + RECT 1.280 1.080 1.610 1.160 ; + RECT 1.280 0.910 1.360 1.080 ; + RECT 1.530 0.910 1.610 1.080 ; + RECT 1.280 0.830 1.610 0.910 ; + RECT 2.720 1.080 3.050 1.160 ; + RECT 2.720 0.910 2.800 1.080 ; + RECT 2.970 0.910 3.050 1.080 ; + RECT 2.720 0.830 3.050 0.910 ; + RECT 4.160 1.080 4.490 1.160 ; + RECT 4.160 0.910 4.240 1.080 ; + RECT 4.410 0.920 4.490 1.080 ; + RECT 4.410 0.910 4.470 0.920 ; + RECT 4.160 0.830 4.470 0.910 ; + RECT 0.560 0.670 0.890 0.750 ; + RECT 0.560 0.500 0.640 0.670 ; + RECT 0.810 0.500 0.890 0.670 ; + RECT 0.560 0.420 0.890 0.500 ; + RECT 2.240 0.670 2.550 0.750 ; + RECT 2.240 0.500 2.320 0.670 ; + RECT 2.490 0.660 2.550 0.670 ; + RECT 4.640 0.670 4.970 0.750 ; + RECT 2.490 0.500 2.570 0.660 ; + RECT 2.240 0.420 2.570 0.500 ; + RECT 3.200 0.490 3.530 0.570 ; + RECT 3.200 0.320 3.280 0.490 ; + RECT 3.450 0.320 3.530 0.490 ; + RECT 4.640 0.500 4.720 0.670 ; + RECT 4.890 0.500 4.970 0.670 ; + RECT 4.640 0.420 4.970 0.500 ; + RECT 3.200 0.270 3.530 0.320 ; + RECT 3.200 0.240 3.280 0.270 ; + RECT 3.450 0.240 3.530 0.270 ; LAYER met1 ; - RECT 2.260 0.630 2.550 0.690 ; - RECT 2.260 0.460 2.320 0.630 ; - RECT 2.490 0.610 2.550 0.630 ; - RECT 4.660 0.630 4.950 0.690 ; - RECT 4.660 0.610 4.720 0.630 ; - RECT 2.490 0.470 4.720 0.610 ; - RECT 2.490 0.460 2.550 0.470 ; - RECT 2.260 0.400 2.550 0.460 ; - RECT 4.660 0.460 4.720 0.470 ; - RECT 4.890 0.460 4.950 0.630 ; - RECT 4.660 0.400 4.950 0.460 ; + RECT 2.260 0.670 2.550 0.730 ; + RECT 2.260 0.500 2.320 0.670 ; + RECT 2.490 0.660 2.550 0.670 ; + RECT 4.660 0.670 4.950 0.730 ; + RECT 4.660 0.660 4.720 0.670 ; + RECT 2.490 0.520 4.720 0.660 ; + RECT 2.490 0.500 2.550 0.520 ; + RECT 2.260 0.440 2.550 0.500 ; + RECT 4.660 0.500 4.720 0.520 ; + RECT 4.890 0.500 4.950 0.670 ; + RECT 4.660 0.440 4.950 0.500 ; END END OAI21X1 END LIBRARY
diff --git a/cells/lef/OAI22X1.lef b/cells/lef/OAI22X1.lef index 600c451..7f48d84 100644 --- a/cells/lef/OAI22X1.lef +++ b/cells/lef/OAI22X1.lef
@@ -16,19 +16,21 @@ PORT LAYER met1 ; RECT 0.000 3.090 7.200 3.570 ; - RECT 3.220 3.060 3.510 3.090 ; - RECT 3.220 2.890 3.280 3.060 ; - RECT 3.450 2.890 3.510 3.060 ; - RECT 3.220 2.830 3.510 2.890 ; + RECT 3.220 3.010 3.510 3.090 ; + RECT 3.220 2.840 3.280 3.010 ; + RECT 3.450 2.840 3.510 3.010 ; + RECT 3.220 2.780 3.510 2.840 ; END END vdd PIN gnd DIRECTION INOUT ; - USE GROUND ; + USE POWER ; SHAPE ABUTMENT ; PORT LAYER met1 ; - RECT 1.780 0.240 2.070 0.280 ; + RECT 1.780 0.270 2.070 0.330 ; + RECT 1.780 0.240 1.840 0.270 ; + RECT 2.010 0.240 2.070 0.270 ; RECT 0.000 -0.240 7.200 0.240 ; END END gnd @@ -38,13 +40,13 @@ SHAPE ABUTMENT ; PORT LAYER met1 ; - RECT 0.820 2.370 1.110 2.440 ; - RECT 6.100 2.370 6.390 2.440 ; - RECT 0.820 2.230 6.390 2.370 ; - RECT 0.820 2.150 1.110 2.230 ; - RECT 5.210 1.090 5.350 2.230 ; - RECT 6.100 2.150 6.390 2.230 ; - RECT 5.140 0.800 5.430 1.090 ; + RECT 0.820 2.410 1.110 2.490 ; + RECT 6.100 2.410 6.390 2.490 ; + RECT 0.820 2.270 6.390 2.410 ; + RECT 0.820 2.200 1.110 2.270 ; + RECT 5.210 1.140 5.350 2.270 ; + RECT 6.100 2.200 6.390 2.270 ; + RECT 5.140 0.850 5.430 1.140 ; END END Y PIN B @@ -53,135 +55,136 @@ SHAPE ABUTMENT ; PORT LAYER met1 ; - RECT 1.300 1.750 1.590 2.040 ; - RECT 1.370 1.090 1.510 1.750 ; - RECT 1.300 0.800 1.590 1.090 ; + RECT 1.300 1.780 1.590 2.070 ; + RECT 1.370 1.140 1.510 1.780 ; + RECT 1.300 0.850 1.590 1.140 ; END END B - PIN D - DIRECTION INOUT ; - USE SIGNAL ; - SHAPE ABUTMENT ; - PORT - LAYER met1 ; - RECT 5.620 1.750 5.910 2.040 ; - RECT 5.690 1.090 5.830 1.750 ; - RECT 5.620 0.800 5.910 1.090 ; - END - END D PIN C DIRECTION INOUT ; USE SIGNAL ; SHAPE ABUTMENT ; PORT LAYER met1 ; - RECT 4.180 1.750 4.470 2.040 ; - RECT 4.250 1.090 4.390 1.750 ; - RECT 4.180 0.800 4.470 1.090 ; + RECT 4.180 1.780 4.470 2.070 ; + RECT 4.250 1.140 4.390 1.780 ; + RECT 4.180 0.850 4.470 1.140 ; END END C + PIN D + DIRECTION INOUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER met1 ; + RECT 5.620 1.780 5.910 2.070 ; + RECT 5.690 1.140 5.830 1.780 ; + RECT 5.620 0.850 5.910 1.140 ; + END + END D PIN A DIRECTION INOUT ; USE SIGNAL ; SHAPE ABUTMENT ; PORT LAYER met1 ; - RECT 2.740 1.750 3.030 2.040 ; - RECT 2.810 1.090 2.950 1.750 ; - RECT 2.740 0.800 3.030 1.090 ; + RECT 2.740 1.780 3.030 2.070 ; + RECT 2.810 1.140 2.950 1.780 ; + RECT 2.740 0.850 3.030 1.140 ; END END A OBS LAYER li1 ; - RECT 3.200 3.060 3.530 3.140 ; - RECT 3.200 2.890 3.280 3.060 ; - RECT 3.450 2.890 3.530 3.060 ; - RECT 3.200 2.810 3.530 2.890 ; - RECT 0.800 2.380 1.130 2.460 ; - RECT 0.800 2.210 0.880 2.380 ; - RECT 1.050 2.230 1.130 2.380 ; - RECT 6.080 2.380 6.410 2.460 ; - RECT 6.080 2.230 6.160 2.380 ; - RECT 1.050 2.210 1.110 2.230 ; - RECT 0.800 2.130 1.110 2.210 ; - RECT 6.100 2.210 6.160 2.230 ; - RECT 6.330 2.210 6.410 2.380 ; - RECT 6.100 2.130 6.410 2.210 ; - RECT 1.280 1.980 1.610 2.060 ; - RECT 1.280 1.810 1.360 1.980 ; - RECT 1.530 1.810 1.610 1.980 ; - RECT 1.280 1.730 1.610 1.810 ; - RECT 2.720 1.980 3.050 2.060 ; - RECT 2.720 1.810 2.800 1.980 ; - RECT 2.970 1.810 3.050 1.980 ; - RECT 2.720 1.730 3.050 1.810 ; - RECT 4.160 1.980 4.490 2.060 ; - RECT 4.160 1.810 4.240 1.980 ; - RECT 4.410 1.810 4.490 1.980 ; - RECT 4.160 1.730 4.490 1.810 ; - RECT 5.600 1.980 5.930 2.060 ; - RECT 5.600 1.810 5.680 1.980 ; - RECT 5.850 1.810 5.930 1.980 ; - RECT 5.600 1.730 5.930 1.810 ; - RECT 1.280 1.030 1.610 1.110 ; - RECT 1.280 0.880 1.360 1.030 ; - RECT 1.300 0.860 1.360 0.880 ; - RECT 1.530 0.860 1.610 1.030 ; - RECT 1.300 0.780 1.610 0.860 ; - RECT 2.720 1.030 3.050 1.110 ; - RECT 2.720 0.860 2.800 1.030 ; - RECT 2.970 0.860 3.050 1.030 ; - RECT 2.720 0.780 3.050 0.860 ; - RECT 4.160 1.030 4.490 1.110 ; - RECT 4.160 0.860 4.240 1.030 ; - RECT 4.410 0.860 4.490 1.030 ; - RECT 5.600 1.030 5.930 1.110 ; - RECT 5.600 0.880 5.680 1.030 ; - RECT 5.620 0.860 5.680 0.880 ; - RECT 5.850 0.860 5.930 1.030 ; - RECT 4.160 0.780 4.490 0.860 ; - RECT 5.200 0.710 5.370 0.860 ; - RECT 5.620 0.780 5.930 0.860 ; - RECT 0.800 0.630 1.130 0.710 ; - RECT 0.800 0.460 0.880 0.630 ; - RECT 1.050 0.460 1.130 0.630 ; - RECT 0.800 0.380 1.130 0.460 ; - RECT 3.680 0.630 3.990 0.710 ; - RECT 3.680 0.460 3.760 0.630 ; - RECT 3.930 0.610 3.990 0.630 ; - RECT 5.120 0.630 5.450 0.710 ; - RECT 3.930 0.460 4.010 0.610 ; - RECT 1.760 0.360 2.090 0.440 ; - RECT 3.680 0.380 4.010 0.460 ; - RECT 5.120 0.460 5.200 0.630 ; - RECT 5.370 0.460 5.450 0.630 ; - RECT 6.100 0.630 6.410 0.710 ; - RECT 6.100 0.610 6.160 0.630 ; - RECT 5.120 0.380 5.450 0.460 ; - RECT 6.080 0.460 6.160 0.610 ; - RECT 6.330 0.460 6.410 0.630 ; - RECT 6.080 0.380 6.410 0.460 ; - RECT 1.760 0.110 1.840 0.360 ; - RECT 2.010 0.110 2.090 0.360 ; + RECT 3.200 3.010 3.530 3.090 ; + RECT 3.200 2.840 3.280 3.010 ; + RECT 3.450 2.840 3.530 3.010 ; + RECT 3.200 2.760 3.530 2.840 ; + RECT 0.800 2.430 1.130 2.510 ; + RECT 0.800 2.260 0.880 2.430 ; + RECT 1.050 2.260 1.130 2.430 ; + RECT 6.080 2.430 6.410 2.510 ; + RECT 6.080 2.260 6.160 2.430 ; + RECT 6.330 2.260 6.410 2.430 ; + RECT 0.800 2.180 1.110 2.260 ; + RECT 6.100 2.180 6.410 2.260 ; + RECT 1.280 2.010 1.610 2.090 ; + RECT 1.280 1.840 1.360 2.010 ; + RECT 1.530 1.840 1.610 2.010 ; + RECT 1.280 1.760 1.610 1.840 ; + RECT 2.720 2.010 3.050 2.090 ; + RECT 2.720 1.840 2.800 2.010 ; + RECT 2.970 1.840 3.050 2.010 ; + RECT 2.720 1.760 3.050 1.840 ; + RECT 4.160 2.010 4.490 2.090 ; + RECT 4.160 1.840 4.240 2.010 ; + RECT 4.410 1.840 4.490 2.010 ; + RECT 4.160 1.760 4.490 1.840 ; + RECT 5.600 2.010 5.930 2.090 ; + RECT 5.600 1.840 5.680 2.010 ; + RECT 5.850 1.840 5.930 2.010 ; + RECT 5.600 1.760 5.930 1.840 ; + RECT 1.280 1.080 1.610 1.160 ; + RECT 1.280 0.920 1.360 1.080 ; + RECT 1.300 0.910 1.360 0.920 ; + RECT 1.530 0.910 1.610 1.080 ; + RECT 1.300 0.830 1.610 0.910 ; + RECT 2.720 1.080 3.050 1.160 ; + RECT 2.720 0.910 2.800 1.080 ; + RECT 2.970 0.910 3.050 1.080 ; + RECT 2.720 0.830 3.050 0.910 ; + RECT 4.160 1.080 4.490 1.160 ; + RECT 4.160 0.910 4.240 1.080 ; + RECT 4.410 0.910 4.490 1.080 ; + RECT 5.600 1.080 5.930 1.160 ; + RECT 5.600 0.920 5.680 1.080 ; + RECT 5.620 0.910 5.680 0.920 ; + RECT 5.850 0.910 5.930 1.080 ; + RECT 4.160 0.830 4.490 0.910 ; + RECT 5.200 0.750 5.370 0.910 ; + RECT 5.620 0.830 5.930 0.910 ; + RECT 0.800 0.670 1.130 0.750 ; + RECT 0.800 0.500 0.880 0.670 ; + RECT 1.050 0.500 1.130 0.670 ; + RECT 3.220 0.670 3.530 0.750 ; + RECT 3.220 0.660 3.280 0.670 ; + RECT 0.800 0.420 1.130 0.500 ; + RECT 1.760 0.490 2.090 0.570 ; + RECT 1.760 0.320 1.840 0.490 ; + RECT 2.010 0.320 2.090 0.490 ; + RECT 3.200 0.500 3.280 0.660 ; + RECT 3.450 0.500 3.530 0.670 ; + RECT 3.200 0.420 3.530 0.500 ; + RECT 5.120 0.670 5.450 0.750 ; + RECT 5.120 0.500 5.200 0.670 ; + RECT 5.370 0.500 5.450 0.670 ; + RECT 6.100 0.670 6.410 0.750 ; + RECT 6.100 0.660 6.160 0.670 ; + RECT 5.120 0.420 5.450 0.500 ; + RECT 6.080 0.500 6.160 0.660 ; + RECT 6.330 0.500 6.410 0.670 ; + RECT 6.080 0.420 6.410 0.500 ; + RECT 1.760 0.270 2.090 0.320 ; + RECT 1.760 0.240 1.840 0.270 ; + RECT 2.010 0.240 2.090 0.270 ; LAYER met1 ; - RECT 0.820 0.630 1.110 0.690 ; - RECT 0.820 0.460 0.880 0.630 ; - RECT 1.050 0.610 1.110 0.630 ; - RECT 3.700 0.630 3.990 0.690 ; - RECT 3.700 0.610 3.760 0.630 ; - RECT 1.050 0.470 3.760 0.610 ; - RECT 1.050 0.460 1.110 0.470 ; - RECT 0.820 0.400 1.110 0.460 ; - RECT 3.700 0.460 3.760 0.470 ; - RECT 3.930 0.610 3.990 0.630 ; - RECT 6.100 0.630 6.390 0.690 ; - RECT 6.100 0.610 6.160 0.630 ; - RECT 3.930 0.470 6.160 0.610 ; - RECT 3.930 0.460 3.990 0.470 ; - RECT 3.700 0.400 3.990 0.460 ; - RECT 6.100 0.460 6.160 0.470 ; - RECT 6.330 0.460 6.390 0.630 ; - RECT 6.100 0.400 6.390 0.460 ; + RECT 0.820 0.670 1.110 0.730 ; + RECT 0.820 0.500 0.880 0.670 ; + RECT 1.050 0.660 1.110 0.670 ; + RECT 3.220 0.670 3.510 0.730 ; + RECT 3.220 0.660 3.280 0.670 ; + RECT 1.050 0.520 3.280 0.660 ; + RECT 1.050 0.500 1.110 0.520 ; + RECT 0.820 0.440 1.110 0.500 ; + RECT 3.220 0.500 3.280 0.520 ; + RECT 3.450 0.660 3.510 0.670 ; + RECT 6.100 0.670 6.390 0.730 ; + RECT 6.100 0.660 6.160 0.670 ; + RECT 3.450 0.520 6.160 0.660 ; + RECT 3.450 0.500 3.510 0.520 ; + RECT 3.220 0.440 3.510 0.500 ; + RECT 6.100 0.500 6.160 0.520 ; + RECT 6.330 0.500 6.390 0.670 ; + RECT 6.100 0.440 6.390 0.500 ; END END OAI22X1 END LIBRARY
diff --git a/cells/lef/OR2X1.lef b/cells/lef/OR2X1.lef index 95b3805..0d8fb59 100644 --- a/cells/lef/OR2X1.lef +++ b/cells/lef/OR2X1.lef
@@ -16,24 +16,26 @@ PORT LAYER met1 ; RECT 0.000 3.090 5.760 3.570 ; - RECT 3.220 3.060 3.510 3.090 ; - RECT 3.220 2.890 3.280 3.060 ; - RECT 3.450 2.890 3.510 3.060 ; - RECT 3.220 2.830 3.510 2.890 ; + RECT 3.220 3.010 3.510 3.090 ; + RECT 3.220 2.840 3.280 3.010 ; + RECT 3.450 2.840 3.510 3.010 ; + RECT 3.220 2.780 3.510 2.840 ; END END vdd PIN gnd DIRECTION INOUT ; - USE GROUND ; + USE POWER ; SHAPE ABUTMENT ; PORT LAYER met1 ; - RECT 0.580 0.360 0.870 0.420 ; - RECT 0.580 0.240 0.640 0.360 ; - RECT 0.810 0.240 0.870 0.360 ; - RECT 3.220 0.360 3.510 0.420 ; - RECT 3.220 0.240 3.280 0.360 ; - RECT 3.450 0.240 3.510 0.360 ; + RECT 0.580 0.490 0.870 0.550 ; + RECT 0.580 0.320 0.640 0.490 ; + RECT 0.810 0.320 0.870 0.490 ; + RECT 0.580 0.240 0.870 0.320 ; + RECT 3.220 0.490 3.510 0.550 ; + RECT 3.220 0.320 3.280 0.490 ; + RECT 3.450 0.320 3.510 0.490 ; + RECT 3.220 0.240 3.510 0.320 ; RECT 0.000 -0.240 5.760 0.240 ; END END gnd @@ -43,114 +45,113 @@ SHAPE ABUTMENT ; PORT LAYER met1 ; - RECT 4.660 2.150 4.950 2.440 ; - RECT 4.730 0.690 4.870 2.150 ; - RECT 4.660 0.400 4.950 0.690 ; + RECT 4.660 2.200 4.950 2.490 ; + RECT 4.730 0.730 4.870 2.200 ; + RECT 4.660 0.440 4.950 0.730 ; END END Y - PIN B - DIRECTION INOUT ; - USE SIGNAL ; - SHAPE ABUTMENT ; - PORT - LAYER met1 ; - RECT 2.740 1.750 3.030 2.040 ; - END - END B PIN A DIRECTION INOUT ; USE SIGNAL ; SHAPE ABUTMENT ; PORT LAYER met1 ; - RECT 1.300 1.750 1.590 2.040 ; - RECT 1.370 1.090 1.510 1.750 ; - RECT 1.300 0.800 1.590 1.090 ; + RECT 1.300 1.780 1.590 2.070 ; + RECT 1.370 1.540 1.510 1.780 ; + RECT 1.300 1.250 1.590 1.540 ; END END A + PIN B + DIRECTION INOUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + LAYER met1 ; + RECT 2.740 1.780 3.030 2.070 ; + RECT 2.810 1.540 2.950 1.780 ; + RECT 2.740 1.250 3.030 1.540 ; + END + END B OBS LAYER li1 ; - RECT 3.200 3.060 3.530 3.140 ; - RECT 3.200 2.890 3.280 3.060 ; - RECT 3.450 2.890 3.530 3.060 ; - RECT 3.200 2.810 3.530 2.890 ; - RECT 0.800 2.380 1.130 2.460 ; - RECT 0.800 2.210 0.880 2.380 ; - RECT 1.050 2.230 1.130 2.380 ; - RECT 4.640 2.380 4.970 2.460 ; - RECT 4.640 2.230 4.720 2.380 ; - RECT 1.050 2.210 1.110 2.230 ; - RECT 0.800 2.130 1.110 2.210 ; - RECT 4.660 2.210 4.720 2.230 ; - RECT 4.890 2.210 4.970 2.380 ; - RECT 4.660 2.130 4.970 2.210 ; - RECT 1.280 1.980 1.610 2.060 ; - RECT 1.280 1.810 1.360 1.980 ; - RECT 1.530 1.810 1.610 1.980 ; - RECT 1.280 1.730 1.610 1.810 ; - RECT 2.720 1.980 3.050 2.060 ; - RECT 2.720 1.810 2.800 1.980 ; - RECT 2.970 1.810 3.050 1.980 ; - RECT 2.720 1.730 3.050 1.810 ; - RECT 4.160 1.980 4.490 2.060 ; - RECT 4.160 1.810 4.240 1.980 ; - RECT 4.410 1.810 4.490 1.980 ; - RECT 4.160 1.730 4.490 1.810 ; - RECT 2.800 1.110 2.970 1.730 ; - RECT 1.280 1.030 1.610 1.110 ; - RECT 1.280 0.860 1.360 1.030 ; - RECT 1.530 0.860 1.610 1.030 ; - RECT 2.720 1.030 3.050 1.110 ; - RECT 2.720 0.880 2.800 1.030 ; - RECT 1.280 0.780 1.610 0.860 ; - RECT 2.740 0.860 2.800 0.880 ; - RECT 2.970 0.860 3.050 1.030 ; - RECT 2.740 0.780 3.050 0.860 ; - RECT 4.160 1.030 4.490 1.110 ; - RECT 4.160 0.860 4.240 1.030 ; - RECT 4.410 0.860 4.490 1.030 ; - RECT 4.160 0.780 4.490 0.860 ; - RECT 2.240 0.630 2.570 0.710 ; - RECT 2.240 0.460 2.320 0.630 ; - RECT 2.490 0.460 2.570 0.630 ; - RECT 4.660 0.630 4.970 0.710 ; - RECT 4.660 0.610 4.720 0.630 ; - RECT 0.560 0.360 0.890 0.440 ; - RECT 2.240 0.380 2.570 0.460 ; - RECT 4.640 0.460 4.720 0.610 ; - RECT 4.890 0.460 4.970 0.630 ; - RECT 0.560 0.190 0.640 0.360 ; - RECT 0.810 0.190 0.890 0.360 ; - RECT 0.560 0.110 0.890 0.190 ; - RECT 3.200 0.360 3.530 0.440 ; - RECT 4.640 0.380 4.970 0.460 ; - RECT 3.200 0.190 3.280 0.360 ; - RECT 3.450 0.190 3.530 0.360 ; - RECT 3.200 0.110 3.530 0.190 ; + RECT 3.200 3.010 3.530 3.090 ; + RECT 3.200 2.840 3.280 3.010 ; + RECT 3.450 2.840 3.530 3.010 ; + RECT 3.200 2.760 3.530 2.840 ; + RECT 0.800 2.430 1.130 2.510 ; + RECT 0.800 2.260 0.880 2.430 ; + RECT 1.050 2.260 1.130 2.430 ; + RECT 4.640 2.430 4.970 2.510 ; + RECT 4.640 2.260 4.720 2.430 ; + RECT 4.890 2.260 4.970 2.430 ; + RECT 0.800 2.180 1.110 2.260 ; + RECT 4.660 2.180 4.970 2.260 ; + RECT 1.280 2.010 1.610 2.090 ; + RECT 1.280 1.840 1.360 2.010 ; + RECT 1.530 1.840 1.610 2.010 ; + RECT 1.280 1.760 1.610 1.840 ; + RECT 2.720 2.010 3.050 2.090 ; + RECT 2.720 1.840 2.800 2.010 ; + RECT 2.970 1.840 3.050 2.010 ; + RECT 2.720 1.760 3.050 1.840 ; + RECT 4.160 2.010 4.490 2.090 ; + RECT 4.160 1.840 4.240 2.010 ; + RECT 4.410 1.840 4.490 2.010 ; + RECT 4.160 1.760 4.490 1.840 ; + RECT 1.360 1.160 1.530 1.310 ; + RECT 2.800 1.160 2.970 1.310 ; + RECT 1.280 1.080 1.610 1.160 ; + RECT 1.280 0.910 1.360 1.080 ; + RECT 1.530 0.910 1.610 1.080 ; + RECT 2.720 1.080 3.050 1.160 ; + RECT 2.720 0.920 2.800 1.080 ; + RECT 1.280 0.830 1.610 0.910 ; + RECT 2.740 0.910 2.800 0.920 ; + RECT 2.970 0.910 3.050 1.080 ; + RECT 2.740 0.830 3.050 0.910 ; + RECT 4.160 1.080 4.490 1.160 ; + RECT 4.160 0.910 4.240 1.080 ; + RECT 4.410 0.910 4.490 1.080 ; + RECT 4.160 0.830 4.490 0.910 ; + RECT 2.240 0.670 2.570 0.750 ; + RECT 0.560 0.490 0.890 0.570 ; + RECT 0.560 0.320 0.640 0.490 ; + RECT 0.810 0.320 0.890 0.490 ; + RECT 2.240 0.500 2.320 0.670 ; + RECT 2.490 0.500 2.570 0.670 ; + RECT 4.660 0.670 4.970 0.750 ; + RECT 4.660 0.660 4.720 0.670 ; + RECT 2.240 0.420 2.570 0.500 ; + RECT 3.200 0.490 3.530 0.570 ; + RECT 0.560 0.240 0.890 0.320 ; + RECT 3.200 0.320 3.280 0.490 ; + RECT 3.450 0.320 3.530 0.490 ; + RECT 4.640 0.500 4.720 0.660 ; + RECT 4.890 0.500 4.970 0.670 ; + RECT 4.640 0.420 4.970 0.500 ; + RECT 3.200 0.240 3.530 0.320 ; LAYER met1 ; - RECT 0.820 2.380 1.110 2.440 ; - RECT 0.820 2.210 0.880 2.380 ; - RECT 1.050 2.370 1.110 2.380 ; - RECT 1.050 2.230 2.470 2.370 ; - RECT 1.050 2.210 1.110 2.230 ; - RECT 0.820 2.150 1.110 2.210 ; - RECT 2.330 1.020 2.470 2.230 ; - RECT 4.180 1.980 4.470 2.040 ; - RECT 4.180 1.810 4.240 1.980 ; - RECT 4.410 1.810 4.470 1.980 ; - RECT 4.180 1.750 4.470 1.810 ; - RECT 4.250 1.090 4.390 1.750 ; - RECT 4.180 1.030 4.470 1.090 ; - RECT 4.180 1.020 4.240 1.030 ; - RECT 2.330 0.880 4.240 1.020 ; - RECT 2.330 0.690 2.470 0.880 ; - RECT 4.180 0.860 4.240 0.880 ; - RECT 4.410 0.860 4.470 1.030 ; - RECT 4.180 0.800 4.470 0.860 ; - RECT 2.260 0.630 2.550 0.690 ; - RECT 2.260 0.460 2.320 0.630 ; - RECT 2.490 0.460 2.550 0.630 ; - RECT 2.260 0.400 2.550 0.460 ; + RECT 0.820 2.430 1.110 2.490 ; + RECT 0.820 2.260 0.880 2.430 ; + RECT 1.050 2.260 1.110 2.430 ; + RECT 0.820 2.200 1.110 2.260 ; + RECT 0.890 1.060 1.030 2.200 ; + RECT 4.180 2.010 4.470 2.070 ; + RECT 4.180 1.840 4.240 2.010 ; + RECT 4.410 1.840 4.470 2.010 ; + RECT 4.180 1.780 4.470 1.840 ; + RECT 4.250 1.140 4.390 1.780 ; + RECT 4.180 1.080 4.470 1.140 ; + RECT 4.180 1.060 4.240 1.080 ; + RECT 0.890 0.920 4.240 1.060 ; + RECT 2.330 0.730 2.470 0.920 ; + RECT 4.180 0.910 4.240 0.920 ; + RECT 4.410 0.910 4.470 1.080 ; + RECT 4.180 0.850 4.470 0.910 ; + RECT 2.260 0.670 2.550 0.730 ; + RECT 2.260 0.500 2.320 0.670 ; + RECT 2.490 0.500 2.550 0.670 ; + RECT 2.260 0.440 2.550 0.500 ; END END OR2X1 END LIBRARY
diff --git a/cells/lef/XNOR2X1.lef b/cells/lef/XNOR2X1.lef deleted file mode 100644 index f0de3fe..0000000 --- a/cells/lef/XNOR2X1.lef +++ /dev/null
@@ -1,244 +0,0 @@ -VERSION 5.7 ; - NOWIREEXTENSIONATPIN ON ; - DIVIDERCHAR "/" ; - BUSBITCHARS "[]" ; -MACRO XNOR2X1 - CLASS CORE ; - FOREIGN XNOR2X1 ; - ORIGIN 0.000 0.000 ; - SIZE 10.080 BY 3.330 ; - SYMMETRY X Y R90 ; - SITE unit ; - PIN vdd - DIRECTION INOUT ; - USE POWER ; - SHAPE ABUTMENT ; - PORT - LAYER met1 ; - RECT 0.000 3.090 10.080 3.570 ; - RECT 1.780 3.060 2.070 3.090 ; - RECT 1.780 2.890 1.840 3.060 ; - RECT 2.010 2.890 2.070 3.060 ; - RECT 1.780 2.830 2.070 2.890 ; - RECT 7.540 3.060 7.830 3.090 ; - RECT 7.540 2.890 7.600 3.060 ; - RECT 7.770 2.890 7.830 3.060 ; - RECT 7.540 2.830 7.830 2.890 ; - END - END vdd - PIN gnd - DIRECTION INOUT ; - USE GROUND ; - SHAPE ABUTMENT ; - PORT - LAYER met1 ; - RECT 1.780 0.360 2.070 0.420 ; - RECT 1.780 0.240 1.840 0.360 ; - RECT 2.010 0.240 2.070 0.360 ; - RECT 7.540 0.240 7.830 0.280 ; - RECT 0.000 -0.240 10.080 0.240 ; - END - END gnd - PIN Y - DIRECTION INOUT ; - USE SIGNAL ; - SHAPE ABUTMENT ; - PORT - LAYER met1 ; - RECT 4.660 2.150 4.950 2.440 ; - RECT 4.730 2.040 4.870 2.150 ; - RECT 4.660 1.750 4.950 2.040 ; - END - END Y - PIN A - DIRECTION INOUT ; - USE SIGNAL ; - SHAPE ABUTMENT ; - PORT - LAYER met1 ; - RECT 8.500 1.750 8.790 2.040 ; - RECT 8.570 1.090 8.710 1.750 ; - RECT 8.500 0.800 8.790 1.090 ; - RECT 3.700 0.610 3.990 0.690 ; - RECT 5.620 0.610 5.910 0.690 ; - RECT 8.570 0.610 8.710 0.800 ; - RECT 3.700 0.470 8.710 0.610 ; - RECT 3.700 0.400 3.990 0.470 ; - RECT 5.620 0.400 5.910 0.470 ; - END - END A - PIN B - DIRECTION INOUT ; - USE SIGNAL ; - SHAPE ABUTMENT ; - PORT - LAYER met1 ; - RECT 1.300 1.960 1.590 2.040 ; - RECT 2.740 1.960 3.030 2.040 ; - RECT 1.300 1.820 3.030 1.960 ; - RECT 1.300 1.750 1.590 1.820 ; - RECT 2.740 1.750 3.030 1.820 ; - RECT 1.370 1.500 1.510 1.750 ; - RECT 1.300 1.210 1.590 1.500 ; - END - END B - OBS - LAYER li1 ; - RECT 1.760 3.060 2.090 3.140 ; - RECT 1.760 2.890 1.840 3.060 ; - RECT 2.010 2.890 2.090 3.060 ; - RECT 1.760 2.810 2.090 2.890 ; - RECT 7.520 3.060 7.850 3.140 ; - RECT 7.520 2.890 7.600 3.060 ; - RECT 7.770 2.890 7.850 3.060 ; - RECT 7.520 2.810 7.850 2.890 ; - RECT 0.560 2.380 0.890 2.460 ; - RECT 0.560 2.210 0.640 2.380 ; - RECT 0.810 2.210 0.890 2.380 ; - RECT 0.560 2.130 0.890 2.210 ; - RECT 4.640 2.380 4.970 2.460 ; - RECT 4.640 2.210 4.720 2.380 ; - RECT 4.890 2.210 4.970 2.380 ; - RECT 8.960 2.380 9.290 2.460 ; - RECT 8.960 2.230 9.040 2.380 ; - RECT 4.640 2.180 4.970 2.210 ; - RECT 4.730 2.150 4.970 2.180 ; - RECT 8.980 2.210 9.040 2.230 ; - RECT 9.210 2.210 9.290 2.380 ; - RECT 8.980 2.130 9.290 2.210 ; - RECT 1.280 1.980 1.610 2.060 ; - RECT 1.280 1.810 1.360 1.980 ; - RECT 1.530 1.810 1.610 1.980 ; - RECT 1.280 1.730 1.610 1.810 ; - RECT 2.720 1.980 3.050 2.060 ; - RECT 2.720 1.810 2.800 1.980 ; - RECT 2.970 1.810 3.050 1.980 ; - RECT 2.720 1.730 3.050 1.810 ; - RECT 4.160 2.010 4.470 2.060 ; - RECT 4.160 1.980 4.490 2.010 ; - RECT 4.160 1.810 4.240 1.980 ; - RECT 4.410 1.810 4.490 1.980 ; - RECT 5.600 1.980 5.930 2.060 ; - RECT 5.600 1.810 5.680 1.980 ; - RECT 5.850 1.810 5.930 1.980 ; - RECT 4.160 1.740 4.490 1.810 ; - RECT 1.360 1.110 1.530 1.270 ; - RECT 2.800 1.110 2.970 1.730 ; - RECT 1.280 1.030 1.610 1.110 ; - RECT 1.280 0.860 1.360 1.030 ; - RECT 1.530 0.860 1.610 1.030 ; - RECT 1.280 0.780 1.610 0.860 ; - RECT 2.720 1.030 3.050 1.110 ; - RECT 2.720 0.860 2.800 1.030 ; - RECT 2.970 0.860 3.050 1.030 ; - RECT 2.720 0.780 3.050 0.860 ; - RECT 0.560 0.630 0.890 0.710 ; - RECT 3.760 0.630 3.930 1.270 ; - RECT 4.240 1.110 4.410 1.400 ; - RECT 4.160 1.030 4.490 1.110 ; - RECT 4.160 0.860 4.240 1.030 ; - RECT 4.410 0.880 4.490 1.030 ; - RECT 4.410 0.860 4.470 0.880 ; - RECT 4.160 0.780 4.470 0.860 ; - RECT 4.720 0.710 4.890 1.810 ; - RECT 5.600 1.730 5.930 1.810 ; - RECT 7.040 1.980 7.370 2.060 ; - RECT 7.040 1.810 7.120 1.980 ; - RECT 7.290 1.810 7.370 1.980 ; - RECT 7.040 1.730 7.370 1.810 ; - RECT 8.480 1.980 8.810 2.060 ; - RECT 8.480 1.810 8.560 1.980 ; - RECT 8.730 1.810 8.810 1.980 ; - RECT 8.480 1.730 8.810 1.810 ; - RECT 5.600 1.030 5.930 1.110 ; - RECT 5.600 0.860 5.680 1.030 ; - RECT 5.850 0.860 5.930 1.030 ; - RECT 5.600 0.780 5.930 0.860 ; - RECT 7.040 1.030 7.370 1.110 ; - RECT 7.040 0.860 7.120 1.030 ; - RECT 7.290 0.860 7.370 1.030 ; - RECT 7.040 0.780 7.370 0.860 ; - RECT 8.480 1.030 8.810 1.110 ; - RECT 8.480 0.860 8.560 1.030 ; - RECT 8.730 0.860 8.810 1.030 ; - RECT 8.480 0.780 8.810 0.860 ; - RECT 4.640 0.630 4.970 0.710 ; - RECT 5.680 0.630 5.850 0.780 ; - RECT 8.980 0.630 9.290 0.710 ; - RECT 0.560 0.460 0.640 0.630 ; - RECT 0.810 0.460 0.890 0.630 ; - RECT 0.560 0.380 0.890 0.460 ; - RECT 4.640 0.460 4.720 0.630 ; - RECT 4.890 0.460 4.970 0.630 ; - RECT 8.980 0.610 9.040 0.630 ; - RECT 1.760 0.360 2.090 0.440 ; - RECT 4.640 0.380 4.970 0.460 ; - RECT 8.960 0.460 9.040 0.610 ; - RECT 9.210 0.460 9.290 0.630 ; - RECT 1.760 0.190 1.840 0.360 ; - RECT 2.010 0.190 2.090 0.360 ; - RECT 1.760 0.110 2.090 0.190 ; - RECT 7.520 0.360 7.850 0.440 ; - RECT 8.960 0.380 9.290 0.460 ; - RECT 7.520 0.110 7.600 0.360 ; - RECT 7.770 0.110 7.850 0.360 ; - LAYER met1 ; - RECT 0.580 2.380 0.870 2.440 ; - RECT 0.580 2.210 0.640 2.380 ; - RECT 0.810 2.210 0.870 2.380 ; - RECT 8.980 2.380 9.270 2.440 ; - RECT 8.980 2.370 9.040 2.380 ; - RECT 0.580 2.150 0.870 2.210 ; - RECT 5.690 2.230 9.040 2.370 ; - RECT 0.650 1.020 0.790 2.150 ; - RECT 5.690 2.040 5.830 2.230 ; - RECT 8.980 2.210 9.040 2.230 ; - RECT 9.210 2.210 9.270 2.380 ; - RECT 8.980 2.150 9.270 2.210 ; - RECT 4.180 1.980 4.470 2.040 ; - RECT 4.180 1.960 4.240 1.980 ; - RECT 3.770 1.820 4.240 1.960 ; - RECT 3.770 1.500 3.910 1.820 ; - RECT 4.180 1.810 4.240 1.820 ; - RECT 4.410 1.810 4.470 1.980 ; - RECT 4.180 1.770 4.470 1.810 ; - RECT 5.620 1.980 5.910 2.040 ; - RECT 5.620 1.810 5.680 1.980 ; - RECT 5.850 1.810 5.910 1.980 ; - RECT 5.620 1.750 5.910 1.810 ; - RECT 7.060 1.980 7.350 2.040 ; - RECT 7.060 1.810 7.120 1.980 ; - RECT 7.290 1.810 7.350 1.980 ; - RECT 7.060 1.750 7.350 1.810 ; - RECT 4.180 1.570 4.470 1.630 ; - RECT 3.700 1.440 3.990 1.500 ; - RECT 3.700 1.270 3.760 1.440 ; - RECT 3.930 1.270 3.990 1.440 ; - RECT 4.180 1.400 4.240 1.570 ; - RECT 4.410 1.560 4.470 1.570 ; - RECT 5.690 1.560 5.830 1.750 ; - RECT 4.410 1.420 5.830 1.560 ; - RECT 4.410 1.400 4.470 1.420 ; - RECT 4.180 1.340 4.470 1.400 ; - RECT 3.700 1.210 3.990 1.270 ; - RECT 7.130 1.090 7.270 1.750 ; - RECT 7.060 1.030 7.350 1.090 ; - RECT 7.060 1.020 7.120 1.030 ; - RECT 0.650 0.880 7.120 1.020 ; - RECT 0.650 0.690 0.790 0.880 ; - RECT 7.060 0.860 7.120 0.880 ; - RECT 7.290 0.860 7.350 1.030 ; - RECT 7.060 0.800 7.350 0.860 ; - RECT 9.050 0.690 9.190 2.150 ; - RECT 0.580 0.630 0.870 0.690 ; - RECT 0.580 0.460 0.640 0.630 ; - RECT 0.810 0.460 0.870 0.630 ; - RECT 0.580 0.400 0.870 0.460 ; - RECT 8.980 0.630 9.270 0.690 ; - RECT 8.980 0.460 9.040 0.630 ; - RECT 9.210 0.460 9.270 0.630 ; - RECT 8.980 0.400 9.270 0.460 ; - END -END XNOR2X1 -END LIBRARY -
diff --git a/cells/lef/fixup.pl b/cells/lef/fixup.pl index c2aa955..e85b830 100644 --- a/cells/lef/fixup.pl +++ b/cells/lef/fixup.pl
@@ -3,6 +3,21 @@ my %layersToDo=("li1"=>1,"mcon"=>1,"locali"=>1,"metal1"=>1); +sub readfile($) +{ + if(open MYRIN,"<$_[0]") + { + my $old=$/; + undef $/; + my $content=<MYRIN>; + close MYRIN; + $/=$old; + return $content; + } + return undef; +} + + foreach my $origlef (<orig/*.lef>) { my $lef=$origlef; $lef=~s/^orig\///; @@ -10,6 +25,8 @@ print STDERR "origlef: $origlef\n lef: $lef\n mag:$mag\n"; my $obs=""; + + if(open(MAGIN,"<$mag")) { print "Extracting Obstruction information from $mag\n"; @@ -23,7 +40,7 @@ } if(m/rect (-?\d+) (-?\d+) (-?\d+) (-?\d+)/ && $active) { - $obs.="RECT ( ".($1/100.0)." ".($2/100.0)." ) ( ".($3/100.0)." ".($4/100.0)." ) ;\n"; + $obs.=" RECT ( ".($1/100.0)." ".($2/100.0)." ) ( ".($3/100.0)." ".($4/100.0)." ) ;\n"; } } close MAGIN; @@ -35,18 +52,29 @@ #print "$mag\n$obs\n"; #next; + + my $content=readfile("orig/$lef"); + $content=~s/\sOBS\s.*?\sEND\s//sg; + #open OUT,">$lef.temp"; + #print OUT $content; + #close OUT; my $cell=$lef; $cell=~s/\.lef//; print "$lef\n"; - open LEFIN,"<orig/$lef"; + # open LEFIN,"<orig/$lef"; open LEFOUT,">$lef"; our $pin=""; my $filled=0; - while(<LEFIN>) + our $macro="NOTTOBEFOUND"; + + #print "$obs\n"; + foreach(split "\n",$content) # while(<LEFIN>) { + $_.="\n"; + $macro=$1 if(m/MACRO\s+(\w+)/); $pin=$1 if(m/PIN (\w+)/); - s/SYMMETRY X Y R90/SITE unit/; - s/SITE CORE/SYMMETRY X Y R90/; + #s/SYMMETRY X Y R90/SITE unit/; + #s/SITE CORE/SYMMETRY X Y R90/; #s/SITE unit.*//; s/metal2/met1/; s/VDD/vdd/; @@ -54,34 +82,42 @@ s/USE SIGNAL/USE POWER/ if($pin eq "VDD"); s/USE SIGNAL/USE GROUND/ if($pin eq "GND"); - if(m/^END (\w+)/ && !$filled) + if(m/^\s*END\s+$macro/ && !$filled) # Inject the obstructions here { - print LEFOUT " OBS\n$obs\n end\n"; + print LEFOUT "\n OBS\n$obs\n end\n"; + $filled=1; } - + #print $_; print LEFOUT $_; + #print "$macro\n"; #print $_; if(m/FOREIGN/) { if(open(MAG,"<$mag")) { + my $layer=""; while(<MAG>) { + if(m/<< (\w+) >>/) + { + $layer=$1; + } if(m/rect 0 0 (\d+) (\d+)/) { + next if($layer eq "checkpaint"); my $h=$1; my $w=$2; my $factor=0.01; - print "$lef -> ".($1*$factor)." ".($2*$factor)."\n"; - print LEFOUT " SIZE ".($1*$factor)." BY ".($2*$factor)." ;\n"; + #print "$lef -> ".($1*$factor)." ".($2*$factor)."\n"; + #print LEFOUT " SIZE ".($1*$factor)." BY ".($2*$factor)." ;\n"; } if(m/string FIXED_BBOX 0 0 (\d+) (\d+)/) { my $h=$1; my $w=$2; my $factor=0.01; - print "$lef -> ".($1*$factor)." ".($2*$factor)."\n"; - print LEFOUT " SIZE ".($1*$factor)." BY ".($2*$factor)." ;\n"; + #print "$lef -> ".($1*$factor)." ".($2*$factor)."\n"; + #print LEFOUT " SIZE ".($1*$factor)." BY ".($2*$factor)." ;\n"; } } @@ -90,7 +126,9 @@ } } close LEFOUT; - close LEFIN; + #close LEFIN; + + system "cp $lef $lef.beforemagic"; open MAGIC,"|magic -dnull -noconsole -T sky130A"; print MAGIC "lef read $lef\n";
diff --git a/cells/lef/orig/AND2X1.lef b/cells/lef/orig/AND2X1.lef index f707f1e..e30b793 100644 --- a/cells/lef/orig/AND2X1.lef +++ b/cells/lef/orig/AND2X1.lef
@@ -1,27 +1,28 @@ MACRO AND2X1 CLASS CORE ; FOREIGN AND2X1 0 0 ; + SIZE 5.76 BY 3.33 ; ORIGIN 0 0 ; SYMMETRY X Y R90 ; - SITE CORE ; + SITE unit ; PIN VDD DIRECTION INOUT ; - USE SIGNAL ; + USE POWER ; SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; + LAYER met1 ; RECT 0.00000000 3.09000000 5.76000000 3.57000000 ; END END VDD PIN GND DIRECTION INOUT ; - USE SIGNAL ; + USE POWER ; SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; + LAYER met1 ; RECT 0.00000000 -0.24000000 5.76000000 0.24000000 ; END END GND @@ -32,38 +33,111 @@ SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; - RECT 4.65500000 0.39500000 4.94500000 0.68500000 ; - RECT 4.73000000 0.68500000 4.87000000 2.15000000 ; - RECT 4.65500000 2.15000000 4.94500000 2.44000000 ; + LAYER met1 ; + RECT 4.65500000 0.44000000 4.94500000 0.73000000 ; + RECT 4.73000000 0.73000000 4.87000000 2.19500000 ; + RECT 4.65500000 2.19500000 4.94500000 2.48500000 ; END END Y - PIN B - DIRECTION INOUT ; - USE SIGNAL ; - SHAPE ABUTMENT ; - PORT - CLASS CORE ; - LAYER metal2 ; - RECT 2.73500000 0.80000000 3.02500000 1.09000000 ; - RECT 2.81000000 1.09000000 2.95000000 1.74500000 ; - RECT 2.73500000 1.74500000 3.02500000 2.03500000 ; - END - END B - PIN A DIRECTION INOUT ; USE SIGNAL ; SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; - RECT 1.29500000 0.80000000 1.58500000 1.09000000 ; - RECT 1.37000000 1.09000000 1.51000000 1.74500000 ; - RECT 1.29500000 1.74500000 1.58500000 2.03500000 ; + LAYER met1 ; + RECT 1.29500000 0.84500000 1.58500000 1.13500000 ; + RECT 1.37000000 1.13500000 1.51000000 1.78000000 ; + RECT 1.29500000 1.78000000 1.58500000 2.07000000 ; END END A + PIN B + DIRECTION INOUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + CLASS CORE ; + LAYER met1 ; + RECT 2.73500000 1.78000000 3.02500000 2.07000000 ; + END + END B + OBS + LAYER polycont ; + RECT 1.35500000 0.90500000 1.52500000 1.07500000 ; + RECT 2.79500000 0.90500000 2.96500000 1.07500000 ; + RECT 4.23500000 0.90500000 4.40500000 1.07500000 ; + RECT 1.35500000 1.84000000 1.52500000 2.01000000 ; + RECT 2.79500000 1.84000000 2.96500000 2.01000000 ; + RECT 4.23500000 1.84000000 4.40500000 2.01000000 ; + + LAYER pdiffc ; + RECT 1.83500000 2.25500000 2.00500000 2.42500000 ; + RECT 4.71500000 2.25500000 4.88500000 2.42500000 ; + RECT 0.63500000 2.84000000 0.80500000 3.01000000 ; + RECT 3.27500000 2.84000000 3.44500000 3.01000000 ; + + LAYER ndiffc ; + RECT 3.27500000 0.32000000 3.44500000 0.49000000 ; + RECT 0.87500000 0.50000000 1.04500000 0.67000000 ; + RECT 4.71500000 0.50000000 4.88500000 0.67000000 ; + + LAYER li1 ; + RECT 3.19500000 0.24000000 3.52500000 0.57000000 ; + RECT 0.79500000 0.42000000 1.12500000 0.75000000 ; + RECT 4.63500000 0.42000000 4.96500000 0.75000000 ; + RECT 1.27500000 0.82500000 1.60500000 1.15500000 ; + RECT 4.15500000 0.82500000 4.48500000 1.15500000 ; + RECT 1.27500000 1.76000000 1.60500000 2.09000000 ; + RECT 2.71500000 0.82500000 3.04500000 1.15500000 ; + RECT 2.79500000 1.15500000 2.96500000 1.76000000 ; + RECT 2.71500000 1.76000000 3.04500000 2.09000000 ; + RECT 4.15500000 1.76000000 4.48500000 2.09000000 ; + RECT 1.75500000 2.17500000 2.08500000 2.50500000 ; + RECT 4.63500000 2.17500000 4.96500000 2.50500000 ; + RECT 0.55500000 2.76000000 0.88500000 3.09000000 ; + RECT 3.19500000 2.76000000 3.52500000 3.09000000 ; + + LAYER viali ; + RECT 3.27500000 0.32000000 3.44500000 0.49000000 ; + RECT 0.87500000 0.50000000 1.04500000 0.67000000 ; + RECT 4.71500000 0.50000000 4.88500000 0.67000000 ; + RECT 1.35500000 0.90500000 1.52500000 1.07500000 ; + RECT 4.23500000 0.90500000 4.40500000 1.07500000 ; + RECT 1.35500000 1.84000000 1.52500000 2.01000000 ; + RECT 2.79500000 1.84000000 2.96500000 2.01000000 ; + RECT 4.23500000 1.84000000 4.40500000 2.01000000 ; + RECT 1.83500000 2.25500000 2.00500000 2.42500000 ; + RECT 4.71500000 2.25500000 4.88500000 2.42500000 ; + RECT 0.63500000 2.84000000 0.80500000 3.01000000 ; + RECT 3.27500000 2.84000000 3.44500000 3.01000000 ; + + LAYER met1 ; + RECT 0.00000000 -0.24000000 5.76000000 0.24000000 ; + RECT 3.21500000 0.24000000 3.50500000 0.55000000 ; + RECT 1.29500000 0.84500000 1.58500000 1.13500000 ; + RECT 1.37000000 1.13500000 1.51000000 1.78000000 ; + RECT 1.29500000 1.78000000 1.58500000 2.07000000 ; + RECT 2.73500000 1.78000000 3.02500000 2.07000000 ; + RECT 0.81500000 0.44000000 1.10500000 0.51500000 ; + RECT 0.81500000 0.51500000 1.99000000 0.65500000 ; + RECT 0.81500000 0.65500000 1.10500000 0.73000000 ; + RECT 1.85000000 0.65500000 1.99000000 0.92000000 ; + RECT 4.17500000 0.84500000 4.46500000 0.92000000 ; + RECT 1.85000000 0.92000000 4.46500000 1.06000000 ; + RECT 4.17500000 1.06000000 4.46500000 1.13500000 ; + RECT 4.25000000 1.13500000 4.39000000 1.78000000 ; + RECT 4.17500000 1.78000000 4.46500000 2.07000000 ; + RECT 1.85000000 1.06000000 1.99000000 2.19500000 ; + RECT 1.77500000 2.19500000 2.06500000 2.48500000 ; + RECT 4.65500000 0.44000000 4.94500000 0.73000000 ; + RECT 4.73000000 0.73000000 4.87000000 2.19500000 ; + RECT 4.65500000 2.19500000 4.94500000 2.48500000 ; + RECT 0.57500000 2.78000000 0.86500000 3.09000000 ; + RECT 3.21500000 2.78000000 3.50500000 3.09000000 ; + RECT 0.00000000 3.09000000 5.76000000 3.57000000 ; + + END END AND2X1
diff --git a/cells/lef/orig/AND2X2.lef b/cells/lef/orig/AND2X2.lef index 562e2c4..614492f 100644 --- a/cells/lef/orig/AND2X2.lef +++ b/cells/lef/orig/AND2X2.lef
@@ -1,27 +1,28 @@ MACRO AND2X2 CLASS CORE ; FOREIGN AND2X2 0 0 ; + SIZE 5.76 BY 3.33 ; ORIGIN 0 0 ; SYMMETRY X Y R90 ; - SITE CORE ; + SITE unit ; PIN VDD DIRECTION INOUT ; - USE SIGNAL ; + USE POWER ; SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; + LAYER met1 ; RECT 0.00000000 3.09000000 5.76000000 3.57000000 ; END END VDD PIN GND DIRECTION INOUT ; - USE SIGNAL ; + USE POWER ; SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; + LAYER met1 ; RECT 0.00000000 -0.24000000 5.76000000 0.24000000 ; END END GND @@ -32,38 +33,116 @@ SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; - RECT 4.65500000 0.39500000 4.94500000 0.68500000 ; - RECT 4.73000000 0.68500000 4.87000000 2.15000000 ; - RECT 4.65500000 2.15000000 4.94500000 2.44000000 ; + LAYER met1 ; + RECT 4.65500000 0.44000000 4.94500000 0.73000000 ; + RECT 4.73000000 0.73000000 4.87000000 2.19500000 ; + RECT 4.65500000 2.19500000 4.94500000 2.48500000 ; END END Y - PIN A - DIRECTION INOUT ; - USE SIGNAL ; - SHAPE ABUTMENT ; - PORT - CLASS CORE ; - LAYER metal2 ; - RECT 1.29500000 0.80000000 1.58500000 1.09000000 ; - RECT 1.37000000 1.09000000 1.51000000 1.74500000 ; - RECT 1.29500000 1.74500000 1.58500000 2.03500000 ; - END - END A - PIN B DIRECTION INOUT ; USE SIGNAL ; SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; - RECT 2.73500000 0.80000000 3.02500000 1.09000000 ; - RECT 2.81000000 1.09000000 2.95000000 1.74500000 ; - RECT 2.73500000 1.74500000 3.02500000 2.03500000 ; + LAYER met1 ; + RECT 2.73500000 1.25000000 3.02500000 1.54000000 ; + RECT 2.81000000 1.54000000 2.95000000 1.78000000 ; + RECT 2.73500000 1.78000000 3.02500000 2.07000000 ; END END B + PIN A + DIRECTION INOUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + CLASS CORE ; + LAYER met1 ; + RECT 1.29500000 0.84500000 1.58500000 1.13500000 ; + RECT 1.37000000 1.13500000 1.51000000 1.78000000 ; + RECT 1.29500000 1.78000000 1.58500000 2.07000000 ; + END + END A + OBS + LAYER polycont ; + RECT 1.35500000 0.90500000 1.52500000 1.07500000 ; + RECT 2.79500000 0.90500000 2.96500000 1.07500000 ; + RECT 4.23500000 0.90500000 4.40500000 1.07500000 ; + RECT 1.35500000 1.84000000 1.52500000 2.01000000 ; + RECT 2.79500000 1.84000000 2.96500000 2.01000000 ; + RECT 4.23500000 1.84000000 4.40500000 2.01000000 ; + + LAYER pdiffc ; + RECT 1.83500000 2.25500000 2.00500000 2.42500000 ; + RECT 4.71500000 2.25500000 4.88500000 2.42500000 ; + RECT 0.63500000 2.84000000 0.80500000 3.01000000 ; + RECT 3.27500000 2.84000000 3.44500000 3.01000000 ; + + LAYER ndiffc ; + RECT 3.27500000 0.32000000 3.44500000 0.49000000 ; + RECT 0.87500000 0.50000000 1.04500000 0.67000000 ; + RECT 4.71500000 0.50000000 4.88500000 0.67000000 ; + + LAYER li1 ; + RECT 3.19500000 0.24000000 3.52500000 0.57000000 ; + RECT 0.79500000 0.42000000 1.12500000 0.75000000 ; + RECT 4.63500000 0.42000000 4.96500000 0.75000000 ; + RECT 1.27500000 0.82500000 1.60500000 1.15500000 ; + RECT 4.15500000 0.82500000 4.48500000 1.15500000 ; + RECT 2.71500000 0.82500000 3.04500000 1.15500000 ; + RECT 2.79500000 1.15500000 2.96500000 1.48000000 ; + RECT 1.27500000 1.76000000 1.60500000 2.09000000 ; + RECT 2.71500000 1.76000000 3.04500000 2.09000000 ; + RECT 4.15500000 1.76000000 4.48500000 2.09000000 ; + RECT 1.75500000 2.17500000 2.08500000 2.50500000 ; + RECT 4.63500000 2.17500000 4.96500000 2.50500000 ; + RECT 0.55500000 2.76000000 0.88500000 3.09000000 ; + RECT 3.19500000 2.76000000 3.52500000 3.09000000 ; + + LAYER viali ; + RECT 3.27500000 0.32000000 3.44500000 0.49000000 ; + RECT 0.87500000 0.50000000 1.04500000 0.67000000 ; + RECT 4.71500000 0.50000000 4.88500000 0.67000000 ; + RECT 1.35500000 0.90500000 1.52500000 1.07500000 ; + RECT 4.23500000 0.90500000 4.40500000 1.07500000 ; + RECT 2.79500000 1.31000000 2.96500000 1.48000000 ; + RECT 1.35500000 1.84000000 1.52500000 2.01000000 ; + RECT 2.79500000 1.84000000 2.96500000 2.01000000 ; + RECT 4.23500000 1.84000000 4.40500000 2.01000000 ; + RECT 1.83500000 2.25500000 2.00500000 2.42500000 ; + RECT 4.71500000 2.25500000 4.88500000 2.42500000 ; + RECT 0.63500000 2.84000000 0.80500000 3.01000000 ; + RECT 3.27500000 2.84000000 3.44500000 3.01000000 ; + + LAYER met1 ; + RECT 0.00000000 -0.24000000 5.76000000 0.24000000 ; + RECT 3.21500000 0.24000000 3.50500000 0.55000000 ; + RECT 1.29500000 0.84500000 1.58500000 1.13500000 ; + RECT 1.37000000 1.13500000 1.51000000 1.78000000 ; + RECT 1.29500000 1.78000000 1.58500000 2.07000000 ; + RECT 2.73500000 1.25000000 3.02500000 1.54000000 ; + RECT 2.81000000 1.54000000 2.95000000 1.78000000 ; + RECT 2.73500000 1.78000000 3.02500000 2.07000000 ; + RECT 0.81500000 0.44000000 1.10500000 0.51500000 ; + RECT 0.81500000 0.51500000 1.99000000 0.65500000 ; + RECT 0.81500000 0.65500000 1.10500000 0.73000000 ; + RECT 1.85000000 0.65500000 1.99000000 0.92000000 ; + RECT 4.17500000 0.84500000 4.46500000 0.92000000 ; + RECT 1.85000000 0.92000000 4.46500000 1.06000000 ; + RECT 4.17500000 1.06000000 4.46500000 1.13500000 ; + RECT 4.25000000 1.13500000 4.39000000 1.78000000 ; + RECT 4.17500000 1.78000000 4.46500000 2.07000000 ; + RECT 1.85000000 1.06000000 1.99000000 2.19500000 ; + RECT 1.77500000 2.19500000 2.06500000 2.48500000 ; + RECT 4.65500000 0.44000000 4.94500000 0.73000000 ; + RECT 4.73000000 0.73000000 4.87000000 2.19500000 ; + RECT 4.65500000 2.19500000 4.94500000 2.48500000 ; + RECT 0.57500000 2.78000000 0.86500000 3.09000000 ; + RECT 3.21500000 2.78000000 3.50500000 3.09000000 ; + RECT 0.00000000 3.09000000 5.76000000 3.57000000 ; + + END END AND2X2
diff --git a/cells/lef/orig/AOI21X1.lef b/cells/lef/orig/AOI21X1.lef index 829b58c..7413bac 100644 --- a/cells/lef/orig/AOI21X1.lef +++ b/cells/lef/orig/AOI21X1.lef
@@ -1,27 +1,28 @@ MACRO AOI21X1 CLASS CORE ; FOREIGN AOI21X1 0 0 ; + SIZE 5.76 BY 3.33 ; ORIGIN 0 0 ; SYMMETRY X Y R90 ; - SITE CORE ; + SITE unit ; PIN VDD DIRECTION INOUT ; - USE SIGNAL ; + USE POWER ; SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; + LAYER met1 ; RECT 0.00000000 3.09000000 5.76000000 3.57000000 ; END END VDD PIN GND DIRECTION INOUT ; - USE SIGNAL ; + USE POWER ; SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; + LAYER met1 ; RECT 0.00000000 -0.24000000 5.76000000 0.24000000 ; END END GND @@ -32,14 +33,14 @@ SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; - RECT 0.81500000 0.39500000 1.10500000 0.47000000 ; - RECT 4.65500000 0.39500000 4.94500000 0.47000000 ; - RECT 0.81500000 0.47000000 4.94500000 0.61000000 ; - RECT 0.81500000 0.61000000 1.10500000 0.68500000 ; - RECT 4.65500000 0.61000000 4.94500000 0.68500000 ; - RECT 0.89000000 0.68500000 1.03000000 2.15000000 ; - RECT 0.81500000 2.15000000 1.10500000 2.44000000 ; + LAYER met1 ; + RECT 0.81500000 0.44000000 1.10500000 0.51500000 ; + RECT 4.65500000 0.44000000 4.94500000 0.51500000 ; + RECT 0.81500000 0.51500000 4.94500000 0.65500000 ; + RECT 0.81500000 0.65500000 1.10500000 0.73000000 ; + RECT 4.65500000 0.65500000 4.94500000 0.73000000 ; + RECT 0.89000000 0.73000000 1.03000000 2.19500000 ; + RECT 0.81500000 2.19500000 1.10500000 2.48500000 ; END END Y @@ -49,38 +50,116 @@ SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; - RECT 4.17500000 0.80000000 4.46500000 1.09000000 ; - RECT 4.25000000 1.09000000 4.39000000 1.74500000 ; - RECT 4.17500000 1.74500000 4.46500000 2.03500000 ; + LAYER met1 ; + RECT 4.17500000 0.84500000 4.46500000 1.13500000 ; + RECT 4.25000000 1.13500000 4.39000000 1.78000000 ; + RECT 4.17500000 1.78000000 4.46500000 2.07000000 ; END END B - PIN A - DIRECTION INOUT ; - USE SIGNAL ; - SHAPE ABUTMENT ; - PORT - CLASS CORE ; - LAYER metal2 ; - RECT 2.73500000 0.80000000 3.02500000 1.09000000 ; - RECT 2.81000000 1.09000000 2.95000000 1.74500000 ; - RECT 2.73500000 1.74500000 3.02500000 2.03500000 ; - END - END A - PIN C DIRECTION INOUT ; USE SIGNAL ; SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; - RECT 1.29500000 0.80000000 1.58500000 1.09000000 ; - RECT 1.37000000 1.09000000 1.51000000 1.74500000 ; - RECT 1.29500000 1.74500000 1.58500000 2.03500000 ; + LAYER met1 ; + RECT 1.29500000 0.84500000 1.58500000 1.13500000 ; + RECT 1.37000000 1.13500000 1.51000000 1.78000000 ; + RECT 1.29500000 1.78000000 1.58500000 2.07000000 ; END END C + PIN A + DIRECTION INOUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + CLASS CORE ; + LAYER met1 ; + RECT 2.73500000 0.84500000 3.02500000 1.13500000 ; + RECT 2.81000000 1.13500000 2.95000000 1.78000000 ; + RECT 2.73500000 1.78000000 3.02500000 2.07000000 ; + END + END A + OBS + LAYER polycont ; + RECT 1.35500000 0.90500000 1.52500000 1.07500000 ; + RECT 2.79500000 0.90500000 2.96500000 1.07500000 ; + RECT 4.23500000 0.90500000 4.40500000 1.07500000 ; + RECT 1.35500000 1.84000000 1.52500000 2.01000000 ; + RECT 2.79500000 1.84000000 2.96500000 2.01000000 ; + RECT 4.23500000 1.84000000 4.40500000 2.01000000 ; + + LAYER pdiffc ; + RECT 0.87500000 2.25500000 1.04500000 2.42500000 ; + RECT 2.31500000 2.25500000 2.48500000 2.42500000 ; + RECT 4.71500000 2.25500000 4.88500000 2.42500000 ; + RECT 3.27500000 2.84000000 3.44500000 3.01000000 ; + + LAYER ndiffc ; + RECT 1.83500000 0.32000000 2.00500000 0.49000000 ; + RECT 0.87500000 0.50000000 1.04500000 0.67000000 ; + RECT 4.71500000 0.50000000 4.88500000 0.67000000 ; + + LAYER li1 ; + RECT 1.83500000 0.09500000 2.00500000 0.24000000 ; + RECT 1.75500000 0.24000000 2.08500000 0.57000000 ; + RECT 0.79500000 0.42000000 1.12500000 0.75000000 ; + RECT 4.63500000 0.42000000 4.96500000 0.75000000 ; + RECT 1.27500000 0.82500000 1.60500000 1.15500000 ; + RECT 2.71500000 0.82500000 3.04500000 1.15500000 ; + RECT 4.15500000 0.82500000 4.48500000 1.15500000 ; + RECT 1.27500000 1.76000000 1.60500000 2.09000000 ; + RECT 2.71500000 1.76000000 3.04500000 2.09000000 ; + RECT 4.15500000 1.76000000 4.48500000 2.09000000 ; + RECT 0.79500000 2.17500000 1.12500000 2.50500000 ; + RECT 2.23500000 2.17500000 2.56500000 2.50500000 ; + RECT 4.63500000 2.17500000 4.96500000 2.50500000 ; + RECT 3.19500000 2.76000000 3.52500000 3.09000000 ; + + LAYER viali ; + RECT 1.83500000 0.09500000 2.00500000 0.26500000 ; + RECT 0.87500000 0.50000000 1.04500000 0.67000000 ; + RECT 4.71500000 0.50000000 4.88500000 0.67000000 ; + RECT 1.35500000 0.90500000 1.52500000 1.07500000 ; + RECT 2.79500000 0.90500000 2.96500000 1.07500000 ; + RECT 4.23500000 0.90500000 4.40500000 1.07500000 ; + RECT 1.35500000 1.84000000 1.52500000 2.01000000 ; + RECT 2.79500000 1.84000000 2.96500000 2.01000000 ; + RECT 4.23500000 1.84000000 4.40500000 2.01000000 ; + RECT 0.87500000 2.25500000 1.04500000 2.42500000 ; + RECT 2.31500000 2.25500000 2.48500000 2.42500000 ; + RECT 4.71500000 2.25500000 4.88500000 2.42500000 ; + RECT 3.27500000 2.84000000 3.44500000 3.01000000 ; + + LAYER met1 ; + RECT 0.00000000 -0.24000000 5.76000000 0.24000000 ; + RECT 1.77500000 0.24000000 2.06500000 0.32500000 ; + RECT 1.29500000 0.84500000 1.58500000 1.13500000 ; + RECT 1.37000000 1.13500000 1.51000000 1.78000000 ; + RECT 1.29500000 1.78000000 1.58500000 2.07000000 ; + RECT 2.73500000 0.84500000 3.02500000 1.13500000 ; + RECT 2.81000000 1.13500000 2.95000000 1.78000000 ; + RECT 2.73500000 1.78000000 3.02500000 2.07000000 ; + RECT 4.17500000 0.84500000 4.46500000 1.13500000 ; + RECT 4.25000000 1.13500000 4.39000000 1.78000000 ; + RECT 4.17500000 1.78000000 4.46500000 2.07000000 ; + RECT 0.81500000 0.44000000 1.10500000 0.51500000 ; + RECT 4.65500000 0.44000000 4.94500000 0.51500000 ; + RECT 0.81500000 0.51500000 4.94500000 0.65500000 ; + RECT 0.81500000 0.65500000 1.10500000 0.73000000 ; + RECT 4.65500000 0.65500000 4.94500000 0.73000000 ; + RECT 0.89000000 0.73000000 1.03000000 2.19500000 ; + RECT 0.81500000 2.19500000 1.10500000 2.48500000 ; + RECT 2.25500000 2.19500000 2.54500000 2.27000000 ; + RECT 4.65500000 2.19500000 4.94500000 2.27000000 ; + RECT 2.25500000 2.27000000 4.94500000 2.41000000 ; + RECT 2.25500000 2.41000000 2.54500000 2.48500000 ; + RECT 4.65500000 2.41000000 4.94500000 2.48500000 ; + RECT 3.21500000 2.78000000 3.50500000 3.09000000 ; + RECT 0.00000000 3.09000000 5.76000000 3.57000000 ; + + END END AOI21X1
diff --git a/cells/lef/orig/AOI22X1.lef b/cells/lef/orig/AOI22X1.lef index d3e5da7..82d8878 100644 --- a/cells/lef/orig/AOI22X1.lef +++ b/cells/lef/orig/AOI22X1.lef
@@ -1,27 +1,28 @@ MACRO AOI22X1 CLASS CORE ; FOREIGN AOI22X1 0 0 ; + SIZE 7.2 BY 3.33 ; ORIGIN 0 0 ; SYMMETRY X Y R90 ; - SITE CORE ; + SITE unit ; PIN VDD DIRECTION INOUT ; - USE SIGNAL ; + USE POWER ; SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; + LAYER met1 ; RECT 0.00000000 3.09000000 7.20000000 3.57000000 ; END END VDD PIN GND DIRECTION INOUT ; - USE SIGNAL ; + USE POWER ; SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; + LAYER met1 ; RECT 0.00000000 -0.24000000 7.20000000 0.24000000 ; END END GND @@ -32,68 +33,170 @@ SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; - RECT 0.81500000 0.39500000 1.10500000 0.47000000 ; - RECT 6.09500000 0.39500000 6.38500000 0.47000000 ; - RECT 0.81500000 0.47000000 6.38500000 0.61000000 ; - RECT 0.81500000 0.61000000 1.10500000 0.68500000 ; - RECT 6.09500000 0.61000000 6.38500000 0.68500000 ; - RECT 4.73000000 0.61000000 4.87000000 2.15000000 ; - RECT 4.65500000 2.15000000 4.94500000 2.44000000 ; + LAYER met1 ; + RECT 0.81500000 0.44000000 1.10500000 0.51500000 ; + RECT 6.09500000 0.44000000 6.38500000 0.51500000 ; + RECT 0.81500000 0.51500000 6.38500000 0.65500000 ; + RECT 0.81500000 0.65500000 1.10500000 0.73000000 ; + RECT 6.09500000 0.65500000 6.38500000 0.73000000 ; + RECT 5.13500000 2.19500000 5.42500000 2.27000000 ; + RECT 6.17000000 0.73000000 6.31000000 2.27000000 ; + RECT 5.13500000 2.27000000 6.31000000 2.41000000 ; + RECT 5.13500000 2.41000000 5.42500000 2.48500000 ; END END Y - PIN B - DIRECTION INOUT ; - USE SIGNAL ; - SHAPE ABUTMENT ; - PORT - CLASS CORE ; - LAYER metal2 ; - RECT 1.29500000 0.80000000 1.58500000 1.09000000 ; - RECT 1.37000000 1.09000000 1.51000000 1.74500000 ; - RECT 1.29500000 1.74500000 1.58500000 2.03500000 ; - END - END B - - PIN A - DIRECTION INOUT ; - USE SIGNAL ; - SHAPE ABUTMENT ; - PORT - CLASS CORE ; - LAYER metal2 ; - RECT 2.73500000 0.80000000 3.02500000 1.09000000 ; - RECT 2.81000000 1.09000000 2.95000000 1.74500000 ; - RECT 2.73500000 1.74500000 3.02500000 2.03500000 ; - END - END A - - PIN C - DIRECTION INOUT ; - USE SIGNAL ; - SHAPE ABUTMENT ; - PORT - CLASS CORE ; - LAYER metal2 ; - RECT 4.17500000 0.80000000 4.46500000 1.09000000 ; - RECT 4.25000000 1.09000000 4.39000000 1.74500000 ; - RECT 4.17500000 1.74500000 4.46500000 2.03500000 ; - END - END C - PIN D DIRECTION INOUT ; USE SIGNAL ; SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; - RECT 5.61500000 0.80000000 5.90500000 1.09000000 ; - RECT 5.69000000 1.09000000 5.83000000 1.74500000 ; - RECT 5.61500000 1.74500000 5.90500000 2.03500000 ; + LAYER met1 ; + RECT 5.61500000 0.84500000 5.90500000 1.13500000 ; + RECT 5.69000000 1.13500000 5.83000000 1.78000000 ; + RECT 5.61500000 1.78000000 5.90500000 2.07000000 ; END END D + PIN C + DIRECTION INOUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + CLASS CORE ; + LAYER met1 ; + RECT 4.17500000 0.84500000 4.46500000 1.13500000 ; + RECT 4.25000000 1.13500000 4.39000000 1.78000000 ; + RECT 4.17500000 1.78000000 4.46500000 2.07000000 ; + END + END C + PIN A + DIRECTION INOUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + CLASS CORE ; + LAYER met1 ; + RECT 2.73500000 0.84500000 3.02500000 1.13500000 ; + RECT 2.81000000 1.13500000 2.95000000 1.78000000 ; + RECT 2.73500000 1.78000000 3.02500000 2.07000000 ; + END + END A + + PIN B + DIRECTION INOUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + CLASS CORE ; + LAYER met1 ; + RECT 1.29500000 0.84500000 1.58500000 1.13500000 ; + RECT 1.37000000 1.13500000 1.51000000 1.78000000 ; + RECT 1.29500000 1.78000000 1.58500000 2.07000000 ; + END + END B + + OBS + LAYER polycont ; + RECT 1.35500000 0.90500000 1.52500000 1.07500000 ; + RECT 2.79500000 0.90500000 2.96500000 1.07500000 ; + RECT 4.23500000 0.90500000 4.40500000 1.07500000 ; + RECT 5.67500000 0.90500000 5.84500000 1.07500000 ; + RECT 1.35500000 1.84000000 1.52500000 2.01000000 ; + RECT 2.79500000 1.84000000 2.96500000 2.01000000 ; + RECT 4.23500000 1.84000000 4.40500000 2.01000000 ; + RECT 5.67500000 1.84000000 5.84500000 2.01000000 ; + + LAYER pdiffc ; + RECT 0.87500000 2.25500000 1.04500000 2.42500000 ; + RECT 3.27500000 2.25500000 3.44500000 2.42500000 ; + RECT 5.19500000 2.25500000 5.36500000 2.42500000 ; + RECT 3.75500000 2.66000000 3.92500000 2.83000000 ; + RECT 6.15500000 2.66000000 6.32500000 2.83000000 ; + RECT 1.83500000 2.84000000 2.00500000 3.01000000 ; + + LAYER ndiffc ; + RECT 3.27500000 0.32000000 3.44500000 0.49000000 ; + RECT 0.87500000 0.50000000 1.04500000 0.67000000 ; + RECT 6.15500000 0.50000000 6.32500000 0.67000000 ; + + LAYER li1 ; + RECT 3.27500000 0.09500000 3.44500000 0.24000000 ; + RECT 3.19500000 0.24000000 3.52500000 0.57000000 ; + RECT 0.79500000 0.42000000 1.12500000 0.75000000 ; + RECT 6.07500000 0.42000000 6.40500000 0.75000000 ; + RECT 1.27500000 0.82500000 1.60500000 1.15500000 ; + RECT 2.71500000 0.82500000 3.04500000 1.15500000 ; + RECT 4.15500000 0.82500000 4.48500000 1.15500000 ; + RECT 5.59500000 0.82500000 5.92500000 1.15500000 ; + RECT 1.27500000 1.76000000 1.60500000 2.09000000 ; + RECT 2.71500000 1.76000000 3.04500000 2.09000000 ; + RECT 4.15500000 1.76000000 4.48500000 2.09000000 ; + RECT 5.59500000 1.76000000 5.92500000 2.09000000 ; + RECT 0.79500000 2.17500000 1.12500000 2.50500000 ; + RECT 3.19500000 2.17500000 3.52500000 2.50500000 ; + RECT 5.11500000 2.17500000 5.44500000 2.50500000 ; + RECT 3.67500000 2.58000000 4.00500000 2.91000000 ; + RECT 6.07500000 2.58000000 6.40500000 2.91000000 ; + RECT 1.75500000 2.76000000 2.08500000 3.09000000 ; + + LAYER viali ; + RECT 3.27500000 0.09500000 3.44500000 0.26500000 ; + RECT 0.87500000 0.50000000 1.04500000 0.67000000 ; + RECT 6.15500000 0.50000000 6.32500000 0.67000000 ; + RECT 1.35500000 0.90500000 1.52500000 1.07500000 ; + RECT 2.79500000 0.90500000 2.96500000 1.07500000 ; + RECT 4.23500000 0.90500000 4.40500000 1.07500000 ; + RECT 5.67500000 0.90500000 5.84500000 1.07500000 ; + RECT 1.35500000 1.84000000 1.52500000 2.01000000 ; + RECT 2.79500000 1.84000000 2.96500000 2.01000000 ; + RECT 4.23500000 1.84000000 4.40500000 2.01000000 ; + RECT 5.67500000 1.84000000 5.84500000 2.01000000 ; + RECT 0.87500000 2.25500000 1.04500000 2.42500000 ; + RECT 3.27500000 2.25500000 3.44500000 2.42500000 ; + RECT 5.19500000 2.25500000 5.36500000 2.42500000 ; + RECT 3.75500000 2.66000000 3.92500000 2.83000000 ; + RECT 6.15500000 2.66000000 6.32500000 2.83000000 ; + RECT 1.83500000 2.84000000 2.00500000 3.01000000 ; + + LAYER met1 ; + RECT 0.00000000 -0.24000000 7.20000000 0.24000000 ; + RECT 3.21500000 0.24000000 3.50500000 0.32500000 ; + RECT 1.29500000 0.84500000 1.58500000 1.13500000 ; + RECT 1.37000000 1.13500000 1.51000000 1.78000000 ; + RECT 1.29500000 1.78000000 1.58500000 2.07000000 ; + RECT 2.73500000 0.84500000 3.02500000 1.13500000 ; + RECT 2.81000000 1.13500000 2.95000000 1.78000000 ; + RECT 2.73500000 1.78000000 3.02500000 2.07000000 ; + RECT 4.17500000 0.84500000 4.46500000 1.13500000 ; + RECT 4.25000000 1.13500000 4.39000000 1.78000000 ; + RECT 4.17500000 1.78000000 4.46500000 2.07000000 ; + RECT 5.61500000 0.84500000 5.90500000 1.13500000 ; + RECT 5.69000000 1.13500000 5.83000000 1.78000000 ; + RECT 5.61500000 1.78000000 5.90500000 2.07000000 ; + RECT 0.81500000 2.19500000 1.10500000 2.27000000 ; + RECT 3.21500000 2.19500000 3.50500000 2.27000000 ; + RECT 0.81500000 2.27000000 3.50500000 2.41000000 ; + RECT 0.81500000 2.41000000 1.10500000 2.48500000 ; + RECT 3.21500000 2.41000000 3.50500000 2.48500000 ; + RECT 0.81500000 0.44000000 1.10500000 0.51500000 ; + RECT 6.09500000 0.44000000 6.38500000 0.51500000 ; + RECT 0.81500000 0.51500000 6.38500000 0.65500000 ; + RECT 0.81500000 0.65500000 1.10500000 0.73000000 ; + RECT 6.09500000 0.65500000 6.38500000 0.73000000 ; + RECT 5.13500000 2.19500000 5.42500000 2.27000000 ; + RECT 6.17000000 0.73000000 6.31000000 2.27000000 ; + RECT 5.13500000 2.27000000 6.31000000 2.41000000 ; + RECT 5.13500000 2.41000000 5.42500000 2.48500000 ; + RECT 3.69500000 2.60000000 3.98500000 2.67500000 ; + RECT 6.09500000 2.60000000 6.38500000 2.67500000 ; + RECT 3.69500000 2.67500000 6.38500000 2.81500000 ; + RECT 3.69500000 2.81500000 3.98500000 2.89000000 ; + RECT 6.09500000 2.81500000 6.38500000 2.89000000 ; + RECT 1.77500000 2.78000000 2.06500000 3.09000000 ; + RECT 0.00000000 3.09000000 7.20000000 3.57000000 ; + + END END AOI22X1
diff --git a/cells/lef/orig/BUFX2.lef b/cells/lef/orig/BUFX2.lef index 1be3adb..f963851 100644 --- a/cells/lef/orig/BUFX2.lef +++ b/cells/lef/orig/BUFX2.lef
@@ -1,27 +1,28 @@ MACRO BUFX2 CLASS CORE ; FOREIGN BUFX2 0 0 ; + SIZE 4.32 BY 3.33 ; ORIGIN 0 0 ; SYMMETRY X Y R90 ; - SITE CORE ; + SITE unit ; PIN VDD DIRECTION INOUT ; - USE SIGNAL ; + USE POWER ; SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; + LAYER met1 ; RECT 0.00000000 3.09000000 4.32000000 3.57000000 ; END END VDD PIN GND DIRECTION INOUT ; - USE SIGNAL ; + USE POWER ; SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; + LAYER met1 ; RECT 0.00000000 -0.24000000 4.32000000 0.24000000 ; END END GND @@ -32,10 +33,10 @@ SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; - RECT 3.21500000 0.39500000 3.50500000 0.68500000 ; - RECT 3.29000000 0.68500000 3.43000000 2.15000000 ; - RECT 3.21500000 2.15000000 3.50500000 2.44000000 ; + LAYER met1 ; + RECT 3.21500000 0.44000000 3.50500000 0.73000000 ; + RECT 3.29000000 0.73000000 3.43000000 2.19500000 ; + RECT 3.21500000 2.19500000 3.50500000 2.48500000 ; END END Y @@ -45,12 +46,70 @@ SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; - RECT 1.29500000 0.80000000 1.58500000 1.09000000 ; - RECT 1.37000000 1.09000000 1.51000000 1.34000000 ; - RECT 1.29500000 1.34000000 1.58500000 1.63000000 ; + LAYER met1 ; + RECT 1.29500000 1.78000000 1.58500000 2.07000000 ; END END A + OBS + LAYER polycont ; + RECT 1.35500000 0.90500000 1.52500000 1.07500000 ; + RECT 2.79500000 0.90500000 2.96500000 1.07500000 ; + RECT 1.35500000 1.84000000 1.52500000 2.01000000 ; + RECT 2.79500000 1.84000000 2.96500000 2.01000000 ; + LAYER pdiffc ; + RECT 0.63500000 2.25500000 0.80500000 2.42500000 ; + RECT 3.27500000 2.25500000 3.44500000 2.42500000 ; + RECT 1.83500000 2.84000000 2.00500000 3.01000000 ; + + LAYER ndiffc ; + RECT 1.83500000 0.32000000 2.00500000 0.49000000 ; + RECT 0.63500000 0.50000000 0.80500000 0.67000000 ; + RECT 3.27500000 0.50000000 3.44500000 0.67000000 ; + + LAYER li1 ; + RECT 1.75500000 0.24000000 2.08500000 0.57000000 ; + RECT 0.55500000 0.42000000 0.88500000 0.75000000 ; + RECT 3.19500000 0.42000000 3.52500000 0.75000000 ; + RECT 2.71500000 0.82500000 3.04500000 1.15500000 ; + RECT 1.27500000 0.82500000 1.60500000 1.15500000 ; + RECT 1.35500000 1.15500000 1.52500000 1.76000000 ; + RECT 1.27500000 1.76000000 1.60500000 2.09000000 ; + RECT 2.71500000 1.76000000 3.04500000 2.09000000 ; + RECT 0.55500000 2.17500000 0.88500000 2.50500000 ; + RECT 3.19500000 2.17500000 3.52500000 2.50500000 ; + RECT 1.75500000 2.76000000 2.08500000 3.09000000 ; + + LAYER viali ; + RECT 1.83500000 0.32000000 2.00500000 0.49000000 ; + RECT 0.63500000 0.50000000 0.80500000 0.67000000 ; + RECT 3.27500000 0.50000000 3.44500000 0.67000000 ; + RECT 2.79500000 0.90500000 2.96500000 1.07500000 ; + RECT 1.35500000 1.84000000 1.52500000 2.01000000 ; + RECT 2.79500000 1.84000000 2.96500000 2.01000000 ; + RECT 0.63500000 2.25500000 0.80500000 2.42500000 ; + RECT 3.27500000 2.25500000 3.44500000 2.42500000 ; + RECT 1.83500000 2.84000000 2.00500000 3.01000000 ; + + LAYER met1 ; + RECT 0.00000000 -0.24000000 4.32000000 0.24000000 ; + RECT 1.77500000 0.24000000 2.06500000 0.55000000 ; + RECT 1.29500000 1.78000000 1.58500000 2.07000000 ; + RECT 0.57500000 0.44000000 0.86500000 0.73000000 ; + RECT 0.65000000 0.73000000 0.79000000 0.92000000 ; + RECT 2.73500000 0.84500000 3.02500000 0.92000000 ; + RECT 0.65000000 0.92000000 3.02500000 1.06000000 ; + RECT 2.73500000 1.06000000 3.02500000 1.13500000 ; + RECT 2.81000000 1.13500000 2.95000000 1.78000000 ; + RECT 2.73500000 1.78000000 3.02500000 2.07000000 ; + RECT 0.65000000 1.06000000 0.79000000 2.19500000 ; + RECT 0.57500000 2.19500000 0.86500000 2.48500000 ; + RECT 3.21500000 0.44000000 3.50500000 0.73000000 ; + RECT 3.29000000 0.73000000 3.43000000 2.19500000 ; + RECT 3.21500000 2.19500000 3.50500000 2.48500000 ; + RECT 1.77500000 2.78000000 2.06500000 3.09000000 ; + RECT 0.00000000 3.09000000 4.32000000 3.57000000 ; + + END END BUFX2
diff --git a/cells/lef/orig/HAX1.lef b/cells/lef/orig/HAX1.lef index b2ba2c1..2915ba7 100644 --- a/cells/lef/orig/HAX1.lef +++ b/cells/lef/orig/HAX1.lef
@@ -1,69 +1,57 @@ MACRO HAX1 CLASS CORE ; FOREIGN HAX1 0 0 ; + SIZE 15.84 BY 3.33 ; ORIGIN 0 0 ; SYMMETRY X Y R90 ; - SITE CORE ; + SITE unit ; PIN VDD DIRECTION INOUT ; - USE SIGNAL ; + USE POWER ; SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; + LAYER met1 ; RECT 0.00000000 3.09000000 15.84000000 3.57000000 ; END END VDD PIN GND DIRECTION INOUT ; - USE SIGNAL ; + USE POWER ; SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; + LAYER met1 ; RECT 0.00000000 -0.24000000 15.84000000 0.24000000 ; END END GND - PIN YS - DIRECTION INOUT ; - USE SIGNAL ; - SHAPE ABUTMENT ; - PORT - CLASS CORE ; - LAYER metal2 ; - RECT 14.73500000 0.39500000 15.02500000 0.68500000 ; - RECT 14.81000000 0.68500000 14.95000000 2.15000000 ; - RECT 14.73500000 2.15000000 15.02500000 2.44000000 ; - END - END YS - PIN YC DIRECTION INOUT ; USE SIGNAL ; SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; - RECT 0.57500000 0.39500000 0.86500000 0.68500000 ; - RECT 0.65000000 0.68500000 0.79000000 2.15000000 ; - RECT 0.57500000 2.15000000 0.86500000 2.44000000 ; + LAYER met1 ; + RECT 0.57500000 0.44000000 0.86500000 0.73000000 ; + RECT 0.65000000 0.73000000 0.79000000 2.19500000 ; + RECT 0.57500000 2.19500000 0.86500000 2.48500000 ; END END YC - PIN A + PIN YS DIRECTION INOUT ; USE SIGNAL ; SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; - RECT 5.61500000 0.80000000 5.90500000 1.09000000 ; - RECT 5.69000000 1.09000000 5.83000000 1.74500000 ; - RECT 5.61500000 1.74500000 5.90500000 2.03500000 ; + LAYER met1 ; + RECT 14.73500000 0.44000000 15.02500000 0.73000000 ; + RECT 14.81000000 0.73000000 14.95000000 2.19500000 ; + RECT 14.73500000 2.19500000 15.02500000 2.48500000 ; END - END A + END YS PIN B DIRECTION INOUT ; @@ -71,18 +59,221 @@ SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; - RECT 4.25000000 0.47000000 10.15000000 0.61000000 ; - RECT 4.25000000 0.61000000 4.39000000 0.80000000 ; - RECT 10.01000000 0.61000000 10.15000000 0.80000000 ; - RECT 4.17500000 0.80000000 4.46500000 1.09000000 ; - RECT 9.93500000 0.80000000 10.22500000 1.09000000 ; - RECT 4.25000000 1.09000000 4.39000000 1.74500000 ; - RECT 10.01000000 1.09000000 10.15000000 1.74500000 ; - RECT 4.17500000 1.74500000 4.46500000 2.03500000 ; - RECT 9.93500000 1.74500000 10.22500000 2.03500000 ; + LAYER met1 ; + RECT 4.25000000 0.51500000 6.31000000 0.65500000 ; + RECT 4.25000000 0.65500000 4.39000000 0.84500000 ; + RECT 6.17000000 0.65500000 6.31000000 0.92000000 ; + RECT 9.93500000 0.84500000 10.22500000 0.92000000 ; + RECT 6.17000000 0.92000000 10.22500000 1.06000000 ; + RECT 4.17500000 0.84500000 4.46500000 1.13500000 ; + RECT 9.93500000 1.06000000 10.22500000 1.13500000 ; + RECT 4.25000000 1.13500000 4.39000000 1.78000000 ; + RECT 4.17500000 1.78000000 4.46500000 2.07000000 ; END END B + PIN A + DIRECTION INOUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + CLASS CORE ; + LAYER met1 ; + RECT 5.61500000 0.84500000 5.90500000 1.13500000 ; + RECT 11.37500000 0.84500000 11.66500000 1.13500000 ; + RECT 5.69000000 1.13500000 5.83000000 1.32500000 ; + RECT 11.45000000 1.13500000 11.59000000 1.32500000 ; + RECT 5.69000000 1.32500000 11.59000000 1.46500000 ; + RECT 5.69000000 1.46500000 5.83000000 1.78000000 ; + RECT 11.45000000 1.46500000 11.59000000 1.78000000 ; + RECT 5.61500000 1.78000000 5.90500000 2.07000000 ; + RECT 11.37500000 1.78000000 11.66500000 2.07000000 ; + END + END A + OBS + LAYER polycont ; + RECT 1.35500000 0.90500000 1.52500000 1.07500000 ; + RECT 4.23500000 0.90500000 4.40500000 1.07500000 ; + RECT 5.67500000 0.90500000 5.84500000 1.07500000 ; + RECT 8.55500000 0.90500000 8.72500000 1.07500000 ; + RECT 9.99500000 0.90500000 10.16500000 1.07500000 ; + RECT 11.43500000 0.90500000 11.60500000 1.07500000 ; + RECT 14.31500000 0.90500000 14.48500000 1.07500000 ; + RECT 1.35500000 1.84000000 1.52500000 2.01000000 ; + RECT 4.23500000 1.84000000 4.40500000 2.01000000 ; + RECT 5.67500000 1.84000000 5.84500000 2.01000000 ; + RECT 8.55500000 1.84000000 8.72500000 2.01000000 ; + RECT 9.99500000 1.84000000 10.16500000 2.01000000 ; + RECT 11.43500000 1.84000000 11.60500000 2.01000000 ; + RECT 14.31500000 1.84000000 14.48500000 2.01000000 ; + + LAYER pdiffc ; + RECT 0.63500000 2.25500000 0.80500000 2.42500000 ; + RECT 3.51500000 2.25500000 3.68500000 2.42500000 ; + RECT 6.15500000 2.25500000 6.32500000 2.42500000 ; + RECT 9.51500000 2.25500000 9.68500000 2.42500000 ; + RECT 14.79500000 2.25500000 14.96500000 2.42500000 ; + RECT 1.83500000 2.84000000 2.00500000 3.01000000 ; + RECT 4.71500000 2.84000000 4.88500000 3.01000000 ; + RECT 7.83500000 2.84000000 8.00500000 3.01000000 ; + RECT 11.91500000 2.84000000 12.08500000 3.01000000 ; + RECT 13.59500000 2.84000000 13.76500000 3.01000000 ; + + LAYER ndiffc ; + RECT 1.83500000 0.32000000 2.00500000 0.49000000 ; + RECT 6.15500000 0.32000000 6.32500000 0.49000000 ; + RECT 7.83500000 0.32000000 8.00500000 0.49000000 ; + RECT 13.59500000 0.32000000 13.76500000 0.49000000 ; + RECT 0.63500000 0.50000000 0.80500000 0.67000000 ; + RECT 3.51500000 0.50000000 3.68500000 0.67000000 ; + RECT 9.51500000 0.50000000 9.68500000 0.67000000 ; + RECT 10.47500000 0.50000000 10.64500000 0.67000000 ; + RECT 11.91500000 0.50000000 12.08500000 0.67000000 ; + RECT 14.79500000 0.50000000 14.96500000 0.67000000 ; + + LAYER li1 ; + RECT 1.75500000 0.24000000 2.08500000 0.57000000 ; + RECT 6.15500000 0.09500000 6.32500000 0.24000000 ; + RECT 6.07500000 0.24000000 6.40500000 0.57000000 ; + RECT 7.83500000 0.09500000 8.00500000 0.24000000 ; + RECT 7.75500000 0.24000000 8.08500000 0.57000000 ; + RECT 13.51500000 0.24000000 13.84500000 0.57000000 ; + RECT 0.55500000 0.42000000 0.88500000 0.75000000 ; + RECT 3.43500000 0.42000000 3.76500000 0.75000000 ; + RECT 9.43500000 0.42000000 9.76500000 0.75000000 ; + RECT 11.83500000 0.42000000 12.16500000 0.75000000 ; + RECT 14.71500000 0.42000000 15.04500000 0.75000000 ; + RECT 1.27500000 0.82500000 1.60500000 1.15500000 ; + RECT 4.15500000 0.82500000 4.48500000 1.15500000 ; + RECT 5.59500000 0.82500000 5.92500000 1.15500000 ; + RECT 11.35500000 0.82500000 11.68500000 1.15500000 ; + RECT 14.23500000 0.82500000 14.56500000 1.15500000 ; + RECT 10.39500000 0.42000000 10.72500000 0.75000000 ; + RECT 10.47500000 0.75000000 10.64500000 1.88500000 ; + RECT 1.27500000 1.76000000 1.60500000 2.09000000 ; + RECT 4.15500000 1.76000000 4.48500000 2.09000000 ; + RECT 5.59500000 1.76000000 5.92500000 2.09000000 ; + RECT 8.47500000 0.82500000 8.80500000 1.15500000 ; + RECT 8.55500000 1.15500000 8.72500000 1.76000000 ; + RECT 8.47500000 1.76000000 8.80500000 2.09000000 ; + RECT 9.91500000 0.82500000 10.24500000 1.15500000 ; + RECT 9.99500000 1.15500000 10.16500000 1.76000000 ; + RECT 9.91500000 1.76000000 10.24500000 2.09000000 ; + RECT 11.35500000 1.76000000 11.68500000 2.09000000 ; + RECT 14.23500000 1.76000000 14.56500000 2.09000000 ; + RECT 0.55500000 2.17500000 0.88500000 2.50500000 ; + RECT 3.43500000 2.17500000 3.76500000 2.50500000 ; + RECT 6.07500000 2.17500000 6.40500000 2.50500000 ; + RECT 9.43500000 2.17500000 9.76500000 2.50500000 ; + RECT 14.71500000 2.17500000 15.04500000 2.50500000 ; + RECT 1.75500000 2.76000000 2.08500000 3.09000000 ; + RECT 4.63500000 2.76000000 4.96500000 3.09000000 ; + RECT 7.75500000 2.76000000 8.08500000 3.09000000 ; + RECT 11.83500000 2.76000000 12.16500000 3.09000000 ; + RECT 13.51500000 2.76000000 13.84500000 3.09000000 ; + + LAYER viali ; + RECT 6.15500000 0.09500000 6.32500000 0.26500000 ; + RECT 7.83500000 0.09500000 8.00500000 0.26500000 ; + RECT 1.83500000 0.32000000 2.00500000 0.49000000 ; + RECT 13.59500000 0.32000000 13.76500000 0.49000000 ; + RECT 0.63500000 0.50000000 0.80500000 0.67000000 ; + RECT 3.51500000 0.50000000 3.68500000 0.67000000 ; + RECT 9.51500000 0.50000000 9.68500000 0.67000000 ; + RECT 11.91500000 0.50000000 12.08500000 0.67000000 ; + RECT 14.79500000 0.50000000 14.96500000 0.67000000 ; + RECT 1.35500000 0.90500000 1.52500000 1.07500000 ; + RECT 4.23500000 0.90500000 4.40500000 1.07500000 ; + RECT 5.67500000 0.90500000 5.84500000 1.07500000 ; + RECT 9.99500000 0.90500000 10.16500000 1.07500000 ; + RECT 11.43500000 0.90500000 11.60500000 1.07500000 ; + RECT 14.31500000 0.90500000 14.48500000 1.07500000 ; + RECT 10.47500000 1.71500000 10.64500000 1.88500000 ; + RECT 1.35500000 1.84000000 1.52500000 2.01000000 ; + RECT 4.23500000 1.84000000 4.40500000 2.01000000 ; + RECT 5.67500000 1.84000000 5.84500000 2.01000000 ; + RECT 8.55500000 1.84000000 8.72500000 2.01000000 ; + RECT 9.99500000 1.71500000 10.16500000 2.01000000 ; + RECT 11.43500000 1.84000000 11.60500000 2.01000000 ; + RECT 14.31500000 1.84000000 14.48500000 2.01000000 ; + RECT 0.63500000 2.25500000 0.80500000 2.42500000 ; + RECT 3.51500000 2.25500000 3.68500000 2.42500000 ; + RECT 6.15500000 2.25500000 6.32500000 2.42500000 ; + RECT 9.51500000 2.25500000 9.68500000 2.42500000 ; + RECT 14.79500000 2.25500000 14.96500000 2.42500000 ; + RECT 1.83500000 2.84000000 2.00500000 3.01000000 ; + RECT 4.71500000 2.84000000 4.88500000 3.01000000 ; + RECT 7.83500000 2.84000000 8.00500000 3.01000000 ; + RECT 11.91500000 2.84000000 12.08500000 3.01000000 ; + RECT 13.59500000 2.84000000 13.76500000 3.01000000 ; + + LAYER met1 ; + RECT 0.00000000 -0.24000000 15.84000000 0.24000000 ; + RECT 6.09500000 0.24000000 6.38500000 0.32500000 ; + RECT 7.77500000 0.24000000 8.06500000 0.32500000 ; + RECT 1.77500000 0.24000000 2.06500000 0.55000000 ; + RECT 13.53500000 0.24000000 13.82500000 0.55000000 ; + RECT 9.45500000 0.44000000 9.74500000 0.51500000 ; + RECT 11.85500000 0.44000000 12.14500000 0.51500000 ; + RECT 9.45500000 0.51500000 12.14500000 0.65500000 ; + RECT 9.45500000 0.65500000 9.74500000 0.73000000 ; + RECT 11.85500000 0.65500000 12.14500000 0.73000000 ; + RECT 4.25000000 0.51500000 6.31000000 0.65500000 ; + RECT 4.25000000 0.65500000 4.39000000 0.84500000 ; + RECT 6.17000000 0.65500000 6.31000000 0.92000000 ; + RECT 9.93500000 0.84500000 10.22500000 0.92000000 ; + RECT 6.17000000 0.92000000 10.22500000 1.06000000 ; + RECT 4.17500000 0.84500000 4.46500000 1.13500000 ; + RECT 9.93500000 1.06000000 10.22500000 1.13500000 ; + RECT 4.25000000 1.13500000 4.39000000 1.78000000 ; + RECT 4.17500000 1.78000000 4.46500000 2.07000000 ; + RECT 9.93500000 1.65500000 10.22500000 2.07000000 ; + RECT 5.61500000 0.84500000 5.90500000 1.13500000 ; + RECT 11.37500000 0.84500000 11.66500000 1.13500000 ; + RECT 5.69000000 1.13500000 5.83000000 1.32500000 ; + RECT 11.45000000 1.13500000 11.59000000 1.32500000 ; + RECT 5.69000000 1.32500000 11.59000000 1.46500000 ; + RECT 5.69000000 1.46500000 5.83000000 1.78000000 ; + RECT 11.45000000 1.46500000 11.59000000 1.78000000 ; + RECT 5.61500000 1.78000000 5.90500000 2.07000000 ; + RECT 11.37500000 1.78000000 11.66500000 2.07000000 ; + RECT 0.57500000 0.44000000 0.86500000 0.73000000 ; + RECT 0.65000000 0.73000000 0.79000000 2.19500000 ; + RECT 0.57500000 2.19500000 0.86500000 2.48500000 ; + RECT 3.45500000 0.44000000 3.74500000 0.73000000 ; + RECT 1.29500000 0.84500000 1.58500000 1.13500000 ; + RECT 1.37000000 1.13500000 1.51000000 1.78000000 ; + RECT 1.29500000 1.78000000 1.58500000 1.85500000 ; + RECT 3.53000000 0.73000000 3.67000000 1.85500000 ; + RECT 1.29500000 1.85500000 3.67000000 1.99500000 ; + RECT 1.29500000 1.99500000 1.58500000 2.07000000 ; + RECT 8.49500000 1.78000000 8.78500000 2.07000000 ; + RECT 3.53000000 1.99500000 3.67000000 2.19500000 ; + RECT 3.45500000 2.19500000 3.74500000 2.27000000 ; + RECT 6.09500000 2.19500000 6.38500000 2.27000000 ; + RECT 8.57000000 2.07000000 8.71000000 2.27000000 ; + RECT 3.45500000 2.27000000 8.71000000 2.41000000 ; + RECT 3.45500000 2.41000000 3.74500000 2.48500000 ; + RECT 6.09500000 2.41000000 6.38500000 2.48500000 ; + RECT 14.25500000 0.84500000 14.54500000 1.13500000 ; + RECT 14.33000000 1.13500000 14.47000000 1.78000000 ; + RECT 10.41500000 1.65500000 10.70500000 1.94500000 ; + RECT 14.25500000 1.78000000 14.54500000 2.07000000 ; + RECT 9.45500000 2.19500000 9.74500000 2.27000000 ; + RECT 10.49000000 1.94500000 10.63000000 2.27000000 ; + RECT 14.33000000 2.07000000 14.47000000 2.27000000 ; + RECT 9.45500000 2.27000000 14.47000000 2.41000000 ; + RECT 9.45500000 2.41000000 9.74500000 2.48500000 ; + RECT 14.73500000 0.44000000 15.02500000 0.73000000 ; + RECT 14.81000000 0.73000000 14.95000000 2.19500000 ; + RECT 14.73500000 2.19500000 15.02500000 2.48500000 ; + RECT 1.77500000 2.78000000 2.06500000 3.09000000 ; + RECT 4.65500000 2.78000000 4.94500000 3.09000000 ; + RECT 7.77500000 2.78000000 8.06500000 3.09000000 ; + RECT 11.85500000 2.78000000 12.14500000 3.09000000 ; + RECT 13.53500000 2.78000000 13.82500000 3.09000000 ; + RECT 0.00000000 3.09000000 15.84000000 3.57000000 ; + + END END HAX1
diff --git a/cells/lef/orig/INV.lef b/cells/lef/orig/INV.lef index d1049fe..fe4bef9 100644 --- a/cells/lef/orig/INV.lef +++ b/cells/lef/orig/INV.lef
@@ -1,27 +1,28 @@ MACRO INV CLASS CORE ; FOREIGN INV 0 0 ; + SIZE 2.88 BY 3.33 ; ORIGIN 0 0 ; SYMMETRY X Y R90 ; - SITE CORE ; + SITE unit ; PIN VDD DIRECTION INOUT ; - USE SIGNAL ; + USE POWER ; SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; + LAYER met1 ; RECT 0.00000000 3.09000000 2.88000000 3.57000000 ; END END VDD PIN GND DIRECTION INOUT ; - USE SIGNAL ; + USE POWER ; SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; + LAYER met1 ; RECT 0.00000000 -0.24000000 2.88000000 0.24000000 ; END END GND @@ -32,10 +33,10 @@ SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; - RECT 0.57500000 0.39500000 0.86500000 0.68500000 ; - RECT 0.65000000 0.68500000 0.79000000 2.15000000 ; - RECT 0.57500000 2.15000000 0.86500000 2.44000000 ; + LAYER met1 ; + RECT 0.57500000 0.44000000 0.86500000 0.73000000 ; + RECT 0.65000000 0.73000000 0.79000000 2.19500000 ; + RECT 0.57500000 2.19500000 0.86500000 2.48500000 ; END END Y @@ -45,12 +46,53 @@ SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; - RECT 1.29500000 0.80000000 1.58500000 1.09000000 ; - RECT 1.37000000 1.09000000 1.51000000 1.74500000 ; - RECT 1.29500000 1.74500000 1.58500000 2.03500000 ; + LAYER met1 ; + RECT 1.29500000 0.84500000 1.58500000 1.13500000 ; + RECT 1.37000000 1.13500000 1.51000000 1.78000000 ; + RECT 1.29500000 1.78000000 1.58500000 2.07000000 ; END END A + OBS + LAYER polycont ; + RECT 1.35500000 0.90500000 1.52500000 1.07500000 ; + RECT 1.35500000 1.84000000 1.52500000 2.01000000 ; + LAYER pdiffc ; + RECT 0.63500000 2.25500000 0.80500000 2.42500000 ; + RECT 1.83500000 2.84000000 2.00500000 3.01000000 ; + + LAYER ndiffc ; + RECT 1.83500000 0.32000000 2.00500000 0.49000000 ; + RECT 0.63500000 0.50000000 0.80500000 0.67000000 ; + + LAYER li1 ; + RECT 1.75500000 0.24000000 2.08500000 0.57000000 ; + RECT 0.55500000 0.42000000 0.88500000 0.75000000 ; + RECT 1.27500000 0.82500000 1.60500000 1.15500000 ; + RECT 1.27500000 1.76000000 1.60500000 2.09000000 ; + RECT 0.55500000 2.17500000 0.88500000 2.50500000 ; + RECT 1.75500000 2.76000000 2.08500000 3.09000000 ; + + LAYER viali ; + RECT 1.83500000 0.32000000 2.00500000 0.49000000 ; + RECT 0.63500000 0.50000000 0.80500000 0.67000000 ; + RECT 1.35500000 0.90500000 1.52500000 1.07500000 ; + RECT 1.35500000 1.84000000 1.52500000 2.01000000 ; + RECT 0.63500000 2.25500000 0.80500000 2.42500000 ; + RECT 1.83500000 2.84000000 2.00500000 3.01000000 ; + + LAYER met1 ; + RECT 0.00000000 -0.24000000 2.88000000 0.24000000 ; + RECT 1.77500000 0.24000000 2.06500000 0.55000000 ; + RECT 1.29500000 0.84500000 1.58500000 1.13500000 ; + RECT 1.37000000 1.13500000 1.51000000 1.78000000 ; + RECT 1.29500000 1.78000000 1.58500000 2.07000000 ; + RECT 0.57500000 0.44000000 0.86500000 0.73000000 ; + RECT 0.65000000 0.73000000 0.79000000 2.19500000 ; + RECT 0.57500000 2.19500000 0.86500000 2.48500000 ; + RECT 1.77500000 2.78000000 2.06500000 3.09000000 ; + RECT 0.00000000 3.09000000 2.88000000 3.57000000 ; + + END END INV
diff --git a/cells/lef/orig/INVX1.lef b/cells/lef/orig/INVX1.lef index 23e588f..c7909be 100644 --- a/cells/lef/orig/INVX1.lef +++ b/cells/lef/orig/INVX1.lef
@@ -1,27 +1,28 @@ MACRO INVX1 CLASS CORE ; FOREIGN INVX1 0 0 ; + SIZE 2.88 BY 3.33 ; ORIGIN 0 0 ; SYMMETRY X Y R90 ; - SITE CORE ; + SITE unit ; PIN VDD DIRECTION INOUT ; - USE SIGNAL ; + USE POWER ; SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; + LAYER met1 ; RECT 0.00000000 3.09000000 2.88000000 3.57000000 ; END END VDD PIN GND DIRECTION INOUT ; - USE SIGNAL ; + USE POWER ; SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; + LAYER met1 ; RECT 0.00000000 -0.24000000 2.88000000 0.24000000 ; END END GND @@ -32,10 +33,10 @@ SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; - RECT 0.57500000 0.39500000 0.86500000 0.68500000 ; - RECT 0.65000000 0.68500000 0.79000000 2.15000000 ; - RECT 0.57500000 2.15000000 0.86500000 2.44000000 ; + LAYER met1 ; + RECT 0.57500000 0.44000000 0.86500000 0.73000000 ; + RECT 0.65000000 0.73000000 0.79000000 2.19500000 ; + RECT 0.57500000 2.19500000 0.86500000 2.48500000 ; END END Y @@ -45,12 +46,53 @@ SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; - RECT 1.29500000 0.80000000 1.58500000 1.09000000 ; - RECT 1.37000000 1.09000000 1.51000000 1.74500000 ; - RECT 1.29500000 1.74500000 1.58500000 2.03500000 ; + LAYER met1 ; + RECT 1.29500000 0.84500000 1.58500000 1.13500000 ; + RECT 1.37000000 1.13500000 1.51000000 1.78000000 ; + RECT 1.29500000 1.78000000 1.58500000 2.07000000 ; END END A + OBS + LAYER polycont ; + RECT 1.35500000 0.90500000 1.52500000 1.07500000 ; + RECT 1.35500000 1.84000000 1.52500000 2.01000000 ; + LAYER pdiffc ; + RECT 0.63500000 2.25500000 0.80500000 2.42500000 ; + RECT 1.83500000 2.84000000 2.00500000 3.01000000 ; + + LAYER ndiffc ; + RECT 1.83500000 0.32000000 2.00500000 0.49000000 ; + RECT 0.63500000 0.50000000 0.80500000 0.67000000 ; + + LAYER li1 ; + RECT 1.75500000 0.24000000 2.08500000 0.57000000 ; + RECT 0.55500000 0.42000000 0.88500000 0.75000000 ; + RECT 1.27500000 0.82500000 1.60500000 1.15500000 ; + RECT 1.27500000 1.76000000 1.60500000 2.09000000 ; + RECT 0.55500000 2.17500000 0.88500000 2.50500000 ; + RECT 1.75500000 2.76000000 2.08500000 3.09000000 ; + + LAYER viali ; + RECT 1.83500000 0.32000000 2.00500000 0.49000000 ; + RECT 0.63500000 0.50000000 0.80500000 0.67000000 ; + RECT 1.35500000 0.90500000 1.52500000 1.07500000 ; + RECT 1.35500000 1.84000000 1.52500000 2.01000000 ; + RECT 0.63500000 2.25500000 0.80500000 2.42500000 ; + RECT 1.83500000 2.84000000 2.00500000 3.01000000 ; + + LAYER met1 ; + RECT 0.00000000 -0.24000000 2.88000000 0.24000000 ; + RECT 1.77500000 0.24000000 2.06500000 0.55000000 ; + RECT 1.29500000 0.84500000 1.58500000 1.13500000 ; + RECT 1.37000000 1.13500000 1.51000000 1.78000000 ; + RECT 1.29500000 1.78000000 1.58500000 2.07000000 ; + RECT 0.57500000 0.44000000 0.86500000 0.73000000 ; + RECT 0.65000000 0.73000000 0.79000000 2.19500000 ; + RECT 0.57500000 2.19500000 0.86500000 2.48500000 ; + RECT 1.77500000 2.78000000 2.06500000 3.09000000 ; + RECT 0.00000000 3.09000000 2.88000000 3.57000000 ; + + END END INVX1
diff --git a/cells/lef/orig/INVX2.lef b/cells/lef/orig/INVX2.lef index 52223d1..858c2a9 100644 --- a/cells/lef/orig/INVX2.lef +++ b/cells/lef/orig/INVX2.lef
@@ -1,27 +1,28 @@ MACRO INVX2 CLASS CORE ; FOREIGN INVX2 0 0 ; + SIZE 2.88 BY 3.33 ; ORIGIN 0 0 ; SYMMETRY X Y R90 ; - SITE CORE ; + SITE unit ; PIN VDD DIRECTION INOUT ; - USE SIGNAL ; + USE POWER ; SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; + LAYER met1 ; RECT 0.00000000 3.09000000 2.88000000 3.57000000 ; END END VDD PIN GND DIRECTION INOUT ; - USE SIGNAL ; + USE POWER ; SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; + LAYER met1 ; RECT 0.00000000 -0.24000000 2.88000000 0.24000000 ; END END GND @@ -32,10 +33,10 @@ SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; - RECT 0.57500000 0.39500000 0.86500000 0.68500000 ; - RECT 0.65000000 0.68500000 0.79000000 2.15000000 ; - RECT 0.57500000 2.15000000 0.86500000 2.44000000 ; + LAYER met1 ; + RECT 0.57500000 0.44000000 0.86500000 0.73000000 ; + RECT 0.65000000 0.73000000 0.79000000 2.19500000 ; + RECT 0.57500000 2.19500000 0.86500000 2.48500000 ; END END Y @@ -45,12 +46,53 @@ SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; - RECT 1.29500000 0.80000000 1.58500000 1.09000000 ; - RECT 1.37000000 1.09000000 1.51000000 1.74500000 ; - RECT 1.29500000 1.74500000 1.58500000 2.03500000 ; + LAYER met1 ; + RECT 1.29500000 0.84500000 1.58500000 1.13500000 ; + RECT 1.37000000 1.13500000 1.51000000 1.78000000 ; + RECT 1.29500000 1.78000000 1.58500000 2.07000000 ; END END A + OBS + LAYER polycont ; + RECT 1.35500000 0.90500000 1.52500000 1.07500000 ; + RECT 1.35500000 1.84000000 1.52500000 2.01000000 ; + LAYER pdiffc ; + RECT 0.63500000 2.25500000 0.80500000 2.42500000 ; + RECT 1.83500000 2.84000000 2.00500000 3.01000000 ; + + LAYER ndiffc ; + RECT 1.83500000 0.32000000 2.00500000 0.49000000 ; + RECT 0.63500000 0.50000000 0.80500000 0.67000000 ; + + LAYER li1 ; + RECT 1.75500000 0.24000000 2.08500000 0.57000000 ; + RECT 0.55500000 0.42000000 0.88500000 0.75000000 ; + RECT 1.27500000 0.82500000 1.60500000 1.15500000 ; + RECT 1.27500000 1.76000000 1.60500000 2.09000000 ; + RECT 0.55500000 2.17500000 0.88500000 2.50500000 ; + RECT 1.75500000 2.76000000 2.08500000 3.09000000 ; + + LAYER viali ; + RECT 1.83500000 0.32000000 2.00500000 0.49000000 ; + RECT 0.63500000 0.50000000 0.80500000 0.67000000 ; + RECT 1.35500000 0.90500000 1.52500000 1.07500000 ; + RECT 1.35500000 1.84000000 1.52500000 2.01000000 ; + RECT 0.63500000 2.25500000 0.80500000 2.42500000 ; + RECT 1.83500000 2.84000000 2.00500000 3.01000000 ; + + LAYER met1 ; + RECT 0.00000000 -0.24000000 2.88000000 0.24000000 ; + RECT 1.77500000 0.24000000 2.06500000 0.55000000 ; + RECT 1.29500000 0.84500000 1.58500000 1.13500000 ; + RECT 1.37000000 1.13500000 1.51000000 1.78000000 ; + RECT 1.29500000 1.78000000 1.58500000 2.07000000 ; + RECT 0.57500000 0.44000000 0.86500000 0.73000000 ; + RECT 0.65000000 0.73000000 0.79000000 2.19500000 ; + RECT 0.57500000 2.19500000 0.86500000 2.48500000 ; + RECT 1.77500000 2.78000000 2.06500000 3.09000000 ; + RECT 0.00000000 3.09000000 2.88000000 3.57000000 ; + + END END INVX2
diff --git a/cells/lef/orig/INVX4.lef b/cells/lef/orig/INVX4.lef index 726fd78..7e96407 100644 --- a/cells/lef/orig/INVX4.lef +++ b/cells/lef/orig/INVX4.lef
@@ -1,27 +1,28 @@ MACRO INVX4 CLASS CORE ; FOREIGN INVX4 0 0 ; + SIZE 4.32 BY 3.33 ; ORIGIN 0 0 ; SYMMETRY X Y R90 ; - SITE CORE ; + SITE unit ; PIN VDD DIRECTION INOUT ; - USE SIGNAL ; + USE POWER ; SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; + LAYER met1 ; RECT 0.00000000 3.09000000 4.32000000 3.57000000 ; END END VDD PIN GND DIRECTION INOUT ; - USE SIGNAL ; + USE POWER ; SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; + LAYER met1 ; RECT 0.00000000 -0.24000000 4.32000000 0.24000000 ; END END GND @@ -32,16 +33,16 @@ SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; - RECT 0.57500000 0.39500000 0.86500000 0.68500000 ; - RECT 3.21500000 0.39500000 3.50500000 0.68500000 ; - RECT 0.65000000 0.68500000 0.79000000 2.15000000 ; - RECT 3.29000000 0.68500000 3.43000000 2.15000000 ; - RECT 0.57500000 2.15000000 0.86500000 2.22500000 ; - RECT 3.21500000 2.15000000 3.50500000 2.22500000 ; - RECT 0.57500000 2.22500000 3.50500000 2.36500000 ; - RECT 0.57500000 2.36500000 0.86500000 2.44000000 ; - RECT 3.21500000 2.36500000 3.50500000 2.44000000 ; + LAYER met1 ; + RECT 0.81500000 0.44000000 1.10500000 0.73000000 ; + RECT 3.21500000 0.44000000 3.50500000 0.73000000 ; + RECT 0.89000000 0.73000000 1.03000000 2.19500000 ; + RECT 3.29000000 0.73000000 3.43000000 2.19500000 ; + RECT 0.81500000 2.19500000 1.10500000 2.27000000 ; + RECT 3.21500000 2.19500000 3.50500000 2.27000000 ; + RECT 0.81500000 2.27000000 3.50500000 2.41000000 ; + RECT 0.81500000 2.41000000 1.10500000 2.48500000 ; + RECT 3.21500000 2.41000000 3.50500000 2.48500000 ; END END Y @@ -51,18 +52,83 @@ SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; - RECT 1.29500000 0.80000000 1.58500000 0.87500000 ; - RECT 2.73500000 0.80000000 3.02500000 0.87500000 ; - RECT 1.29500000 0.87500000 3.02500000 1.01500000 ; - RECT 1.29500000 1.01500000 1.58500000 1.09000000 ; - RECT 2.73500000 1.01500000 3.02500000 1.09000000 ; - RECT 1.37000000 1.09000000 1.51000000 1.74500000 ; - RECT 2.81000000 1.09000000 2.95000000 1.74500000 ; - RECT 1.29500000 1.74500000 1.58500000 2.03500000 ; - RECT 2.73500000 1.74500000 3.02500000 2.03500000 ; + LAYER met1 ; + RECT 1.29500000 0.84500000 1.58500000 0.92000000 ; + RECT 2.73500000 0.84500000 3.02500000 0.92000000 ; + RECT 1.29500000 0.92000000 3.02500000 1.06000000 ; + RECT 1.29500000 1.06000000 1.58500000 1.13500000 ; + RECT 2.73500000 1.06000000 3.02500000 1.13500000 ; + RECT 1.37000000 1.13500000 1.51000000 1.78000000 ; + RECT 2.81000000 1.13500000 2.95000000 1.78000000 ; + RECT 1.29500000 1.78000000 1.58500000 2.07000000 ; + RECT 2.73500000 1.78000000 3.02500000 2.07000000 ; END END A + OBS + LAYER polycont ; + RECT 1.35500000 0.90500000 1.52500000 1.07500000 ; + RECT 2.79500000 0.90500000 2.96500000 1.07500000 ; + RECT 1.35500000 1.84000000 1.52500000 2.01000000 ; + RECT 2.79500000 1.84000000 2.96500000 2.01000000 ; + LAYER pdiffc ; + RECT 0.87500000 2.25500000 1.04500000 2.42500000 ; + RECT 3.27500000 2.25500000 3.44500000 2.42500000 ; + RECT 1.83500000 2.84000000 2.00500000 3.01000000 ; + + LAYER ndiffc ; + RECT 1.83500000 0.32000000 2.00500000 0.49000000 ; + RECT 0.87500000 0.50000000 1.04500000 0.67000000 ; + RECT 3.27500000 0.50000000 3.44500000 0.67000000 ; + + LAYER li1 ; + RECT 1.75500000 0.24000000 2.08500000 0.57000000 ; + RECT 0.79500000 0.42000000 1.12500000 0.75000000 ; + RECT 3.19500000 0.42000000 3.52500000 0.75000000 ; + RECT 1.27500000 0.82500000 1.60500000 1.15500000 ; + RECT 2.71500000 0.82500000 3.04500000 1.15500000 ; + RECT 1.27500000 1.76000000 1.60500000 2.09000000 ; + RECT 2.71500000 1.76000000 3.04500000 2.09000000 ; + RECT 0.79500000 2.17500000 1.12500000 2.50500000 ; + RECT 3.19500000 2.17500000 3.52500000 2.50500000 ; + RECT 1.75500000 2.76000000 2.08500000 3.09000000 ; + + LAYER viali ; + RECT 1.83500000 0.32000000 2.00500000 0.49000000 ; + RECT 0.87500000 0.50000000 1.04500000 0.67000000 ; + RECT 3.27500000 0.50000000 3.44500000 0.67000000 ; + RECT 1.35500000 0.90500000 1.52500000 1.07500000 ; + RECT 2.79500000 0.90500000 2.96500000 1.07500000 ; + RECT 1.35500000 1.84000000 1.52500000 2.01000000 ; + RECT 2.79500000 1.84000000 2.96500000 2.01000000 ; + RECT 0.87500000 2.25500000 1.04500000 2.42500000 ; + RECT 3.27500000 2.25500000 3.44500000 2.42500000 ; + RECT 1.83500000 2.84000000 2.00500000 3.01000000 ; + + LAYER met1 ; + RECT 0.00000000 -0.24000000 4.32000000 0.24000000 ; + RECT 1.77500000 0.24000000 2.06500000 0.55000000 ; + RECT 1.29500000 0.84500000 1.58500000 0.92000000 ; + RECT 2.73500000 0.84500000 3.02500000 0.92000000 ; + RECT 1.29500000 0.92000000 3.02500000 1.06000000 ; + RECT 1.29500000 1.06000000 1.58500000 1.13500000 ; + RECT 2.73500000 1.06000000 3.02500000 1.13500000 ; + RECT 1.37000000 1.13500000 1.51000000 1.78000000 ; + RECT 2.81000000 1.13500000 2.95000000 1.78000000 ; + RECT 1.29500000 1.78000000 1.58500000 2.07000000 ; + RECT 2.73500000 1.78000000 3.02500000 2.07000000 ; + RECT 0.81500000 0.44000000 1.10500000 0.73000000 ; + RECT 3.21500000 0.44000000 3.50500000 0.73000000 ; + RECT 0.89000000 0.73000000 1.03000000 2.19500000 ; + RECT 3.29000000 0.73000000 3.43000000 2.19500000 ; + RECT 0.81500000 2.19500000 1.10500000 2.27000000 ; + RECT 3.21500000 2.19500000 3.50500000 2.27000000 ; + RECT 0.81500000 2.27000000 3.50500000 2.41000000 ; + RECT 0.81500000 2.41000000 1.10500000 2.48500000 ; + RECT 3.21500000 2.41000000 3.50500000 2.48500000 ; + RECT 1.77500000 2.78000000 2.06500000 3.09000000 ; + RECT 0.00000000 3.09000000 4.32000000 3.57000000 ; + + END END INVX4
diff --git a/cells/lef/orig/INVX8.lef b/cells/lef/orig/INVX8.lef index 28aff50..7f6c3d1 100644 --- a/cells/lef/orig/INVX8.lef +++ b/cells/lef/orig/INVX8.lef
@@ -1,27 +1,28 @@ MACRO INVX8 CLASS CORE ; FOREIGN INVX8 0 0 ; + SIZE 7.2 BY 3.33 ; ORIGIN 0 0 ; SYMMETRY X Y R90 ; - SITE CORE ; + SITE unit ; PIN VDD DIRECTION INOUT ; - USE SIGNAL ; + USE POWER ; SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; + LAYER met1 ; RECT 0.00000000 3.09000000 7.20000000 3.57000000 ; END END VDD PIN GND DIRECTION INOUT ; - USE SIGNAL ; + USE POWER ; SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; + LAYER met1 ; RECT 0.00000000 -0.24000000 7.20000000 0.24000000 ; END END GND @@ -32,22 +33,22 @@ SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; - RECT 0.57500000 0.39500000 0.86500000 0.47000000 ; - RECT 3.21500000 0.39500000 3.50500000 0.47000000 ; - RECT 6.09500000 0.39500000 6.38500000 0.47000000 ; - RECT 0.57500000 0.47000000 6.38500000 0.61000000 ; - RECT 0.57500000 0.61000000 0.86500000 0.68500000 ; - RECT 3.21500000 0.61000000 3.50500000 0.68500000 ; - RECT 6.09500000 0.61000000 6.38500000 0.68500000 ; - RECT 0.65000000 0.68500000 0.79000000 2.15000000 ; - RECT 6.17000000 0.68500000 6.31000000 2.15000000 ; - RECT 0.57500000 2.15000000 0.86500000 2.22500000 ; - RECT 3.21500000 2.15000000 3.50500000 2.22500000 ; - RECT 0.57500000 2.22500000 3.50500000 2.36500000 ; - RECT 0.57500000 2.36500000 0.86500000 2.44000000 ; - RECT 3.21500000 2.36500000 3.50500000 2.44000000 ; - RECT 6.09500000 2.15000000 6.38500000 2.44000000 ; + LAYER met1 ; + RECT 3.69500000 0.44000000 3.98500000 0.51500000 ; + RECT 6.09500000 0.44000000 6.38500000 0.51500000 ; + RECT 3.69500000 0.51500000 6.38500000 0.65500000 ; + RECT 0.81500000 0.44000000 1.10500000 0.73000000 ; + RECT 3.69500000 0.65500000 3.98500000 0.73000000 ; + RECT 6.09500000 0.65500000 6.38500000 0.73000000 ; + RECT 0.89000000 0.73000000 1.03000000 2.19500000 ; + RECT 6.17000000 0.73000000 6.31000000 2.19500000 ; + RECT 0.81500000 2.19500000 1.10500000 2.27000000 ; + RECT 3.69500000 2.19500000 3.98500000 2.27000000 ; + RECT 6.09500000 2.19500000 6.38500000 2.27000000 ; + RECT 0.81500000 2.27000000 6.38500000 2.41000000 ; + RECT 0.81500000 2.41000000 1.10500000 2.48500000 ; + RECT 3.69500000 2.41000000 3.98500000 2.48500000 ; + RECT 6.09500000 2.41000000 6.38500000 2.48500000 ; END END Y @@ -57,26 +58,133 @@ SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; - RECT 1.29500000 0.80000000 1.58500000 1.09000000 ; - RECT 2.73500000 0.80000000 3.02500000 1.09000000 ; - RECT 4.17500000 0.80000000 4.46500000 1.09000000 ; - RECT 5.61500000 0.80000000 5.90500000 1.09000000 ; - RECT 1.37000000 1.09000000 1.51000000 1.74500000 ; - RECT 2.81000000 1.09000000 2.95000000 1.74500000 ; - RECT 4.25000000 1.09000000 4.39000000 1.74500000 ; - RECT 5.69000000 1.09000000 5.83000000 1.74500000 ; - RECT 1.29500000 1.74500000 1.58500000 1.82000000 ; - RECT 2.73500000 1.74500000 3.02500000 1.82000000 ; - RECT 4.17500000 1.74500000 4.46500000 1.82000000 ; - RECT 5.61500000 1.74500000 5.90500000 1.82000000 ; - RECT 1.29500000 1.82000000 5.90500000 1.96000000 ; - RECT 1.29500000 1.96000000 1.58500000 2.03500000 ; - RECT 2.73500000 1.96000000 3.02500000 2.03500000 ; - RECT 4.17500000 1.96000000 4.46500000 2.03500000 ; - RECT 5.61500000 1.96000000 5.90500000 2.03500000 ; + LAYER met1 ; + RECT 1.29500000 0.84500000 1.58500000 1.13500000 ; + RECT 2.73500000 0.84500000 3.02500000 1.13500000 ; + RECT 4.17500000 0.84500000 4.46500000 1.13500000 ; + RECT 5.61500000 0.84500000 5.90500000 1.13500000 ; + RECT 1.37000000 1.13500000 1.51000000 1.78000000 ; + RECT 2.81000000 1.13500000 2.95000000 1.78000000 ; + RECT 4.25000000 1.13500000 4.39000000 1.78000000 ; + RECT 5.69000000 1.13500000 5.83000000 1.78000000 ; + RECT 1.29500000 1.78000000 1.58500000 1.85500000 ; + RECT 2.73500000 1.78000000 3.02500000 1.85500000 ; + RECT 4.17500000 1.78000000 4.46500000 1.85500000 ; + RECT 5.61500000 1.78000000 5.90500000 1.85500000 ; + RECT 1.29500000 1.85500000 5.90500000 1.99500000 ; + RECT 1.29500000 1.99500000 1.58500000 2.07000000 ; + RECT 2.73500000 1.99500000 3.02500000 2.07000000 ; + RECT 4.17500000 1.99500000 4.46500000 2.07000000 ; + RECT 5.61500000 1.99500000 5.90500000 2.07000000 ; END END A + OBS + LAYER polycont ; + RECT 1.35500000 0.90500000 1.52500000 1.07500000 ; + RECT 2.79500000 0.90500000 2.96500000 1.07500000 ; + RECT 4.23500000 0.90500000 4.40500000 1.07500000 ; + RECT 5.67500000 0.90500000 5.84500000 1.07500000 ; + RECT 1.35500000 1.84000000 1.52500000 2.01000000 ; + RECT 2.79500000 1.84000000 2.96500000 2.01000000 ; + RECT 4.23500000 1.84000000 4.40500000 2.01000000 ; + RECT 5.67500000 1.84000000 5.84500000 2.01000000 ; + LAYER pdiffc ; + RECT 0.87500000 2.25500000 1.04500000 2.42500000 ; + RECT 3.75500000 2.25500000 3.92500000 2.42500000 ; + RECT 6.15500000 2.25500000 6.32500000 2.42500000 ; + RECT 1.83500000 2.84000000 2.00500000 3.01000000 ; + RECT 4.71500000 2.84000000 4.88500000 3.01000000 ; + + LAYER ndiffc ; + RECT 1.83500000 0.32000000 2.00500000 0.49000000 ; + RECT 4.71500000 0.32000000 4.88500000 0.49000000 ; + RECT 0.87500000 0.50000000 1.04500000 0.67000000 ; + RECT 3.75500000 0.50000000 3.92500000 0.67000000 ; + RECT 6.15500000 0.50000000 6.32500000 0.67000000 ; + + LAYER li1 ; + RECT 1.83500000 0.09500000 2.00500000 0.24000000 ; + RECT 1.75500000 0.24000000 2.08500000 0.57000000 ; + RECT 4.71500000 0.09500000 4.88500000 0.24000000 ; + RECT 4.63500000 0.24000000 4.96500000 0.57000000 ; + RECT 0.79500000 0.42000000 1.12500000 0.75000000 ; + RECT 3.67500000 0.42000000 4.00500000 0.75000000 ; + RECT 6.07500000 0.42000000 6.40500000 0.75000000 ; + RECT 1.27500000 0.82500000 1.60500000 1.15500000 ; + RECT 2.71500000 0.82500000 3.04500000 1.15500000 ; + RECT 4.15500000 0.82500000 4.48500000 1.15500000 ; + RECT 5.59500000 0.82500000 5.92500000 1.15500000 ; + RECT 1.27500000 1.76000000 1.60500000 2.09000000 ; + RECT 2.71500000 1.76000000 3.04500000 2.09000000 ; + RECT 4.15500000 1.76000000 4.48500000 2.09000000 ; + RECT 5.59500000 1.76000000 5.92500000 2.09000000 ; + RECT 0.79500000 2.17500000 1.12500000 2.50500000 ; + RECT 3.67500000 2.17500000 4.00500000 2.50500000 ; + RECT 6.07500000 2.17500000 6.40500000 2.50500000 ; + RECT 1.75500000 2.76000000 2.08500000 3.09000000 ; + RECT 4.63500000 2.76000000 4.96500000 3.09000000 ; + + LAYER viali ; + RECT 1.83500000 0.09500000 2.00500000 0.26500000 ; + RECT 4.71500000 0.09500000 4.88500000 0.26500000 ; + RECT 0.87500000 0.50000000 1.04500000 0.67000000 ; + RECT 3.75500000 0.50000000 3.92500000 0.67000000 ; + RECT 6.15500000 0.50000000 6.32500000 0.67000000 ; + RECT 1.35500000 0.90500000 1.52500000 1.07500000 ; + RECT 2.79500000 0.90500000 2.96500000 1.07500000 ; + RECT 4.23500000 0.90500000 4.40500000 1.07500000 ; + RECT 5.67500000 0.90500000 5.84500000 1.07500000 ; + RECT 1.35500000 1.84000000 1.52500000 2.01000000 ; + RECT 2.79500000 1.84000000 2.96500000 2.01000000 ; + RECT 4.23500000 1.84000000 4.40500000 2.01000000 ; + RECT 5.67500000 1.84000000 5.84500000 2.01000000 ; + RECT 0.87500000 2.25500000 1.04500000 2.42500000 ; + RECT 3.75500000 2.25500000 3.92500000 2.42500000 ; + RECT 6.15500000 2.25500000 6.32500000 2.42500000 ; + RECT 1.83500000 2.84000000 2.00500000 3.01000000 ; + RECT 4.71500000 2.84000000 4.88500000 3.01000000 ; + + LAYER met1 ; + RECT 0.00000000 -0.24000000 7.20000000 0.24000000 ; + RECT 1.77500000 0.24000000 2.06500000 0.32500000 ; + RECT 4.65500000 0.24000000 4.94500000 0.32500000 ; + RECT 1.29500000 0.84500000 1.58500000 1.13500000 ; + RECT 2.73500000 0.84500000 3.02500000 1.13500000 ; + RECT 4.17500000 0.84500000 4.46500000 1.13500000 ; + RECT 5.61500000 0.84500000 5.90500000 1.13500000 ; + RECT 1.37000000 1.13500000 1.51000000 1.78000000 ; + RECT 2.81000000 1.13500000 2.95000000 1.78000000 ; + RECT 4.25000000 1.13500000 4.39000000 1.78000000 ; + RECT 5.69000000 1.13500000 5.83000000 1.78000000 ; + RECT 1.29500000 1.78000000 1.58500000 1.85500000 ; + RECT 2.73500000 1.78000000 3.02500000 1.85500000 ; + RECT 4.17500000 1.78000000 4.46500000 1.85500000 ; + RECT 5.61500000 1.78000000 5.90500000 1.85500000 ; + RECT 1.29500000 1.85500000 5.90500000 1.99500000 ; + RECT 1.29500000 1.99500000 1.58500000 2.07000000 ; + RECT 2.73500000 1.99500000 3.02500000 2.07000000 ; + RECT 4.17500000 1.99500000 4.46500000 2.07000000 ; + RECT 5.61500000 1.99500000 5.90500000 2.07000000 ; + RECT 3.69500000 0.44000000 3.98500000 0.51500000 ; + RECT 6.09500000 0.44000000 6.38500000 0.51500000 ; + RECT 3.69500000 0.51500000 6.38500000 0.65500000 ; + RECT 0.81500000 0.44000000 1.10500000 0.73000000 ; + RECT 3.69500000 0.65500000 3.98500000 0.73000000 ; + RECT 6.09500000 0.65500000 6.38500000 0.73000000 ; + RECT 0.89000000 0.73000000 1.03000000 2.19500000 ; + RECT 6.17000000 0.73000000 6.31000000 2.19500000 ; + RECT 0.81500000 2.19500000 1.10500000 2.27000000 ; + RECT 3.69500000 2.19500000 3.98500000 2.27000000 ; + RECT 6.09500000 2.19500000 6.38500000 2.27000000 ; + RECT 0.81500000 2.27000000 6.38500000 2.41000000 ; + RECT 0.81500000 2.41000000 1.10500000 2.48500000 ; + RECT 3.69500000 2.41000000 3.98500000 2.48500000 ; + RECT 6.09500000 2.41000000 6.38500000 2.48500000 ; + RECT 1.77500000 2.78000000 2.06500000 3.09000000 ; + RECT 4.65500000 2.78000000 4.94500000 3.09000000 ; + RECT 0.00000000 3.09000000 7.20000000 3.57000000 ; + + END END INVX8
diff --git a/cells/lef/orig/MUX2X1.lef b/cells/lef/orig/MUX2X1.lef index 22989f0..9a7700a 100644 --- a/cells/lef/orig/MUX2X1.lef +++ b/cells/lef/orig/MUX2X1.lef
@@ -1,27 +1,28 @@ MACRO MUX2X1 CLASS CORE ; FOREIGN MUX2X1 0 0 ; + SIZE 8.64 BY 3.33 ; ORIGIN 0 0 ; SYMMETRY X Y R90 ; - SITE CORE ; + SITE unit ; PIN VDD DIRECTION INOUT ; - USE SIGNAL ; + USE POWER ; SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; + LAYER met1 ; RECT 0.00000000 3.09000000 8.64000000 3.57000000 ; END END VDD PIN GND DIRECTION INOUT ; - USE SIGNAL ; + USE POWER ; SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; + LAYER met1 ; RECT 0.00000000 -0.24000000 8.64000000 0.24000000 ; END END GND @@ -32,10 +33,10 @@ SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; - RECT 5.13500000 1.20500000 5.42500000 1.49500000 ; - RECT 5.21000000 1.49500000 5.35000000 2.15000000 ; - RECT 5.13500000 2.15000000 5.42500000 2.44000000 ; + LAYER met1 ; + RECT 5.13500000 1.25000000 5.42500000 1.54000000 ; + RECT 5.21000000 1.54000000 5.35000000 2.19500000 ; + RECT 5.13500000 2.19500000 5.42500000 2.48500000 ; END END Y @@ -45,44 +46,147 @@ SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; - RECT 4.25000000 0.47000000 6.31000000 0.61000000 ; - RECT 4.25000000 0.61000000 4.39000000 0.80000000 ; - RECT 1.29500000 0.80000000 1.58500000 0.87500000 ; - RECT 4.17500000 0.80000000 4.46500000 0.87500000 ; - RECT 1.29500000 0.87500000 4.46500000 1.01500000 ; - RECT 1.29500000 1.01500000 1.58500000 1.09000000 ; - RECT 4.17500000 1.01500000 4.46500000 1.09000000 ; - RECT 5.61500000 1.74500000 5.90500000 1.82000000 ; - RECT 6.17000000 0.61000000 6.31000000 1.82000000 ; - RECT 5.61500000 1.82000000 6.31000000 1.96000000 ; - RECT 5.61500000 1.96000000 5.90500000 2.03500000 ; + LAYER met1 ; + RECT 4.25000000 0.51500000 6.31000000 0.65500000 ; + RECT 4.25000000 0.65500000 4.39000000 0.84500000 ; + RECT 1.29500000 0.84500000 1.58500000 0.92000000 ; + RECT 4.17500000 0.84500000 4.46500000 0.92000000 ; + RECT 1.29500000 0.92000000 4.46500000 1.06000000 ; + RECT 1.29500000 1.06000000 1.58500000 1.13500000 ; + RECT 4.17500000 1.06000000 4.46500000 1.13500000 ; + RECT 5.61500000 1.78000000 5.90500000 1.85500000 ; + RECT 6.17000000 0.65500000 6.31000000 1.85500000 ; + RECT 5.61500000 1.85500000 6.31000000 1.99500000 ; + RECT 5.61500000 1.99500000 5.90500000 2.07000000 ; END END S - PIN B - DIRECTION INOUT ; - USE SIGNAL ; - SHAPE ABUTMENT ; - PORT - CLASS CORE ; - LAYER metal2 ; - RECT 7.05500000 0.80000000 7.34500000 1.09000000 ; - RECT 7.13000000 1.09000000 7.27000000 1.74500000 ; - RECT 7.05500000 1.74500000 7.34500000 2.03500000 ; - END - END B - PIN A DIRECTION INOUT ; USE SIGNAL ; SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; - RECT 2.73500000 1.20500000 3.02500000 1.49500000 ; + LAYER met1 ; + RECT 2.73500000 1.25000000 3.02500000 1.54000000 ; END END A + PIN B + DIRECTION INOUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + CLASS CORE ; + LAYER met1 ; + RECT 7.05500000 0.84500000 7.34500000 1.13500000 ; + RECT 7.13000000 1.13500000 7.27000000 1.78000000 ; + RECT 7.05500000 1.78000000 7.34500000 2.07000000 ; + END + END B + OBS + LAYER polycont ; + RECT 1.35500000 0.90500000 1.52500000 1.07500000 ; + RECT 2.79500000 0.90500000 2.96500000 1.07500000 ; + RECT 4.23500000 0.90500000 4.40500000 1.07500000 ; + RECT 5.67500000 0.90500000 5.84500000 1.07500000 ; + RECT 7.11500000 0.90500000 7.28500000 1.07500000 ; + RECT 1.35500000 1.84000000 1.52500000 2.01000000 ; + RECT 2.79500000 1.84000000 2.96500000 2.01000000 ; + RECT 4.23500000 1.84000000 4.40500000 2.01000000 ; + RECT 5.67500000 1.84000000 5.84500000 2.01000000 ; + RECT 7.11500000 1.84000000 7.28500000 2.01000000 ; + + LAYER pdiffc ; + RECT 0.63500000 2.25500000 0.80500000 2.42500000 ; + RECT 5.19500000 2.25500000 5.36500000 2.42500000 ; + RECT 1.83500000 2.84000000 2.00500000 3.01000000 ; + RECT 7.59500000 2.84000000 7.76500000 3.01000000 ; + + LAYER ndiffc ; + RECT 1.83500000 0.32000000 2.00500000 0.49000000 ; + RECT 7.59500000 0.32000000 7.76500000 0.49000000 ; + RECT 0.63500000 0.50000000 0.80500000 0.67000000 ; + RECT 5.19500000 0.50000000 5.36500000 0.67000000 ; + + LAYER li1 ; + RECT 1.75500000 0.24000000 2.08500000 0.57000000 ; + RECT 7.51500000 0.24000000 7.84500000 0.57000000 ; + RECT 0.55500000 0.42000000 0.88500000 0.75000000 ; + RECT 4.15500000 0.82500000 4.48500000 1.15500000 ; + RECT 5.59500000 0.82500000 5.92500000 1.15500000 ; + RECT 7.03500000 0.82500000 7.36500000 1.15500000 ; + RECT 5.11500000 0.42000000 5.44500000 0.75000000 ; + RECT 5.19500000 0.75000000 5.36500000 1.48000000 ; + RECT 1.27500000 0.82500000 1.60500000 1.15500000 ; + RECT 1.35500000 1.15500000 1.52500000 1.76000000 ; + RECT 1.27500000 1.76000000 1.60500000 2.09000000 ; + RECT 2.71500000 0.82500000 3.04500000 1.15500000 ; + RECT 2.79500000 1.15500000 2.96500000 1.76000000 ; + RECT 2.71500000 1.76000000 3.04500000 2.09000000 ; + RECT 4.15500000 1.76000000 4.48500000 2.09000000 ; + RECT 5.59500000 1.76000000 5.92500000 2.09000000 ; + RECT 7.03500000 1.76000000 7.36500000 2.09000000 ; + RECT 0.55500000 2.17500000 0.88500000 2.50500000 ; + RECT 5.11500000 2.17500000 5.44500000 2.50500000 ; + RECT 1.75500000 2.76000000 2.08500000 3.09000000 ; + RECT 7.51500000 2.76000000 7.84500000 3.09000000 ; + + LAYER viali ; + RECT 1.83500000 0.32000000 2.00500000 0.49000000 ; + RECT 7.59500000 0.32000000 7.76500000 0.49000000 ; + RECT 0.63500000 0.50000000 0.80500000 0.67000000 ; + RECT 1.35500000 0.90500000 1.52500000 1.07500000 ; + RECT 4.23500000 0.90500000 4.40500000 1.07500000 ; + RECT 5.67500000 0.90500000 5.84500000 1.07500000 ; + RECT 7.11500000 0.90500000 7.28500000 1.07500000 ; + RECT 2.79500000 1.31000000 2.96500000 1.48000000 ; + RECT 5.19500000 1.31000000 5.36500000 1.48000000 ; + RECT 4.23500000 1.84000000 4.40500000 2.01000000 ; + RECT 5.67500000 1.84000000 5.84500000 2.01000000 ; + RECT 7.11500000 1.84000000 7.28500000 2.01000000 ; + RECT 0.63500000 2.25500000 0.80500000 2.42500000 ; + RECT 5.19500000 2.25500000 5.36500000 2.42500000 ; + RECT 1.83500000 2.84000000 2.00500000 3.01000000 ; + RECT 7.59500000 2.84000000 7.76500000 3.01000000 ; + + LAYER met1 ; + RECT 0.00000000 -0.24000000 8.64000000 0.24000000 ; + RECT 1.77500000 0.24000000 2.06500000 0.55000000 ; + RECT 7.53500000 0.24000000 7.82500000 0.55000000 ; + RECT 2.73500000 1.25000000 3.02500000 1.54000000 ; + RECT 4.25000000 0.51500000 6.31000000 0.65500000 ; + RECT 4.25000000 0.65500000 4.39000000 0.84500000 ; + RECT 1.29500000 0.84500000 1.58500000 0.92000000 ; + RECT 4.17500000 0.84500000 4.46500000 0.92000000 ; + RECT 1.29500000 0.92000000 4.46500000 1.06000000 ; + RECT 1.29500000 1.06000000 1.58500000 1.13500000 ; + RECT 4.17500000 1.06000000 4.46500000 1.13500000 ; + RECT 5.61500000 1.78000000 5.90500000 1.85500000 ; + RECT 6.17000000 0.65500000 6.31000000 1.85500000 ; + RECT 5.61500000 1.85500000 6.31000000 1.99500000 ; + RECT 5.61500000 1.99500000 5.90500000 2.07000000 ; + RECT 7.05500000 0.84500000 7.34500000 1.13500000 ; + RECT 7.13000000 1.13500000 7.27000000 1.78000000 ; + RECT 7.05500000 1.78000000 7.34500000 2.07000000 ; + RECT 0.57500000 0.44000000 0.86500000 0.73000000 ; + RECT 5.61500000 0.84500000 5.90500000 0.92000000 ; + RECT 4.73000000 0.92000000 5.90500000 1.06000000 ; + RECT 5.61500000 1.06000000 5.90500000 1.13500000 ; + RECT 0.65000000 0.73000000 0.79000000 1.85500000 ; + RECT 4.17500000 1.78000000 4.46500000 1.85500000 ; + RECT 4.73000000 1.06000000 4.87000000 1.85500000 ; + RECT 0.65000000 1.85500000 4.87000000 1.99500000 ; + RECT 4.17500000 1.99500000 4.46500000 2.07000000 ; + RECT 0.65000000 1.99500000 0.79000000 2.19500000 ; + RECT 0.57500000 2.19500000 0.86500000 2.48500000 ; + RECT 5.13500000 1.25000000 5.42500000 1.54000000 ; + RECT 5.21000000 1.54000000 5.35000000 2.19500000 ; + RECT 5.13500000 2.19500000 5.42500000 2.48500000 ; + RECT 1.77500000 2.78000000 2.06500000 3.09000000 ; + RECT 7.53500000 2.78000000 7.82500000 3.09000000 ; + RECT 0.00000000 3.09000000 8.64000000 3.57000000 ; + + END END MUX2X1
diff --git a/cells/lef/orig/NAND2X1.lef b/cells/lef/orig/NAND2X1.lef index b61443a..d955a38 100644 --- a/cells/lef/orig/NAND2X1.lef +++ b/cells/lef/orig/NAND2X1.lef
@@ -1,27 +1,28 @@ MACRO NAND2X1 CLASS CORE ; FOREIGN NAND2X1 0 0 ; + SIZE 4.32 BY 3.33 ; ORIGIN 0 0 ; SYMMETRY X Y R90 ; - SITE CORE ; + SITE unit ; PIN VDD DIRECTION INOUT ; - USE SIGNAL ; + USE POWER ; SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; + LAYER met1 ; RECT 0.00000000 3.09000000 4.32000000 3.57000000 ; END END VDD PIN GND DIRECTION INOUT ; - USE SIGNAL ; + USE POWER ; SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; + LAYER met1 ; RECT 0.00000000 -0.24000000 4.32000000 0.24000000 ; END END GND @@ -32,42 +33,99 @@ SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; - RECT 0.57500000 0.39500000 0.86500000 0.68500000 ; - RECT 0.65000000 0.68500000 0.79000000 2.15000000 ; - RECT 0.57500000 2.15000000 0.86500000 2.22500000 ; - RECT 3.21500000 2.15000000 3.50500000 2.22500000 ; - RECT 0.57500000 2.22500000 3.50500000 2.36500000 ; - RECT 0.57500000 2.36500000 0.86500000 2.44000000 ; - RECT 3.21500000 2.36500000 3.50500000 2.44000000 ; + LAYER met1 ; + RECT 0.57500000 0.44000000 0.86500000 0.73000000 ; + RECT 0.65000000 0.73000000 0.79000000 2.19500000 ; + RECT 0.57500000 2.19500000 0.86500000 2.27000000 ; + RECT 3.21500000 2.19500000 3.50500000 2.27000000 ; + RECT 0.57500000 2.27000000 3.50500000 2.41000000 ; + RECT 0.57500000 2.41000000 0.86500000 2.48500000 ; + RECT 3.21500000 2.41000000 3.50500000 2.48500000 ; END END Y - PIN B - DIRECTION INOUT ; - USE SIGNAL ; - SHAPE ABUTMENT ; - PORT - CLASS CORE ; - LAYER metal2 ; - RECT 1.29500000 0.80000000 1.58500000 1.09000000 ; - RECT 1.37000000 1.09000000 1.51000000 1.74500000 ; - RECT 1.29500000 1.74500000 1.58500000 2.03500000 ; - END - END B - PIN A DIRECTION INOUT ; USE SIGNAL ; SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; - RECT 2.73500000 0.80000000 3.02500000 1.09000000 ; - RECT 2.81000000 1.09000000 2.95000000 1.74500000 ; - RECT 2.73500000 1.74500000 3.02500000 2.03500000 ; + LAYER met1 ; + RECT 2.73500000 0.84500000 3.02500000 1.13500000 ; + RECT 2.81000000 1.13500000 2.95000000 1.78000000 ; + RECT 2.73500000 1.78000000 3.02500000 2.07000000 ; END END A + PIN B + DIRECTION INOUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + CLASS CORE ; + LAYER met1 ; + RECT 1.29500000 0.84500000 1.58500000 1.13500000 ; + RECT 1.37000000 1.13500000 1.51000000 1.78000000 ; + RECT 1.29500000 1.78000000 1.58500000 2.07000000 ; + END + END B + OBS + LAYER polycont ; + RECT 1.35500000 0.90500000 1.52500000 1.07500000 ; + RECT 2.79500000 0.90500000 2.96500000 1.07500000 ; + RECT 1.35500000 1.84000000 1.52500000 2.01000000 ; + RECT 2.79500000 1.84000000 2.96500000 2.01000000 ; + + LAYER pdiffc ; + RECT 0.63500000 2.25500000 0.80500000 2.42500000 ; + RECT 3.27500000 2.25500000 3.44500000 2.42500000 ; + RECT 1.83500000 2.84000000 2.00500000 3.01000000 ; + + LAYER ndiffc ; + RECT 3.27500000 0.32000000 3.44500000 0.49000000 ; + RECT 0.63500000 0.50000000 0.80500000 0.67000000 ; + + LAYER li1 ; + RECT 3.19500000 0.24000000 3.52500000 0.57000000 ; + RECT 0.55500000 0.42000000 0.88500000 0.75000000 ; + RECT 1.27500000 0.82500000 1.60500000 1.15500000 ; + RECT 2.71500000 0.82500000 3.04500000 1.15500000 ; + RECT 1.27500000 1.76000000 1.60500000 2.09000000 ; + RECT 2.71500000 1.76000000 3.04500000 2.09000000 ; + RECT 0.55500000 2.17500000 0.88500000 2.50500000 ; + RECT 3.19500000 2.17500000 3.52500000 2.50500000 ; + RECT 1.75500000 2.76000000 2.08500000 3.09000000 ; + + LAYER viali ; + RECT 3.27500000 0.32000000 3.44500000 0.49000000 ; + RECT 0.63500000 0.50000000 0.80500000 0.67000000 ; + RECT 1.35500000 0.90500000 1.52500000 1.07500000 ; + RECT 2.79500000 0.90500000 2.96500000 1.07500000 ; + RECT 1.35500000 1.84000000 1.52500000 2.01000000 ; + RECT 2.79500000 1.84000000 2.96500000 2.01000000 ; + RECT 0.63500000 2.25500000 0.80500000 2.42500000 ; + RECT 3.27500000 2.25500000 3.44500000 2.42500000 ; + RECT 1.83500000 2.84000000 2.00500000 3.01000000 ; + + LAYER met1 ; + RECT 0.00000000 -0.24000000 4.32000000 0.24000000 ; + RECT 3.21500000 0.24000000 3.50500000 0.55000000 ; + RECT 1.29500000 0.84500000 1.58500000 1.13500000 ; + RECT 1.37000000 1.13500000 1.51000000 1.78000000 ; + RECT 1.29500000 1.78000000 1.58500000 2.07000000 ; + RECT 2.73500000 0.84500000 3.02500000 1.13500000 ; + RECT 2.81000000 1.13500000 2.95000000 1.78000000 ; + RECT 2.73500000 1.78000000 3.02500000 2.07000000 ; + RECT 0.57500000 0.44000000 0.86500000 0.73000000 ; + RECT 0.65000000 0.73000000 0.79000000 2.19500000 ; + RECT 0.57500000 2.19500000 0.86500000 2.27000000 ; + RECT 3.21500000 2.19500000 3.50500000 2.27000000 ; + RECT 0.57500000 2.27000000 3.50500000 2.41000000 ; + RECT 0.57500000 2.41000000 0.86500000 2.48500000 ; + RECT 3.21500000 2.41000000 3.50500000 2.48500000 ; + RECT 1.77500000 2.78000000 2.06500000 3.09000000 ; + RECT 0.00000000 3.09000000 4.32000000 3.57000000 ; + + END END NAND2X1
diff --git a/cells/lef/orig/NAND3X1.lef b/cells/lef/orig/NAND3X1.lef index 2d5d3f3..3e6db13 100644 --- a/cells/lef/orig/NAND3X1.lef +++ b/cells/lef/orig/NAND3X1.lef
@@ -1,27 +1,28 @@ MACRO NAND3X1 CLASS CORE ; FOREIGN NAND3X1 0 0 ; + SIZE 5.76 BY 3.33 ; ORIGIN 0 0 ; SYMMETRY X Y R90 ; - SITE CORE ; + SITE unit ; PIN VDD DIRECTION INOUT ; - USE SIGNAL ; + USE POWER ; SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; + LAYER met1 ; RECT 0.00000000 3.09000000 5.76000000 3.57000000 ; END END VDD PIN GND DIRECTION INOUT ; - USE SIGNAL ; + USE POWER ; SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; + LAYER met1 ; RECT 0.00000000 -0.24000000 5.76000000 0.24000000 ; END END GND @@ -32,40 +33,27 @@ SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; - RECT 0.57500000 0.39500000 0.86500000 0.68500000 ; - RECT 0.65000000 0.68500000 0.79000000 2.15000000 ; - RECT 0.57500000 2.15000000 0.86500000 2.22500000 ; - RECT 3.21500000 2.15000000 3.50500000 2.22500000 ; - RECT 0.57500000 2.22500000 3.50500000 2.36500000 ; - RECT 0.57500000 2.36500000 0.86500000 2.44000000 ; - RECT 3.21500000 2.36500000 3.50500000 2.44000000 ; + LAYER met1 ; + RECT 0.57500000 0.44000000 0.86500000 0.73000000 ; + RECT 0.65000000 0.73000000 0.79000000 2.19500000 ; + RECT 0.57500000 2.19500000 0.86500000 2.27000000 ; + RECT 3.21500000 2.19500000 3.50500000 2.27000000 ; + RECT 0.57500000 2.27000000 3.50500000 2.41000000 ; + RECT 0.57500000 2.41000000 0.86500000 2.48500000 ; + RECT 3.21500000 2.41000000 3.50500000 2.48500000 ; END END Y - PIN A - DIRECTION INOUT ; - USE SIGNAL ; - SHAPE ABUTMENT ; - PORT - CLASS CORE ; - LAYER metal2 ; - RECT 4.17500000 0.80000000 4.46500000 1.09000000 ; - RECT 4.25000000 1.09000000 4.39000000 1.74500000 ; - RECT 4.17500000 1.74500000 4.46500000 2.03500000 ; - END - END A - PIN C DIRECTION INOUT ; USE SIGNAL ; SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; - RECT 1.29500000 0.80000000 1.58500000 1.09000000 ; - RECT 1.37000000 1.09000000 1.51000000 1.74500000 ; - RECT 1.29500000 1.74500000 1.58500000 2.03500000 ; + LAYER met1 ; + RECT 1.29500000 0.84500000 1.58500000 1.13500000 ; + RECT 1.37000000 1.13500000 1.51000000 1.78000000 ; + RECT 1.29500000 1.78000000 1.58500000 2.07000000 ; END END C @@ -75,12 +63,95 @@ SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; - RECT 2.73500000 0.80000000 3.02500000 1.09000000 ; - RECT 2.81000000 1.09000000 2.95000000 1.74500000 ; - RECT 2.73500000 1.74500000 3.02500000 2.03500000 ; + LAYER met1 ; + RECT 2.73500000 0.84500000 3.02500000 1.13500000 ; + RECT 2.81000000 1.13500000 2.95000000 1.78000000 ; + RECT 2.73500000 1.78000000 3.02500000 2.07000000 ; END END B + PIN A + DIRECTION INOUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + CLASS CORE ; + LAYER met1 ; + RECT 4.17500000 0.84500000 4.46500000 1.13500000 ; + RECT 4.25000000 1.13500000 4.39000000 1.78000000 ; + RECT 4.17500000 1.78000000 4.46500000 2.07000000 ; + END + END A + OBS + LAYER polycont ; + RECT 1.35500000 0.90500000 1.52500000 1.07500000 ; + RECT 2.79500000 0.90500000 2.96500000 1.07500000 ; + RECT 4.23500000 0.90500000 4.40500000 1.07500000 ; + RECT 1.35500000 1.84000000 1.52500000 2.01000000 ; + RECT 2.79500000 1.84000000 2.96500000 2.01000000 ; + RECT 4.23500000 1.84000000 4.40500000 2.01000000 ; + + LAYER pdiffc ; + RECT 0.63500000 2.25500000 0.80500000 2.42500000 ; + RECT 3.27500000 2.25500000 3.44500000 2.42500000 ; + RECT 1.83500000 2.84000000 2.00500000 3.01000000 ; + RECT 4.71500000 2.84000000 4.88500000 3.01000000 ; + + LAYER ndiffc ; + RECT 4.71500000 0.32000000 4.88500000 0.49000000 ; + RECT 0.63500000 0.50000000 0.80500000 0.67000000 ; + + LAYER li1 ; + RECT 4.63500000 0.24000000 4.96500000 0.57000000 ; + RECT 0.55500000 0.42000000 0.88500000 0.75000000 ; + RECT 1.27500000 0.82500000 1.60500000 1.15500000 ; + RECT 2.71500000 0.82500000 3.04500000 1.15500000 ; + RECT 4.15500000 0.82500000 4.48500000 1.15500000 ; + RECT 1.27500000 1.76000000 1.60500000 2.09000000 ; + RECT 2.71500000 1.76000000 3.04500000 2.09000000 ; + RECT 4.15500000 1.76000000 4.48500000 2.09000000 ; + RECT 0.55500000 2.17500000 0.88500000 2.50500000 ; + RECT 3.19500000 2.17500000 3.52500000 2.50500000 ; + RECT 1.75500000 2.76000000 2.08500000 3.09000000 ; + RECT 4.63500000 2.76000000 4.96500000 3.09000000 ; + + LAYER viali ; + RECT 4.71500000 0.32000000 4.88500000 0.49000000 ; + RECT 0.63500000 0.50000000 0.80500000 0.67000000 ; + RECT 1.35500000 0.90500000 1.52500000 1.07500000 ; + RECT 2.79500000 0.90500000 2.96500000 1.07500000 ; + RECT 4.23500000 0.90500000 4.40500000 1.07500000 ; + RECT 1.35500000 1.84000000 1.52500000 2.01000000 ; + RECT 2.79500000 1.84000000 2.96500000 2.01000000 ; + RECT 4.23500000 1.84000000 4.40500000 2.01000000 ; + RECT 0.63500000 2.25500000 0.80500000 2.42500000 ; + RECT 3.27500000 2.25500000 3.44500000 2.42500000 ; + RECT 1.83500000 2.84000000 2.00500000 3.01000000 ; + RECT 4.71500000 2.84000000 4.88500000 3.01000000 ; + + LAYER met1 ; + RECT 0.00000000 -0.24000000 5.76000000 0.24000000 ; + RECT 4.65500000 0.24000000 4.94500000 0.55000000 ; + RECT 1.29500000 0.84500000 1.58500000 1.13500000 ; + RECT 1.37000000 1.13500000 1.51000000 1.78000000 ; + RECT 1.29500000 1.78000000 1.58500000 2.07000000 ; + RECT 2.73500000 0.84500000 3.02500000 1.13500000 ; + RECT 2.81000000 1.13500000 2.95000000 1.78000000 ; + RECT 2.73500000 1.78000000 3.02500000 2.07000000 ; + RECT 4.17500000 0.84500000 4.46500000 1.13500000 ; + RECT 4.25000000 1.13500000 4.39000000 1.78000000 ; + RECT 4.17500000 1.78000000 4.46500000 2.07000000 ; + RECT 0.57500000 0.44000000 0.86500000 0.73000000 ; + RECT 0.65000000 0.73000000 0.79000000 2.19500000 ; + RECT 0.57500000 2.19500000 0.86500000 2.27000000 ; + RECT 3.21500000 2.19500000 3.50500000 2.27000000 ; + RECT 0.57500000 2.27000000 3.50500000 2.41000000 ; + RECT 0.57500000 2.41000000 0.86500000 2.48500000 ; + RECT 3.21500000 2.41000000 3.50500000 2.48500000 ; + RECT 1.77500000 2.78000000 2.06500000 3.09000000 ; + RECT 4.65500000 2.78000000 4.94500000 3.09000000 ; + RECT 0.00000000 3.09000000 5.76000000 3.57000000 ; + + END END NAND3X1
diff --git a/cells/lef/orig/NOR2X1.lef b/cells/lef/orig/NOR2X1.lef index 436721c..0bf39e9 100644 --- a/cells/lef/orig/NOR2X1.lef +++ b/cells/lef/orig/NOR2X1.lef
@@ -1,27 +1,28 @@ MACRO NOR2X1 CLASS CORE ; FOREIGN NOR2X1 0 0 ; + SIZE 4.32 BY 3.33 ; ORIGIN 0 0 ; SYMMETRY X Y R90 ; - SITE CORE ; + SITE unit ; PIN VDD DIRECTION INOUT ; - USE SIGNAL ; + USE POWER ; SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; + LAYER met1 ; RECT 0.00000000 3.09000000 4.32000000 3.57000000 ; END END VDD PIN GND DIRECTION INOUT ; - USE SIGNAL ; + USE POWER ; SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; + LAYER met1 ; RECT 0.00000000 -0.24000000 4.32000000 0.24000000 ; END END GND @@ -32,42 +33,100 @@ SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; - RECT 0.81500000 0.39500000 1.10500000 0.47000000 ; - RECT 3.21500000 0.39500000 3.50500000 0.47000000 ; - RECT 0.81500000 0.47000000 3.50500000 0.61000000 ; - RECT 0.81500000 0.61000000 1.10500000 0.68500000 ; - RECT 3.21500000 0.61000000 3.50500000 0.68500000 ; - RECT 3.29000000 0.68500000 3.43000000 2.15000000 ; - RECT 3.21500000 2.15000000 3.50500000 2.44000000 ; + LAYER met1 ; + RECT 0.81500000 0.44000000 1.10500000 0.51500000 ; + RECT 3.21500000 0.44000000 3.50500000 0.51500000 ; + RECT 0.81500000 0.51500000 3.50500000 0.65500000 ; + RECT 0.81500000 0.65500000 1.10500000 0.73000000 ; + RECT 3.21500000 0.65500000 3.50500000 0.73000000 ; + RECT 3.29000000 0.73000000 3.43000000 2.19500000 ; + RECT 3.21500000 2.19500000 3.50500000 2.48500000 ; END END Y - PIN A - DIRECTION INOUT ; - USE SIGNAL ; - SHAPE ABUTMENT ; - PORT - CLASS CORE ; - LAYER metal2 ; - RECT 1.29500000 0.80000000 1.58500000 1.09000000 ; - RECT 1.37000000 1.09000000 1.51000000 1.74500000 ; - RECT 1.29500000 1.74500000 1.58500000 2.03500000 ; - END - END A - PIN B DIRECTION INOUT ; USE SIGNAL ; SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; - RECT 2.73500000 0.80000000 3.02500000 1.09000000 ; - RECT 2.81000000 1.09000000 2.95000000 1.74500000 ; - RECT 2.73500000 1.74500000 3.02500000 2.03500000 ; + LAYER met1 ; + RECT 2.73500000 0.84500000 3.02500000 1.13500000 ; + RECT 2.81000000 1.13500000 2.95000000 1.78000000 ; + RECT 2.73500000 1.78000000 3.02500000 2.07000000 ; END END B + PIN A + DIRECTION INOUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + CLASS CORE ; + LAYER met1 ; + RECT 1.29500000 0.84500000 1.58500000 1.13500000 ; + RECT 1.37000000 1.13500000 1.51000000 1.78000000 ; + RECT 1.29500000 1.78000000 1.58500000 2.07000000 ; + END + END A + OBS + LAYER polycont ; + RECT 1.35500000 0.90500000 1.52500000 1.07500000 ; + RECT 2.79500000 0.90500000 2.96500000 1.07500000 ; + RECT 1.35500000 1.84000000 1.52500000 2.01000000 ; + RECT 2.79500000 1.84000000 2.96500000 2.01000000 ; + + LAYER pdiffc ; + RECT 3.27500000 2.25500000 3.44500000 2.42500000 ; + RECT 0.63500000 2.84000000 0.80500000 3.01000000 ; + + LAYER ndiffc ; + RECT 1.83500000 0.32000000 2.00500000 0.49000000 ; + RECT 0.87500000 0.50000000 1.04500000 0.67000000 ; + RECT 3.27500000 0.50000000 3.44500000 0.67000000 ; + + LAYER li1 ; + RECT 1.83500000 0.09500000 2.00500000 0.24000000 ; + RECT 1.75500000 0.24000000 2.08500000 0.57000000 ; + RECT 0.79500000 0.42000000 1.12500000 0.75000000 ; + RECT 3.19500000 0.42000000 3.52500000 0.75000000 ; + RECT 1.27500000 0.82500000 1.60500000 1.15500000 ; + RECT 2.71500000 0.82500000 3.04500000 1.15500000 ; + RECT 1.27500000 1.76000000 1.60500000 2.09000000 ; + RECT 2.71500000 1.76000000 3.04500000 2.09000000 ; + RECT 3.19500000 2.17500000 3.52500000 2.50500000 ; + RECT 0.55500000 2.76000000 0.88500000 3.09000000 ; + + LAYER viali ; + RECT 1.83500000 0.09500000 2.00500000 0.26500000 ; + RECT 0.87500000 0.50000000 1.04500000 0.67000000 ; + RECT 3.27500000 0.50000000 3.44500000 0.67000000 ; + RECT 1.35500000 0.90500000 1.52500000 1.07500000 ; + RECT 2.79500000 0.90500000 2.96500000 1.07500000 ; + RECT 1.35500000 1.84000000 1.52500000 2.01000000 ; + RECT 2.79500000 1.84000000 2.96500000 2.01000000 ; + RECT 3.27500000 2.25500000 3.44500000 2.42500000 ; + RECT 0.63500000 2.84000000 0.80500000 3.01000000 ; + + LAYER met1 ; + RECT 0.00000000 -0.24000000 4.32000000 0.24000000 ; + RECT 1.77500000 0.24000000 2.06500000 0.32500000 ; + RECT 1.29500000 0.84500000 1.58500000 1.13500000 ; + RECT 1.37000000 1.13500000 1.51000000 1.78000000 ; + RECT 1.29500000 1.78000000 1.58500000 2.07000000 ; + RECT 2.73500000 0.84500000 3.02500000 1.13500000 ; + RECT 2.81000000 1.13500000 2.95000000 1.78000000 ; + RECT 2.73500000 1.78000000 3.02500000 2.07000000 ; + RECT 0.81500000 0.44000000 1.10500000 0.51500000 ; + RECT 3.21500000 0.44000000 3.50500000 0.51500000 ; + RECT 0.81500000 0.51500000 3.50500000 0.65500000 ; + RECT 0.81500000 0.65500000 1.10500000 0.73000000 ; + RECT 3.21500000 0.65500000 3.50500000 0.73000000 ; + RECT 3.29000000 0.73000000 3.43000000 2.19500000 ; + RECT 3.21500000 2.19500000 3.50500000 2.48500000 ; + RECT 0.57500000 2.78000000 0.86500000 3.09000000 ; + RECT 0.00000000 3.09000000 4.32000000 3.57000000 ; + + END END NOR2X1
diff --git a/cells/lef/orig/OAI21X1.lef b/cells/lef/orig/OAI21X1.lef index c4be5e1..402f12d 100644 --- a/cells/lef/orig/OAI21X1.lef +++ b/cells/lef/orig/OAI21X1.lef
@@ -1,27 +1,28 @@ MACRO OAI21X1 CLASS CORE ; FOREIGN OAI21X1 0 0 ; + SIZE 5.76 BY 3.33 ; ORIGIN 0 0 ; SYMMETRY X Y R90 ; - SITE CORE ; + SITE unit ; PIN VDD DIRECTION INOUT ; - USE SIGNAL ; + USE POWER ; SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; + LAYER met1 ; RECT 0.00000000 3.09000000 5.76000000 3.57000000 ; END END VDD PIN GND DIRECTION INOUT ; - USE SIGNAL ; + USE POWER ; SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; + LAYER met1 ; RECT 0.00000000 -0.24000000 5.76000000 0.24000000 ; END END GND @@ -32,14 +33,14 @@ SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; - RECT 0.57500000 0.39500000 0.86500000 0.68500000 ; - RECT 0.65000000 0.68500000 0.79000000 2.15000000 ; - RECT 0.57500000 2.15000000 0.86500000 2.22500000 ; - RECT 4.65500000 2.15000000 4.94500000 2.22500000 ; - RECT 0.57500000 2.22500000 4.94500000 2.36500000 ; - RECT 0.57500000 2.36500000 0.86500000 2.44000000 ; - RECT 4.65500000 2.36500000 4.94500000 2.44000000 ; + LAYER met1 ; + RECT 0.57500000 0.44000000 0.86500000 0.73000000 ; + RECT 0.65000000 0.73000000 0.79000000 2.19500000 ; + RECT 0.57500000 2.19500000 0.86500000 2.27000000 ; + RECT 4.65500000 2.19500000 4.94500000 2.27000000 ; + RECT 0.57500000 2.27000000 4.94500000 2.41000000 ; + RECT 0.57500000 2.41000000 0.86500000 2.48500000 ; + RECT 4.65500000 2.41000000 4.94500000 2.48500000 ; END END Y @@ -49,38 +50,116 @@ SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; - RECT 2.73500000 0.80000000 3.02500000 1.09000000 ; - RECT 2.81000000 1.09000000 2.95000000 1.74500000 ; - RECT 2.73500000 1.74500000 3.02500000 2.03500000 ; + LAYER met1 ; + RECT 2.73500000 0.84500000 3.02500000 1.13500000 ; + RECT 2.81000000 1.13500000 2.95000000 1.78000000 ; + RECT 2.73500000 1.78000000 3.02500000 2.07000000 ; END END A - PIN C - DIRECTION INOUT ; - USE SIGNAL ; - SHAPE ABUTMENT ; - PORT - CLASS CORE ; - LAYER metal2 ; - RECT 1.29500000 0.80000000 1.58500000 1.09000000 ; - RECT 1.37000000 1.09000000 1.51000000 1.74500000 ; - RECT 1.29500000 1.74500000 1.58500000 2.03500000 ; - END - END C - PIN B DIRECTION INOUT ; USE SIGNAL ; SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; - RECT 4.17500000 0.80000000 4.46500000 1.09000000 ; - RECT 4.25000000 1.09000000 4.39000000 1.74500000 ; - RECT 4.17500000 1.74500000 4.46500000 2.03500000 ; + LAYER met1 ; + RECT 4.17500000 0.84500000 4.46500000 1.13500000 ; + RECT 4.25000000 1.13500000 4.39000000 1.78000000 ; + RECT 4.17500000 1.78000000 4.46500000 2.07000000 ; END END B + PIN C + DIRECTION INOUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + CLASS CORE ; + LAYER met1 ; + RECT 1.29500000 0.84500000 1.58500000 1.13500000 ; + RECT 1.37000000 1.13500000 1.51000000 1.78000000 ; + RECT 1.29500000 1.78000000 1.58500000 2.07000000 ; + END + END C + OBS + LAYER polycont ; + RECT 1.35500000 0.90500000 1.52500000 1.07500000 ; + RECT 2.79500000 0.90500000 2.96500000 1.07500000 ; + RECT 4.23500000 0.90500000 4.40500000 1.07500000 ; + RECT 1.35500000 1.84000000 1.52500000 2.01000000 ; + RECT 2.79500000 1.84000000 2.96500000 2.01000000 ; + RECT 4.23500000 1.84000000 4.40500000 2.01000000 ; + + LAYER pdiffc ; + RECT 0.63500000 2.25500000 0.80500000 2.42500000 ; + RECT 4.71500000 2.25500000 4.88500000 2.42500000 ; + RECT 1.83500000 2.84000000 2.00500000 3.01000000 ; + + LAYER ndiffc ; + RECT 3.27500000 0.32000000 3.44500000 0.49000000 ; + RECT 0.63500000 0.50000000 0.80500000 0.67000000 ; + RECT 2.31500000 0.50000000 2.48500000 0.67000000 ; + RECT 4.71500000 0.50000000 4.88500000 0.67000000 ; + + LAYER li1 ; + RECT 3.27500000 0.09500000 3.44500000 0.24000000 ; + RECT 3.19500000 0.24000000 3.52500000 0.57000000 ; + RECT 0.55500000 0.42000000 0.88500000 0.75000000 ; + RECT 2.23500000 0.42000000 2.56500000 0.75000000 ; + RECT 4.63500000 0.42000000 4.96500000 0.75000000 ; + RECT 1.27500000 0.82500000 1.60500000 1.15500000 ; + RECT 2.71500000 0.82500000 3.04500000 1.15500000 ; + RECT 4.15500000 0.82500000 4.48500000 1.15500000 ; + RECT 1.27500000 1.76000000 1.60500000 2.09000000 ; + RECT 2.71500000 1.76000000 3.04500000 2.09000000 ; + RECT 4.15500000 1.76000000 4.48500000 2.09000000 ; + RECT 0.55500000 2.17500000 0.88500000 2.50500000 ; + RECT 4.63500000 2.17500000 4.96500000 2.50500000 ; + RECT 1.75500000 2.76000000 2.08500000 3.09000000 ; + + LAYER viali ; + RECT 3.27500000 0.09500000 3.44500000 0.26500000 ; + RECT 0.63500000 0.50000000 0.80500000 0.67000000 ; + RECT 2.31500000 0.50000000 2.48500000 0.67000000 ; + RECT 4.71500000 0.50000000 4.88500000 0.67000000 ; + RECT 1.35500000 0.90500000 1.52500000 1.07500000 ; + RECT 2.79500000 0.90500000 2.96500000 1.07500000 ; + RECT 4.23500000 0.90500000 4.40500000 1.07500000 ; + RECT 1.35500000 1.84000000 1.52500000 2.01000000 ; + RECT 2.79500000 1.84000000 2.96500000 2.01000000 ; + RECT 4.23500000 1.84000000 4.40500000 2.01000000 ; + RECT 0.63500000 2.25500000 0.80500000 2.42500000 ; + RECT 4.71500000 2.25500000 4.88500000 2.42500000 ; + RECT 1.83500000 2.84000000 2.00500000 3.01000000 ; + + LAYER met1 ; + RECT 0.00000000 -0.24000000 5.76000000 0.24000000 ; + RECT 3.21500000 0.24000000 3.50500000 0.32500000 ; + RECT 2.25500000 0.44000000 2.54500000 0.51500000 ; + RECT 4.65500000 0.44000000 4.94500000 0.51500000 ; + RECT 2.25500000 0.51500000 4.94500000 0.65500000 ; + RECT 2.25500000 0.65500000 2.54500000 0.73000000 ; + RECT 4.65500000 0.65500000 4.94500000 0.73000000 ; + RECT 1.29500000 0.84500000 1.58500000 1.13500000 ; + RECT 1.37000000 1.13500000 1.51000000 1.78000000 ; + RECT 1.29500000 1.78000000 1.58500000 2.07000000 ; + RECT 2.73500000 0.84500000 3.02500000 1.13500000 ; + RECT 2.81000000 1.13500000 2.95000000 1.78000000 ; + RECT 2.73500000 1.78000000 3.02500000 2.07000000 ; + RECT 4.17500000 0.84500000 4.46500000 1.13500000 ; + RECT 4.25000000 1.13500000 4.39000000 1.78000000 ; + RECT 4.17500000 1.78000000 4.46500000 2.07000000 ; + RECT 0.57500000 0.44000000 0.86500000 0.73000000 ; + RECT 0.65000000 0.73000000 0.79000000 2.19500000 ; + RECT 0.57500000 2.19500000 0.86500000 2.27000000 ; + RECT 4.65500000 2.19500000 4.94500000 2.27000000 ; + RECT 0.57500000 2.27000000 4.94500000 2.41000000 ; + RECT 0.57500000 2.41000000 0.86500000 2.48500000 ; + RECT 4.65500000 2.41000000 4.94500000 2.48500000 ; + RECT 1.77500000 2.78000000 2.06500000 3.09000000 ; + RECT 0.00000000 3.09000000 5.76000000 3.57000000 ; + + END END OAI21X1
diff --git a/cells/lef/orig/OAI22X1.lef b/cells/lef/orig/OAI22X1.lef index 2d4e7bb..60ab89b 100644 --- a/cells/lef/orig/OAI22X1.lef +++ b/cells/lef/orig/OAI22X1.lef
@@ -1,27 +1,28 @@ MACRO OAI22X1 CLASS CORE ; FOREIGN OAI22X1 0 0 ; + SIZE 7.2 BY 3.33 ; ORIGIN 0 0 ; SYMMETRY X Y R90 ; - SITE CORE ; + SITE unit ; PIN VDD DIRECTION INOUT ; - USE SIGNAL ; + USE POWER ; SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; + LAYER met1 ; RECT 0.00000000 3.09000000 7.20000000 3.57000000 ; END END VDD PIN GND DIRECTION INOUT ; - USE SIGNAL ; + USE POWER ; SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; + LAYER met1 ; RECT 0.00000000 -0.24000000 7.20000000 0.24000000 ; END END GND @@ -32,14 +33,14 @@ SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; - RECT 5.13500000 0.80000000 5.42500000 1.09000000 ; - RECT 0.81500000 2.15000000 1.10500000 2.22500000 ; - RECT 5.21000000 1.09000000 5.35000000 2.22500000 ; - RECT 6.09500000 2.15000000 6.38500000 2.22500000 ; - RECT 0.81500000 2.22500000 6.38500000 2.36500000 ; - RECT 0.81500000 2.36500000 1.10500000 2.44000000 ; - RECT 6.09500000 2.36500000 6.38500000 2.44000000 ; + LAYER met1 ; + RECT 5.13500000 0.84500000 5.42500000 1.13500000 ; + RECT 0.81500000 2.19500000 1.10500000 2.27000000 ; + RECT 5.21000000 1.13500000 5.35000000 2.27000000 ; + RECT 6.09500000 2.19500000 6.38500000 2.27000000 ; + RECT 0.81500000 2.27000000 6.38500000 2.41000000 ; + RECT 0.81500000 2.41000000 1.10500000 2.48500000 ; + RECT 6.09500000 2.41000000 6.38500000 2.48500000 ; END END Y @@ -49,51 +50,144 @@ SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; - RECT 1.29500000 0.80000000 1.58500000 1.09000000 ; - RECT 1.37000000 1.09000000 1.51000000 1.74500000 ; - RECT 1.29500000 1.74500000 1.58500000 2.03500000 ; + LAYER met1 ; + RECT 1.29500000 0.84500000 1.58500000 1.13500000 ; + RECT 1.37000000 1.13500000 1.51000000 1.78000000 ; + RECT 1.29500000 1.78000000 1.58500000 2.07000000 ; END END B - PIN D - DIRECTION INOUT ; - USE SIGNAL ; - SHAPE ABUTMENT ; - PORT - CLASS CORE ; - LAYER metal2 ; - RECT 5.61500000 0.80000000 5.90500000 1.09000000 ; - RECT 5.69000000 1.09000000 5.83000000 1.74500000 ; - RECT 5.61500000 1.74500000 5.90500000 2.03500000 ; - END - END D - PIN C DIRECTION INOUT ; USE SIGNAL ; SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; - RECT 4.17500000 0.80000000 4.46500000 1.09000000 ; - RECT 4.25000000 1.09000000 4.39000000 1.74500000 ; - RECT 4.17500000 1.74500000 4.46500000 2.03500000 ; + LAYER met1 ; + RECT 4.17500000 0.84500000 4.46500000 1.13500000 ; + RECT 4.25000000 1.13500000 4.39000000 1.78000000 ; + RECT 4.17500000 1.78000000 4.46500000 2.07000000 ; END END C + PIN D + DIRECTION INOUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + CLASS CORE ; + LAYER met1 ; + RECT 5.61500000 0.84500000 5.90500000 1.13500000 ; + RECT 5.69000000 1.13500000 5.83000000 1.78000000 ; + RECT 5.61500000 1.78000000 5.90500000 2.07000000 ; + END + END D + PIN A DIRECTION INOUT ; USE SIGNAL ; SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; - RECT 2.73500000 0.80000000 3.02500000 1.09000000 ; - RECT 2.81000000 1.09000000 2.95000000 1.74500000 ; - RECT 2.73500000 1.74500000 3.02500000 2.03500000 ; + LAYER met1 ; + RECT 2.73500000 0.84500000 3.02500000 1.13500000 ; + RECT 2.81000000 1.13500000 2.95000000 1.78000000 ; + RECT 2.73500000 1.78000000 3.02500000 2.07000000 ; END END A + OBS + LAYER polycont ; + RECT 1.35500000 0.90500000 1.52500000 1.07500000 ; + RECT 2.79500000 0.90500000 2.96500000 1.07500000 ; + RECT 4.23500000 0.90500000 4.40500000 1.07500000 ; + RECT 5.67500000 0.90500000 5.84500000 1.07500000 ; + RECT 1.35500000 1.84000000 1.52500000 2.01000000 ; + RECT 2.79500000 1.84000000 2.96500000 2.01000000 ; + RECT 4.23500000 1.84000000 4.40500000 2.01000000 ; + RECT 5.67500000 1.84000000 5.84500000 2.01000000 ; + LAYER pdiffc ; + RECT 0.87500000 2.25500000 1.04500000 2.42500000 ; + RECT 6.15500000 2.25500000 6.32500000 2.42500000 ; + RECT 3.27500000 2.84000000 3.44500000 3.01000000 ; + + LAYER ndiffc ; + RECT 1.83500000 0.32000000 2.00500000 0.49000000 ; + RECT 0.87500000 0.50000000 1.04500000 0.67000000 ; + RECT 3.27500000 0.50000000 3.44500000 0.67000000 ; + RECT 5.19500000 0.50000000 5.36500000 0.67000000 ; + RECT 6.15500000 0.50000000 6.32500000 0.67000000 ; + + LAYER li1 ; + RECT 1.83500000 0.09500000 2.00500000 0.24000000 ; + RECT 1.75500000 0.24000000 2.08500000 0.57000000 ; + RECT 0.79500000 0.42000000 1.12500000 0.75000000 ; + RECT 3.19500000 0.42000000 3.52500000 0.75000000 ; + RECT 6.07500000 0.42000000 6.40500000 0.75000000 ; + RECT 5.11500000 0.42000000 5.44500000 0.75000000 ; + RECT 5.19500000 0.75000000 5.36500000 1.07500000 ; + RECT 1.27500000 0.82500000 1.60500000 1.15500000 ; + RECT 2.71500000 0.82500000 3.04500000 1.15500000 ; + RECT 4.15500000 0.82500000 4.48500000 1.15500000 ; + RECT 5.59500000 0.82500000 5.92500000 1.15500000 ; + RECT 1.27500000 1.76000000 1.60500000 2.09000000 ; + RECT 2.71500000 1.76000000 3.04500000 2.09000000 ; + RECT 4.15500000 1.76000000 4.48500000 2.09000000 ; + RECT 5.59500000 1.76000000 5.92500000 2.09000000 ; + RECT 0.79500000 2.17500000 1.12500000 2.50500000 ; + RECT 6.07500000 2.17500000 6.40500000 2.50500000 ; + RECT 3.19500000 2.76000000 3.52500000 3.09000000 ; + + LAYER viali ; + RECT 1.83500000 0.09500000 2.00500000 0.26500000 ; + RECT 0.87500000 0.50000000 1.04500000 0.67000000 ; + RECT 3.27500000 0.50000000 3.44500000 0.67000000 ; + RECT 6.15500000 0.50000000 6.32500000 0.67000000 ; + RECT 1.35500000 0.90500000 1.52500000 1.07500000 ; + RECT 2.79500000 0.90500000 2.96500000 1.07500000 ; + RECT 4.23500000 0.90500000 4.40500000 1.07500000 ; + RECT 5.19500000 0.90500000 5.36500000 1.07500000 ; + RECT 5.67500000 0.90500000 5.84500000 1.07500000 ; + RECT 1.35500000 1.84000000 1.52500000 2.01000000 ; + RECT 2.79500000 1.84000000 2.96500000 2.01000000 ; + RECT 4.23500000 1.84000000 4.40500000 2.01000000 ; + RECT 5.67500000 1.84000000 5.84500000 2.01000000 ; + RECT 0.87500000 2.25500000 1.04500000 2.42500000 ; + RECT 6.15500000 2.25500000 6.32500000 2.42500000 ; + RECT 3.27500000 2.84000000 3.44500000 3.01000000 ; + + LAYER met1 ; + RECT 0.00000000 -0.24000000 7.20000000 0.24000000 ; + RECT 1.77500000 0.24000000 2.06500000 0.32500000 ; + RECT 0.81500000 0.44000000 1.10500000 0.51500000 ; + RECT 3.21500000 0.44000000 3.50500000 0.51500000 ; + RECT 6.09500000 0.44000000 6.38500000 0.51500000 ; + RECT 0.81500000 0.51500000 6.38500000 0.65500000 ; + RECT 0.81500000 0.65500000 1.10500000 0.73000000 ; + RECT 3.21500000 0.65500000 3.50500000 0.73000000 ; + RECT 6.09500000 0.65500000 6.38500000 0.73000000 ; + RECT 1.29500000 0.84500000 1.58500000 1.13500000 ; + RECT 1.37000000 1.13500000 1.51000000 1.78000000 ; + RECT 1.29500000 1.78000000 1.58500000 2.07000000 ; + RECT 2.73500000 0.84500000 3.02500000 1.13500000 ; + RECT 2.81000000 1.13500000 2.95000000 1.78000000 ; + RECT 2.73500000 1.78000000 3.02500000 2.07000000 ; + RECT 4.17500000 0.84500000 4.46500000 1.13500000 ; + RECT 4.25000000 1.13500000 4.39000000 1.78000000 ; + RECT 4.17500000 1.78000000 4.46500000 2.07000000 ; + RECT 5.61500000 0.84500000 5.90500000 1.13500000 ; + RECT 5.69000000 1.13500000 5.83000000 1.78000000 ; + RECT 5.61500000 1.78000000 5.90500000 2.07000000 ; + RECT 5.13500000 0.84500000 5.42500000 1.13500000 ; + RECT 0.81500000 2.19500000 1.10500000 2.27000000 ; + RECT 5.21000000 1.13500000 5.35000000 2.27000000 ; + RECT 6.09500000 2.19500000 6.38500000 2.27000000 ; + RECT 0.81500000 2.27000000 6.38500000 2.41000000 ; + RECT 0.81500000 2.41000000 1.10500000 2.48500000 ; + RECT 6.09500000 2.41000000 6.38500000 2.48500000 ; + RECT 3.21500000 2.78000000 3.50500000 3.09000000 ; + RECT 0.00000000 3.09000000 7.20000000 3.57000000 ; + + END END OAI22X1
diff --git a/cells/lef/orig/OR2X1.lef b/cells/lef/orig/OR2X1.lef index 133efee..6c4ccf3 100644 --- a/cells/lef/orig/OR2X1.lef +++ b/cells/lef/orig/OR2X1.lef
@@ -1,27 +1,28 @@ MACRO OR2X1 CLASS CORE ; FOREIGN OR2X1 0 0 ; + SIZE 5.76 BY 3.33 ; ORIGIN 0 0 ; SYMMETRY X Y R90 ; - SITE CORE ; + SITE unit ; PIN VDD DIRECTION INOUT ; - USE SIGNAL ; + USE POWER ; SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; + LAYER met1 ; RECT 0.00000000 3.09000000 5.76000000 3.57000000 ; END END VDD PIN GND DIRECTION INOUT ; - USE SIGNAL ; + USE POWER ; SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; + LAYER met1 ; RECT 0.00000000 -0.24000000 5.76000000 0.24000000 ; END END GND @@ -32,36 +33,115 @@ SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; - RECT 4.65500000 0.39500000 4.94500000 0.68500000 ; - RECT 4.73000000 0.68500000 4.87000000 2.15000000 ; - RECT 4.65500000 2.15000000 4.94500000 2.44000000 ; + LAYER met1 ; + RECT 4.65500000 0.44000000 4.94500000 0.73000000 ; + RECT 4.73000000 0.73000000 4.87000000 2.19500000 ; + RECT 4.65500000 2.19500000 4.94500000 2.48500000 ; END END Y - PIN B - DIRECTION INOUT ; - USE SIGNAL ; - SHAPE ABUTMENT ; - PORT - CLASS CORE ; - LAYER metal2 ; - RECT 2.73500000 1.74500000 3.02500000 2.03500000 ; - END - END B - PIN A DIRECTION INOUT ; USE SIGNAL ; SHAPE ABUTMENT ; PORT CLASS CORE ; - LAYER metal2 ; - RECT 1.29500000 0.80000000 1.58500000 1.09000000 ; - RECT 1.37000000 1.09000000 1.51000000 1.74500000 ; - RECT 1.29500000 1.74500000 1.58500000 2.03500000 ; + LAYER met1 ; + RECT 1.29500000 1.25000000 1.58500000 1.54000000 ; + RECT 1.37000000 1.54000000 1.51000000 1.78000000 ; + RECT 1.29500000 1.78000000 1.58500000 2.07000000 ; END END A + PIN B + DIRECTION INOUT ; + USE SIGNAL ; + SHAPE ABUTMENT ; + PORT + CLASS CORE ; + LAYER met1 ; + RECT 2.73500000 1.25000000 3.02500000 1.54000000 ; + RECT 2.81000000 1.54000000 2.95000000 1.78000000 ; + RECT 2.73500000 1.78000000 3.02500000 2.07000000 ; + END + END B + OBS + LAYER polycont ; + RECT 1.35500000 0.90500000 1.52500000 1.07500000 ; + RECT 2.79500000 0.90500000 2.96500000 1.07500000 ; + RECT 4.23500000 0.90500000 4.40500000 1.07500000 ; + RECT 1.35500000 1.84000000 1.52500000 2.01000000 ; + RECT 2.79500000 1.84000000 2.96500000 2.01000000 ; + RECT 4.23500000 1.84000000 4.40500000 2.01000000 ; + + LAYER pdiffc ; + RECT 0.87500000 2.25500000 1.04500000 2.42500000 ; + RECT 4.71500000 2.25500000 4.88500000 2.42500000 ; + RECT 3.27500000 2.84000000 3.44500000 3.01000000 ; + + LAYER ndiffc ; + RECT 0.63500000 0.32000000 0.80500000 0.49000000 ; + RECT 3.27500000 0.32000000 3.44500000 0.49000000 ; + RECT 2.31500000 0.50000000 2.48500000 0.67000000 ; + RECT 4.71500000 0.50000000 4.88500000 0.67000000 ; + + LAYER li1 ; + RECT 0.55500000 0.24000000 0.88500000 0.57000000 ; + RECT 3.19500000 0.24000000 3.52500000 0.57000000 ; + RECT 2.23500000 0.42000000 2.56500000 0.75000000 ; + RECT 4.63500000 0.42000000 4.96500000 0.75000000 ; + RECT 4.15500000 0.82500000 4.48500000 1.15500000 ; + RECT 1.27500000 0.82500000 1.60500000 1.15500000 ; + RECT 1.35500000 1.15500000 1.52500000 1.48000000 ; + RECT 2.71500000 0.82500000 3.04500000 1.15500000 ; + RECT 2.79500000 1.15500000 2.96500000 1.48000000 ; + RECT 1.27500000 1.76000000 1.60500000 2.09000000 ; + RECT 2.71500000 1.76000000 3.04500000 2.09000000 ; + RECT 4.15500000 1.76000000 4.48500000 2.09000000 ; + RECT 0.79500000 2.17500000 1.12500000 2.50500000 ; + RECT 4.63500000 2.17500000 4.96500000 2.50500000 ; + RECT 3.19500000 2.76000000 3.52500000 3.09000000 ; + + LAYER viali ; + RECT 0.63500000 0.32000000 0.80500000 0.49000000 ; + RECT 3.27500000 0.32000000 3.44500000 0.49000000 ; + RECT 2.31500000 0.50000000 2.48500000 0.67000000 ; + RECT 4.71500000 0.50000000 4.88500000 0.67000000 ; + RECT 4.23500000 0.90500000 4.40500000 1.07500000 ; + RECT 1.35500000 1.31000000 1.52500000 1.48000000 ; + RECT 2.79500000 1.31000000 2.96500000 1.48000000 ; + RECT 1.35500000 1.84000000 1.52500000 2.01000000 ; + RECT 2.79500000 1.84000000 2.96500000 2.01000000 ; + RECT 4.23500000 1.84000000 4.40500000 2.01000000 ; + RECT 0.87500000 2.25500000 1.04500000 2.42500000 ; + RECT 4.71500000 2.25500000 4.88500000 2.42500000 ; + RECT 3.27500000 2.84000000 3.44500000 3.01000000 ; + + LAYER met1 ; + RECT 0.00000000 -0.24000000 5.76000000 0.24000000 ; + RECT 0.57500000 0.24000000 0.86500000 0.55000000 ; + RECT 3.21500000 0.24000000 3.50500000 0.55000000 ; + RECT 1.29500000 1.25000000 1.58500000 1.54000000 ; + RECT 1.37000000 1.54000000 1.51000000 1.78000000 ; + RECT 1.29500000 1.78000000 1.58500000 2.07000000 ; + RECT 2.73500000 1.25000000 3.02500000 1.54000000 ; + RECT 2.81000000 1.54000000 2.95000000 1.78000000 ; + RECT 2.73500000 1.78000000 3.02500000 2.07000000 ; + RECT 2.25500000 0.44000000 2.54500000 0.73000000 ; + RECT 2.33000000 0.73000000 2.47000000 0.92000000 ; + RECT 4.17500000 0.84500000 4.46500000 0.92000000 ; + RECT 0.89000000 0.92000000 4.46500000 1.06000000 ; + RECT 4.17500000 1.06000000 4.46500000 1.13500000 ; + RECT 4.25000000 1.13500000 4.39000000 1.78000000 ; + RECT 4.17500000 1.78000000 4.46500000 2.07000000 ; + RECT 0.89000000 1.06000000 1.03000000 2.19500000 ; + RECT 0.81500000 2.19500000 1.10500000 2.48500000 ; + RECT 4.65500000 0.44000000 4.94500000 0.73000000 ; + RECT 4.73000000 0.73000000 4.87000000 2.19500000 ; + RECT 4.65500000 2.19500000 4.94500000 2.48500000 ; + RECT 3.21500000 2.78000000 3.50500000 3.09000000 ; + RECT 0.00000000 3.09000000 5.76000000 3.57000000 ; + + END END OR2X1
diff --git a/cells/lef/orig/XNOR2X1.lef b/cells/lef/orig/XNOR2X1.lef deleted file mode 100644 index 9e38b57..0000000 --- a/cells/lef/orig/XNOR2X1.lef +++ /dev/null
@@ -1,79 +0,0 @@ -MACRO XNOR2X1 - CLASS CORE ; - FOREIGN XNOR2X1 0 0 ; - ORIGIN 0 0 ; - SYMMETRY X Y R90 ; - SITE CORE ; - PIN VDD - DIRECTION INOUT ; - USE SIGNAL ; - SHAPE ABUTMENT ; - PORT - CLASS CORE ; - LAYER metal2 ; - RECT 0.00000000 3.09000000 10.08000000 3.57000000 ; - END - END VDD - - PIN GND - DIRECTION INOUT ; - USE SIGNAL ; - SHAPE ABUTMENT ; - PORT - CLASS CORE ; - LAYER metal2 ; - RECT 0.00000000 -0.24000000 10.08000000 0.24000000 ; - END - END GND - - PIN Y - DIRECTION INOUT ; - USE SIGNAL ; - SHAPE ABUTMENT ; - PORT - CLASS CORE ; - LAYER metal2 ; - RECT 4.65500000 1.74500000 4.94500000 2.03500000 ; - RECT 4.73000000 2.03500000 4.87000000 2.15000000 ; - RECT 4.65500000 2.15000000 4.94500000 2.44000000 ; - END - END Y - - PIN A - DIRECTION INOUT ; - USE SIGNAL ; - SHAPE ABUTMENT ; - PORT - CLASS CORE ; - LAYER metal2 ; - RECT 3.69500000 0.39500000 3.98500000 0.47000000 ; - RECT 5.61500000 0.39500000 5.90500000 0.47000000 ; - RECT 3.69500000 0.47000000 8.71000000 0.61000000 ; - RECT 3.69500000 0.61000000 3.98500000 0.68500000 ; - RECT 5.61500000 0.61000000 5.90500000 0.68500000 ; - RECT 8.57000000 0.61000000 8.71000000 0.80000000 ; - RECT 8.49500000 0.80000000 8.78500000 1.09000000 ; - RECT 8.57000000 1.09000000 8.71000000 1.74500000 ; - RECT 8.49500000 1.74500000 8.78500000 2.03500000 ; - END - END A - - PIN B - DIRECTION INOUT ; - USE SIGNAL ; - SHAPE ABUTMENT ; - PORT - CLASS CORE ; - LAYER metal2 ; - RECT 1.29500000 1.20500000 1.58500000 1.49500000 ; - RECT 1.37000000 1.49500000 1.51000000 1.74500000 ; - RECT 1.29500000 1.74500000 1.58500000 1.82000000 ; - RECT 2.73500000 1.74500000 3.02500000 1.82000000 ; - RECT 1.29500000 1.82000000 3.02500000 1.96000000 ; - RECT 1.29500000 1.96000000 1.58500000 2.03500000 ; - RECT 2.73500000 1.96000000 3.02500000 2.03500000 ; - END - END B - - -END XNOR2X1
diff --git a/cells/lib/AND2X1.lib b/cells/lib/AND2X1.lib index 551d7c1..9703219 100644 --- a/cells/lib/AND2X1.lib +++ b/cells/lib/AND2X1.lib
@@ -1,266 +1,59 @@ library (ls05_stdcells) { - capacitive_load_unit (1.0, pf); - current_unit: "1uA"; - default_operating_conditions: typical; delay_model: table_lookup; in_place_swap_mode: match_footprint; - input_threshold_pct_fall: 50.0; - input_threshold_pct_rise: 50.0; - leakage_power_unit: "1nW"; - nom_process: 1.0; - nom_temperature: 25.0; - nom_voltage: 5.0; - output_threshold_pct_fall: 50.0; - output_threshold_pct_rise: 50.0; - pulling_resistance_unit: "1kohm"; - slew_lower_threshold_pct_fall: 20.0; - slew_lower_threshold_pct_rise: 20.0; - slew_upper_threshold_pct_fall: 80.0; - slew_upper_threshold_pct_rise: 80.0; time_unit: "1ns"; voltage_unit: "1V"; + current_unit: "1uA"; + pulling_resistance_unit: "1kohm"; + leakage_power_unit: "1nW"; + capacitive_load_unit (1.0, pf); + slew_upper_threshold_pct_rise: 80.0; + slew_lower_threshold_pct_rise: 20.0; + slew_upper_threshold_pct_fall: 80.0; + slew_lower_threshold_pct_fall: 20.0; + input_threshold_pct_rise: 50.0; + input_threshold_pct_fall: 50.0; + output_threshold_pct_rise: 50.0; + output_threshold_pct_fall: 50.0; + nom_process: 1.0; + nom_voltage: 5.0; + nom_temperature: 25.0; + default_operating_conditions: typical; operating_conditions (typical) { process: 1.0; - temperature: 25.0; voltage: 5.0; - } - lu_table_template (delay_template_5x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: input_net_transition; + temperature: 25.0; } lu_table_template (delay_template_5x5) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); variable_1: total_output_net_capacitance; variable_2: input_net_transition; - } - lu_table_template (delay_template_5x6) { index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" + "1000.000000, 1001.000000, 1002.000000, 1003.000000, 1004.000000" ); index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" + "1000.000000, 1001.000000, 1002.000000, 1003.000000, 1004.000000" ); - variable_1: total_output_net_capacitance; - variable_2: input_net_transition; - } - lu_table_template (delay_template_6x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: input_net_transition; - } - lu_table_template (delay_template_6x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_net_transition; - } - power_lut_template (energy_template_5x5) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_transition_time; - } - power_lut_template (energy_template_5x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_transition_time; - } - power_lut_template (energy_template_6x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_transition_time; - } - lu_table_template (hold_template_3x5) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (hold_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - power_lut_template (passive_energy_template_5x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: input_transition_time; - } - power_lut_template (passive_energy_template_6x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: input_transition_time; - } - lu_table_template (recovery_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (recovery_template_6x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (removal_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (setup_template_3x5) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (setup_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; } cell (AND2X1) { area: 219456.0; cell_leakage_power: 0.1173; pin (B) { - capacitance: 0.006376640566539888; direction: input; - fall_capacitance: 0.007817866144461614; - rise_capacitance: 0.004935414988618162; + rise_capacitance: 0.004935475891367477; + fall_capacitance: 0.007858406695085389; + capacitance: 0.006396941293226433; } pin (A) { - capacitance: 0.004934912141017381; direction: input; - fall_capacitance: 0.005718976233108118; - rise_capacitance: 0.004150848048926644; + rise_capacitance: 0.004150891096654475; + fall_capacitance: 0.005776428708787616; + capacitance: 0.004963659902721045; } pin (Y) { direction: output; + function: "(B&A)"; function: "(A & B)"; timing () { - related_pin: "B"; - timing_sense: positive_unate; - cell_rise (delay_template_5x5) { - index_1 ( - "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" - ); - index_2 ( - "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" - ); - values ( - "-0.002948, 0.031940, 0.041541, 0.057971, 0.167270", \ - "0.046740, 0.066340, 0.080659, 0.100026, 0.234969", \ - "0.087186, 0.100322, 0.115691, 0.131365, 0.287516", \ - "0.172387, 0.177799, 0.194182, 0.207143, 0.391362", \ - "0.875090, 0.868452, 0.882814, 0.885407, 1.014582" - ); - } - cell_fall (delay_template_5x5) { - index_1 ( - "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" - ); - index_2 ( - "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" - ); - values ( - "0.018337, 0.021491, 0.024061, 0.022400, -0.034178", \ - "0.057356, 0.058976, 0.061060, 0.061598, 0.018699", \ - "0.101068, 0.100276, 0.099697, 0.099202, 0.056903", \ - "0.189356, 0.187013, 0.183889, 0.178499, 0.123050", \ - "0.904340, 0.900488, 0.894961, 0.882939, 0.736675" - ); - } - rise_transition (delay_template_5x5) { - index_1 ( - "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" - ); - index_2 ( - "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" - ); - values ( - "0.023782, 0.069362, 0.036426, 0.060782, 0.451813", \ - "0.082213, 0.120065, 0.087665, 0.099865, 0.447412", \ - "0.148581, 0.153464, 0.150834, 0.158504, 0.456107", \ - "0.288739, 0.289793, 0.288655, 0.291280, 0.521942", \ - "1.420537, 1.420621, 1.420499, 1.420615, 1.490972" - ); - } - fall_transition (delay_template_5x5) { - index_1 ( - "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" - ); - index_2 ( - "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" - ); - values ( - "0.020393, 0.034829, 0.056096, 0.100019, 0.517345", \ - "0.095190, 0.099481, 0.112772, 0.142410, 0.561271", \ - "0.177215, 0.179045, 0.186734, 0.209104, 0.606400", \ - "0.348536, 0.348577, 0.350362, 0.361641, 0.706589", \ - "1.724982, 1.724975, 1.726148, 1.725949, 1.797117" - ); - } - } - timing () { related_pin: "A"; timing_sense: positive_unate; cell_rise (delay_template_5x5) { @@ -271,11 +64,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "-0.003054, 0.030756, 0.036895, 0.053450, 0.189178", \ - "0.048196, 0.064408, 0.074956, 0.091763, 0.252273", \ - "0.087882, 0.098714, 0.108728, 0.124797, 0.301834", \ - "0.172911, 0.177390, 0.184992, 0.194729, 0.394941", \ - "0.874950, 0.870127, 0.872743, 0.868968, 0.975510" + "-0.003054, 0.030498, 0.039878, 0.053343, 0.188749", \ + "0.048098, 0.064059, 0.074620, 0.093597, 0.252448", \ + "0.087865, 0.098559, 0.108152, 0.125156, 0.300811", \ + "0.172721, 0.177015, 0.184227, 0.196165, 0.394456", \ + "0.875756, 0.870760, 0.872299, 0.869455, 0.975392" ); } cell_fall (delay_template_5x5) { @@ -286,11 +79,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.015977, 0.018578, 0.018625, 0.016540, -0.078601", \ - "0.056110, 0.056571, 0.057910, 0.059432, -0.014766", \ - "0.100103, 0.098361, 0.096720, 0.097022, 0.031993", \ - "0.188179, 0.185369, 0.181269, 0.175611, 0.117769", \ - "0.903173, 0.899107, 0.892661, 0.880044, 0.755676" + "0.015977, 0.018737, 0.019304, 0.016191, -0.074696", \ + "0.056135, 0.056445, 0.057308, 0.057768, -0.014818", \ + "0.099933, 0.098214, 0.096071, 0.094474, 0.031563", \ + "0.189088, 0.185938, 0.181261, 0.173387, 0.117548", \ + "0.905025, 0.900630, 0.893784, 0.878306, 0.755396" ); } rise_transition (delay_template_5x5) { @@ -301,11 +94,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.026432, 0.041227, 0.045227, 0.082731, 0.591445", \ - "0.081271, 0.098565, 0.094743, 0.114263, 0.587890", \ - "0.150173, 0.152420, 0.156118, 0.171333, 0.591808", \ - "0.288387, 0.289298, 0.289941, 0.296010, 0.641073", \ - "1.420770, 1.420848, 1.420544, 1.420583, 1.523188" + "0.026432, 0.038218, 0.045398, 0.077143, 0.593792", \ + "0.080791, 0.094490, 0.092269, 0.111832, 0.588352", \ + "0.147163, 0.151582, 0.153943, 0.167618, 0.594475", \ + "0.287657, 0.288087, 0.288559, 0.294676, 0.639075", \ + "1.420873, 1.420869, 1.420872, 1.420876, 1.523193" ); } fall_transition (delay_template_5x5) { @@ -316,11 +109,75 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.017097, 0.032096, 0.052471, 0.097966, 0.610977", \ - "0.094380, 0.097484, 0.111245, 0.144180, 0.624946", \ - "0.178566, 0.178965, 0.185471, 0.210040, 0.674274", \ - "0.348822, 0.348770, 0.350494, 0.361953, 0.778001", \ - "1.726209, 1.725209, 1.724995, 1.725568, 1.841959" + "0.017097, 0.032947, 0.054213, 0.094807, 0.609971", \ + "0.091168, 0.096623, 0.108594, 0.140442, 0.624323", \ + "0.176540, 0.177904, 0.183856, 0.205552, 0.674111", \ + "0.348626, 0.348716, 0.349898, 0.359158, 0.778703", \ + "1.726993, 1.726969, 1.726997, 1.726970, 1.840952" + ); + } + } + timing () { + related_pin: "B"; + timing_sense: positive_unate; + cell_rise (delay_template_5x5) { + index_1 ( + "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" + ); + index_2 ( + "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" + ); + values ( + "-0.002948, 0.031842, 0.043871, 0.058431, 0.170628", \ + "0.046736, 0.065667, 0.079697, 0.098261, 0.233471", \ + "0.087052, 0.099648, 0.114524, 0.132001, 0.286132", \ + "0.172376, 0.177352, 0.192051, 0.206645, 0.390972", \ + "0.875894, 0.869785, 0.881810, 0.887018, 1.014535" + ); + } + cell_fall (delay_template_5x5) { + index_1 ( + "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" + ); + index_2 ( + "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" + ); + values ( + "0.018316, 0.021069, 0.023194, 0.023536, -0.031337", \ + "0.058079, 0.058865, 0.060249, 0.060930, 0.021381", \ + "0.101524, 0.100223, 0.098824, 0.096634, 0.056583", \ + "0.190472, 0.187661, 0.183754, 0.176080, 0.122194", \ + "0.906272, 0.902147, 0.895946, 0.881308, 0.736220" + ); + } + rise_transition (delay_template_5x5) { + index_1 ( + "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" + ); + index_2 ( + "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" + ); + values ( + "0.023782, 0.069151, 0.034982, 0.054052, 0.449913", \ + "0.080000, 0.118312, 0.085490, 0.095978, 0.447397", \ + "0.146991, 0.152360, 0.150326, 0.156871, 0.457664", \ + "0.287629, 0.288180, 0.288056, 0.290376, 0.519847", \ + "1.420875, 1.420869, 1.420872, 1.420868, 1.491447" + ); + } + fall_transition (delay_template_5x5) { + index_1 ( + "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" + ); + index_2 ( + "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" + ); + values ( + "0.020252, 0.035538, 0.056873, 0.095129, 0.521070", \ + "0.091909, 0.097885, 0.110175, 0.140770, 0.556828", \ + "0.176533, 0.178340, 0.184385, 0.205074, 0.605254", \ + "0.348727, 0.348732, 0.349910, 0.357567, 0.705589", \ + "1.727017, 1.726977, 1.726979, 1.727007, 1.795626" ); } }
diff --git a/cells/lib/AND2X2.lib b/cells/lib/AND2X2.lib index 612665a..7e2fe1f 100644 --- a/cells/lib/AND2X2.lib +++ b/cells/lib/AND2X2.lib
@@ -1,266 +1,59 @@ library (ls05_stdcells) { - capacitive_load_unit (1.0, pf); - current_unit: "1uA"; - default_operating_conditions: typical; delay_model: table_lookup; in_place_swap_mode: match_footprint; - input_threshold_pct_fall: 50.0; - input_threshold_pct_rise: 50.0; - leakage_power_unit: "1nW"; - nom_process: 1.0; - nom_temperature: 25.0; - nom_voltage: 5.0; - output_threshold_pct_fall: 50.0; - output_threshold_pct_rise: 50.0; - pulling_resistance_unit: "1kohm"; - slew_lower_threshold_pct_fall: 20.0; - slew_lower_threshold_pct_rise: 20.0; - slew_upper_threshold_pct_fall: 80.0; - slew_upper_threshold_pct_rise: 80.0; time_unit: "1ns"; voltage_unit: "1V"; + current_unit: "1uA"; + pulling_resistance_unit: "1kohm"; + leakage_power_unit: "1nW"; + capacitive_load_unit (1.0, pf); + slew_upper_threshold_pct_rise: 80.0; + slew_lower_threshold_pct_rise: 20.0; + slew_upper_threshold_pct_fall: 80.0; + slew_lower_threshold_pct_fall: 20.0; + input_threshold_pct_rise: 50.0; + input_threshold_pct_fall: 50.0; + output_threshold_pct_rise: 50.0; + output_threshold_pct_fall: 50.0; + nom_process: 1.0; + nom_voltage: 5.0; + nom_temperature: 25.0; + default_operating_conditions: typical; operating_conditions (typical) { process: 1.0; - temperature: 25.0; voltage: 5.0; - } - lu_table_template (delay_template_5x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: input_net_transition; + temperature: 25.0; } lu_table_template (delay_template_5x5) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); variable_1: total_output_net_capacitance; variable_2: input_net_transition; - } - lu_table_template (delay_template_5x6) { index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" + "1000.000000, 1001.000000, 1002.000000, 1003.000000, 1004.000000" ); index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" + "1000.000000, 1001.000000, 1002.000000, 1003.000000, 1004.000000" ); - variable_1: total_output_net_capacitance; - variable_2: input_net_transition; - } - lu_table_template (delay_template_6x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: input_net_transition; - } - lu_table_template (delay_template_6x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_net_transition; - } - power_lut_template (energy_template_5x5) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_transition_time; - } - power_lut_template (energy_template_5x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_transition_time; - } - power_lut_template (energy_template_6x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_transition_time; - } - lu_table_template (hold_template_3x5) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (hold_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - power_lut_template (passive_energy_template_5x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: input_transition_time; - } - power_lut_template (passive_energy_template_6x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: input_transition_time; - } - lu_table_template (recovery_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (recovery_template_6x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (removal_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (setup_template_3x5) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (setup_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; } cell (AND2X2) { area: 219456.0; cell_leakage_power: 0.1173; pin (B) { - capacitance: 0.006376640566539888; direction: input; - fall_capacitance: 0.007817866144461614; - rise_capacitance: 0.004935414988618162; + rise_capacitance: 0.004935475891367477; + fall_capacitance: 0.007858406695085389; + capacitance: 0.006396941293226433; } pin (A) { - capacitance: 0.004934912141017381; direction: input; - fall_capacitance: 0.005718976233108118; - rise_capacitance: 0.004150848048926644; + rise_capacitance: 0.004150891096654475; + fall_capacitance: 0.005776428708787616; + capacitance: 0.004963659902721045; } pin (Y) { direction: output; + function: "(B&A)"; function: "(A & B)"; timing () { - related_pin: "B"; - timing_sense: positive_unate; - cell_rise (delay_template_5x5) { - index_1 ( - "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" - ); - index_2 ( - "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" - ); - values ( - "-0.002948, 0.031940, 0.041541, 0.057971, 0.167270", \ - "0.046740, 0.066340, 0.080659, 0.100026, 0.234969", \ - "0.087186, 0.100322, 0.115691, 0.131365, 0.287516", \ - "0.172387, 0.177799, 0.194182, 0.207143, 0.391362", \ - "0.875090, 0.868452, 0.882814, 0.885407, 1.014582" - ); - } - cell_fall (delay_template_5x5) { - index_1 ( - "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" - ); - index_2 ( - "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" - ); - values ( - "0.018337, 0.021491, 0.024061, 0.022400, -0.034178", \ - "0.057356, 0.058976, 0.061060, 0.061598, 0.018699", \ - "0.101068, 0.100276, 0.099697, 0.099202, 0.056903", \ - "0.189356, 0.187013, 0.183889, 0.178499, 0.123050", \ - "0.904340, 0.900488, 0.894961, 0.882939, 0.736675" - ); - } - rise_transition (delay_template_5x5) { - index_1 ( - "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" - ); - index_2 ( - "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" - ); - values ( - "0.023782, 0.069362, 0.036426, 0.060782, 0.451813", \ - "0.082213, 0.120065, 0.087665, 0.099865, 0.447412", \ - "0.148581, 0.153464, 0.150834, 0.158504, 0.456107", \ - "0.288739, 0.289793, 0.288655, 0.291280, 0.521942", \ - "1.420537, 1.420621, 1.420499, 1.420615, 1.490972" - ); - } - fall_transition (delay_template_5x5) { - index_1 ( - "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" - ); - index_2 ( - "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" - ); - values ( - "0.020393, 0.034829, 0.056096, 0.100019, 0.517345", \ - "0.095190, 0.099481, 0.112772, 0.142410, 0.561271", \ - "0.177215, 0.179045, 0.186734, 0.209104, 0.606400", \ - "0.348536, 0.348577, 0.350362, 0.361641, 0.706589", \ - "1.724982, 1.724975, 1.726148, 1.725949, 1.797117" - ); - } - } - timing () { related_pin: "A"; timing_sense: positive_unate; cell_rise (delay_template_5x5) { @@ -271,11 +64,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "-0.003054, 0.030756, 0.036895, 0.053450, 0.189178", \ - "0.048196, 0.064408, 0.074956, 0.091763, 0.252273", \ - "0.087882, 0.098714, 0.108728, 0.124797, 0.301834", \ - "0.172911, 0.177390, 0.184992, 0.194729, 0.394941", \ - "0.874950, 0.870127, 0.872743, 0.868968, 0.975510" + "-0.003054, 0.030498, 0.039878, 0.053343, 0.188749", \ + "0.048098, 0.064059, 0.074620, 0.093597, 0.252448", \ + "0.087865, 0.098559, 0.108152, 0.125156, 0.300811", \ + "0.172721, 0.177015, 0.184227, 0.196165, 0.394456", \ + "0.875756, 0.870760, 0.872299, 0.869455, 0.975392" ); } cell_fall (delay_template_5x5) { @@ -286,11 +79,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.015977, 0.018578, 0.018625, 0.016540, -0.078601", \ - "0.056110, 0.056571, 0.057910, 0.059432, -0.014766", \ - "0.100103, 0.098361, 0.096720, 0.097022, 0.031993", \ - "0.188179, 0.185369, 0.181269, 0.175611, 0.117769", \ - "0.903173, 0.899107, 0.892661, 0.880044, 0.755676" + "0.015977, 0.018737, 0.019304, 0.016191, -0.074696", \ + "0.056135, 0.056445, 0.057308, 0.057768, -0.014818", \ + "0.099933, 0.098214, 0.096071, 0.094474, 0.031563", \ + "0.189088, 0.185938, 0.181261, 0.173387, 0.117548", \ + "0.905025, 0.900630, 0.893784, 0.878306, 0.755396" ); } rise_transition (delay_template_5x5) { @@ -301,11 +94,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.026432, 0.041227, 0.045227, 0.082731, 0.591445", \ - "0.081271, 0.098565, 0.094743, 0.114263, 0.587890", \ - "0.150173, 0.152420, 0.156118, 0.171333, 0.591808", \ - "0.288387, 0.289298, 0.289941, 0.296010, 0.641073", \ - "1.420770, 1.420848, 1.420544, 1.420583, 1.523188" + "0.026432, 0.038218, 0.045398, 0.077143, 0.593792", \ + "0.080791, 0.094490, 0.092269, 0.111832, 0.588352", \ + "0.147163, 0.151582, 0.153943, 0.167618, 0.594475", \ + "0.287657, 0.288087, 0.288559, 0.294676, 0.639075", \ + "1.420873, 1.420869, 1.420872, 1.420876, 1.523193" ); } fall_transition (delay_template_5x5) { @@ -316,11 +109,75 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.017097, 0.032096, 0.052471, 0.097966, 0.610977", \ - "0.094380, 0.097484, 0.111245, 0.144180, 0.624946", \ - "0.178566, 0.178965, 0.185471, 0.210040, 0.674274", \ - "0.348822, 0.348770, 0.350494, 0.361953, 0.778001", \ - "1.726209, 1.725209, 1.724995, 1.725568, 1.841959" + "0.017097, 0.032947, 0.054213, 0.094807, 0.609971", \ + "0.091168, 0.096623, 0.108594, 0.140442, 0.624323", \ + "0.176540, 0.177904, 0.183856, 0.205552, 0.674111", \ + "0.348626, 0.348716, 0.349898, 0.359158, 0.778703", \ + "1.726993, 1.726969, 1.726997, 1.726970, 1.840952" + ); + } + } + timing () { + related_pin: "B"; + timing_sense: positive_unate; + cell_rise (delay_template_5x5) { + index_1 ( + "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" + ); + index_2 ( + "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" + ); + values ( + "-0.002948, 0.031842, 0.043871, 0.058431, 0.170628", \ + "0.046736, 0.065667, 0.079697, 0.098261, 0.233471", \ + "0.087052, 0.099648, 0.114524, 0.132001, 0.286132", \ + "0.172376, 0.177352, 0.192051, 0.206645, 0.390972", \ + "0.875894, 0.869785, 0.881810, 0.887018, 1.014535" + ); + } + cell_fall (delay_template_5x5) { + index_1 ( + "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" + ); + index_2 ( + "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" + ); + values ( + "0.018316, 0.021069, 0.023194, 0.023536, -0.031337", \ + "0.058079, 0.058865, 0.060249, 0.060930, 0.021381", \ + "0.101524, 0.100223, 0.098824, 0.096634, 0.056583", \ + "0.190472, 0.187661, 0.183754, 0.176080, 0.122194", \ + "0.906272, 0.902147, 0.895946, 0.881308, 0.736220" + ); + } + rise_transition (delay_template_5x5) { + index_1 ( + "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" + ); + index_2 ( + "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" + ); + values ( + "0.023782, 0.069151, 0.034982, 0.054052, 0.449913", \ + "0.080000, 0.118312, 0.085490, 0.095978, 0.447397", \ + "0.146991, 0.152360, 0.150326, 0.156871, 0.457664", \ + "0.287629, 0.288180, 0.288056, 0.290376, 0.519847", \ + "1.420875, 1.420869, 1.420872, 1.420868, 1.491447" + ); + } + fall_transition (delay_template_5x5) { + index_1 ( + "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" + ); + index_2 ( + "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" + ); + values ( + "0.020252, 0.035538, 0.056873, 0.095129, 0.521070", \ + "0.091909, 0.097885, 0.110175, 0.140770, 0.556828", \ + "0.176533, 0.178340, 0.184385, 0.205074, 0.605254", \ + "0.348727, 0.348732, 0.349910, 0.357567, 0.705589", \ + "1.727017, 1.726977, 1.726979, 1.727007, 1.795626" ); } }
diff --git a/cells/lib/AOI21X1.lib b/cells/lib/AOI21X1.lib index bef30a7..b11e8e6 100644 --- a/cells/lib/AOI21X1.lib +++ b/cells/lib/AOI21X1.lib
@@ -1,209 +1,66 @@ library (ls05_stdcells) { - capacitive_load_unit (1.0, pf); - current_unit: "1uA"; - default_operating_conditions: typical; delay_model: table_lookup; in_place_swap_mode: match_footprint; - input_threshold_pct_fall: 50.0; - input_threshold_pct_rise: 50.0; - leakage_power_unit: "1nW"; - nom_process: 1.0; - nom_temperature: 25.0; - nom_voltage: 5.0; - output_threshold_pct_fall: 50.0; - output_threshold_pct_rise: 50.0; - pulling_resistance_unit: "1kohm"; - slew_lower_threshold_pct_fall: 20.0; - slew_lower_threshold_pct_rise: 20.0; - slew_upper_threshold_pct_fall: 80.0; - slew_upper_threshold_pct_rise: 80.0; time_unit: "1ns"; voltage_unit: "1V"; + current_unit: "1uA"; + pulling_resistance_unit: "1kohm"; + leakage_power_unit: "1nW"; + capacitive_load_unit (1.0, pf); + slew_upper_threshold_pct_rise: 80.0; + slew_lower_threshold_pct_rise: 20.0; + slew_upper_threshold_pct_fall: 80.0; + slew_lower_threshold_pct_fall: 20.0; + input_threshold_pct_rise: 50.0; + input_threshold_pct_fall: 50.0; + output_threshold_pct_rise: 50.0; + output_threshold_pct_fall: 50.0; + nom_process: 1.0; + nom_voltage: 5.0; + nom_temperature: 25.0; + default_operating_conditions: typical; operating_conditions (typical) { process: 1.0; - temperature: 25.0; voltage: 5.0; - } - lu_table_template (delay_template_5x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: input_net_transition; + temperature: 25.0; } lu_table_template (delay_template_5x5) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); variable_1: total_output_net_capacitance; variable_2: input_net_transition; - } - lu_table_template (delay_template_5x6) { index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" + "1000.000000, 1001.000000, 1002.000000, 1003.000000, 1004.000000" ); index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" + "1000.000000, 1001.000000, 1002.000000, 1003.000000, 1004.000000" ); - variable_1: total_output_net_capacitance; - variable_2: input_net_transition; - } - lu_table_template (delay_template_6x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: input_net_transition; - } - lu_table_template (delay_template_6x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_net_transition; - } - power_lut_template (energy_template_5x5) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_transition_time; - } - power_lut_template (energy_template_5x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_transition_time; - } - power_lut_template (energy_template_6x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_transition_time; - } - lu_table_template (hold_template_3x5) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (hold_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - power_lut_template (passive_energy_template_5x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: input_transition_time; - } - power_lut_template (passive_energy_template_6x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: input_transition_time; - } - lu_table_template (recovery_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (recovery_template_6x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (removal_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (setup_template_3x5) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (setup_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; } cell (AOI21X1) { area: 219456.0; cell_leakage_power: 0.1173; pin (C) { - capacitance: 0.006189667947317773; direction: input; - fall_capacitance: 0.00608282711442158; - rise_capacitance: 0.006296508780213967; + rise_capacitance: 0.006296176741869404; + fall_capacitance: 0.006101450811807844; + capacitance: 0.006198813776838624; } pin (B) { - capacitance: 0.004946001600705809; direction: input; - fall_capacitance: 0.005741143923488236; - rise_capacitance: 0.004150859277923382; + rise_capacitance: 0.004150897383251567; + fall_capacitance: 0.005762494885719812; + capacitance: 0.00495669613448569; } pin (A) { - capacitance: 0.0063768651510662175; direction: input; - fall_capacitance: 0.007818310946312182; - rise_capacitance: 0.0049354193558202525; + rise_capacitance: 0.004935476111367993; + fall_capacitance: 0.007850019508283936; + capacitance: 0.006392747809825965; } pin (Y) { direction: output; + function: "(!C&!B&!A|!C&B&!A|!C&!B&A)"; function: "((A & !B & !C + B & !A & !C + !A & !B & !C))"; timing () { - related_pin: "C"; + related_pin: "A"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( @@ -213,11 +70,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.012884, 0.013814, 0.016718, 0.021870, 0.028833", \ - "0.086107, 0.080864, 0.082497, 0.093433, 0.172718", \ - "0.157907, 0.150075, 0.149039, 0.154342, 0.270928", \ - "0.301166, 0.291665, 0.287163, 0.285601, 0.427419", \ - "1.448480, 1.437527, 1.428051, 1.413899, 1.417674" + "0.018081, 0.020447, 0.022456, 0.023296, -0.023076", \ + "0.095512, 0.095564, 0.097577, 0.105665, 0.139556", \ + "0.173079, 0.172613, 0.173245, 0.177966, 0.251687", \ + "0.328092, 0.327325, 0.326934, 0.328569, 0.431362", \ + "1.568078, 1.567023, 1.565399, 1.562764, 1.593146" ); } cell_fall (delay_template_5x5) { @@ -228,11 +85,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.005708, 0.008603, 0.010605, 0.008342, 0.014912", \ - "0.046767, 0.047758, 0.052811, 0.059897, 0.111616", \ - "0.091313, 0.089826, 0.091015, 0.099539, 0.178409", \ - "0.180111, 0.176982, 0.175277, 0.175888, 0.287227", \ - "0.895506, 0.891449, 0.886851, 0.878783, 0.902515" + "0.011083, 0.027112, 0.034806, 0.046174, 0.138537", \ + "0.106126, 0.110980, 0.117817, 0.132662, 0.298423", \ + "0.200686, 0.203305, 0.207787, 0.219052, 0.408583", \ + "0.389684, 0.390741, 0.393128, 0.400447, 0.586557", \ + "1.901409, 1.900881, 1.900582, 1.901419, 1.980303" ); } rise_transition (delay_template_5x5) { @@ -243,11 +100,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.012972, 0.024876, 0.045576, 0.092382, 0.730301", \ - "0.117670, 0.118582, 0.124112, 0.144342, 0.702744", \ - "0.221586, 0.221908, 0.222072, 0.232193, 0.694310", \ - "0.430244, 0.430091, 0.430239, 0.430802, 0.761045", \ - "2.104719, 2.104806, 2.104636, 2.104737, 2.138480" + "0.017400, 0.024998, 0.038610, 0.061076, 0.316134", \ + "0.127638, 0.127551, 0.128643, 0.138963, 0.448630", \ + "0.240290, 0.240260, 0.240283, 0.242298, 0.547010", \ + "0.465607, 0.465635, 0.465599, 0.465632, 0.673379", \ + "2.268621, 2.268618, 2.268620, 2.268621, 2.271276" ); } fall_transition (delay_template_5x5) { @@ -258,11 +115,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.013144, 0.040328, 0.065020, 0.111186, 0.739334", \ - "0.095171, 0.101388, 0.116357, 0.159575, 0.811404", \ - "0.180158, 0.181007, 0.191810, 0.223783, 0.880144", \ - "0.350588, 0.350580, 0.354001, 0.371311, 0.983014", \ - "1.727889, 1.727581, 1.728170, 1.727705, 1.982896" + "0.029014, 0.032057, 0.039965, 0.063854, 0.320917", \ + "0.155270, 0.155388, 0.155812, 0.163213, 0.464067", \ + "0.286240, 0.286177, 0.286189, 0.286907, 0.549050", \ + "0.547857, 0.547835, 0.547859, 0.547862, 0.703410", \ + "2.640589, 2.640589, 2.640586, 2.640585, 2.640586" ); } } @@ -277,11 +134,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.015335, 0.016982, 0.017673, 0.018219, -0.069608", \ - "0.094019, 0.093932, 0.095770, 0.102779, 0.105301", \ - "0.171502, 0.171151, 0.171863, 0.175258, 0.222703", \ - "0.326268, 0.325524, 0.325280, 0.326346, 0.409421", \ - "1.565887, 1.565044, 1.563580, 1.561246, 1.585994" + "0.015335, 0.016945, 0.017387, 0.015057, -0.070130", \ + "0.093269, 0.093163, 0.094810, 0.101980, 0.105211", \ + "0.170827, 0.170332, 0.170780, 0.174845, 0.222749", \ + "0.325869, 0.325151, 0.324630, 0.325908, 0.409344", \ + "1.565863, 1.564927, 1.563288, 1.560589, 1.585799" ); } cell_fall (delay_template_5x5) { @@ -292,11 +149,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.013287, 0.024880, 0.031685, 0.037498, 0.167659", \ - "0.107124, 0.105845, 0.107193, 0.117896, 0.299712", \ - "0.201357, 0.197038, 0.194436, 0.196480, 0.391707", \ - "0.390085, 0.383995, 0.377751, 0.370715, 0.543155", \ - "1.901754, 1.893671, 1.883505, 1.864991, 1.785557" + "0.013287, 0.024590, 0.032135, 0.044683, 0.169986", \ + "0.106631, 0.105383, 0.107181, 0.118863, 0.301183", \ + "0.201084, 0.196904, 0.194332, 0.196987, 0.392495", \ + "0.390038, 0.383879, 0.377817, 0.371491, 0.543659", \ + "1.901742, 1.893615, 1.883483, 1.864976, 1.785407" ); } rise_transition (delay_template_5x5) { @@ -307,11 +164,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.013701, 0.021239, 0.037128, 0.074532, 0.517052", \ - "0.124145, 0.126554, 0.127481, 0.138597, 0.502699", \ - "0.236289, 0.237521, 0.237587, 0.239899, 0.557716", \ - "0.461681, 0.461011, 0.461333, 0.461741, 0.666948", \ - "2.263739, 2.263875, 2.263871, 2.263837, 2.266936" + "0.013635, 0.021335, 0.036352, 0.066782, 0.514064", \ + "0.122731, 0.122740, 0.123665, 0.133972, 0.500371", \ + "0.235316, 0.235334, 0.235297, 0.237378, 0.556421", \ + "0.460654, 0.460640, 0.460666, 0.460646, 0.664867", \ + "2.263652, 2.263652, 2.263651, 2.263650, 2.266535" ); } fall_transition (delay_template_5x5) { @@ -322,16 +179,16 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.030160, 0.038814, 0.058225, 0.102917, 0.553894", \ - "0.158458, 0.157631, 0.161617, 0.182586, 0.706485", \ - "0.287898, 0.286716, 0.287445, 0.295747, 0.780606", \ - "0.548485, 0.548526, 0.548522, 0.548250, 0.902420", \ - "2.640741, 2.640742, 2.640727, 2.640745, 2.647561" + "0.029990, 0.038199, 0.056237, 0.095398, 0.544902", \ + "0.155321, 0.155296, 0.158206, 0.179362, 0.704360", \ + "0.286222, 0.286226, 0.286240, 0.291364, 0.780438", \ + "0.547837, 0.547857, 0.547852, 0.547862, 0.901566", \ + "2.640589, 2.640588, 2.640588, 2.640589, 2.647331" ); } } timing () { - related_pin: "A"; + related_pin: "C"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( @@ -341,11 +198,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.018081, 0.020472, 0.022446, 0.023825, -0.023691", \ - "0.096239, 0.096537, 0.098721, 0.106326, 0.139254", \ - "0.173813, 0.173358, 0.174228, 0.178403, 0.251687", \ - "0.328514, 0.327676, 0.327494, 0.329061, 0.431351", \ - "1.568114, 1.567133, 1.565660, 1.563413, 1.593357" + "0.012884, 0.013824, 0.016369, 0.019083, 0.025408", \ + "0.085533, 0.079788, 0.082111, 0.094024, 0.172908", \ + "0.157410, 0.149628, 0.148170, 0.154670, 0.271254", \ + "0.300946, 0.291744, 0.286795, 0.285855, 0.427654", \ + "1.448498, 1.437802, 1.428280, 1.413900, 1.417542" ); } cell_fall (delay_template_5x5) { @@ -356,11 +213,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.011083, 0.026784, 0.035062, 0.040835, 0.137110", \ - "0.106329, 0.111405, 0.118093, 0.132531, 0.298206", \ - "0.200961, 0.203504, 0.207727, 0.219147, 0.408186", \ - "0.389721, 0.390740, 0.393162, 0.400718, 0.586451", \ - "1.901421, 1.900917, 1.900632, 1.901495, 1.980436" + "0.005708, 0.008623, 0.010235, 0.012288, 0.017616", \ + "0.047043, 0.047780, 0.052874, 0.064024, 0.113032", \ + "0.091536, 0.089929, 0.090900, 0.100815, 0.179742", \ + "0.181015, 0.178070, 0.175614, 0.176901, 0.288000", \ + "0.897237, 0.893242, 0.888241, 0.878918, 0.902547" ); } rise_transition (delay_template_5x5) { @@ -371,11 +228,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.017574, 0.025241, 0.039240, 0.074436, 0.320255", \ - "0.130209, 0.130934, 0.131571, 0.144964, 0.452202", \ - "0.240805, 0.242496, 0.242369, 0.244406, 0.548288", \ - "0.466498, 0.466251, 0.466522, 0.466774, 0.675363", \ - "2.268774, 2.268830, 2.268824, 2.268768, 2.271727" + "0.012755, 0.024831, 0.044968, 0.093110, 0.730524", \ + "0.115219, 0.115342, 0.119381, 0.140592, 0.704120", \ + "0.219879, 0.219898, 0.220189, 0.229051, 0.695466", \ + "0.429271, 0.429272, 0.429268, 0.429957, 0.760003", \ + "2.104581, 2.104581, 2.104580, 2.104582, 2.138119" ); } fall_transition (delay_template_5x5) { @@ -386,11 +243,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.029014, 0.034924, 0.042010, 0.073728, 0.327469", \ - "0.158673, 0.158762, 0.158147, 0.170170, 0.467645", \ - "0.287787, 0.287911, 0.287075, 0.288882, 0.551159", \ - "0.548458, 0.548226, 0.548509, 0.548657, 0.704977", \ - "2.640715, 2.640671, 2.640748, 2.640738, 2.640639" + "0.013144, 0.039574, 0.064113, 0.105179, 0.740810", \ + "0.092532, 0.098951, 0.115649, 0.159781, 0.811024", \ + "0.178514, 0.180443, 0.190086, 0.223562, 0.880935", \ + "0.350931, 0.351086, 0.353728, 0.372580, 0.983884", \ + "1.729228, 1.729222, 1.729222, 1.729215, 1.983340" ); } }
diff --git a/cells/lib/AOI22X1.lib b/cells/lib/AOI22X1.lib index 12ed5fc..92d73ea 100644 --- a/cells/lib/AOI22X1.lib +++ b/cells/lib/AOI22X1.lib
@@ -1,215 +1,72 @@ library (ls05_stdcells) { - capacitive_load_unit (1.0, pf); - current_unit: "1uA"; - default_operating_conditions: typical; delay_model: table_lookup; in_place_swap_mode: match_footprint; - input_threshold_pct_fall: 50.0; - input_threshold_pct_rise: 50.0; - leakage_power_unit: "1nW"; - nom_process: 1.0; - nom_temperature: 25.0; - nom_voltage: 5.0; - output_threshold_pct_fall: 50.0; - output_threshold_pct_rise: 50.0; - pulling_resistance_unit: "1kohm"; - slew_lower_threshold_pct_fall: 20.0; - slew_lower_threshold_pct_rise: 20.0; - slew_upper_threshold_pct_fall: 80.0; - slew_upper_threshold_pct_rise: 80.0; time_unit: "1ns"; voltage_unit: "1V"; + current_unit: "1uA"; + pulling_resistance_unit: "1kohm"; + leakage_power_unit: "1nW"; + capacitive_load_unit (1.0, pf); + slew_upper_threshold_pct_rise: 80.0; + slew_lower_threshold_pct_rise: 20.0; + slew_upper_threshold_pct_fall: 80.0; + slew_lower_threshold_pct_fall: 20.0; + input_threshold_pct_rise: 50.0; + input_threshold_pct_fall: 50.0; + output_threshold_pct_rise: 50.0; + output_threshold_pct_fall: 50.0; + nom_process: 1.0; + nom_voltage: 5.0; + nom_temperature: 25.0; + default_operating_conditions: typical; operating_conditions (typical) { process: 1.0; - temperature: 25.0; voltage: 5.0; - } - lu_table_template (delay_template_5x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: input_net_transition; + temperature: 25.0; } lu_table_template (delay_template_5x5) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); variable_1: total_output_net_capacitance; variable_2: input_net_transition; - } - lu_table_template (delay_template_5x6) { index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" + "1000.000000, 1001.000000, 1002.000000, 1003.000000, 1004.000000" ); index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" + "1000.000000, 1001.000000, 1002.000000, 1003.000000, 1004.000000" ); - variable_1: total_output_net_capacitance; - variable_2: input_net_transition; - } - lu_table_template (delay_template_6x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: input_net_transition; - } - lu_table_template (delay_template_6x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_net_transition; - } - power_lut_template (energy_template_5x5) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_transition_time; - } - power_lut_template (energy_template_5x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_transition_time; - } - power_lut_template (energy_template_6x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_transition_time; - } - lu_table_template (hold_template_3x5) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (hold_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - power_lut_template (passive_energy_template_5x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: input_transition_time; - } - power_lut_template (passive_energy_template_6x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: input_transition_time; - } - lu_table_template (recovery_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (recovery_template_6x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (removal_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (setup_template_3x5) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (setup_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; } cell (AOI22X1) { area: 274320.0; cell_leakage_power: 0.1173; pin (D) { - capacitance: 0.0020974613531819556; direction: input; - fall_capacitance: 4.4104117800871274e-05; - rise_capacitance: 0.004150818588563039; + rise_capacitance: 0.004150836637055694; + fall_capacitance: 4.293461827055451e-05; + capacitance: 0.0020968856276631243; } pin (C) { - capacitance: 0.004812606268016478; direction: input; - fall_capacitance: 0.004689865191387634; - rise_capacitance: 0.0049353473446453215; + rise_capacitance: 0.004935392181405116; + fall_capacitance: 0.004717183954380674; + capacitance: 0.004826288067892895; } pin (B) { - capacitance: 0.004946165373579888; direction: input; - fall_capacitance: 0.005741463237564304; - rise_capacitance: 0.0041508675095954725; + rise_capacitance: 0.004150898468773608; + fall_capacitance: 0.005752203124409789; + capacitance: 0.004951550796591699; } pin (A) { - capacitance: 0.006371776083769734; direction: input; - fall_capacitance: 0.007808127096433607; - rise_capacitance: 0.004935425071105862; + rise_capacitance: 0.00493547941452175; + fall_capacitance: 0.007832228421315403; + capacitance: 0.006383853917918576; } pin (Y) { direction: output; + function: "!(D&C&!B&!A|D&C&B&!A|!D&!C&B&A|D&!C&B&A|D&C&B&A|!D&C&B&A|D&C&!B&A)"; function: "(!(A & B & C & D + A & B & C & !D + A & B & D & !C + A & C & D & !B + B & C & D & !A + A & B & !C & !D + C & D & !A & !B))"; timing () { - related_pin: "D"; + related_pin: "A"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( @@ -219,11 +76,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.016935, 0.014883, 0.015703, 0.012454, -0.033501", \ - "0.090542, 0.082772, 0.082614, 0.090524, 0.114504", \ - "0.162325, 0.152911, 0.149501, 0.151692, 0.215638", \ - "0.305626, 0.294845, 0.288283, 0.283584, 0.379358", \ - "1.452827, 1.441115, 1.430562, 1.414232, 1.385088" + "0.022453, 0.024534, 0.027322, 0.029301, -0.013605", \ + "0.094099, 0.094146, 0.096422, 0.104923, 0.133468", \ + "0.165999, 0.165576, 0.166553, 0.171933, 0.239819", \ + "0.309709, 0.308987, 0.308926, 0.311303, 0.412228", \ + "1.459135, 1.458114, 1.456788, 1.454769, 1.495149" ); } cell_fall (delay_template_5x5) { @@ -234,11 +91,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.011131, 0.018803, 0.024733, 0.032496, 0.108096", \ - "0.102250, 0.099676, 0.101552, 0.112143, 0.253101", \ - "0.196075, 0.190340, 0.188422, 0.190760, 0.352663", \ - "0.384766, 0.377069, 0.371270, 0.364996, 0.516099", \ - "1.896343, 1.886398, 1.876274, 1.858129, 1.777799" + "0.010762, 0.031215, 0.042613, 0.056720, 0.163173", \ + "0.106795, 0.114659, 0.123175, 0.139761, 0.315494", \ + "0.201577, 0.206563, 0.212378, 0.225460, 0.423829", \ + "0.390704, 0.393586, 0.396927, 0.405778, 0.599884", \ + "1.902537, 1.903178, 1.903203, 1.904622, 1.991405" ); } rise_transition (delay_template_5x5) { @@ -249,11 +106,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.016765, 0.027275, 0.049942, 0.091821, 0.629255", \ - "0.121167, 0.122670, 0.127043, 0.150833, 0.656506", \ - "0.224824, 0.225478, 0.225444, 0.237122, 0.716205", \ - "0.433527, 0.433720, 0.433798, 0.434581, 0.814040", \ - "2.108310, 2.108361, 2.108226, 2.108327, 2.151506" + "0.023524, 0.029914, 0.043867, 0.071865, 0.348115", \ + "0.124790, 0.124832, 0.126119, 0.138292, 0.474155", \ + "0.228743, 0.228744, 0.228751, 0.231812, 0.561135", \ + "0.436738, 0.436734, 0.436738, 0.436740, 0.675654", \ + "2.100895, 2.100896, 2.100897, 2.100896, 2.108562" ); } fall_transition (delay_template_5x5) { @@ -264,75 +121,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.019540, 0.037485, 0.048144, 0.090862, 0.624895", \ - "0.148113, 0.148658, 0.152486, 0.173373, 0.676277", \ - "0.277916, 0.277395, 0.278530, 0.285802, 0.738740", \ - "0.538822, 0.539108, 0.538745, 0.539142, 0.865875", \ - "2.631103, 2.631167, 2.631060, 2.631158, 2.638378" - ); - } - } - timing () { - related_pin: "C"; - timing_sense: negative_unate; - cell_rise (delay_template_5x5) { - index_1 ( - "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" - ); - index_2 ( - "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" - ); - values ( - "0.020369, 0.018428, 0.021368, 0.020061, 0.016757", \ - "0.092490, 0.085158, 0.085310, 0.094546, 0.156465", \ - "0.164627, 0.154984, 0.151976, 0.154901, 0.251955", \ - "0.307751, 0.296984, 0.290533, 0.286397, 0.406843", \ - "1.454952, 1.443103, 1.432571, 1.416364, 1.394708" - ); - } - cell_fall (delay_template_5x5) { - index_1 ( - "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" - ); - index_2 ( - "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" - ); - values ( - "0.010498, 0.021560, 0.028514, 0.037495, 0.082368", \ - "0.101825, 0.105130, 0.112161, 0.127308, 0.261185", \ - "0.195561, 0.196794, 0.201635, 0.213814, 0.379961", \ - "0.384369, 0.383935, 0.386589, 0.394605, 0.568320", \ - "1.895945, 1.893647, 1.893375, 1.894401, 1.975233" - ); - } - rise_transition (delay_template_5x5) { - index_1 ( - "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" - ); - index_2 ( - "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" - ); - values ( - "0.021236, 0.031459, 0.054625, 0.095131, 0.470508", \ - "0.126934, 0.126375, 0.131675, 0.156729, 0.627474", \ - "0.229762, 0.229630, 0.230077, 0.241674, 0.716118", \ - "0.438091, 0.438482, 0.438252, 0.439405, 0.825499", \ - "2.112964, 2.112929, 2.112863, 2.112978, 2.155164" - ); - } - fall_transition (delay_template_5x5) { - index_1 ( - "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" - ); - index_2 ( - "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" - ); - values ( - "0.021627, 0.035591, 0.035070, 0.070098, 0.433450", \ - "0.147776, 0.149177, 0.150009, 0.161817, 0.458917", \ - "0.277709, 0.277366, 0.277596, 0.280531, 0.527096", \ - "0.539065, 0.539093, 0.539109, 0.538946, 0.684263", \ - "2.631099, 2.631149, 2.631170, 2.631100, 2.631114" + "0.034663, 0.063510, 0.047967, 0.068994, 0.335936", \ + "0.166389, 0.166412, 0.166844, 0.173304, 0.460327", \ + "0.297251, 0.297251, 0.297255, 0.297868, 0.539773", \ + "0.558920, 0.558909, 0.558922, 0.558921, 0.702122", \ + "2.651676, 2.651678, 2.651676, 2.651675, 2.651676" ); } } @@ -347,11 +140,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.019809, 0.021467, 0.022993, 0.023258, -0.058701", \ - "0.092131, 0.092348, 0.095145, 0.101841, 0.098557", \ - "0.164877, 0.164124, 0.165065, 0.169626, 0.210368", \ - "0.308029, 0.307392, 0.307470, 0.309169, 0.390164", \ - "1.457169, 1.456286, 1.455144, 1.453124, 1.488193" + "0.019651, 0.021446, 0.022931, 0.021898, -0.058654", \ + "0.091977, 0.091918, 0.093938, 0.101438, 0.098787", \ + "0.163917, 0.163487, 0.164267, 0.169031, 0.210590", \ + "0.307654, 0.306986, 0.306812, 0.308826, 0.390145", \ + "1.457089, 1.456195, 1.454848, 1.452765, 1.487992" ); } cell_fall (delay_template_5x5) { @@ -362,11 +155,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.013313, 0.029532, 0.038717, 0.047945, 0.188158", \ - "0.107990, 0.110195, 0.113203, 0.124738, 0.313534", \ - "0.202371, 0.200606, 0.199392, 0.203099, 0.404174", \ - "0.391167, 0.386925, 0.382011, 0.376561, 0.554823", \ - "1.902931, 1.895987, 1.886227, 1.868549, 1.797821" + "0.013313, 0.029492, 0.038920, 0.053701, 0.189828", \ + "0.107559, 0.109470, 0.112797, 0.125324, 0.314605", \ + "0.202143, 0.200386, 0.199276, 0.203456, 0.404946", \ + "0.391163, 0.386838, 0.381869, 0.377141, 0.555274", \ + "1.902923, 1.895945, 1.886158, 1.868337, 1.797664" ); } rise_transition (delay_template_5x5) { @@ -377,11 +170,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.019429, 0.026568, 0.042468, 0.080756, 0.516753", \ - "0.124108, 0.123505, 0.123820, 0.139390, 0.517896", \ - "0.226304, 0.226453, 0.226121, 0.229413, 0.571103", \ - "0.432605, 0.432992, 0.433334, 0.433130, 0.669772", \ - "2.096546, 2.096500, 2.096504, 2.096401, 2.104903" + "0.019077, 0.026325, 0.041095, 0.072960, 0.515154", \ + "0.120223, 0.120250, 0.121709, 0.133832, 0.515903", \ + "0.224169, 0.224172, 0.224205, 0.227354, 0.569826", \ + "0.432139, 0.432141, 0.432149, 0.432153, 0.667848", \ + "2.096306, 2.096306, 2.096306, 2.096307, 2.104382" ); } fall_transition (delay_template_5x5) { @@ -392,16 +185,16 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.036963, 0.064663, 0.063261, 0.104268, 0.557323", \ - "0.169060, 0.168178, 0.170874, 0.190953, 0.690517", \ - "0.298594, 0.298892, 0.298450, 0.305039, 0.761400", \ - "0.559542, 0.559072, 0.559520, 0.559454, 0.890958", \ - "2.651812, 2.651739, 2.651820, 2.651765, 2.658183" + "0.036269, 0.063193, 0.062392, 0.098967, 0.551553", \ + "0.166373, 0.166389, 0.169112, 0.187994, 0.688610", \ + "0.297276, 0.297267, 0.297275, 0.302013, 0.760566", \ + "0.558916, 0.558919, 0.558917, 0.558918, 0.890221", \ + "2.651678, 2.651678, 2.651674, 2.651677, 2.657773" ); } } timing () { - related_pin: "A"; + related_pin: "C"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( @@ -411,11 +204,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.022678, 0.024602, 0.027657, 0.027746, -0.014253", \ - "0.094425, 0.094825, 0.097714, 0.105256, 0.133288", \ - "0.166876, 0.166299, 0.167299, 0.172465, 0.239654", \ - "0.310022, 0.309359, 0.309537, 0.311595, 0.412132", \ - "1.459221, 1.458255, 1.457052, 1.455130, 1.495355" + "0.020200, 0.018794, 0.020910, 0.023798, 0.017569", \ + "0.092119, 0.084321, 0.084972, 0.095024, 0.157181", \ + "0.163930, 0.154431, 0.151294, 0.155481, 0.252498", \ + "0.307422, 0.296784, 0.290296, 0.286804, 0.407284", \ + "1.454937, 1.443187, 1.432682, 1.416494, 1.394586" ); } cell_fall (delay_template_5x5) { @@ -426,11 +219,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.010762, 0.031615, 0.042726, 0.054379, 0.162255", \ - "0.107178, 0.114877, 0.123673, 0.140333, 0.314762", \ - "0.201740, 0.206695, 0.212432, 0.225560, 0.423426", \ - "0.390675, 0.393589, 0.396909, 0.405745, 0.599731", \ - "1.902538, 1.903226, 1.903241, 1.904537, 1.991568" + "0.010498, 0.021541, 0.028604, 0.036531, 0.082739", \ + "0.101264, 0.104773, 0.111902, 0.126711, 0.261658", \ + "0.195526, 0.196677, 0.201528, 0.213170, 0.380207", \ + "0.384366, 0.383767, 0.386473, 0.394329, 0.568488", \ + "1.895957, 1.893533, 1.893309, 1.894383, 1.975065" ); } rise_transition (delay_template_5x5) { @@ -441,11 +234,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.023953, 0.030647, 0.045679, 0.081384, 0.352989", \ - "0.128243, 0.127626, 0.127724, 0.144629, 0.476733", \ - "0.230700, 0.231079, 0.230551, 0.233540, 0.563234", \ - "0.437513, 0.437483, 0.437930, 0.437603, 0.677229", \ - "2.101139, 2.101103, 2.101049, 2.100995, 2.109091" + "0.020633, 0.030682, 0.050793, 0.085135, 0.465687", \ + "0.123409, 0.123499, 0.127912, 0.152623, 0.625796", \ + "0.228067, 0.228069, 0.228437, 0.238660, 0.715340", \ + "0.437443, 0.437449, 0.437446, 0.438286, 0.825117", \ + "2.112769, 2.112769, 2.112771, 2.112769, 2.154781" ); } fall_transition (delay_template_5x5) { @@ -456,11 +249,75 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.035078, 0.066496, 0.049387, 0.080483, 0.340869", \ - "0.168775, 0.168226, 0.168846, 0.179604, 0.463584", \ - "0.298761, 0.298598, 0.298932, 0.300297, 0.541365", \ - "0.559293, 0.559471, 0.559155, 0.559533, 0.704149", \ - "2.651791, 2.651807, 2.651756, 2.651826, 2.651827" + "0.021627, 0.033850, 0.033202, 0.057903, 0.432542", \ + "0.146054, 0.146118, 0.146677, 0.153711, 0.456404", \ + "0.276800, 0.276784, 0.276786, 0.277558, 0.525056", \ + "0.538347, 0.538333, 0.538346, 0.538344, 0.682865", \ + "2.630986, 2.630987, 2.630989, 2.630987, 2.630987" + ); + } + } + timing () { + related_pin: "D"; + timing_sense: negative_unate; + cell_rise (delay_template_5x5) { + index_1 ( + "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" + ); + index_2 ( + "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" + ); + values ( + "0.016935, 0.015243, 0.015695, 0.014740, -0.033455", \ + "0.089882, 0.081949, 0.082234, 0.090924, 0.115190", \ + "0.161756, 0.152189, 0.148795, 0.152107, 0.216277", \ + "0.305276, 0.294641, 0.288008, 0.283956, 0.379732", \ + "1.452819, 1.441160, 1.430652, 1.414354, 1.384946" + ); + } + cell_fall (delay_template_5x5) { + index_1 ( + "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" + ); + index_2 ( + "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" + ); + values ( + "0.011131, 0.019163, 0.024855, 0.033370, 0.110590", \ + "0.101703, 0.099111, 0.101250, 0.112517, 0.253820", \ + "0.195929, 0.190278, 0.188100, 0.190853, 0.353274", \ + "0.384754, 0.376936, 0.371227, 0.365324, 0.516649", \ + "1.896340, 1.886290, 1.876220, 1.858031, 1.777651" + ); + } + rise_transition (delay_template_5x5) { + index_1 ( + "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" + ); + index_2 ( + "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" + ); + values ( + "0.016198, 0.026696, 0.047157, 0.087412, 0.629442", \ + "0.118843, 0.118871, 0.123371, 0.147773, 0.655892", \ + "0.223461, 0.223424, 0.223842, 0.234191, 0.716081", \ + "0.432839, 0.432831, 0.432841, 0.433715, 0.813736", \ + "2.108153, 2.108150, 2.108150, 2.108152, 2.151140" + ); + } + fall_transition (delay_template_5x5) { + index_1 ( + "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" + ); + index_2 ( + "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" + ); + values ( + "0.019318, 0.037477, 0.046391, 0.085342, 0.625357", \ + "0.146062, 0.146061, 0.148782, 0.168097, 0.675212", \ + "0.276795, 0.276788, 0.276812, 0.281783, 0.738328", \ + "0.538338, 0.538332, 0.538332, 0.538345, 0.865002", \ + "2.630987, 2.630990, 2.630986, 2.630986, 2.638001" ); } }
diff --git a/cells/lib/BUFX2.lib b/cells/lib/BUFX2.lib index c31a500..c942155 100644 --- a/cells/lib/BUFX2.lib +++ b/cells/lib/BUFX2.lib
@@ -1,194 +1,51 @@ library (ls05_stdcells) { - capacitive_load_unit (1.0, pf); - current_unit: "1uA"; - default_operating_conditions: typical; delay_model: table_lookup; in_place_swap_mode: match_footprint; - input_threshold_pct_fall: 50.0; - input_threshold_pct_rise: 50.0; - leakage_power_unit: "1nW"; - nom_process: 1.0; - nom_temperature: 25.0; - nom_voltage: 5.0; - output_threshold_pct_fall: 50.0; - output_threshold_pct_rise: 50.0; - pulling_resistance_unit: "1kohm"; - slew_lower_threshold_pct_fall: 20.0; - slew_lower_threshold_pct_rise: 20.0; - slew_upper_threshold_pct_fall: 80.0; - slew_upper_threshold_pct_rise: 80.0; time_unit: "1ns"; voltage_unit: "1V"; + current_unit: "1uA"; + pulling_resistance_unit: "1kohm"; + leakage_power_unit: "1nW"; + capacitive_load_unit (1.0, pf); + slew_upper_threshold_pct_rise: 80.0; + slew_lower_threshold_pct_rise: 20.0; + slew_upper_threshold_pct_fall: 80.0; + slew_lower_threshold_pct_fall: 20.0; + input_threshold_pct_rise: 50.0; + input_threshold_pct_fall: 50.0; + output_threshold_pct_rise: 50.0; + output_threshold_pct_fall: 50.0; + nom_process: 1.0; + nom_voltage: 5.0; + nom_temperature: 25.0; + default_operating_conditions: typical; operating_conditions (typical) { process: 1.0; - temperature: 25.0; voltage: 5.0; - } - lu_table_template (delay_template_5x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: input_net_transition; + temperature: 25.0; } lu_table_template (delay_template_5x5) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); variable_1: total_output_net_capacitance; variable_2: input_net_transition; - } - lu_table_template (delay_template_5x6) { index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" + "1000.000000, 1001.000000, 1002.000000, 1003.000000, 1004.000000" ); index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" + "1000.000000, 1001.000000, 1002.000000, 1003.000000, 1004.000000" ); - variable_1: total_output_net_capacitance; - variable_2: input_net_transition; - } - lu_table_template (delay_template_6x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: input_net_transition; - } - lu_table_template (delay_template_6x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_net_transition; - } - power_lut_template (energy_template_5x5) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_transition_time; - } - power_lut_template (energy_template_5x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_transition_time; - } - power_lut_template (energy_template_6x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_transition_time; - } - lu_table_template (hold_template_3x5) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (hold_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - power_lut_template (passive_energy_template_5x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: input_transition_time; - } - power_lut_template (passive_energy_template_6x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: input_transition_time; - } - lu_table_template (recovery_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (recovery_template_6x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (removal_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (setup_template_3x5) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (setup_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; } cell (BUFX2) { area: 164592.0; cell_leakage_power: 0.1173; pin (A) { - capacitance: 0.007524621021778557; direction: input; - fall_capacitance: 0.00885894979294924; - rise_capacitance: 0.006190292250607873; + rise_capacitance: 0.006189356217773286; + fall_capacitance: 0.008913012740210141; + capacitance: 0.007551184478991714; } pin (Y) { direction: output; + function: "!(!A)"; function: "(A)"; timing () { related_pin: "A"; @@ -201,11 +58,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "-0.003161, 0.017829, 0.022268, 0.021768, 0.079308", \ - "0.045055, 0.050063, 0.057136, 0.070246, 0.151768", \ - "0.086221, 0.085910, 0.089124, 0.100838, 0.199664", \ - "0.172654, 0.166239, 0.164336, 0.168034, 0.284850", \ - "0.876097, 0.863347, 0.851849, 0.832547, 0.852986" + "-0.003161, 0.018284, 0.022862, 0.029597, 0.082449", \ + "0.045168, 0.050118, 0.057399, 0.071712, 0.153721", \ + "0.086116, 0.085817, 0.089463, 0.102695, 0.199215", \ + "0.172383, 0.166439, 0.164531, 0.169815, 0.284515", \ + "0.876891, 0.864252, 0.852323, 0.833869, 0.853010" ); } cell_fall (delay_template_5x5) { @@ -216,11 +73,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.014482, 0.017268, 0.019923, 0.023667, -0.011126", \ - "0.054563, 0.055999, 0.060204, 0.069455, 0.072439", \ - "0.098790, 0.098063, 0.098828, 0.107532, 0.136737", \ - "0.187149, 0.184801, 0.183271, 0.184852, 0.249296", \ - "0.902112, 0.898842, 0.894592, 0.887713, 0.887222" + "0.014482, 0.018379, 0.020768, 0.022068, -0.009140", \ + "0.054683, 0.055959, 0.059876, 0.069706, 0.071632", \ + "0.098664, 0.097948, 0.098411, 0.105829, 0.136458", \ + "0.187943, 0.185797, 0.183424, 0.183072, 0.249186", \ + "0.903989, 0.900540, 0.895789, 0.885878, 0.887209" ); } rise_transition (delay_template_5x5) { @@ -231,11 +88,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.021141, 0.053260, 0.060446, 0.114111, 0.839043", \ - "0.078233, 0.096018, 0.107000, 0.143602, 0.829526", \ - "0.148965, 0.150631, 0.162142, 0.191631, 0.827817", \ - "0.288402, 0.288541, 0.290092, 0.306795, 0.865517", \ - "1.420305, 1.420150, 1.420683, 1.420175, 1.615594" + "0.021141, 0.053490, 0.059672, 0.113073, 0.840389", \ + "0.077202, 0.091911, 0.106094, 0.141454, 0.832516", \ + "0.145621, 0.149491, 0.160179, 0.190218, 0.830936", \ + "0.287250, 0.287270, 0.289142, 0.305563, 0.867895", \ + "1.420515, 1.420519, 1.420516, 1.420515, 1.614647" ); } fall_transition (delay_template_5x5) { @@ -246,11 +103,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.015821, 0.030737, 0.052343, 0.106785, 0.838213", \ - "0.092115, 0.097031, 0.110737, 0.149525, 0.839377", \ - "0.177675, 0.179318, 0.186569, 0.215056, 0.850611", \ - "0.349011, 0.348267, 0.350542, 0.364446, 0.905444", \ - "1.725400, 1.725176, 1.725220, 1.725574, 1.913061" + "0.015821, 0.031534, 0.054604, 0.109725, 0.838134", \ + "0.090618, 0.095897, 0.108850, 0.147026, 0.841931", \ + "0.176061, 0.177617, 0.184255, 0.210648, 0.851578", \ + "0.348673, 0.348740, 0.350198, 0.363180, 0.905512", \ + "1.726970, 1.726967, 1.726971, 1.726970, 1.912266" ); } }
diff --git a/cells/lib/HAX1.lib b/cells/lib/HAX1.lib deleted file mode 100644 index dd796a5..0000000 --- a/cells/lib/HAX1.lib +++ /dev/null
@@ -1,461 +0,0 @@ -library (ls05_stdcells) { - capacitive_load_unit (1.0, pf); - current_unit: "1uA"; - default_operating_conditions: typical; - delay_model: table_lookup; - in_place_swap_mode: match_footprint; - input_threshold_pct_fall: 50.0; - input_threshold_pct_rise: 50.0; - leakage_power_unit: "1nW"; - nom_process: 1.0; - nom_temperature: 25.0; - nom_voltage: 5.0; - output_threshold_pct_fall: 50.0; - output_threshold_pct_rise: 50.0; - pulling_resistance_unit: "1kohm"; - slew_lower_threshold_pct_fall: 20.0; - slew_lower_threshold_pct_rise: 20.0; - slew_upper_threshold_pct_fall: 80.0; - slew_upper_threshold_pct_rise: 80.0; - time_unit: "1ns"; - voltage_unit: "1V"; - operating_conditions (typical) { - process: 1.0; - temperature: 25.0; - voltage: 5.0; - } - lu_table_template (delay_template_5x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: input_net_transition; - } - lu_table_template (delay_template_5x5) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_net_transition; - } - lu_table_template (delay_template_5x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_net_transition; - } - lu_table_template (delay_template_6x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: input_net_transition; - } - lu_table_template (delay_template_6x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_net_transition; - } - power_lut_template (energy_template_5x5) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_transition_time; - } - power_lut_template (energy_template_5x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_transition_time; - } - power_lut_template (energy_template_6x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_transition_time; - } - lu_table_template (hold_template_3x5) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (hold_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - power_lut_template (passive_energy_template_5x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: input_transition_time; - } - power_lut_template (passive_energy_template_6x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: input_transition_time; - } - lu_table_template (recovery_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (recovery_template_6x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (removal_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (setup_template_3x5) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (setup_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - cell (HAX1) { - area: 603504.0; - cell_leakage_power: 0.1173; - pin (B) { - capacitance: 0.009565996302413171; - direction: input; - fall_capacitance: 0.008432988155991751; - rise_capacitance: 0.010699004448834593; - } - pin (A) { - capacitance: 0.012290968093010312; - direction: input; - fall_capacitance: 0.013216336710577052; - rise_capacitance: 0.01136559947544357; - } - pin (YS) { - direction: output; - function: "(!(A & B + !A & !B))"; - timing () { - related_pin: "B"; - timing_sense: non_unate; - cell_rise (delay_template_5x5) { - index_1 ( - "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" - ); - index_2 ( - "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" - ); - values ( - "0.004033, 0.032150, 0.044845, 0.050474, 0.051335", \ - "0.055892, 0.068037, 0.080785, 0.093045, 0.114132", \ - "0.094044, 0.101015, 0.112537, 0.126712, 0.158920", \ - "0.175648, 0.176204, 0.184990, 0.197179, 0.244777", \ - "0.873435, 0.863339, 0.864298, 0.866078, 0.855109" - ); - } - cell_fall (delay_template_5x5) { - index_1 ( - "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" - ); - index_2 ( - "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" - ); - values ( - "0.017244, 0.032461, 0.048132, 0.062118, 0.137542", \ - "0.058835, 0.069633, 0.084719, 0.104232, 0.192012", \ - "0.100970, 0.106394, 0.118870, 0.138651, 0.235211", \ - "0.187793, 0.189005, 0.197350, 0.213800, 0.316894", \ - "0.902163, 0.898308, 0.900032, 0.906364, 0.948955" - ); - } - rise_transition (delay_template_5x5) { - index_1 ( - "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" - ); - index_2 ( - "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" - ); - values ( - "0.040974, 0.074951, 0.060349, 0.076555, 0.409013", \ - "0.091957, 0.122622, 0.111250, 0.115255, 0.415747", \ - "0.154170, 0.166605, 0.165996, 0.172579, 0.465956", \ - "0.289870, 0.292343, 0.293138, 0.299508, 0.559512", \ - "1.420665, 1.420862, 1.420515, 1.421028, 1.493654" - ); - } - fall_transition (delay_template_5x5) { - index_1 ( - "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" - ); - index_2 ( - "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" - ); - values ( - "0.028737, 0.067929, 0.109033, 0.090482, 0.482822", \ - "0.100377, 0.125774, 0.164469, 0.180526, 0.509483", \ - "0.180975, 0.197032, 0.211922, 0.221778, 0.555289", \ - "0.348738, 0.353197, 0.357789, 0.370377, 0.658930", \ - "1.725367, 1.725946, 1.725663, 1.725932, 1.793771" - ); - } - } - timing () { - related_pin: "A"; - timing_sense: non_unate; - cell_rise (delay_template_5x5) { - index_1 ( - "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" - ); - index_2 ( - "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" - ); - values ( - "-0.002915, 0.042398, 0.052176, 0.055423, 0.107987", \ - "0.062544, 0.079393, 0.088727, 0.101216, 0.163975", \ - "0.098867, 0.112677, 0.121587, 0.133731, 0.204781", \ - "0.178683, 0.187584, 0.195187, 0.205349, 0.275393", \ - "0.873877, 0.874214, 0.876238, 0.875094, 0.864245" - ); - } - cell_fall (delay_template_5x5) { - index_1 ( - "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" - ); - index_2 ( - "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" - ); - values ( - "0.018517, 0.033815, 0.052985, 0.063145, 0.108475", \ - "0.059426, 0.069693, 0.089732, 0.106611, 0.160828", \ - "0.101430, 0.106262, 0.124529, 0.143828, 0.205452", \ - "0.188322, 0.188871, 0.203005, 0.222224, 0.292784", \ - "0.902655, 0.898231, 0.905344, 0.918863, 0.964905" - ); - } - rise_transition (delay_template_5x5) { - index_1 ( - "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" - ); - index_2 ( - "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" - ); - values ( - "0.048575, 0.056963, 0.055452, 0.077660, 0.348951", \ - "0.097387, 0.109829, 0.107257, 0.116455, 0.374171", \ - "0.157790, 0.160813, 0.162764, 0.173185, 0.415244", \ - "0.289541, 0.291335, 0.292385, 0.299387, 0.509268", \ - "1.420940, 1.420534, 1.420747, 1.420655, 1.464278" - ); - } - fall_transition (delay_template_5x5) { - index_1 ( - "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" - ); - index_2 ( - "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" - ); - values ( - "0.029875, 0.067731, 0.077584, 0.067492, 0.350562", \ - "0.099533, 0.125664, 0.168623, 0.123478, 0.376209", \ - "0.180545, 0.196321, 0.205234, 0.198481, 0.424205", \ - "0.348869, 0.353115, 0.356059, 0.358578, 0.546504", \ - "1.725470, 1.725570, 1.725963, 1.725775, 1.781596" - ); - } - } - } - pin (YC) { - direction: output; - function: "(A & B)"; - timing () { - related_pin: "B"; - timing_sense: positive_unate; - cell_rise (delay_template_5x5) { - index_1 ( - "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" - ); - index_2 ( - "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" - ); - values ( - "-0.002932, 0.031845, 0.046203, 0.059680, 0.206545", \ - "0.049948, 0.068231, 0.085039, 0.104520, 0.274220", \ - "0.089788, 0.101410, 0.117157, 0.136354, 0.323085", \ - "0.173455, 0.176265, 0.188945, 0.205397, 0.412891", \ - "0.873808, 0.861079, 0.865149, 0.869380, 0.984923" - ); - } - cell_fall (delay_template_5x5) { - index_1 ( - "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" - ); - index_2 ( - "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" - ); - values ( - "0.020712, 0.024396, 0.025178, 0.022025, -0.060067", \ - "0.060435, 0.061372, 0.064388, 0.066859, 0.006598", \ - "0.103540, 0.102168, 0.102489, 0.103050, 0.053408", \ - "0.191891, 0.188927, 0.186482, 0.180921, 0.136742", \ - "0.906360, 0.902330, 0.897105, 0.883862, 0.767023" - ); - } - rise_transition (delay_template_5x5) { - index_1 ( - "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" - ); - index_2 ( - "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" - ); - values ( - "0.029065, 0.076707, 0.058814, 0.085996, 0.589693", \ - "0.084308, 0.124052, 0.114916, 0.121842, 0.582858", \ - "0.150913, 0.169854, 0.170202, 0.177980, 0.592114", \ - "0.289080, 0.293361, 0.294671, 0.299955, 0.642962", \ - "1.420626, 1.420601, 1.420595, 1.420438, 1.521560" - ); - } - fall_transition (delay_template_5x5) { - index_1 ( - "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" - ); - index_2 ( - "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" - ); - values ( - "0.023168, 0.037493, 0.061782, 0.104667, 0.614021", \ - "0.093949, 0.101336, 0.115157, 0.147186, 0.632991", \ - "0.178031, 0.179618, 0.188053, 0.212969, 0.683615", \ - "0.349299, 0.349430, 0.351228, 0.362707, 0.786505", \ - "1.724877, 1.725713, 1.726013, 1.726067, 1.845083" - ); - } - } - timing () { - related_pin: "A"; - timing_sense: positive_unate; - cell_rise (delay_template_5x5) { - index_1 ( - "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" - ); - index_2 ( - "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" - ); - values ( - "-0.002877, 0.029610, 0.051114, 0.071379, 0.191002", \ - "0.048630, 0.065299, 0.090272, 0.109498, 0.261067", \ - "0.088953, 0.098443, 0.122749, 0.144721, 0.312452", \ - "0.173170, 0.173273, 0.195093, 0.217717, 0.411821", \ - "0.874061, 0.858051, 0.871543, 0.889533, 1.026567" - ); - } - cell_fall (delay_template_5x5) { - index_1 ( - "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" - ); - index_2 ( - "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" - ); - values ( - "0.022256, 0.026455, 0.029553, 0.031901, -0.015917", \ - "0.062541, 0.063639, 0.067746, 0.071999, 0.041159", \ - "0.104940, 0.104109, 0.105543, 0.107246, 0.080735", \ - "0.192752, 0.190680, 0.189057, 0.184951, 0.147242", \ - "0.907257, 0.903593, 0.899162, 0.887044, 0.752494" - ); - } - rise_transition (delay_template_5x5) { - index_1 ( - "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" - ); - index_2 ( - "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" - ); - values ( - "0.026048, 0.073817, 0.050978, 0.065940, 0.443696", \ - "0.083033, 0.121825, 0.103425, 0.102000, 0.436305", \ - "0.150571, 0.172361, 0.163617, 0.164690, 0.449813", \ - "0.288981, 0.293984, 0.293415, 0.294741, 0.517577", \ - "1.420646, 1.420437, 1.420500, 1.420898, 1.486892" - ); - } - fall_transition (delay_template_5x5) { - index_1 ( - "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" - ); - index_2 ( - "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" - ); - values ( - "0.025591, 0.040492, 0.065936, 0.108105, 0.550325", \ - "0.095286, 0.101971, 0.117506, 0.150589, 0.584408", \ - "0.179426, 0.180898, 0.189227, 0.214201, 0.625356", \ - "0.348855, 0.349403, 0.351841, 0.363528, 0.724101", \ - "1.724988, 1.724959, 1.726109, 1.725779, 1.806215" - ); - } - } - } - } -} \ No newline at end of file
diff --git a/cells/lib/INV.lib b/cells/lib/INV.lib index 246f6c2..9ec5982 100644 --- a/cells/lib/INV.lib +++ b/cells/lib/INV.lib
@@ -1,194 +1,51 @@ library (ls05_stdcells) { - capacitive_load_unit (1.0, pf); - current_unit: "1uA"; - default_operating_conditions: typical; delay_model: table_lookup; in_place_swap_mode: match_footprint; - input_threshold_pct_fall: 50.0; - input_threshold_pct_rise: 50.0; - leakage_power_unit: "1nW"; - nom_process: 1.0; - nom_temperature: 25.0; - nom_voltage: 5.0; - output_threshold_pct_fall: 50.0; - output_threshold_pct_rise: 50.0; - pulling_resistance_unit: "1kohm"; - slew_lower_threshold_pct_fall: 20.0; - slew_lower_threshold_pct_rise: 20.0; - slew_upper_threshold_pct_fall: 80.0; - slew_upper_threshold_pct_rise: 80.0; time_unit: "1ns"; voltage_unit: "1V"; + current_unit: "1uA"; + pulling_resistance_unit: "1kohm"; + leakage_power_unit: "1nW"; + capacitive_load_unit (1.0, pf); + slew_upper_threshold_pct_rise: 80.0; + slew_lower_threshold_pct_rise: 20.0; + slew_upper_threshold_pct_fall: 80.0; + slew_lower_threshold_pct_fall: 20.0; + input_threshold_pct_rise: 50.0; + input_threshold_pct_fall: 50.0; + output_threshold_pct_rise: 50.0; + output_threshold_pct_fall: 50.0; + nom_process: 1.0; + nom_voltage: 5.0; + nom_temperature: 25.0; + default_operating_conditions: typical; operating_conditions (typical) { process: 1.0; - temperature: 25.0; voltage: 5.0; - } - lu_table_template (delay_template_5x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: input_net_transition; + temperature: 25.0; } lu_table_template (delay_template_5x5) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); variable_1: total_output_net_capacitance; variable_2: input_net_transition; - } - lu_table_template (delay_template_5x6) { index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" + "1000.000000, 1001.000000, 1002.000000, 1003.000000, 1004.000000" ); index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" + "1000.000000, 1001.000000, 1002.000000, 1003.000000, 1004.000000" ); - variable_1: total_output_net_capacitance; - variable_2: input_net_transition; - } - lu_table_template (delay_template_6x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: input_net_transition; - } - lu_table_template (delay_template_6x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_net_transition; - } - power_lut_template (energy_template_5x5) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_transition_time; - } - power_lut_template (energy_template_5x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_transition_time; - } - power_lut_template (energy_template_6x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_transition_time; - } - lu_table_template (hold_template_3x5) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (hold_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - power_lut_template (passive_energy_template_5x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: input_transition_time; - } - power_lut_template (passive_energy_template_6x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: input_transition_time; - } - lu_table_template (recovery_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (recovery_template_6x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (removal_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (setup_template_3x5) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (setup_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; } cell (INV) { area: 109728.0; cell_leakage_power: 0.1173; pin (A) { - capacitance: 0.007547126607243736; direction: input; - fall_capacitance: 0.008904762554228705; - rise_capacitance: 0.0061894906602587675; + rise_capacitance: 0.006188556324394764; + fall_capacitance: 0.008930247677472391; + capacitance: 0.007559402000933578; } pin (Y) { direction: output; + function: "!(A)"; function: "(!A)"; timing () { related_pin: "A"; @@ -201,11 +58,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.005045, 0.004666, 0.003429, -0.000859, -0.065505", \ - "0.044989, 0.042725, 0.047543, 0.051692, 0.040256", \ - "0.088909, 0.082182, 0.082392, 0.089237, 0.111465", \ - "0.176860, 0.166922, 0.160768, 0.159204, 0.223911", \ - "0.881893, 0.869050, 0.853857, 0.827782, 0.824694" + "0.005045, 0.004409, 0.003488, -0.000307, -0.065884", \ + "0.045060, 0.042762, 0.047513, 0.054699, 0.040967", \ + "0.088722, 0.082033, 0.082140, 0.091178, 0.111791", \ + "0.176767, 0.166715, 0.160456, 0.160380, 0.224564", \ + "0.882682, 0.869493, 0.854103, 0.828028, 0.824714" ); } cell_fall (delay_template_5x5) { @@ -216,11 +73,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.005563, 0.008612, 0.012339, 0.017358, 0.087849", \ - "0.046446, 0.047702, 0.053516, 0.064252, 0.179451", \ - "0.090922, 0.089928, 0.091895, 0.103197, 0.242872", \ - "0.179772, 0.177219, 0.176091, 0.179128, 0.343479", \ - "0.895275, 0.891758, 0.887322, 0.880070, 0.928854" + "0.005563, 0.008580, 0.012595, 0.019184, 0.090037", \ + "0.046837, 0.047773, 0.053764, 0.068471, 0.181014", \ + "0.091353, 0.089965, 0.091587, 0.103620, 0.243501", \ + "0.180850, 0.178100, 0.176154, 0.179192, 0.343968", \ + "0.897064, 0.893202, 0.888379, 0.879811, 0.928891" ); } rise_transition (delay_template_5x5) { @@ -231,11 +88,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.008037, 0.028704, 0.054668, 0.109521, 0.869966", \ - "0.076055, 0.081921, 0.097573, 0.140257, 0.863906", \ - "0.147843, 0.149496, 0.158979, 0.188238, 0.862306", \ - "0.288563, 0.287255, 0.290237, 0.307382, 0.902900", \ - "1.419778, 1.420153, 1.419732, 1.419717, 1.673889" + "0.008037, 0.029159, 0.057520, 0.115796, 0.870209", \ + "0.074565, 0.079799, 0.096343, 0.138761, 0.864852", \ + "0.145329, 0.146192, 0.155787, 0.188759, 0.863750", \ + "0.286862, 0.286915, 0.288453, 0.307678, 0.903487", \ + "1.420162, 1.420160, 1.420161, 1.420161, 1.674200" ); } fall_transition (delay_template_5x5) { @@ -246,11 +103,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.008767, 0.031084, 0.058052, 0.115960, 0.868417", \ - "0.090912, 0.096720, 0.111536, 0.155787, 0.875627", \ - "0.176967, 0.177851, 0.188412, 0.219917, 0.899333", \ - "0.347603, 0.347624, 0.351003, 0.368838, 0.971602", \ - "1.725267, 1.725008, 1.725609, 1.725893, 1.975591" + "0.008767, 0.030412, 0.056701, 0.115566, 0.870158", \ + "0.089918, 0.095810, 0.111953, 0.155870, 0.877226", \ + "0.175658, 0.177628, 0.186680, 0.219666, 0.900539", \ + "0.348403, 0.348491, 0.350746, 0.368988, 0.971736", \ + "1.726613, 1.726603, 1.726598, 1.726608, 1.975691" ); } }
diff --git a/cells/lib/INVX1.lib b/cells/lib/INVX1.lib index e52416f..12e7a4d 100644 --- a/cells/lib/INVX1.lib +++ b/cells/lib/INVX1.lib
@@ -1,194 +1,51 @@ library (ls05_stdcells) { - capacitive_load_unit (1.0, pf); - current_unit: "1uA"; - default_operating_conditions: typical; delay_model: table_lookup; in_place_swap_mode: match_footprint; - input_threshold_pct_fall: 50.0; - input_threshold_pct_rise: 50.0; - leakage_power_unit: "1nW"; - nom_process: 1.0; - nom_temperature: 25.0; - nom_voltage: 5.0; - output_threshold_pct_fall: 50.0; - output_threshold_pct_rise: 50.0; - pulling_resistance_unit: "1kohm"; - slew_lower_threshold_pct_fall: 20.0; - slew_lower_threshold_pct_rise: 20.0; - slew_upper_threshold_pct_fall: 80.0; - slew_upper_threshold_pct_rise: 80.0; time_unit: "1ns"; voltage_unit: "1V"; + current_unit: "1uA"; + pulling_resistance_unit: "1kohm"; + leakage_power_unit: "1nW"; + capacitive_load_unit (1.0, pf); + slew_upper_threshold_pct_rise: 80.0; + slew_lower_threshold_pct_rise: 20.0; + slew_upper_threshold_pct_fall: 80.0; + slew_lower_threshold_pct_fall: 20.0; + input_threshold_pct_rise: 50.0; + input_threshold_pct_fall: 50.0; + output_threshold_pct_rise: 50.0; + output_threshold_pct_fall: 50.0; + nom_process: 1.0; + nom_voltage: 5.0; + nom_temperature: 25.0; + default_operating_conditions: typical; operating_conditions (typical) { process: 1.0; - temperature: 25.0; voltage: 5.0; - } - lu_table_template (delay_template_5x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: input_net_transition; + temperature: 25.0; } lu_table_template (delay_template_5x5) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); variable_1: total_output_net_capacitance; variable_2: input_net_transition; - } - lu_table_template (delay_template_5x6) { index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" + "1000.000000, 1001.000000, 1002.000000, 1003.000000, 1004.000000" ); index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" + "1000.000000, 1001.000000, 1002.000000, 1003.000000, 1004.000000" ); - variable_1: total_output_net_capacitance; - variable_2: input_net_transition; - } - lu_table_template (delay_template_6x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: input_net_transition; - } - lu_table_template (delay_template_6x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_net_transition; - } - power_lut_template (energy_template_5x5) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_transition_time; - } - power_lut_template (energy_template_5x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_transition_time; - } - power_lut_template (energy_template_6x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_transition_time; - } - lu_table_template (hold_template_3x5) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (hold_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - power_lut_template (passive_energy_template_5x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: input_transition_time; - } - power_lut_template (passive_energy_template_6x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: input_transition_time; - } - lu_table_template (recovery_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (recovery_template_6x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (removal_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (setup_template_3x5) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (setup_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; } cell (INVX1) { area: 109728.0; cell_leakage_power: 0.1173; pin (A) { - capacitance: 0.007547126607243736; direction: input; - fall_capacitance: 0.008904762554228705; - rise_capacitance: 0.0061894906602587675; + rise_capacitance: 0.006188556324394764; + fall_capacitance: 0.008930247677472391; + capacitance: 0.007559402000933578; } pin (Y) { direction: output; + function: "!(A)"; function: "(!A)"; timing () { related_pin: "A"; @@ -201,11 +58,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.005045, 0.004666, 0.003429, -0.000859, -0.065505", \ - "0.044989, 0.042725, 0.047543, 0.051692, 0.040256", \ - "0.088909, 0.082182, 0.082392, 0.089237, 0.111465", \ - "0.176860, 0.166922, 0.160768, 0.159204, 0.223911", \ - "0.881893, 0.869050, 0.853857, 0.827782, 0.824694" + "0.005045, 0.004409, 0.003488, -0.000307, -0.065884", \ + "0.045060, 0.042762, 0.047513, 0.054699, 0.040967", \ + "0.088722, 0.082033, 0.082140, 0.091178, 0.111791", \ + "0.176767, 0.166715, 0.160456, 0.160380, 0.224564", \ + "0.882682, 0.869493, 0.854103, 0.828028, 0.824714" ); } cell_fall (delay_template_5x5) { @@ -216,11 +73,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.005563, 0.008612, 0.012339, 0.017358, 0.087849", \ - "0.046446, 0.047702, 0.053516, 0.064252, 0.179451", \ - "0.090922, 0.089928, 0.091895, 0.103197, 0.242872", \ - "0.179772, 0.177219, 0.176091, 0.179128, 0.343479", \ - "0.895275, 0.891758, 0.887322, 0.880070, 0.928854" + "0.005563, 0.008580, 0.012595, 0.019184, 0.090037", \ + "0.046837, 0.047773, 0.053764, 0.068471, 0.181014", \ + "0.091353, 0.089965, 0.091587, 0.103620, 0.243501", \ + "0.180850, 0.178100, 0.176154, 0.179192, 0.343968", \ + "0.897064, 0.893202, 0.888379, 0.879811, 0.928891" ); } rise_transition (delay_template_5x5) { @@ -231,11 +88,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.008037, 0.028704, 0.054668, 0.109521, 0.869966", \ - "0.076055, 0.081921, 0.097573, 0.140257, 0.863906", \ - "0.147843, 0.149496, 0.158979, 0.188238, 0.862306", \ - "0.288563, 0.287255, 0.290237, 0.307382, 0.902900", \ - "1.419778, 1.420153, 1.419732, 1.419717, 1.673889" + "0.008037, 0.029159, 0.057520, 0.115796, 0.870209", \ + "0.074565, 0.079799, 0.096343, 0.138761, 0.864852", \ + "0.145329, 0.146192, 0.155787, 0.188759, 0.863750", \ + "0.286862, 0.286915, 0.288453, 0.307678, 0.903487", \ + "1.420162, 1.420160, 1.420161, 1.420161, 1.674200" ); } fall_transition (delay_template_5x5) { @@ -246,11 +103,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.008767, 0.031084, 0.058052, 0.115960, 0.868417", \ - "0.090912, 0.096720, 0.111536, 0.155787, 0.875627", \ - "0.176967, 0.177851, 0.188412, 0.219917, 0.899333", \ - "0.347603, 0.347624, 0.351003, 0.368838, 0.971602", \ - "1.725267, 1.725008, 1.725609, 1.725893, 1.975591" + "0.008767, 0.030412, 0.056701, 0.115566, 0.870158", \ + "0.089918, 0.095810, 0.111953, 0.155870, 0.877226", \ + "0.175658, 0.177628, 0.186680, 0.219666, 0.900539", \ + "0.348403, 0.348491, 0.350746, 0.368988, 0.971736", \ + "1.726613, 1.726603, 1.726598, 1.726608, 1.975691" ); } }
diff --git a/cells/lib/INVX2.lib b/cells/lib/INVX2.lib index c8b1fd4..2da9522 100644 --- a/cells/lib/INVX2.lib +++ b/cells/lib/INVX2.lib
@@ -1,194 +1,51 @@ library (ls05_stdcells) { - capacitive_load_unit (1.0, pf); - current_unit: "1uA"; - default_operating_conditions: typical; delay_model: table_lookup; in_place_swap_mode: match_footprint; - input_threshold_pct_fall: 50.0; - input_threshold_pct_rise: 50.0; - leakage_power_unit: "1nW"; - nom_process: 1.0; - nom_temperature: 25.0; - nom_voltage: 5.0; - output_threshold_pct_fall: 50.0; - output_threshold_pct_rise: 50.0; - pulling_resistance_unit: "1kohm"; - slew_lower_threshold_pct_fall: 20.0; - slew_lower_threshold_pct_rise: 20.0; - slew_upper_threshold_pct_fall: 80.0; - slew_upper_threshold_pct_rise: 80.0; time_unit: "1ns"; voltage_unit: "1V"; + current_unit: "1uA"; + pulling_resistance_unit: "1kohm"; + leakage_power_unit: "1nW"; + capacitive_load_unit (1.0, pf); + slew_upper_threshold_pct_rise: 80.0; + slew_lower_threshold_pct_rise: 20.0; + slew_upper_threshold_pct_fall: 80.0; + slew_lower_threshold_pct_fall: 20.0; + input_threshold_pct_rise: 50.0; + input_threshold_pct_fall: 50.0; + output_threshold_pct_rise: 50.0; + output_threshold_pct_fall: 50.0; + nom_process: 1.0; + nom_voltage: 5.0; + nom_temperature: 25.0; + default_operating_conditions: typical; operating_conditions (typical) { process: 1.0; - temperature: 25.0; voltage: 5.0; - } - lu_table_template (delay_template_5x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: input_net_transition; + temperature: 25.0; } lu_table_template (delay_template_5x5) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); variable_1: total_output_net_capacitance; variable_2: input_net_transition; - } - lu_table_template (delay_template_5x6) { index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" + "1000.000000, 1001.000000, 1002.000000, 1003.000000, 1004.000000" ); index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" + "1000.000000, 1001.000000, 1002.000000, 1003.000000, 1004.000000" ); - variable_1: total_output_net_capacitance; - variable_2: input_net_transition; - } - lu_table_template (delay_template_6x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: input_net_transition; - } - lu_table_template (delay_template_6x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_net_transition; - } - power_lut_template (energy_template_5x5) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_transition_time; - } - power_lut_template (energy_template_5x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_transition_time; - } - power_lut_template (energy_template_6x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_transition_time; - } - lu_table_template (hold_template_3x5) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (hold_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - power_lut_template (passive_energy_template_5x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: input_transition_time; - } - power_lut_template (passive_energy_template_6x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: input_transition_time; - } - lu_table_template (recovery_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (recovery_template_6x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (removal_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (setup_template_3x5) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (setup_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; } cell (INVX2) { area: 109728.0; cell_leakage_power: 0.1173; pin (A) { - capacitance: 0.007547126607243736; direction: input; - fall_capacitance: 0.008904762554228705; - rise_capacitance: 0.0061894906602587675; + rise_capacitance: 0.006188556324394764; + fall_capacitance: 0.008930247677472391; + capacitance: 0.007559402000933578; } pin (Y) { direction: output; + function: "!(A)"; function: "(!A)"; timing () { related_pin: "A"; @@ -201,11 +58,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.005045, 0.004666, 0.003429, -0.000859, -0.065505", \ - "0.044989, 0.042725, 0.047543, 0.051692, 0.040256", \ - "0.088909, 0.082182, 0.082392, 0.089237, 0.111465", \ - "0.176860, 0.166922, 0.160768, 0.159204, 0.223911", \ - "0.881893, 0.869050, 0.853857, 0.827782, 0.824694" + "0.005045, 0.004409, 0.003488, -0.000307, -0.065884", \ + "0.045060, 0.042762, 0.047513, 0.054699, 0.040967", \ + "0.088722, 0.082033, 0.082140, 0.091178, 0.111791", \ + "0.176767, 0.166715, 0.160456, 0.160380, 0.224564", \ + "0.882682, 0.869493, 0.854103, 0.828028, 0.824714" ); } cell_fall (delay_template_5x5) { @@ -216,11 +73,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.005563, 0.008612, 0.012339, 0.017358, 0.087849", \ - "0.046446, 0.047702, 0.053516, 0.064252, 0.179451", \ - "0.090922, 0.089928, 0.091895, 0.103197, 0.242872", \ - "0.179772, 0.177219, 0.176091, 0.179128, 0.343479", \ - "0.895275, 0.891758, 0.887322, 0.880070, 0.928854" + "0.005563, 0.008580, 0.012595, 0.019184, 0.090037", \ + "0.046837, 0.047773, 0.053764, 0.068471, 0.181014", \ + "0.091353, 0.089965, 0.091587, 0.103620, 0.243501", \ + "0.180850, 0.178100, 0.176154, 0.179192, 0.343968", \ + "0.897064, 0.893202, 0.888379, 0.879811, 0.928891" ); } rise_transition (delay_template_5x5) { @@ -231,11 +88,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.008037, 0.028704, 0.054668, 0.109521, 0.869966", \ - "0.076055, 0.081921, 0.097573, 0.140257, 0.863906", \ - "0.147843, 0.149496, 0.158979, 0.188238, 0.862306", \ - "0.288563, 0.287255, 0.290237, 0.307382, 0.902900", \ - "1.419778, 1.420153, 1.419732, 1.419717, 1.673889" + "0.008037, 0.029159, 0.057520, 0.115796, 0.870209", \ + "0.074565, 0.079799, 0.096343, 0.138761, 0.864852", \ + "0.145329, 0.146192, 0.155787, 0.188759, 0.863750", \ + "0.286862, 0.286915, 0.288453, 0.307678, 0.903487", \ + "1.420162, 1.420160, 1.420161, 1.420161, 1.674200" ); } fall_transition (delay_template_5x5) { @@ -246,11 +103,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.008767, 0.031084, 0.058052, 0.115960, 0.868417", \ - "0.090912, 0.096720, 0.111536, 0.155787, 0.875627", \ - "0.176967, 0.177851, 0.188412, 0.219917, 0.899333", \ - "0.347603, 0.347624, 0.351003, 0.368838, 0.971602", \ - "1.725267, 1.725008, 1.725609, 1.725893, 1.975591" + "0.008767, 0.030412, 0.056701, 0.115566, 0.870158", \ + "0.089918, 0.095810, 0.111953, 0.155870, 0.877226", \ + "0.175658, 0.177628, 0.186680, 0.219666, 0.900539", \ + "0.348403, 0.348491, 0.350746, 0.368988, 0.971736", \ + "1.726613, 1.726603, 1.726598, 1.726608, 1.975691" ); } }
diff --git a/cells/lib/INVX4.lib b/cells/lib/INVX4.lib index 7de56db..9a533d4 100644 --- a/cells/lib/INVX4.lib +++ b/cells/lib/INVX4.lib
@@ -1,194 +1,51 @@ library (ls05_stdcells) { - capacitive_load_unit (1.0, pf); - current_unit: "1uA"; - default_operating_conditions: typical; delay_model: table_lookup; in_place_swap_mode: match_footprint; - input_threshold_pct_fall: 50.0; - input_threshold_pct_rise: 50.0; - leakage_power_unit: "1nW"; - nom_process: 1.0; - nom_temperature: 25.0; - nom_voltage: 5.0; - output_threshold_pct_fall: 50.0; - output_threshold_pct_rise: 50.0; - pulling_resistance_unit: "1kohm"; - slew_lower_threshold_pct_fall: 20.0; - slew_lower_threshold_pct_rise: 20.0; - slew_upper_threshold_pct_fall: 80.0; - slew_upper_threshold_pct_rise: 80.0; time_unit: "1ns"; voltage_unit: "1V"; + current_unit: "1uA"; + pulling_resistance_unit: "1kohm"; + leakage_power_unit: "1nW"; + capacitive_load_unit (1.0, pf); + slew_upper_threshold_pct_rise: 80.0; + slew_lower_threshold_pct_rise: 20.0; + slew_upper_threshold_pct_fall: 80.0; + slew_lower_threshold_pct_fall: 20.0; + input_threshold_pct_rise: 50.0; + input_threshold_pct_fall: 50.0; + output_threshold_pct_rise: 50.0; + output_threshold_pct_fall: 50.0; + nom_process: 1.0; + nom_voltage: 5.0; + nom_temperature: 25.0; + default_operating_conditions: typical; operating_conditions (typical) { process: 1.0; - temperature: 25.0; voltage: 5.0; - } - lu_table_template (delay_template_5x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: input_net_transition; + temperature: 25.0; } lu_table_template (delay_template_5x5) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); variable_1: total_output_net_capacitance; variable_2: input_net_transition; - } - lu_table_template (delay_template_5x6) { index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" + "1000.000000, 1001.000000, 1002.000000, 1003.000000, 1004.000000" ); index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" + "1000.000000, 1001.000000, 1002.000000, 1003.000000, 1004.000000" ); - variable_1: total_output_net_capacitance; - variable_2: input_net_transition; - } - lu_table_template (delay_template_6x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: input_net_transition; - } - lu_table_template (delay_template_6x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_net_transition; - } - power_lut_template (energy_template_5x5) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_transition_time; - } - power_lut_template (energy_template_5x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_transition_time; - } - power_lut_template (energy_template_6x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_transition_time; - } - lu_table_template (hold_template_3x5) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (hold_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - power_lut_template (passive_energy_template_5x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: input_transition_time; - } - power_lut_template (passive_energy_template_6x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: input_transition_time; - } - lu_table_template (recovery_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (recovery_template_6x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (removal_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (setup_template_3x5) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (setup_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; } cell (INVX4) { area: 164592.0; cell_leakage_power: 0.1173; pin (A) { - capacitance: 0.013438478664617209; direction: input; - fall_capacitance: 0.014499779614899311; - rise_capacitance: 0.012377177714335106; + rise_capacitance: 0.012376891490235522; + fall_capacitance: 0.014525173100391225; + capacitance: 0.013451032295313373; } pin (Y) { direction: output; + function: "!(A)"; function: "(!A)"; timing () { related_pin: "A"; @@ -201,11 +58,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.004836, 0.004170, 0.002946, -0.001907, -0.066292", \ - "0.023946, 0.025031, 0.028842, 0.029915, -0.004484", \ - "0.044976, 0.042290, 0.047609, 0.052305, 0.040052", \ - "0.088868, 0.082479, 0.082214, 0.089172, 0.111518", \ - "0.440751, 0.428400, 0.415953, 0.398459, 0.482872" + "0.004836, 0.003911, 0.003113, -0.000947, -0.066781", \ + "0.023782, 0.025438, 0.029154, 0.032024, -0.003570", \ + "0.045059, 0.042825, 0.047513, 0.054773, 0.040967", \ + "0.088711, 0.082075, 0.082140, 0.091166, 0.111791", \ + "0.441430, 0.429084, 0.416141, 0.399464, 0.483388" ); } cell_fall (delay_template_5x5) { @@ -216,11 +73,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.005423, 0.008336, 0.011970, 0.017170, 0.086980", \ - "0.025140, 0.028622, 0.035186, 0.044099, 0.141159", \ - "0.046446, 0.047702, 0.053516, 0.064252, 0.179451", \ - "0.090922, 0.089928, 0.091895, 0.103197, 0.242872", \ - "0.447493, 0.444138, 0.440746, 0.435821, 0.578747" + "0.005423, 0.008343, 0.012279, 0.018588, 0.089288", \ + "0.025056, 0.028778, 0.035903, 0.047954, 0.142358", \ + "0.046837, 0.047773, 0.053764, 0.068471, 0.181014", \ + "0.091353, 0.089965, 0.091587, 0.103620, 0.243501", \ + "0.449471, 0.445891, 0.441675, 0.435947, 0.579373" ); } rise_transition (delay_template_5x5) { @@ -231,11 +88,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.007775, 0.028100, 0.055227, 0.108927, 0.869985", \ - "0.039255, 0.049723, 0.072334, 0.124573, 0.866617", \ - "0.075493, 0.083261, 0.096610, 0.140261, 0.863292", \ - "0.146557, 0.148054, 0.158526, 0.188166, 0.862332", \ - "0.712012, 0.711126, 0.711929, 0.712879, 1.131106" + "0.007775, 0.029000, 0.057625, 0.115801, 0.870234", \ + "0.039447, 0.049978, 0.071107, 0.121251, 0.867453", \ + "0.074397, 0.079871, 0.096343, 0.138754, 0.864852", \ + "0.145174, 0.146264, 0.155787, 0.188826, 0.863750", \ + "0.711874, 0.711865, 0.711868, 0.712356, 1.131446" ); } fall_transition (delay_template_5x5) { @@ -246,11 +103,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.008278, 0.030935, 0.057869, 0.115738, 0.868418", \ - "0.047073, 0.058001, 0.079823, 0.131936, 0.871905", \ - "0.090912, 0.096720, 0.111536, 0.155787, 0.875627", \ - "0.176967, 0.177851, 0.188412, 0.219917, 0.899333", \ - "0.863260, 0.862553, 0.864134, 0.865563, 1.291606" + "0.008278, 0.030236, 0.056581, 0.115515, 0.870125", \ + "0.047212, 0.057977, 0.079852, 0.130476, 0.873241", \ + "0.089918, 0.095810, 0.111953, 0.155870, 0.877226", \ + "0.175658, 0.177628, 0.186680, 0.219666, 0.900539", \ + "0.865308, 0.865247, 0.865250, 0.866773, 1.291412" ); } }
diff --git a/cells/lib/INVX8.lib b/cells/lib/INVX8.lib index fb74746..62e1f00 100644 --- a/cells/lib/INVX8.lib +++ b/cells/lib/INVX8.lib
@@ -1,194 +1,51 @@ library (ls05_stdcells) { - capacitive_load_unit (1.0, pf); - current_unit: "1uA"; - default_operating_conditions: typical; delay_model: table_lookup; in_place_swap_mode: match_footprint; - input_threshold_pct_fall: 50.0; - input_threshold_pct_rise: 50.0; - leakage_power_unit: "1nW"; - nom_process: 1.0; - nom_temperature: 25.0; - nom_voltage: 5.0; - output_threshold_pct_fall: 50.0; - output_threshold_pct_rise: 50.0; - pulling_resistance_unit: "1kohm"; - slew_lower_threshold_pct_fall: 20.0; - slew_lower_threshold_pct_rise: 20.0; - slew_upper_threshold_pct_fall: 80.0; - slew_upper_threshold_pct_rise: 80.0; time_unit: "1ns"; voltage_unit: "1V"; + current_unit: "1uA"; + pulling_resistance_unit: "1kohm"; + leakage_power_unit: "1nW"; + capacitive_load_unit (1.0, pf); + slew_upper_threshold_pct_rise: 80.0; + slew_lower_threshold_pct_rise: 20.0; + slew_upper_threshold_pct_fall: 80.0; + slew_lower_threshold_pct_fall: 20.0; + input_threshold_pct_rise: 50.0; + input_threshold_pct_fall: 50.0; + output_threshold_pct_rise: 50.0; + output_threshold_pct_fall: 50.0; + nom_process: 1.0; + nom_voltage: 5.0; + nom_temperature: 25.0; + default_operating_conditions: typical; operating_conditions (typical) { process: 1.0; - temperature: 25.0; voltage: 5.0; - } - lu_table_template (delay_template_5x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: input_net_transition; + temperature: 25.0; } lu_table_template (delay_template_5x5) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); variable_1: total_output_net_capacitance; variable_2: input_net_transition; - } - lu_table_template (delay_template_5x6) { index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" + "1000.000000, 1001.000000, 1002.000000, 1003.000000, 1004.000000" ); index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" + "1000.000000, 1001.000000, 1002.000000, 1003.000000, 1004.000000" ); - variable_1: total_output_net_capacitance; - variable_2: input_net_transition; - } - lu_table_template (delay_template_6x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: input_net_transition; - } - lu_table_template (delay_template_6x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_net_transition; - } - power_lut_template (energy_template_5x5) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_transition_time; - } - power_lut_template (energy_template_5x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_transition_time; - } - power_lut_template (energy_template_6x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_transition_time; - } - lu_table_template (hold_template_3x5) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (hold_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - power_lut_template (passive_energy_template_5x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: input_transition_time; - } - power_lut_template (passive_energy_template_6x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: input_transition_time; - } - lu_table_template (recovery_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (recovery_template_6x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (removal_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (setup_template_3x5) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (setup_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; } cell (INVX8) { area: 274320.0; cell_leakage_power: 0.1173; pin (A) { - capacitance: 0.0252218232768479; direction: input; - fall_capacitance: 0.02568994035979349; - rise_capacitance: 0.024753706193902308; + rise_capacitance: 0.02475357794277478; + fall_capacitance: 0.025715030488090873; + capacitance: 0.025234304215432823; } pin (Y) { direction: output; + function: "!(A)"; function: "(!A)"; timing () { related_pin: "A"; @@ -201,11 +58,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.004711, 0.004036, 0.002690, -0.002338, -0.066683", \ - "0.013476, 0.015921, 0.017776, 0.016979, -0.030765", \ - "0.023708, 0.025226, 0.028773, 0.029840, -0.004496", \ - "0.044997, 0.042811, 0.047615, 0.051364, 0.040057", \ - "0.220573, 0.210103, 0.201918, 0.196471, 0.273011" + "0.004711, 0.003669, 0.002920, -0.001273, -0.067235", \ + "0.013476, 0.016314, 0.018100, 0.018126, -0.031065", \ + "0.023686, 0.025560, 0.029154, 0.032104, -0.003570", \ + "0.045002, 0.042834, 0.047470, 0.054715, 0.040967", \ + "0.220836, 0.210041, 0.201832, 0.197811, 0.273718" ); } cell_fall (delay_template_5x5) { @@ -216,11 +73,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.005356, 0.008195, 0.011786, 0.017076, 0.086545", \ - "0.014445, 0.019292, 0.024680, 0.028468, 0.116656", \ - "0.025140, 0.028622, 0.035186, 0.044099, 0.141159", \ - "0.046446, 0.047702, 0.053516, 0.064252, 0.179451", \ - "0.224189, 0.221188, 0.219510, 0.220049, 0.387314" + "0.005356, 0.008225, 0.012119, 0.018287, 0.088886", \ + "0.014445, 0.019534, 0.025707, 0.035382, 0.118985", \ + "0.025056, 0.028778, 0.035903, 0.047954, 0.142358", \ + "0.046837, 0.047773, 0.053764, 0.068471, 0.181014", \ + "0.225616, 0.222601, 0.219861, 0.220213, 0.388011" ); } rise_transition (delay_template_5x5) { @@ -231,11 +88,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.007647, 0.027974, 0.055611, 0.108999, 0.869977", \ - "0.022594, 0.037470, 0.063051, 0.115180, 0.867738", \ - "0.039486, 0.049806, 0.072127, 0.121312, 0.866717", \ - "0.076785, 0.082234, 0.096608, 0.138992, 0.863329", \ - "0.358088, 0.358712, 0.359243, 0.372101, 0.930596" + "0.007647, 0.028925, 0.057669, 0.115805, 0.870247", \ + "0.022139, 0.037257, 0.061628, 0.115441, 0.868805", \ + "0.039229, 0.050143, 0.071107, 0.121043, 0.867453", \ + "0.074441, 0.080027, 0.096405, 0.138670, 0.864852", \ + "0.357732, 0.357697, 0.358023, 0.371638, 0.931800" ); } fall_transition (delay_template_5x5) { @@ -246,11 +103,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.008160, 0.030855, 0.057683, 0.115626, 0.868400", \ - "0.027538, 0.041822, 0.066894, 0.123555, 0.870026", \ - "0.047073, 0.058001, 0.079823, 0.131936, 0.871905", \ - "0.090912, 0.096720, 0.111536, 0.155787, 0.875627", \ - "0.433842, 0.432463, 0.434875, 0.448234, 1.015267" + "0.008160, 0.030148, 0.056531, 0.115506, 0.870109", \ + "0.026793, 0.041830, 0.067077, 0.120590, 0.871621", \ + "0.047212, 0.057977, 0.079852, 0.130476, 0.873241", \ + "0.089918, 0.095810, 0.111953, 0.155870, 0.877226", \ + "0.434491, 0.434491, 0.435448, 0.448752, 1.014657" ); } }
diff --git a/cells/lib/MUX2X1.lib b/cells/lib/MUX2X1.lib index 3baab38..d8a0d96 100644 --- a/cells/lib/MUX2X1.lib +++ b/cells/lib/MUX2X1.lib
@@ -1,210 +1,67 @@ library (ls05_stdcells) { - capacitive_load_unit (1.0, pf); - current_unit: "1uA"; - default_operating_conditions: typical; delay_model: table_lookup; in_place_swap_mode: match_footprint; - input_threshold_pct_fall: 50.0; - input_threshold_pct_rise: 50.0; - leakage_power_unit: "1nW"; - nom_process: 1.0; - nom_temperature: 25.0; - nom_voltage: 5.0; - output_threshold_pct_fall: 50.0; - output_threshold_pct_rise: 50.0; - pulling_resistance_unit: "1kohm"; - slew_lower_threshold_pct_fall: 20.0; - slew_lower_threshold_pct_rise: 20.0; - slew_upper_threshold_pct_fall: 80.0; - slew_upper_threshold_pct_rise: 80.0; time_unit: "1ns"; voltage_unit: "1V"; + current_unit: "1uA"; + pulling_resistance_unit: "1kohm"; + leakage_power_unit: "1nW"; + capacitive_load_unit (1.0, pf); + slew_upper_threshold_pct_rise: 80.0; + slew_lower_threshold_pct_rise: 20.0; + slew_upper_threshold_pct_fall: 80.0; + slew_lower_threshold_pct_fall: 20.0; + input_threshold_pct_rise: 50.0; + input_threshold_pct_fall: 50.0; + output_threshold_pct_rise: 50.0; + output_threshold_pct_fall: 50.0; + nom_process: 1.0; + nom_voltage: 5.0; + nom_temperature: 25.0; + default_operating_conditions: typical; operating_conditions (typical) { process: 1.0; - temperature: 25.0; voltage: 5.0; - } - lu_table_template (delay_template_5x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: input_net_transition; + temperature: 25.0; } lu_table_template (delay_template_5x5) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); variable_1: total_output_net_capacitance; variable_2: input_net_transition; - } - lu_table_template (delay_template_5x6) { index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" + "1000.000000, 1001.000000, 1002.000000, 1003.000000, 1004.000000" ); index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" + "1000.000000, 1001.000000, 1002.000000, 1003.000000, 1004.000000" ); - variable_1: total_output_net_capacitance; - variable_2: input_net_transition; - } - lu_table_template (delay_template_6x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: input_net_transition; - } - lu_table_template (delay_template_6x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_net_transition; - } - power_lut_template (energy_template_5x5) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_transition_time; - } - power_lut_template (energy_template_5x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_transition_time; - } - power_lut_template (energy_template_6x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_transition_time; - } - lu_table_template (hold_template_3x5) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (hold_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - power_lut_template (passive_energy_template_5x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: input_transition_time; - } - power_lut_template (passive_energy_template_6x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: input_transition_time; - } - lu_table_template (recovery_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (recovery_template_6x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (removal_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (setup_template_3x5) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (setup_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; } cell (MUX2X1) { area: 329184.0; cell_leakage_power: 0.1173; pin (S) { - capacitance: 0.009256673995156848; direction: input; - fall_capacitance: 0.008174605299069488; - rise_capacitance: 0.01033874269124421; + rise_capacitance: 0.010338610799344835; + fall_capacitance: 0.008212780453515003; + capacitance: 0.009275695626429919; } pin (B) { - capacitance: 0.007621740826129985; direction: input; - fall_capacitance: 0.008845710726223829; - rise_capacitance: 0.0063977709260361415; + rise_capacitance: 0.006397490498320098; + fall_capacitance: 0.008895353965965845; + capacitance: 0.007646422232142972; } pin (A) { - capacitance: 0.006381443680226534; direction: input; - fall_capacitance: 0.007825475707159937; - rise_capacitance: 0.00493741165329313; + rise_capacitance: 0.004937389414015676; + fall_capacitance: 0.007864001795670731; + capacitance: 0.006400695604843204; } pin (Y) { direction: output; + function: "!(!S&B&!A|!S&B&A|S&B&A|S&!B&A)"; function: "(!(A & B & S + A & B & !S + A & S & !B + B & !A & !S))"; timing () { - related_pin: "S"; - timing_sense: non_unate; + related_pin: "A"; + timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" @@ -213,11 +70,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.015477, 0.019600, 0.024190, 0.025747, 0.046287", \ - "0.090314, 0.087100, 0.090495, 0.101960, 0.176908", \ - "0.167236, 0.162506, 0.162337, 0.167647, 0.271944", \ - "0.321537, 0.315074, 0.311756, 0.311149, 0.436391", \ - "1.560714, 1.552503, 1.545002, 1.533689, 1.520599" + "0.019428, 0.021747, 0.023821, 0.024885, -0.020070", \ + "0.096776, 0.096705, 0.098699, 0.106638, 0.141139", \ + "0.174325, 0.173758, 0.174373, 0.179031, 0.252974", \ + "0.329331, 0.328462, 0.328043, 0.329638, 0.432416", \ + "1.569307, 1.568155, 1.566435, 1.563733, 1.594086" ); } cell_fall (delay_template_5x5) { @@ -228,11 +85,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.009379, 0.017036, 0.023092, 0.027221, 0.047575", \ - "0.098648, 0.096570, 0.098493, 0.106357, 0.189094", \ - "0.192045, 0.187310, 0.185345, 0.186620, 0.293971", \ - "0.380085, 0.373558, 0.368111, 0.361746, 0.471469", \ - "1.891180, 1.882519, 1.872679, 1.854529, 1.753166" + "0.015958, 0.027807, 0.035343, 0.047135, 0.140744", \ + "0.109318, 0.113175, 0.119175, 0.133278, 0.299017", \ + "0.203682, 0.205651, 0.209577, 0.220207, 0.408863", \ + "0.392584, 0.393181, 0.395219, 0.402088, 0.586689", \ + "1.904228, 1.903421, 1.903075, 1.903731, 1.981518" ); } rise_transition (delay_template_5x5) { @@ -243,11 +100,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.025354, 0.032783, 0.050461, 0.087201, 0.566081", \ - "0.133109, 0.134458, 0.135941, 0.157612, 0.603315", \ - "0.244639, 0.245101, 0.245522, 0.253219, 0.662135", \ - "0.469661, 0.469241, 0.469216, 0.469325, 0.758422", \ - "2.271840, 2.271929, 2.271941, 2.271927, 2.283161" + "0.020411, 0.026763, 0.039961, 0.063425, 0.317670", \ + "0.130948, 0.130915, 0.131768, 0.141947, 0.451197", \ + "0.243567, 0.243583, 0.243517, 0.245528, 0.549507", \ + "0.468902, 0.468912, 0.468912, 0.468919, 0.675777", \ + "2.271917, 2.271914, 2.271917, 2.271916, 2.274560" ); } fall_transition (delay_template_5x5) { @@ -258,11 +115,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.022515, 0.036555, 0.054175, 0.094241, 0.572428", \ - "0.157940, 0.158368, 0.159664, 0.178650, 0.640716", \ - "0.288080, 0.288326, 0.288348, 0.292800, 0.713717", \ - "0.548431, 0.548597, 0.548599, 0.548675, 0.846377", \ - "2.640854, 2.640882, 2.640837, 2.640903, 2.646773" + "0.034547, 0.032700, 0.040748, 0.064546, 0.323227", \ + "0.155499, 0.155537, 0.155799, 0.162945, 0.464800", \ + "0.286354, 0.286330, 0.286313, 0.286918, 0.548668", \ + "0.547917, 0.547919, 0.547900, 0.547926, 0.702513", \ + "2.640604, 2.640603, 2.640602, 2.640603, 2.640599" ); } } @@ -277,11 +134,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.012479, 0.020703, 0.023751, 0.026480, -0.020258", \ - "0.088791, 0.092407, 0.096269, 0.106017, 0.140677", \ - "0.166519, 0.167928, 0.170594, 0.176829, 0.252652", \ - "0.321088, 0.321765, 0.322714, 0.325872, 0.431855", \ - "1.560825, 1.560508, 1.559318, 1.557534, 1.590909" + "0.012479, 0.020519, 0.023592, 0.024838, -0.020037", \ + "0.088439, 0.091403, 0.095223, 0.104973, 0.140988", \ + "0.165879, 0.167485, 0.169565, 0.175932, 0.252738", \ + "0.320839, 0.321506, 0.322081, 0.325051, 0.431811", \ + "1.560766, 1.560490, 1.559111, 1.556910, 1.590657" ); } cell_fall (delay_template_5x5) { @@ -292,11 +149,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.024075, 0.029303, 0.036113, 0.042909, 0.139365", \ - "0.116212, 0.118239, 0.123057, 0.135164, 0.298599", \ - "0.209808, 0.210879, 0.213787, 0.223211, 0.408707", \ - "0.398464, 0.398636, 0.399777, 0.405563, 0.586820", \ - "1.910071, 1.909315, 1.908318, 1.908149, 1.983973" + "0.023985, 0.029348, 0.035865, 0.047430, 0.140831", \ + "0.115535, 0.117784, 0.122066, 0.134594, 0.299174", \ + "0.209718, 0.210748, 0.213291, 0.222435, 0.409049", \ + "0.398509, 0.398634, 0.399621, 0.405195, 0.587049", \ + "1.910075, 1.909263, 1.908276, 1.908150, 1.983766" ); } rise_transition (delay_template_5x5) { @@ -307,11 +164,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.021856, 0.029483, 0.041747, 0.075580, 0.318538", \ - "0.133491, 0.132145, 0.135514, 0.149421, 0.455212", \ - "0.245429, 0.244447, 0.244614, 0.249182, 0.551752", \ - "0.469502, 0.469644, 0.469460, 0.469734, 0.678108", \ - "2.271768, 2.271699, 2.271790, 2.271724, 2.274762" + "0.021856, 0.028909, 0.040295, 0.063869, 0.317858", \ + "0.130661, 0.130662, 0.132045, 0.142857, 0.451367", \ + "0.243245, 0.243252, 0.243275, 0.245652, 0.549740", \ + "0.468595, 0.468585, 0.468603, 0.468582, 0.676414", \ + "2.271590, 2.271590, 2.271589, 2.271591, 2.274367" ); } fall_transition (delay_template_5x5) { @@ -322,17 +179,17 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.026927, 0.031637, 0.041603, 0.073132, 0.327601", \ - "0.157522, 0.158503, 0.158749, 0.168029, 0.467796", \ - "0.288182, 0.288023, 0.288247, 0.289518, 0.550457", \ - "0.548628, 0.548713, 0.548726, 0.548715, 0.704382", \ - "2.641050, 2.641120, 2.641079, 2.641124, 2.641113" + "0.026595, 0.030491, 0.040269, 0.064145, 0.322768", \ + "0.155850, 0.155839, 0.155924, 0.162605, 0.464668", \ + "0.286633, 0.286644, 0.286657, 0.287110, 0.548624", \ + "0.548248, 0.548238, 0.548248, 0.548232, 0.702345", \ + "2.641009, 2.640987, 2.640985, 2.640985, 2.640985" ); } } timing () { - related_pin: "A"; - timing_sense: negative_unate; + related_pin: "S"; + timing_sense: non_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" @@ -341,11 +198,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.019428, 0.021891, 0.024080, 0.024293, -0.020282", \ - "0.097729, 0.098072, 0.099347, 0.107474, 0.140891", \ - "0.174738, 0.174194, 0.175185, 0.179883, 0.252844", \ - "0.329664, 0.328818, 0.328461, 0.330406, 0.432450", \ - "1.569311, 1.568266, 1.566635, 1.564341, 1.594321" + "0.015477, 0.019632, 0.023785, 0.028539, 0.047003", \ + "0.089791, 0.086977, 0.089938, 0.101079, 0.177000", \ + "0.166627, 0.161655, 0.161408, 0.167180, 0.272033", \ + "0.321166, 0.314571, 0.311301, 0.310607, 0.436604", \ + "1.560695, 1.552272, 1.545023, 1.533295, 1.520465" ); } cell_fall (delay_template_5x5) { @@ -356,11 +213,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.015958, 0.028273, 0.035331, 0.042097, 0.139507", \ - "0.109992, 0.113793, 0.120225, 0.134598, 0.298772", \ - "0.203874, 0.205671, 0.209819, 0.221705, 0.408455", \ - "0.392495, 0.393164, 0.395366, 0.402419, 0.586497", \ - "1.904233, 1.903472, 1.903098, 1.903613, 1.981673" + "0.009379, 0.017143, 0.022831, 0.029415, 0.049506", \ + "0.098224, 0.096461, 0.098086, 0.107381, 0.189678", \ + "0.191790, 0.187334, 0.185018, 0.186251, 0.294384", \ + "0.380119, 0.373656, 0.367998, 0.361115, 0.471759", \ + "1.891175, 1.882501, 1.872694, 1.854265, 1.753057" ); } rise_transition (delay_template_5x5) { @@ -371,11 +228,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.020684, 0.027469, 0.040684, 0.075372, 0.321139", \ - "0.131690, 0.132092, 0.134409, 0.147611, 0.454546", \ - "0.244572, 0.244857, 0.245585, 0.248273, 0.551845", \ - "0.469953, 0.470028, 0.469684, 0.470070, 0.677392", \ - "2.272005, 2.271976, 2.272124, 2.272035, 2.274938" + "0.025135, 0.032734, 0.048051, 0.084704, 0.566326", \ + "0.130733, 0.130708, 0.132826, 0.150233, 0.602446", \ + "0.243422, 0.243393, 0.243371, 0.247979, 0.662237", \ + "0.468752, 0.468761, 0.468758, 0.468739, 0.756824", \ + "2.271751, 2.271754, 2.271754, 2.271752, 2.282476" ); } fall_transition (delay_template_5x5) { @@ -386,11 +243,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.034906, 0.034011, 0.041604, 0.074407, 0.329883", \ - "0.157071, 0.157736, 0.156957, 0.168367, 0.468419", \ - "0.288086, 0.287766, 0.287721, 0.290181, 0.550707", \ - "0.548081, 0.548418, 0.548486, 0.548470, 0.704390", \ - "2.640667, 2.640718, 2.640731, 2.640752, 2.640649" + "0.022469, 0.035382, 0.052960, 0.089711, 0.571861", \ + "0.155713, 0.155428, 0.156540, 0.173483, 0.639442", \ + "0.286482, 0.286497, 0.286481, 0.290082, 0.712770", \ + "0.548075, 0.548076, 0.548073, 0.548087, 0.844708", \ + "2.640769, 2.640767, 2.640766, 2.640768, 2.646447" ); } }
diff --git a/cells/lib/NAND2X1.lib b/cells/lib/NAND2X1.lib index 3a083f6..159a940 100644 --- a/cells/lib/NAND2X1.lib +++ b/cells/lib/NAND2X1.lib
@@ -1,266 +1,59 @@ library (ls05_stdcells) { - capacitive_load_unit (1.0, pf); - current_unit: "1uA"; - default_operating_conditions: typical; delay_model: table_lookup; in_place_swap_mode: match_footprint; - input_threshold_pct_fall: 50.0; - input_threshold_pct_rise: 50.0; - leakage_power_unit: "1nW"; - nom_process: 1.0; - nom_temperature: 25.0; - nom_voltage: 5.0; - output_threshold_pct_fall: 50.0; - output_threshold_pct_rise: 50.0; - pulling_resistance_unit: "1kohm"; - slew_lower_threshold_pct_fall: 20.0; - slew_lower_threshold_pct_rise: 20.0; - slew_upper_threshold_pct_fall: 80.0; - slew_upper_threshold_pct_rise: 80.0; time_unit: "1ns"; voltage_unit: "1V"; + current_unit: "1uA"; + pulling_resistance_unit: "1kohm"; + leakage_power_unit: "1nW"; + capacitive_load_unit (1.0, pf); + slew_upper_threshold_pct_rise: 80.0; + slew_lower_threshold_pct_rise: 20.0; + slew_upper_threshold_pct_fall: 80.0; + slew_lower_threshold_pct_fall: 20.0; + input_threshold_pct_rise: 50.0; + input_threshold_pct_fall: 50.0; + output_threshold_pct_rise: 50.0; + output_threshold_pct_fall: 50.0; + nom_process: 1.0; + nom_voltage: 5.0; + nom_temperature: 25.0; + default_operating_conditions: typical; operating_conditions (typical) { process: 1.0; - temperature: 25.0; voltage: 5.0; - } - lu_table_template (delay_template_5x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: input_net_transition; + temperature: 25.0; } lu_table_template (delay_template_5x5) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); variable_1: total_output_net_capacitance; variable_2: input_net_transition; - } - lu_table_template (delay_template_5x6) { index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" + "1000.000000, 1001.000000, 1002.000000, 1003.000000, 1004.000000" ); index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" + "1000.000000, 1001.000000, 1002.000000, 1003.000000, 1004.000000" ); - variable_1: total_output_net_capacitance; - variable_2: input_net_transition; - } - lu_table_template (delay_template_6x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: input_net_transition; - } - lu_table_template (delay_template_6x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_net_transition; - } - power_lut_template (energy_template_5x5) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_transition_time; - } - power_lut_template (energy_template_5x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_transition_time; - } - power_lut_template (energy_template_6x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_transition_time; - } - lu_table_template (hold_template_3x5) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (hold_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - power_lut_template (passive_energy_template_5x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: input_transition_time; - } - power_lut_template (passive_energy_template_6x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: input_transition_time; - } - lu_table_template (recovery_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (recovery_template_6x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (removal_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (setup_template_3x5) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (setup_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; } cell (NAND2X1) { area: 164592.0; cell_leakage_power: 0.1173; pin (B) { - capacitance: 0.00495623189256475; direction: input; - fall_capacitance: 0.005761587126333127; - rise_capacitance: 0.004150876658796372; + rise_capacitance: 0.004150889506161318; + fall_capacitance: 0.0057806089303857715; + capacitance: 0.004965749218273544; } pin (A) { - capacitance: 0.00639318508707538; direction: input; - fall_capacitance: 0.007850955022359487; - rise_capacitance: 0.004935415151791272; + rise_capacitance: 0.004935475394936947; + fall_capacitance: 0.007870695939137575; + capacitance: 0.0064030856670372616; } pin (Y) { direction: output; + function: "!(B&A)"; function: "(!A & B)"; timing () { - related_pin: "B"; - timing_sense: negative_unate; - cell_rise (delay_template_5x5) { - index_1 ( - "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" - ); - index_2 ( - "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" - ); - values ( - "0.005849, 0.004437, 0.002225, -0.008486, -0.130057", \ - "0.046388, 0.043249, 0.046999, 0.048115, -0.018501", \ - "0.090291, 0.082811, 0.082216, 0.086712, 0.056313", \ - "0.178331, 0.167829, 0.160916, 0.157445, 0.175397", \ - "0.883390, 0.870337, 0.854738, 0.827352, 0.802406" - ); - } - cell_fall (delay_template_5x5) { - index_1 ( - "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" - ); - index_2 ( - "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" - ); - values ( - "0.013792, 0.016361, 0.025056, 0.033074, 0.175602", \ - "0.108490, 0.103780, 0.105147, 0.117790, 0.315278", \ - "0.202467, 0.196392, 0.193875, 0.197687, 0.411516", \ - "0.391201, 0.384138, 0.378135, 0.373850, 0.567320", \ - "1.903046, 1.894605, 1.884531, 1.867051, 1.824897" - ); - } - rise_transition (delay_template_5x5) { - index_1 ( - "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" - ); - index_2 ( - "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" - ); - values ( - "0.009695, 0.029312, 0.048608, 0.093281, 0.629805", \ - "0.078056, 0.082987, 0.099284, 0.142653, 0.690195", \ - "0.150388, 0.151272, 0.161350, 0.191067, 0.765186", \ - "0.290688, 0.289222, 0.292426, 0.310086, 0.876476", \ - "1.422106, 1.422288, 1.421889, 1.421871, 1.682533" - ); - } - fall_transition (delay_template_5x5) { - index_1 ( - "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" - ); - index_2 ( - "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" - ); - values ( - "0.014730, 0.023408, 0.040311, 0.078487, 0.617549", \ - "0.143671, 0.145673, 0.147214, 0.163072, 0.604300", \ - "0.274318, 0.273786, 0.274511, 0.279238, 0.636700", \ - "0.534800, 0.535162, 0.534899, 0.535215, 0.783182", \ - "2.627058, 2.627242, 2.627155, 2.627074, 2.630378" - ); - } - } - timing () { related_pin: "A"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { @@ -271,11 +64,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.007196, 0.006952, 0.007019, 0.002025, -0.085579", \ - "0.048073, 0.045085, 0.049525, 0.053219, 0.022142", \ - "0.092047, 0.084523, 0.084238, 0.090031, 0.092503", \ - "0.180017, 0.169497, 0.162833, 0.159983, 0.207124", \ - "0.885060, 0.872012, 0.856446, 0.829185, 0.814262" + "0.007196, 0.007595, 0.006535, 0.002335, -0.081701", \ + "0.048131, 0.045109, 0.049226, 0.055554, 0.023149", \ + "0.091843, 0.084555, 0.083952, 0.092035, 0.093853", \ + "0.179911, 0.169368, 0.162474, 0.161292, 0.207503", \ + "0.885821, 0.872458, 0.856675, 0.829540, 0.814241" ); } cell_fall (delay_template_5x5) { @@ -286,11 +79,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.015633, 0.021506, 0.028394, 0.039572, 0.149899", \ - "0.108272, 0.110667, 0.117688, 0.132659, 0.322650", \ - "0.202415, 0.203429, 0.208041, 0.220813, 0.436827", \ - "0.390997, 0.391221, 0.393703, 0.402725, 0.616168", \ - "1.902658, 1.901593, 1.901395, 1.902809, 2.012938" + "0.015633, 0.021476, 0.028398, 0.039896, 0.146774", \ + "0.107818, 0.110541, 0.116624, 0.131991, 0.322868", \ + "0.202142, 0.203338, 0.207611, 0.219924, 0.436789", \ + "0.391020, 0.391118, 0.393477, 0.402003, 0.616285", \ + "1.902651, 1.901546, 1.901261, 1.902664, 2.012825" ); } rise_transition (delay_template_5x5) { @@ -301,11 +94,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.012945, 0.031804, 0.051562, 0.097848, 0.530404", \ - "0.082605, 0.085877, 0.102513, 0.146986, 0.675477", \ - "0.153507, 0.154155, 0.164693, 0.195301, 0.762310", \ - "0.293780, 0.292627, 0.295499, 0.313420, 0.886530", \ - "1.425247, 1.425396, 1.425085, 1.425078, 1.692913" + "0.012945, 0.032109, 0.051696, 0.088446, 0.524049", \ + "0.079676, 0.085046, 0.101926, 0.145349, 0.674950", \ + "0.150526, 0.151440, 0.161506, 0.195645, 0.761149", \ + "0.292156, 0.292210, 0.293910, 0.314078, 0.887525", \ + "1.425456, 1.425453, 1.425463, 1.425463, 1.693531" ); } fall_transition (delay_template_5x5) { @@ -316,11 +109,75 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.014326, 0.019054, 0.029916, 0.064625, 0.487291", \ - "0.145515, 0.145739, 0.144059, 0.152642, 0.440611", \ - "0.274715, 0.273489, 0.274007, 0.274498, 0.467583", \ - "0.534478, 0.535194, 0.535121, 0.535184, 0.639625", \ - "2.627046, 2.627208, 2.627161, 2.627179, 2.627235" + "0.013964, 0.019082, 0.028092, 0.057082, 0.488461", \ + "0.142119, 0.142058, 0.142068, 0.146714, 0.440570", \ + "0.272785, 0.272844, 0.272830, 0.273049, 0.465710", \ + "0.534379, 0.534395, 0.534370, 0.534368, 0.637728", \ + "2.627044, 2.627042, 2.627042, 2.627043, 2.627043" + ); + } + } + timing () { + related_pin: "B"; + timing_sense: negative_unate; + cell_rise (delay_template_5x5) { + index_1 ( + "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" + ); + index_2 ( + "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" + ); + values ( + "0.005849, 0.004862, 0.001953, -0.005765, -0.126919", \ + "0.046431, 0.043395, 0.046993, 0.051015, -0.016988", \ + "0.090143, 0.082837, 0.081976, 0.088941, 0.057037", \ + "0.178220, 0.167700, 0.160608, 0.158752, 0.176347", \ + "0.884156, 0.870837, 0.855034, 0.827713, 0.802365" + ); + } + cell_fall (delay_template_5x5) { + index_1 ( + "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" + ); + index_2 ( + "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" + ); + values ( + "0.013792, 0.018689, 0.025506, 0.038065, 0.175360", \ + "0.107725, 0.103637, 0.104869, 0.117440, 0.315940", \ + "0.202285, 0.196217, 0.193422, 0.197331, 0.412055", \ + "0.391293, 0.383864, 0.377831, 0.373134, 0.567831", \ + "1.903042, 1.894202, 1.884122, 1.866559, 1.824766" + ); + } + rise_transition (delay_template_5x5) { + index_1 ( + "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" + ); + index_2 ( + "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" + ); + values ( + "0.009695, 0.029176, 0.049614, 0.090169, 0.630637", \ + "0.076701, 0.082090, 0.098427, 0.140823, 0.690595", \ + "0.147420, 0.148384, 0.158014, 0.191352, 0.764094", \ + "0.289054, 0.289045, 0.290759, 0.310455, 0.877521", \ + "1.422334, 1.422325, 1.422328, 1.422326, 1.682986" + ); + } + fall_transition (delay_template_5x5) { + index_1 ( + "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" + ); + index_2 ( + "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" + ); + values ( + "0.014142, 0.022429, 0.038545, 0.077748, 0.619421", \ + "0.142113, 0.142115, 0.143140, 0.157535, 0.605736", \ + "0.272824, 0.272791, 0.272803, 0.275498, 0.636002", \ + "0.534396, 0.534363, 0.534379, 0.534395, 0.781620", \ + "2.627039, 2.627044, 2.627041, 2.627039, 2.630177" ); } }
diff --git a/cells/lib/NAND3X1.lib b/cells/lib/NAND3X1.lib index 9c3f8e6..43f44c1 100644 --- a/cells/lib/NAND3X1.lib +++ b/cells/lib/NAND3X1.lib
@@ -1,209 +1,66 @@ library (ls05_stdcells) { - capacitive_load_unit (1.0, pf); - current_unit: "1uA"; - default_operating_conditions: typical; delay_model: table_lookup; in_place_swap_mode: match_footprint; - input_threshold_pct_fall: 50.0; - input_threshold_pct_rise: 50.0; - leakage_power_unit: "1nW"; - nom_process: 1.0; - nom_temperature: 25.0; - nom_voltage: 5.0; - output_threshold_pct_fall: 50.0; - output_threshold_pct_rise: 50.0; - pulling_resistance_unit: "1kohm"; - slew_lower_threshold_pct_fall: 20.0; - slew_lower_threshold_pct_rise: 20.0; - slew_upper_threshold_pct_fall: 80.0; - slew_upper_threshold_pct_rise: 80.0; time_unit: "1ns"; voltage_unit: "1V"; + current_unit: "1uA"; + pulling_resistance_unit: "1kohm"; + leakage_power_unit: "1nW"; + capacitive_load_unit (1.0, pf); + slew_upper_threshold_pct_rise: 80.0; + slew_lower_threshold_pct_rise: 20.0; + slew_upper_threshold_pct_fall: 80.0; + slew_lower_threshold_pct_fall: 20.0; + input_threshold_pct_rise: 50.0; + input_threshold_pct_fall: 50.0; + output_threshold_pct_rise: 50.0; + output_threshold_pct_fall: 50.0; + nom_process: 1.0; + nom_voltage: 5.0; + nom_temperature: 25.0; + default_operating_conditions: typical; operating_conditions (typical) { process: 1.0; - temperature: 25.0; voltage: 5.0; - } - lu_table_template (delay_template_5x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: input_net_transition; + temperature: 25.0; } lu_table_template (delay_template_5x5) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); variable_1: total_output_net_capacitance; variable_2: input_net_transition; - } - lu_table_template (delay_template_5x6) { index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" + "1000.000000, 1001.000000, 1002.000000, 1003.000000, 1004.000000" ); index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" + "1000.000000, 1001.000000, 1002.000000, 1003.000000, 1004.000000" ); - variable_1: total_output_net_capacitance; - variable_2: input_net_transition; - } - lu_table_template (delay_template_6x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: input_net_transition; - } - lu_table_template (delay_template_6x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_net_transition; - } - power_lut_template (energy_template_5x5) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_transition_time; - } - power_lut_template (energy_template_5x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_transition_time; - } - power_lut_template (energy_template_6x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_transition_time; - } - lu_table_template (hold_template_3x5) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (hold_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - power_lut_template (passive_energy_template_5x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: input_transition_time; - } - power_lut_template (passive_energy_template_6x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: input_transition_time; - } - lu_table_template (recovery_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (recovery_template_6x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (removal_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (setup_template_3x5) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (setup_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; } cell (NAND3X1) { area: 219456.0; cell_leakage_power: 0.1173; pin (C) { - capacitance: 0.0049475602037443766; direction: input; - fall_capacitance: 0.00574550349282349; - rise_capacitance: 0.004149616914665264; + rise_capacitance: 0.004149650005143659; + fall_capacitance: 0.005781505198438881; + capacitance: 0.00496557760179127; } pin (B) { - capacitance: 0.0056720092179016355; direction: input; - fall_capacitance: 0.006513434336879236; - rise_capacitance: 0.0048305840989240345; + rise_capacitance: 0.004830629997798454; + fall_capacitance: 0.0065460190151835455; + capacitance: 0.005688324506490999; } pin (A) { - capacitance: 0.00639281784839878; direction: input; - fall_capacitance: 0.00785033270340369; - rise_capacitance: 0.0049353029933938706; + rise_capacitance: 0.0049353598856550955; + fall_capacitance: 0.007870869195042688; + capacitance: 0.006403114540348892; } pin (Y) { direction: output; + function: "!(C&B&A)"; function: "(!A & B & C)"; timing () { - related_pin: "C"; + related_pin: "A"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( @@ -213,11 +70,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.006743, 0.005016, 0.001565, -0.011749, -0.174318", \ - "0.047706, 0.044014, 0.046942, 0.046061, -0.062176", \ - "0.091627, 0.083788, 0.082464, 0.085303, 0.015523", \ - "0.179686, 0.168911, 0.161469, 0.156671, 0.140314", \ - "0.884745, 0.871646, 0.855834, 0.827730, 0.787692" + "0.008972, 0.009457, 0.008503, 0.002962, -0.100701", \ + "0.051333, 0.047529, 0.050994, 0.056259, 0.000383", \ + "0.095086, 0.087278, 0.086059, 0.093123, 0.071594", \ + "0.183200, 0.172294, 0.164894, 0.162676, 0.188303", \ + "0.889127, 0.875625, 0.859595, 0.831781, 0.805945" ); } cell_fall (delay_template_5x5) { @@ -228,11 +85,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.021450, 0.026780, 0.036138, 0.051156, 0.240752", \ - "0.141321, 0.138431, 0.140867, 0.154160, 0.407189", \ - "0.261734, 0.256641, 0.255261, 0.261805, 0.519595", \ - "0.501953, 0.495945, 0.491598, 0.490071, 0.706700", \ - "2.425213, 2.418226, 2.409901, 2.395913, 2.391369" + "0.020769, 0.029603, 0.037436, 0.051718, 0.185550", \ + "0.137563, 0.140846, 0.146094, 0.159442, 0.367674", \ + "0.257454, 0.258396, 0.261172, 0.270635, 0.491854", \ + "0.497675, 0.496765, 0.496908, 0.501401, 0.695984", \ + "2.420799, 2.417810, 2.414180, 2.409069, 2.461911" ); } rise_transition (delay_template_5x5) { @@ -243,11 +100,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.011465, 0.029932, 0.047360, 0.089549, 0.523956", \ - "0.080202, 0.084521, 0.100586, 0.143486, 0.643649", \ - "0.152614, 0.153064, 0.163285, 0.192620, 0.727829", \ - "0.292789, 0.291706, 0.294483, 0.312038, 0.856442", \ - "1.424319, 1.424428, 1.424111, 1.424077, 1.684916" + "0.017292, 0.035367, 0.056139, 0.094266, 0.548119", \ + "0.084992, 0.090373, 0.107178, 0.150243, 0.683940", \ + "0.155780, 0.156840, 0.166974, 0.201316, 0.764246", \ + "0.297431, 0.297423, 0.299270, 0.320137, 0.888634", \ + "1.430747, 1.430744, 1.430744, 1.430744, 1.704785" ); } fall_transition (delay_template_5x5) { @@ -258,11 +115,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.023400, 0.030385, 0.036793, 0.077633, 0.501790", \ - "0.190321, 0.189918, 0.190315, 0.199221, 0.487718", \ - "0.356855, 0.356030, 0.356029, 0.356551, 0.562588", \ - "0.690022, 0.690543, 0.690506, 0.690555, 0.811600", \ - "3.365843, 3.365797, 3.365863, 3.365868, 3.365810" + "0.023922, 0.025750, 0.032068, 0.055931, 0.495161", \ + "0.188089, 0.188153, 0.188154, 0.189888, 0.453757", \ + "0.355339, 0.355334, 0.355344, 0.355344, 0.505262", \ + "0.689777, 0.689789, 0.689794, 0.689787, 0.761388", \ + "3.365704, 3.365704, 3.365703, 3.365700, 3.365703" ); } } @@ -277,11 +134,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.008334, 0.007216, 0.005700, -0.003192, -0.138009", \ - "0.049525, 0.045812, 0.049273, 0.049818, -0.030773", \ - "0.093522, 0.085734, 0.084386, 0.088138, 0.042191", \ - "0.181477, 0.170617, 0.163356, 0.158916, 0.163222", \ - "0.886560, 0.873387, 0.857606, 0.829593, 0.796379" + "0.008334, 0.007999, 0.005426, -0.001872, -0.134533", \ + "0.049592, 0.045886, 0.049021, 0.052517, -0.029801", \ + "0.093307, 0.085588, 0.084148, 0.090357, 0.043619", \ + "0.181419, 0.170558, 0.163034, 0.160347, 0.164016", \ + "0.887312, 0.873890, 0.857871, 0.829951, 0.796345" ); } cell_fall (delay_template_5x5) { @@ -292,11 +149,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.023842, 0.028921, 0.038612, 0.052716, 0.222042", \ - "0.141887, 0.143909, 0.149119, 0.164220, 0.404600", \ - "0.261324, 0.261760, 0.265215, 0.276500, 0.527421", \ - "0.501628, 0.500687, 0.501928, 0.509042, 0.732336", \ - "2.424686, 2.422462, 2.420742, 2.419460, 2.508042" + "0.023592, 0.029466, 0.038594, 0.055239, 0.219385", \ + "0.141155, 0.143057, 0.148603, 0.163867, 0.404481", \ + "0.261171, 0.261449, 0.264802, 0.276119, 0.527468", \ + "0.501476, 0.500497, 0.501691, 0.508419, 0.732132", \ + "2.424678, 2.422318, 2.420551, 2.419097, 2.507900" ); } rise_transition (delay_template_5x5) { @@ -307,11 +164,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.014708, 0.032599, 0.052399, 0.096681, 0.513554", \ - "0.084340, 0.087175, 0.104373, 0.147370, 0.652229", \ - "0.155755, 0.155756, 0.166557, 0.196533, 0.737741", \ - "0.295954, 0.295123, 0.297528, 0.315324, 0.869188", \ - "1.427488, 1.427517, 1.427300, 1.427279, 1.694092" + "0.014708, 0.032973, 0.052387, 0.088064, 0.507153", \ + "0.081875, 0.087345, 0.103349, 0.145759, 0.652137", \ + "0.152726, 0.153620, 0.163460, 0.196949, 0.738027", \ + "0.294293, 0.294378, 0.296116, 0.316174, 0.868979", \ + "1.427621, 1.427628, 1.427634, 1.427631, 1.694351" ); } fall_transition (delay_template_5x5) { @@ -322,16 +179,16 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.023791, 0.028479, 0.033736, 0.068750, 0.456314", \ - "0.190317, 0.190047, 0.189241, 0.193568, 0.414810", \ - "0.356056, 0.356011, 0.356369, 0.355755, 0.487881", \ - "0.690508, 0.690541, 0.690522, 0.690519, 0.753026", \ - "3.365855, 3.365789, 3.365799, 3.365867, 3.365823" + "0.023614, 0.026398, 0.032949, 0.053238, 0.454307", \ + "0.188147, 0.188117, 0.188099, 0.189875, 0.415502", \ + "0.355311, 0.355293, 0.355317, 0.355295, 0.485465", \ + "0.689798, 0.689798, 0.689789, 0.689787, 0.751303", \ + "3.365699, 3.365700, 3.365702, 3.365700, 3.365698" ); } } timing () { - related_pin: "A"; + related_pin: "C"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( @@ -341,11 +198,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.008972, 0.008268, 0.008643, 0.001970, -0.101488", \ - "0.051257, 0.047583, 0.051333, 0.053538, -0.001472", \ - "0.095356, 0.087565, 0.086323, 0.091056, 0.070441", \ - "0.183312, 0.172348, 0.165227, 0.161181, 0.187191", \ - "0.888366, 0.875180, 0.859388, 0.831456, 0.805980" + "0.006743, 0.005507, 0.001409, -0.008755, -0.170135", \ + "0.047762, 0.044106, 0.046936, 0.048789, -0.060209", \ + "0.091478, 0.083801, 0.082253, 0.087681, 0.016317", \ + "0.179569, 0.168817, 0.161183, 0.158074, 0.141274", \ + "0.885505, 0.872150, 0.856133, 0.828109, 0.787687" ); } cell_fall (delay_template_5x5) { @@ -356,11 +213,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.020795, 0.029793, 0.038560, 0.050262, 0.188785", \ - "0.138390, 0.142029, 0.147535, 0.160844, 0.367966", \ - "0.257617, 0.259067, 0.261812, 0.272019, 0.491794", \ - "0.497805, 0.497186, 0.497402, 0.502803, 0.696298", \ - "2.420816, 2.418080, 2.414398, 2.409953, 2.462120" + "0.021221, 0.026912, 0.036046, 0.053704, 0.240197", \ + "0.140988, 0.137908, 0.140081, 0.153521, 0.407328", \ + "0.261329, 0.256442, 0.255023, 0.261001, 0.520047", \ + "0.501821, 0.495706, 0.491228, 0.489434, 0.706541", \ + "2.425190, 2.417843, 2.409583, 2.395522, 2.391247" ); } rise_transition (delay_template_5x5) { @@ -371,11 +228,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.017292, 0.034566, 0.057624, 0.100464, 0.554013", \ - "0.086449, 0.091297, 0.109325, 0.151351, 0.684952", \ - "0.158837, 0.158653, 0.169957, 0.201757, 0.763039", \ - "0.298884, 0.298357, 0.300621, 0.319480, 0.888696", \ - "1.430569, 1.430607, 1.430474, 1.430460, 1.704460" + "0.011465, 0.029918, 0.048625, 0.083915, 0.522973", \ + "0.078783, 0.083779, 0.099962, 0.141527, 0.642500", \ + "0.149540, 0.150478, 0.160020, 0.192902, 0.728158", \ + "0.291212, 0.291252, 0.292980, 0.312574, 0.856649", \ + "1.424500, 1.424495, 1.424506, 1.424500, 1.685213" ); } fall_transition (delay_template_5x5) { @@ -386,11 +243,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.024001, 0.027232, 0.035786, 0.067592, 0.495578", \ - "0.190876, 0.191071, 0.189818, 0.194805, 0.453280", \ - "0.356122, 0.356782, 0.355698, 0.356058, 0.506856", \ - "0.690537, 0.690105, 0.690542, 0.690408, 0.762544", \ - "3.365836, 3.365860, 3.365857, 3.365836, 3.365849" + "0.023566, 0.027391, 0.036715, 0.061844, 0.502475", \ + "0.188148, 0.188141, 0.188149, 0.192359, 0.487219", \ + "0.355298, 0.355308, 0.355319, 0.355322, 0.560090", \ + "0.689793, 0.689798, 0.689798, 0.689793, 0.809696", \ + "3.365702, 3.365700, 3.365703, 3.365699, 3.365703" ); } }
diff --git a/cells/lib/NOR2X1.lib b/cells/lib/NOR2X1.lib index 09cb458..0f4c958 100644 --- a/cells/lib/NOR2X1.lib +++ b/cells/lib/NOR2X1.lib
@@ -1,266 +1,59 @@ library (ls05_stdcells) { - capacitive_load_unit (1.0, pf); - current_unit: "1uA"; - default_operating_conditions: typical; delay_model: table_lookup; in_place_swap_mode: match_footprint; - input_threshold_pct_fall: 50.0; - input_threshold_pct_rise: 50.0; - leakage_power_unit: "1nW"; - nom_process: 1.0; - nom_temperature: 25.0; - nom_voltage: 5.0; - output_threshold_pct_fall: 50.0; - output_threshold_pct_rise: 50.0; - pulling_resistance_unit: "1kohm"; - slew_lower_threshold_pct_fall: 20.0; - slew_lower_threshold_pct_rise: 20.0; - slew_upper_threshold_pct_fall: 80.0; - slew_upper_threshold_pct_rise: 80.0; time_unit: "1ns"; voltage_unit: "1V"; + current_unit: "1uA"; + pulling_resistance_unit: "1kohm"; + leakage_power_unit: "1nW"; + capacitive_load_unit (1.0, pf); + slew_upper_threshold_pct_rise: 80.0; + slew_lower_threshold_pct_rise: 20.0; + slew_upper_threshold_pct_fall: 80.0; + slew_lower_threshold_pct_fall: 20.0; + input_threshold_pct_rise: 50.0; + input_threshold_pct_fall: 50.0; + output_threshold_pct_rise: 50.0; + output_threshold_pct_fall: 50.0; + nom_process: 1.0; + nom_voltage: 5.0; + nom_temperature: 25.0; + default_operating_conditions: typical; operating_conditions (typical) { process: 1.0; - temperature: 25.0; voltage: 5.0; - } - lu_table_template (delay_template_5x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: input_net_transition; + temperature: 25.0; } lu_table_template (delay_template_5x5) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); variable_1: total_output_net_capacitance; variable_2: input_net_transition; - } - lu_table_template (delay_template_5x6) { index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" + "1000.000000, 1001.000000, 1002.000000, 1003.000000, 1004.000000" ); index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" + "1000.000000, 1001.000000, 1002.000000, 1003.000000, 1004.000000" ); - variable_1: total_output_net_capacitance; - variable_2: input_net_transition; - } - lu_table_template (delay_template_6x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: input_net_transition; - } - lu_table_template (delay_template_6x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_net_transition; - } - power_lut_template (energy_template_5x5) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_transition_time; - } - power_lut_template (energy_template_5x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_transition_time; - } - power_lut_template (energy_template_6x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_transition_time; - } - lu_table_template (hold_template_3x5) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (hold_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - power_lut_template (passive_energy_template_5x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: input_transition_time; - } - power_lut_template (passive_energy_template_6x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: input_transition_time; - } - lu_table_template (recovery_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (recovery_template_6x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (removal_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (setup_template_3x5) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (setup_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; } cell (NOR2X1) { area: 164592.0; cell_leakage_power: 0.1173; pin (B) { - capacitance: 0.006303448359239213; direction: input; - fall_capacitance: 0.006299461029458945; - rise_capacitance: 0.0063074356890194805; + rise_capacitance: 0.006307384837439927; + fall_capacitance: 0.006306324454300684; + capacitance: 0.006306854645870306; } pin (A) { - capacitance: 0.007595806558045583; direction: input; - fall_capacitance: 0.008891411713164614; - rise_capacitance: 0.0063002014029265516; + rise_capacitance: 0.006299781364172542; + fall_capacitance: 0.00890124516010798; + capacitance: 0.0076005132621402615; } pin (Y) { direction: output; + function: "(!B&!A)"; function: "(!A & !B)"; timing () { - related_pin: "B"; - timing_sense: negative_unate; - cell_rise (delay_template_5x5) { - index_1 ( - "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" - ); - index_2 ( - "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" - ); - values ( - "0.011806, 0.013869, 0.017728, 0.018913, 0.043152", \ - "0.090701, 0.085913, 0.088689, 0.100157, 0.196930", \ - "0.168953, 0.162029, 0.161187, 0.166322, 0.300875", \ - "0.323595, 0.315317, 0.311154, 0.310040, 0.465699", \ - "1.563273, 1.553700, 1.544833, 1.531939, 1.541900" - ); - } - cell_fall (delay_template_5x5) { - index_1 ( - "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" - ); - index_2 ( - "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" - ); - values ( - "0.005936, 0.007846, 0.008974, 0.004744, -0.003026", \ - "0.046711, 0.047264, 0.052185, 0.058295, 0.096068", \ - "0.091147, 0.089514, 0.090542, 0.098390, 0.165025", \ - "0.180055, 0.176882, 0.175000, 0.175107, 0.275546", \ - "0.895253, 0.891498, 0.886774, 0.878409, 0.897352" - ); - } - rise_transition (delay_template_5x5) { - index_1 ( - "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" - ); - index_2 ( - "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" - ); - values ( - "0.011999, 0.022379, 0.043415, 0.084297, 0.702241", \ - "0.125846, 0.126296, 0.129026, 0.143562, 0.670887", \ - "0.236273, 0.236852, 0.235333, 0.245157, 0.662164", \ - "0.460758, 0.460362, 0.461218, 0.460426, 0.741521", \ - "2.263379, 2.263387, 2.263261, 2.263270, 2.274816" - ); - } - fall_transition (delay_template_5x5) { - index_1 ( - "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" - ); - index_2 ( - "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" - ); - values ( - "0.011676, 0.032976, 0.056268, 0.109537, 0.710905", \ - "0.092517, 0.100885, 0.113823, 0.157999, 0.799871", \ - "0.178759, 0.179128, 0.190132, 0.222605, 0.875172", \ - "0.349115, 0.349295, 0.352632, 0.369786, 0.981780", \ - "1.725874, 1.726029, 1.727042, 1.726377, 1.981658" - ); - } - } - timing () { related_pin: "A"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { @@ -271,11 +64,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.012986, 0.016763, 0.019649, 0.026720, -0.007723", \ - "0.091508, 0.092784, 0.095177, 0.106380, 0.166698", \ - "0.168932, 0.168743, 0.171095, 0.177886, 0.281195", \ - "0.323606, 0.323192, 0.323918, 0.327812, 0.460072", \ - "1.563504, 1.562605, 1.561243, 1.560037, 1.617792" + "0.012986, 0.016464, 0.018922, 0.020204, -0.010487", \ + "0.090855, 0.091382, 0.094616, 0.104989, 0.165835", \ + "0.168403, 0.168290, 0.169983, 0.177071, 0.280870", \ + "0.323463, 0.322901, 0.323243, 0.327021, 0.459948", \ + "1.563457, 1.562468, 1.561029, 1.559260, 1.617628" ); } cell_fall (delay_template_5x5) { @@ -286,11 +79,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.008571, 0.012259, 0.016219, 0.019628, 0.069884", \ - "0.050623, 0.051267, 0.056425, 0.066606, 0.159854", \ - "0.095165, 0.093119, 0.094604, 0.103938, 0.223425", \ - "0.183791, 0.180470, 0.178804, 0.179941, 0.324263", \ - "0.898914, 0.895013, 0.890412, 0.882094, 0.915185" + "0.008571, 0.012834, 0.016940, 0.022901, 0.073370", \ + "0.050719, 0.051182, 0.056436, 0.070039, 0.161587", \ + "0.095157, 0.093369, 0.094430, 0.105159, 0.223878", \ + "0.184573, 0.181502, 0.179079, 0.180864, 0.324736", \ + "0.900731, 0.896739, 0.891685, 0.882327, 0.915214" ); } rise_transition (delay_template_5x5) { @@ -301,11 +94,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.011911, 0.020658, 0.034736, 0.070430, 0.635528", \ - "0.125379, 0.123991, 0.127246, 0.137364, 0.573702", \ - "0.237050, 0.236795, 0.237035, 0.239467, 0.551121", \ - "0.461112, 0.461207, 0.460365, 0.461268, 0.627986", \ - "2.263335, 2.263310, 2.263383, 2.263356, 2.265017" + "0.011911, 0.020251, 0.035631, 0.075894, 0.632098", \ + "0.122227, 0.122198, 0.122986, 0.131826, 0.572943", \ + "0.234847, 0.234841, 0.234770, 0.236394, 0.551555", \ + "0.460142, 0.460167, 0.460168, 0.460147, 0.626352", \ + "2.263162, 2.263157, 2.263162, 2.263162, 2.264768" ); } fall_transition (delay_template_5x5) { @@ -316,11 +109,75 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.019230, 0.039782, 0.064283, 0.115340, 0.682539", \ - "0.099372, 0.109056, 0.124310, 0.167393, 0.824099", \ - "0.186034, 0.187618, 0.197839, 0.231703, 0.904179", \ - "0.357146, 0.356648, 0.360384, 0.378918, 1.012930", \ - "1.733504, 1.733696, 1.734753, 1.734098, 2.001564" + "0.019230, 0.038878, 0.062210, 0.109873, 0.677222", \ + "0.098886, 0.105335, 0.122576, 0.168308, 0.823551", \ + "0.184754, 0.186734, 0.196898, 0.231670, 0.903883", \ + "0.357145, 0.357371, 0.360113, 0.379939, 1.013582", \ + "1.735540, 1.735518, 1.735519, 1.735512, 2.002056" + ); + } + } + timing () { + related_pin: "B"; + timing_sense: negative_unate; + cell_rise (delay_template_5x5) { + index_1 ( + "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" + ); + index_2 ( + "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" + ); + values ( + "0.011806, 0.014164, 0.016660, 0.020318, 0.038325", \ + "0.090368, 0.085510, 0.088212, 0.100612, 0.196917", \ + "0.168063, 0.161173, 0.160440, 0.166991, 0.301135", \ + "0.323155, 0.314877, 0.310973, 0.310624, 0.465942", \ + "1.563209, 1.553438, 1.545230, 1.532397, 1.541763" + ); + } + cell_fall (delay_template_5x5) { + index_1 ( + "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" + ); + index_2 ( + "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" + ); + values ( + "0.005936, 0.007167, 0.008315, 0.008939, 0.000169", \ + "0.046963, 0.047411, 0.052229, 0.062557, 0.098027", \ + "0.091434, 0.089675, 0.090367, 0.099822, 0.165924", \ + "0.180891, 0.177906, 0.175243, 0.176092, 0.276079", \ + "0.897089, 0.893154, 0.888102, 0.878617, 0.897368" + ); + } + rise_transition (delay_template_5x5) { + index_1 ( + "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" + ); + index_2 ( + "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" + ); + values ( + "0.011999, 0.022468, 0.042650, 0.089129, 0.702921", \ + "0.122129, 0.122235, 0.124548, 0.142036, 0.672456", \ + "0.234809, 0.234839, 0.234788, 0.239948, 0.663642", \ + "0.460173, 0.460149, 0.460147, 0.460142, 0.740712", \ + "2.263154, 2.263159, 2.263157, 2.263162, 2.274281" + ); + } + fall_transition (delay_template_5x5) { + index_1 ( + "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" + ); + index_2 ( + "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" + ); + values ( + "0.011676, 0.031135, 0.054847, 0.101688, 0.713699", \ + "0.091257, 0.097211, 0.113947, 0.158466, 0.799171", \ + "0.177241, 0.178967, 0.188549, 0.222057, 0.874832", \ + "0.349616, 0.349773, 0.352334, 0.371118, 0.982630", \ + "1.727951, 1.727928, 1.727929, 1.727925, 1.982101" ); } }
diff --git a/cells/lib/OAI21X1.lib b/cells/lib/OAI21X1.lib index 8795016..d857137 100644 --- a/cells/lib/OAI21X1.lib +++ b/cells/lib/OAI21X1.lib
@@ -1,209 +1,66 @@ library (ls05_stdcells) { - capacitive_load_unit (1.0, pf); - current_unit: "1uA"; - default_operating_conditions: typical; delay_model: table_lookup; in_place_swap_mode: match_footprint; - input_threshold_pct_fall: 50.0; - input_threshold_pct_rise: 50.0; - leakage_power_unit: "1nW"; - nom_process: 1.0; - nom_temperature: 25.0; - nom_voltage: 5.0; - output_threshold_pct_fall: 50.0; - output_threshold_pct_rise: 50.0; - pulling_resistance_unit: "1kohm"; - slew_lower_threshold_pct_fall: 20.0; - slew_lower_threshold_pct_rise: 20.0; - slew_upper_threshold_pct_fall: 80.0; - slew_upper_threshold_pct_rise: 80.0; time_unit: "1ns"; voltage_unit: "1V"; + current_unit: "1uA"; + pulling_resistance_unit: "1kohm"; + leakage_power_unit: "1nW"; + capacitive_load_unit (1.0, pf); + slew_upper_threshold_pct_rise: 80.0; + slew_lower_threshold_pct_rise: 20.0; + slew_upper_threshold_pct_fall: 80.0; + slew_lower_threshold_pct_fall: 20.0; + input_threshold_pct_rise: 50.0; + input_threshold_pct_fall: 50.0; + output_threshold_pct_rise: 50.0; + output_threshold_pct_fall: 50.0; + nom_process: 1.0; + nom_voltage: 5.0; + nom_temperature: 25.0; + default_operating_conditions: typical; operating_conditions (typical) { process: 1.0; - temperature: 25.0; voltage: 5.0; - } - lu_table_template (delay_template_5x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: input_net_transition; + temperature: 25.0; } lu_table_template (delay_template_5x5) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); variable_1: total_output_net_capacitance; variable_2: input_net_transition; - } - lu_table_template (delay_template_5x6) { index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" + "1000.000000, 1001.000000, 1002.000000, 1003.000000, 1004.000000" ); index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" + "1000.000000, 1001.000000, 1002.000000, 1003.000000, 1004.000000" ); - variable_1: total_output_net_capacitance; - variable_2: input_net_transition; - } - lu_table_template (delay_template_6x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: input_net_transition; - } - lu_table_template (delay_template_6x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_net_transition; - } - power_lut_template (energy_template_5x5) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_transition_time; - } - power_lut_template (energy_template_5x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_transition_time; - } - power_lut_template (energy_template_6x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_transition_time; - } - lu_table_template (hold_template_3x5) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (hold_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - power_lut_template (passive_energy_template_5x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: input_transition_time; - } - power_lut_template (passive_energy_template_6x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: input_transition_time; - } - lu_table_template (recovery_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (recovery_template_6x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (removal_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (setup_template_3x5) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (setup_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; } cell (OAI21X1) { area: 219456.0; cell_leakage_power: 0.1173; pin (C) { - capacitance: 0.0049685503383930275; direction: input; - fall_capacitance: 0.0057337054132807755; - rise_capacitance: 0.004203395263505281; + rise_capacitance: 0.004203428908088842; + fall_capacitance: 0.005774046546996895; + capacitance: 0.004988737727542869; } pin (B) { - capacitance: 0.004817269329420684; direction: input; - fall_capacitance: 0.0046993715663027884; - rise_capacitance: 0.004935167092538579; + rise_capacitance: 0.004935221654376836; + fall_capacitance: 0.004725917975171027; + capacitance: 0.004830569814773931; } pin (A) { - capacitance: 0.006365887451121313; direction: input; - fall_capacitance: 0.007796116485619777; - rise_capacitance: 0.004935658416622851; + rise_capacitance: 0.004935717599872121; + fall_capacitance: 0.007855089253956563; + capacitance: 0.0063954034269143424; } pin (Y) { direction: output; + function: "!(C&B&!A|C&B&A|C&!B&A)"; function: "(!(A & B & C + A & C & !B + B & C & !A))"; timing () { - related_pin: "C"; + related_pin: "A"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( @@ -213,11 +70,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.006353, 0.006873, 0.004977, -0.002571, -0.112220", \ - "0.047648, 0.044522, 0.048480, 0.050680, -0.005504", \ - "0.091575, 0.084317, 0.083496, 0.088598, 0.067928", \ - "0.179609, 0.168970, 0.162303, 0.158976, 0.185631", \ - "0.884619, 0.871536, 0.855984, 0.828850, 0.807127" + "0.018803, 0.021286, 0.023372, 0.024350, -0.021448", \ + "0.096139, 0.096122, 0.098202, 0.106284, 0.140537", \ + "0.173692, 0.173167, 0.173841, 0.178581, 0.252511", \ + "0.328700, 0.327878, 0.327492, 0.329140, 0.432054", \ + "1.568684, 1.567578, 1.565889, 1.563216, 1.593648" ); } cell_fall (delay_template_5x5) { @@ -228,11 +85,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.012322, 0.018627, 0.025819, 0.036380, 0.166985", \ - "0.097230, 0.095251, 0.097606, 0.110133, 0.295266", \ - "0.182685, 0.178288, 0.176909, 0.181932, 0.384599", \ - "0.354450, 0.348364, 0.343303, 0.339898, 0.530677", \ - "1.731053, 1.722975, 1.713352, 1.696916, 1.662491" + "0.014567, 0.027612, 0.035111, 0.046438, 0.138742", \ + "0.107786, 0.111806, 0.118058, 0.132521, 0.298154", \ + "0.202175, 0.204084, 0.208129, 0.219017, 0.408234", \ + "0.391077, 0.391477, 0.393526, 0.400512, 0.586153", \ + "1.902728, 1.901585, 1.901088, 1.901617, 1.980151" ); } rise_transition (delay_template_5x5) { @@ -243,11 +100,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.011924, 0.030898, 0.053284, 0.100971, 0.670100", \ - "0.080583, 0.085685, 0.102082, 0.143609, 0.716365", \ - "0.152800, 0.152883, 0.163222, 0.193150, 0.778215", \ - "0.292893, 0.292086, 0.294393, 0.311669, 0.881950", \ - "1.424263, 1.424245, 1.424087, 1.424045, 1.683357" + "0.019300, 0.026959, 0.040134, 0.062777, 0.317091", \ + "0.130589, 0.130540, 0.131465, 0.141739, 0.450595", \ + "0.243235, 0.243236, 0.243192, 0.245219, 0.549172", \ + "0.468554, 0.468581, 0.468571, 0.468584, 0.676001", \ + "2.271587, 2.271582, 2.271587, 2.271587, 2.274232" ); } fall_transition (delay_template_5x5) { @@ -258,11 +115,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.017139, 0.026739, 0.044276, 0.087758, 0.660076", \ - "0.138283, 0.139729, 0.142997, 0.162743, 0.650333", \ - "0.260560, 0.259671, 0.260078, 0.269467, 0.681289", \ - "0.503775, 0.503479, 0.503665, 0.504685, 0.808692", \ - "2.459384, 2.459439, 2.459425, 2.459497, 2.482154" + "0.031664, 0.030264, 0.038631, 0.062964, 0.321051", \ + "0.153753, 0.153753, 0.154115, 0.161363, 0.463032", \ + "0.284526, 0.284494, 0.284513, 0.285176, 0.547396", \ + "0.546140, 0.546108, 0.546137, 0.546139, 0.701133", \ + "2.638823, 2.638827, 2.638825, 2.638824, 2.638826" ); } } @@ -277,11 +134,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.018084, 0.018785, 0.021524, 0.021254, 0.031017", \ - "0.096634, 0.090653, 0.091567, 0.101191, 0.181020", \ - "0.173780, 0.166489, 0.164402, 0.167176, 0.281781", \ - "0.328645, 0.320024, 0.314801, 0.311087, 0.444609", \ - "1.568475, 1.558747, 1.549393, 1.535231, 1.517075" + "0.018084, 0.018977, 0.021732, 0.025405, 0.031435", \ + "0.095837, 0.089833, 0.091289, 0.101855, 0.181405", \ + "0.173416, 0.165752, 0.163733, 0.168054, 0.282099", \ + "0.328448, 0.319616, 0.314657, 0.311922, 0.444977", \ + "1.568456, 1.558467, 1.549855, 1.535658, 1.516959" ); } cell_fall (delay_template_5x5) { @@ -292,11 +149,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.011853, 0.020828, 0.025802, 0.032296, 0.061131", \ - "0.103764, 0.107281, 0.113180, 0.125736, 0.245046", \ - "0.197462, 0.198933, 0.202960, 0.213251, 0.366132", \ - "0.386134, 0.386285, 0.388197, 0.395136, 0.557258", \ - "1.897752, 1.896544, 1.895986, 1.896513, 1.969418" + "0.011853, 0.021086, 0.025927, 0.031783, 0.061728", \ + "0.103111, 0.106391, 0.112051, 0.125088, 0.245734", \ + "0.197350, 0.198788, 0.202456, 0.212400, 0.366202", \ + "0.386172, 0.386296, 0.388114, 0.394555, 0.557385", \ + "1.897755, 1.896510, 1.895926, 1.896353, 1.969217" ); } rise_transition (delay_template_5x5) { @@ -307,11 +164,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.020867, 0.029939, 0.052329, 0.091938, 0.451438", \ - "0.133406, 0.133983, 0.137806, 0.156667, 0.613530", \ - "0.245013, 0.245383, 0.244613, 0.254696, 0.705512", \ - "0.469706, 0.469327, 0.469422, 0.469157, 0.813809", \ - "2.271618, 2.271785, 2.271663, 2.271774, 2.288526" + "0.019576, 0.029856, 0.049211, 0.081282, 0.446789", \ + "0.130529, 0.130604, 0.133249, 0.154460, 0.612292", \ + "0.243240, 0.243237, 0.243198, 0.249492, 0.704661", \ + "0.468570, 0.468567, 0.468567, 0.468586, 0.813094", \ + "2.271586, 2.271584, 2.271584, 2.271587, 2.288098" ); } fall_transition (delay_template_5x5) { @@ -322,16 +179,16 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.015697, 0.022510, 0.033468, 0.066107, 0.425032", \ - "0.144870, 0.144572, 0.145000, 0.157604, 0.462980", \ - "0.274162, 0.274051, 0.273949, 0.276993, 0.536593", \ - "0.535317, 0.535340, 0.535460, 0.535384, 0.689730", \ - "2.627338, 2.627345, 2.627342, 2.627355, 2.627455" + "0.015426, 0.020183, 0.031186, 0.056113, 0.422226", \ + "0.142359, 0.142363, 0.142749, 0.150040, 0.459691", \ + "0.273045, 0.273046, 0.273065, 0.273811, 0.534619", \ + "0.534623, 0.534603, 0.534626, 0.534613, 0.687998", \ + "2.627267, 2.627270, 2.627271, 2.627270, 2.627267" ); } } timing () { - related_pin: "A"; + related_pin: "C"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( @@ -341,11 +198,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.018803, 0.021401, 0.023344, 0.023872, -0.022124", \ - "0.097043, 0.097462, 0.098807, 0.107122, 0.140271", \ - "0.174167, 0.173694, 0.174835, 0.179375, 0.252462", \ - "0.329045, 0.328268, 0.328060, 0.330094, 0.432085", \ - "1.568689, 1.567669, 1.566082, 1.563994, 1.593864" + "0.006353, 0.006907, 0.004743, -0.001737, -0.110680", \ + "0.047699, 0.044647, 0.048336, 0.053151, -0.004114", \ + "0.091415, 0.084176, 0.083334, 0.090516, 0.068778", \ + "0.179491, 0.169025, 0.162028, 0.160307, 0.186435", \ + "0.885395, 0.872100, 0.856349, 0.829208, 0.807105" ); } cell_fall (delay_template_5x5) { @@ -356,11 +213,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.014567, 0.027648, 0.035349, 0.041047, 0.137832", \ - "0.108453, 0.112569, 0.119206, 0.133016, 0.297203", \ - "0.202396, 0.204223, 0.208700, 0.219958, 0.407822", \ - "0.391026, 0.391383, 0.393600, 0.400955, 0.585908", \ - "1.902735, 1.901651, 1.901085, 1.901740, 1.980348" + "0.012322, 0.019314, 0.026237, 0.038620, 0.167686", \ + "0.096733, 0.094797, 0.097266, 0.110737, 0.295956", \ + "0.182668, 0.178235, 0.176611, 0.181871, 0.385409", \ + "0.354674, 0.348400, 0.343367, 0.339960, 0.531053", \ + "1.731112, 1.722805, 1.713320, 1.696828, 1.662380" ); } rise_transition (delay_template_5x5) { @@ -371,11 +228,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.019300, 0.027658, 0.041698, 0.074827, 0.320959", \ - "0.131626, 0.131992, 0.134734, 0.149048, 0.454028", \ - "0.244112, 0.244371, 0.245398, 0.247897, 0.550953", \ - "0.469602, 0.469661, 0.469275, 0.469732, 0.677618", \ - "2.271672, 2.271613, 2.271813, 2.271710, 2.274668" + "0.011924, 0.031387, 0.053193, 0.097308, 0.671034", \ + "0.079146, 0.084257, 0.100405, 0.142389, 0.716421", \ + "0.149831, 0.150702, 0.160194, 0.193088, 0.778101", \ + "0.291344, 0.291348, 0.292968, 0.312319, 0.882992", \ + "1.424450, 1.424445, 1.424449, 1.424449, 1.683821" ); } fall_transition (delay_template_5x5) { @@ -386,11 +243,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.031706, 0.032612, 0.040602, 0.073394, 0.328383", \ - "0.155420, 0.155629, 0.156550, 0.167050, 0.465518", \ - "0.286331, 0.286147, 0.286318, 0.287490, 0.548717", \ - "0.546344, 0.546313, 0.546743, 0.546937, 0.703383", \ - "2.638909, 2.638879, 2.638882, 2.638975, 2.638890" + "0.016705, 0.026501, 0.043315, 0.084291, 0.660779", \ + "0.136556, 0.136714, 0.139723, 0.158268, 0.651528", \ + "0.258832, 0.258845, 0.259084, 0.265612, 0.680442", \ + "0.503343, 0.503344, 0.503342, 0.503821, 0.807464", \ + "2.459389, 2.459387, 2.459387, 2.459388, 2.481930" ); } }
diff --git a/cells/lib/OAI22X1.lib b/cells/lib/OAI22X1.lib index d9c16d2..2b37614 100644 --- a/cells/lib/OAI22X1.lib +++ b/cells/lib/OAI22X1.lib
@@ -1,215 +1,72 @@ library (ls05_stdcells) { - capacitive_load_unit (1.0, pf); - current_unit: "1uA"; - default_operating_conditions: typical; delay_model: table_lookup; in_place_swap_mode: match_footprint; - input_threshold_pct_fall: 50.0; - input_threshold_pct_rise: 50.0; - leakage_power_unit: "1nW"; - nom_process: 1.0; - nom_temperature: 25.0; - nom_voltage: 5.0; - output_threshold_pct_fall: 50.0; - output_threshold_pct_rise: 50.0; - pulling_resistance_unit: "1kohm"; - slew_lower_threshold_pct_fall: 20.0; - slew_lower_threshold_pct_rise: 20.0; - slew_upper_threshold_pct_fall: 80.0; - slew_upper_threshold_pct_rise: 80.0; time_unit: "1ns"; voltage_unit: "1V"; + current_unit: "1uA"; + pulling_resistance_unit: "1kohm"; + leakage_power_unit: "1nW"; + capacitive_load_unit (1.0, pf); + slew_upper_threshold_pct_rise: 80.0; + slew_lower_threshold_pct_rise: 20.0; + slew_upper_threshold_pct_fall: 80.0; + slew_lower_threshold_pct_fall: 20.0; + input_threshold_pct_rise: 50.0; + input_threshold_pct_fall: 50.0; + output_threshold_pct_rise: 50.0; + output_threshold_pct_fall: 50.0; + nom_process: 1.0; + nom_voltage: 5.0; + nom_temperature: 25.0; + default_operating_conditions: typical; operating_conditions (typical) { process: 1.0; - temperature: 25.0; voltage: 5.0; - } - lu_table_template (delay_template_5x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: input_net_transition; + temperature: 25.0; } lu_table_template (delay_template_5x5) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); variable_1: total_output_net_capacitance; variable_2: input_net_transition; - } - lu_table_template (delay_template_5x6) { index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" + "1000.000000, 1001.000000, 1002.000000, 1003.000000, 1004.000000" ); index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" + "1000.000000, 1001.000000, 1002.000000, 1003.000000, 1004.000000" ); - variable_1: total_output_net_capacitance; - variable_2: input_net_transition; - } - lu_table_template (delay_template_6x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: input_net_transition; - } - lu_table_template (delay_template_6x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_net_transition; - } - power_lut_template (energy_template_5x5) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_transition_time; - } - power_lut_template (energy_template_5x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_transition_time; - } - power_lut_template (energy_template_6x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_transition_time; - } - lu_table_template (hold_template_3x5) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (hold_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - power_lut_template (passive_energy_template_5x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: input_transition_time; - } - power_lut_template (passive_energy_template_6x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: input_transition_time; - } - lu_table_template (recovery_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (recovery_template_6x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (removal_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (setup_template_3x5) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (setup_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; } cell (OAI22X1) { area: 274320.0; cell_leakage_power: 0.1173; pin (D) { - capacitance: 0.0021453532257938264; direction: input; - fall_capacitance: 6.164254229978021e-05; - rise_capacitance: 0.004229063909287872; + rise_capacitance: 0.00422904568382474; + fall_capacitance: 6.27701700917797e-05; + capacitance: 0.00214590792695826; } pin (C) { - capacitance: 0.004976915596377423; direction: input; - fall_capacitance: 0.0057238940867746484; - rise_capacitance: 0.004229937105980198; + rise_capacitance: 0.004229993996294385; + fall_capacitance: 0.005758102592005284; + capacitance: 0.004994048294149835; } pin (B) { - capacitance: 0.004810999172966173; direction: input; - fall_capacitance: 0.004686782002117296; - rise_capacitance: 0.00493521634381505; + rise_capacitance: 0.004935264302975343; + fall_capacitance: 0.004717210490958356; + capacitance: 0.00482623739696685; } pin (A) { - capacitance: 0.006365536753506552; direction: input; - fall_capacitance: 0.007795205171653458; - rise_capacitance: 0.004935868335359646; + rise_capacitance: 0.004935925445230348; + fall_capacitance: 0.007825926909320734; + capacitance: 0.00638092617727554; } pin (Y) { direction: output; + function: "(!D&!C&!B&!A|D&!C&!B&!A|D&C&!B&!A|!D&C&!B&!A|!D&!C&B&!A|!D&!C&B&A|!D&!C&!B&A)"; function: "((A & B & !C & !D + C & D & !A & !B + A & !B & !C & !D + B & !A & !C & !D + C & !A & !B & !D + D & !A & !B & !C + !A & !B & !C & !D))"; timing () { - related_pin: "D"; + related_pin: "A"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( @@ -219,11 +76,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.016262, 0.017741, 0.020452, 0.019420, -0.001499", \ - "0.095678, 0.090075, 0.091093, 0.099982, 0.152775", \ - "0.173776, 0.166259, 0.163962, 0.166726, 0.258406", \ - "0.328418, 0.319872, 0.314598, 0.311147, 0.428538", \ - "1.568201, 1.558608, 1.549384, 1.535559, 1.515136" + "0.023283, 0.026086, 0.029698, 0.032795, -0.001479", \ + "0.101125, 0.101089, 0.103242, 0.111463, 0.155077", \ + "0.178698, 0.178197, 0.178968, 0.183936, 0.265589", \ + "0.333742, 0.332923, 0.332617, 0.334515, 0.443208", \ + "1.573737, 1.572628, 1.570969, 1.568406, 1.602882" ); } cell_fall (delay_template_5x5) { @@ -234,11 +91,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.011023, 0.018232, 0.023273, 0.028038, 0.082251", \ - "0.094341, 0.092670, 0.094113, 0.103646, 0.217383", \ - "0.179868, 0.175244, 0.173130, 0.174945, 0.311623", \ - "0.351607, 0.345183, 0.339617, 0.333200, 0.467646", \ - "1.728098, 1.719804, 1.710141, 1.692568, 1.611799" + "0.012521, 0.028054, 0.037790, 0.050147, 0.142499", \ + "0.100661, 0.105547, 0.112648, 0.128391, 0.287021", \ + "0.189767, 0.192023, 0.196444, 0.208039, 0.391309", \ + "0.368021, 0.368345, 0.370350, 0.377348, 0.561865", \ + "1.794390, 1.792660, 1.791504, 1.790869, 1.861891" ); } rise_transition (delay_template_5x5) { @@ -249,11 +106,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.018975, 0.028562, 0.049415, 0.089237, 0.641577", \ - "0.132997, 0.132685, 0.135462, 0.153560, 0.651633", \ - "0.243979, 0.244016, 0.242906, 0.252668, 0.698762", \ - "0.467681, 0.467640, 0.468098, 0.467574, 0.795527", \ - "2.270165, 2.270194, 2.270075, 2.270158, 2.286886" + "0.027523, 0.032137, 0.043710, 0.068258, 0.351959", \ + "0.138192, 0.138265, 0.138971, 0.148233, 0.459452", \ + "0.250786, 0.250776, 0.250815, 0.252433, 0.550251", \ + "0.475993, 0.475990, 0.475983, 0.475987, 0.672440", \ + "2.278881, 2.278886, 2.278881, 2.278884, 2.281277" ); } fall_transition (delay_template_5x5) { @@ -264,75 +121,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.019197, 0.039255, 0.052110, 0.097009, 0.642401", \ - "0.140956, 0.141396, 0.146191, 0.171523, 0.712509", \ - "0.262540, 0.262555, 0.262471, 0.273651, 0.778925", \ - "0.505956, 0.505722, 0.505888, 0.507033, 0.894213", \ - "2.461475, 2.461430, 2.461494, 2.461469, 2.493082" - ); - } - } - timing () { - related_pin: "C"; - timing_sense: negative_unate; - cell_rise (delay_template_5x5) { - index_1 ( - "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" - ); - index_2 ( - "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" - ); - values ( - "0.017359, 0.020602, 0.022466, 0.024654, -0.046754", \ - "0.096705, 0.096946, 0.098584, 0.106282, 0.121532", \ - "0.173777, 0.173577, 0.174431, 0.178939, 0.237315", \ - "0.328617, 0.328111, 0.327825, 0.329774, 0.421297", \ - "1.568418, 1.567576, 1.565970, 1.563848, 1.593553" - ); - } - cell_fall (delay_template_5x5) { - index_1 ( - "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" - ); - index_2 ( - "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" - ); - values ( - "0.015022, 0.024347, 0.031623, 0.040631, 0.158538", \ - "0.099036, 0.097739, 0.100219, 0.111280, 0.279679", \ - "0.184670, 0.180259, 0.178658, 0.181740, 0.365006", \ - "0.356322, 0.350056, 0.344803, 0.339143, 0.507264", \ - "1.732880, 1.724663, 1.714991, 1.697579, 1.627329" - ); - } - rise_transition (delay_template_5x5) { - index_1 ( - "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" - ); - index_2 ( - "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" - ); - values ( - "0.019084, 0.026776, 0.039823, 0.075672, 0.535237", \ - "0.131377, 0.131261, 0.132692, 0.145125, 0.516016", \ - "0.243564, 0.243531, 0.243534, 0.246588, 0.558890", \ - "0.468225, 0.468179, 0.468042, 0.468205, 0.664320", \ - "2.270088, 2.270095, 2.270133, 2.270106, 2.272980" - ); - } - fall_transition (delay_template_5x5) { - index_1 ( - "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" - ); - index_2 ( - "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" - ); - values ( - "0.031510, 0.049989, 0.062355, 0.106040, 0.586348", \ - "0.151694, 0.152790, 0.156527, 0.182644, 0.731793", \ - "0.273221, 0.273269, 0.273901, 0.284371, 0.805125", \ - "0.516486, 0.516519, 0.516581, 0.517538, 0.918731", \ - "2.472286, 2.472287, 2.472233, 2.472242, 2.503889" + "0.033208, 0.057195, 0.047282, 0.073255, 0.374412", \ + "0.150143, 0.150175, 0.151479, 0.161717, 0.504750", \ + "0.271994, 0.271979, 0.271960, 0.273778, 0.580300", \ + "0.515546, 0.515539, 0.515545, 0.515540, 0.712176", \ + "2.463948, 2.463946, 2.463949, 2.463947, 2.465069" ); } } @@ -347,11 +140,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.022460, 0.023823, 0.028185, 0.032725, 0.048628", \ - "0.101758, 0.095743, 0.096537, 0.106002, 0.192478", \ - "0.178737, 0.171298, 0.169438, 0.172294, 0.292379", \ - "0.333714, 0.324980, 0.319961, 0.316508, 0.454253", \ - "1.573522, 1.563797, 1.554566, 1.540634, 1.526335" + "0.022457, 0.023821, 0.028002, 0.033432, 0.050099", \ + "0.100795, 0.094818, 0.096177, 0.106623, 0.193238", \ + "0.178421, 0.170774, 0.168840, 0.173249, 0.292925", \ + "0.333487, 0.324687, 0.319823, 0.317316, 0.454634", \ + "1.573506, 1.563530, 1.554962, 1.540935, 1.526232" ); } cell_fall (delay_template_5x5) { @@ -362,11 +155,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.009970, 0.022403, 0.029546, 0.034700, 0.068167", \ - "0.096913, 0.101219, 0.107825, 0.121609, 0.232622", \ - "0.185623, 0.187325, 0.191482, 0.202034, 0.347414", \ - "0.363642, 0.363571, 0.365553, 0.371659, 0.531408", \ - "1.789848, 1.787982, 1.786798, 1.785978, 1.851027" + "0.009970, 0.022332, 0.029418, 0.036773, 0.068890", \ + "0.096499, 0.100597, 0.107043, 0.121347, 0.233209", \ + "0.185411, 0.187163, 0.191171, 0.201750, 0.347651", \ + "0.363558, 0.363589, 0.365346, 0.371744, 0.531675", \ + "1.789838, 1.787994, 1.786745, 1.786002, 1.850882" ); } rise_transition (delay_template_5x5) { @@ -377,11 +170,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.027669, 0.035784, 0.054151, 0.092799, 0.482183", \ - "0.140384, 0.141035, 0.144045, 0.162603, 0.615320", \ - "0.251926, 0.252443, 0.252459, 0.260421, 0.699195", \ - "0.477068, 0.477037, 0.476614, 0.476926, 0.805486", \ - "2.279001, 2.279001, 2.279030, 2.279108, 2.294719" + "0.027453, 0.035677, 0.052614, 0.085958, 0.479334", \ + "0.138281, 0.138228, 0.140230, 0.159346, 0.613230", \ + "0.250777, 0.250785, 0.250804, 0.256157, 0.698173", \ + "0.475995, 0.475996, 0.475995, 0.475967, 0.804605", \ + "2.278882, 2.278884, 2.278886, 2.278882, 2.294149" ); } fall_transition (delay_template_5x5) { @@ -392,16 +185,16 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.026136, 0.039819, 0.039716, 0.074663, 0.449468", \ - "0.141886, 0.142241, 0.143245, 0.158332, 0.500963", \ - "0.262746, 0.262952, 0.263172, 0.266752, 0.568096", \ - "0.505553, 0.505524, 0.505320, 0.505778, 0.700928", \ - "2.453307, 2.453357, 2.453377, 2.453355, 2.454709" + "0.025756, 0.039061, 0.038010, 0.065493, 0.449021", \ + "0.139560, 0.139590, 0.140888, 0.151088, 0.498425", \ + "0.261310, 0.261302, 0.261289, 0.263206, 0.566573", \ + "0.504829, 0.504817, 0.504829, 0.504819, 0.699154", \ + "2.453188, 2.453188, 2.453189, 2.453187, 2.454474" ); } } timing () { - related_pin: "A"; + related_pin: "C"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( @@ -411,11 +204,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.023283, 0.026391, 0.030097, 0.032328, -0.001253", \ - "0.101980, 0.102170, 0.104068, 0.112129, 0.154938", \ - "0.179362, 0.178895, 0.179701, 0.184772, 0.265473", \ - "0.334131, 0.333374, 0.333035, 0.335245, 0.443256", \ - "1.573764, 1.572736, 1.571134, 1.569023, 1.603107" + "0.017359, 0.020239, 0.022410, 0.022148, -0.048370", \ + "0.095781, 0.095787, 0.097757, 0.105343, 0.121554", \ + "0.173355, 0.172918, 0.173600, 0.178104, 0.237251", \ + "0.328398, 0.327691, 0.327330, 0.328976, 0.421249", \ + "1.568399, 1.567426, 1.565794, 1.563195, 1.593328" ); } cell_fall (delay_template_5x5) { @@ -426,11 +219,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.012521, 0.028199, 0.037706, 0.047850, 0.141476", \ - "0.101182, 0.106075, 0.113456, 0.128856, 0.286674", \ - "0.190018, 0.192261, 0.196376, 0.207802, 0.390952", \ - "0.368057, 0.368351, 0.370519, 0.377256, 0.561629", \ - "1.794406, 1.792708, 1.791509, 1.790815, 1.862031" + "0.015013, 0.024562, 0.032155, 0.044563, 0.160773", \ + "0.098613, 0.097314, 0.099563, 0.111932, 0.280587", \ + "0.184509, 0.180314, 0.178163, 0.181771, 0.365997", \ + "0.356497, 0.350286, 0.344634, 0.339129, 0.507816", \ + "1.732927, 1.724617, 1.714864, 1.697166, 1.627185" ); } rise_transition (delay_template_5x5) { @@ -441,11 +234,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.027862, 0.033354, 0.044936, 0.077255, 0.353604", \ - "0.140814, 0.140720, 0.141271, 0.155440, 0.462296", \ - "0.251891, 0.251950, 0.252170, 0.254649, 0.552226", \ - "0.476737, 0.476901, 0.476974, 0.476945, 0.673929", \ - "2.279056, 2.278996, 2.279039, 2.278966, 2.281603" + "0.019019, 0.025963, 0.039343, 0.070044, 0.533535", \ + "0.129391, 0.129468, 0.130315, 0.139831, 0.514520", \ + "0.241936, 0.241939, 0.241961, 0.243767, 0.557740", \ + "0.467115, 0.467109, 0.467107, 0.467104, 0.662643", \ + "2.269978, 2.269983, 2.269978, 2.269980, 2.272604" ); } fall_transition (delay_template_5x5) { @@ -456,11 +249,75 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.033370, 0.057996, 0.048428, 0.083327, 0.382049", \ - "0.151938, 0.153699, 0.154923, 0.169228, 0.507796", \ - "0.273900, 0.273102, 0.273602, 0.276988, 0.582041", \ - "0.516030, 0.516117, 0.516125, 0.516348, 0.713735", \ - "2.464090, 2.464052, 2.464047, 2.464139, 2.465296" + "0.030659, 0.049724, 0.061259, 0.101551, 0.581832", \ + "0.149318, 0.149607, 0.154293, 0.179158, 0.730603", \ + "0.271589, 0.271594, 0.272068, 0.281395, 0.804678", \ + "0.516131, 0.516134, 0.516134, 0.516907, 0.918257", \ + "2.472225, 2.472227, 2.472226, 2.472227, 2.503573" + ); + } + } + timing () { + related_pin: "D"; + timing_sense: negative_unate; + cell_rise (delay_template_5x5) { + index_1 ( + "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" + ); + index_2 ( + "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" + ); + values ( + "0.016262, 0.017953, 0.020064, 0.021458, -0.001520", \ + "0.095321, 0.089494, 0.090705, 0.100426, 0.153300", \ + "0.172996, 0.165491, 0.163413, 0.167278, 0.258836", \ + "0.328101, 0.319446, 0.314487, 0.311618, 0.428744", \ + "1.568141, 1.558342, 1.549772, 1.535678, 1.515010" + ); + } + cell_fall (delay_template_5x5) { + index_1 ( + "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" + ); + index_2 ( + "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" + ); + values ( + "0.011023, 0.018339, 0.023255, 0.030287, 0.084409", \ + "0.094011, 0.092068, 0.093623, 0.104316, 0.218448", \ + "0.179838, 0.175225, 0.172596, 0.174928, 0.312603", \ + "0.351783, 0.345335, 0.339405, 0.333058, 0.468089", \ + "1.728167, 1.719791, 1.709961, 1.692131, 1.611665" + ); + } + rise_transition (delay_template_5x5) { + index_1 ( + "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" + ); + index_2 ( + "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" + ); + values ( + "0.018855, 0.028595, 0.047231, 0.087045, 0.641403", \ + "0.129486, 0.129382, 0.131911, 0.151555, 0.651384", \ + "0.241942, 0.241930, 0.241953, 0.247787, 0.698756", \ + "0.467109, 0.467119, 0.467119, 0.467084, 0.794655", \ + "2.269982, 2.269982, 2.269983, 2.269978, 2.286463" + ); + } + fall_transition (delay_template_5x5) { + index_1 ( + "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" + ); + index_2 ( + "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" + ); + values ( + "0.019015, 0.039322, 0.050390, 0.091244, 0.642558", \ + "0.138637, 0.138872, 0.143330, 0.167382, 0.711587", \ + "0.260891, 0.260872, 0.261322, 0.270455, 0.778798", \ + "0.505376, 0.505376, 0.505375, 0.506151, 0.893542", \ + "2.461425, 2.461427, 2.461427, 2.461428, 2.492763" ); } }
diff --git a/cells/lib/OR2X1.lib b/cells/lib/OR2X1.lib index 95a99d8..497c2fe 100644 --- a/cells/lib/OR2X1.lib +++ b/cells/lib/OR2X1.lib
@@ -1,266 +1,59 @@ library (ls05_stdcells) { - capacitive_load_unit (1.0, pf); - current_unit: "1uA"; - default_operating_conditions: typical; delay_model: table_lookup; in_place_swap_mode: match_footprint; - input_threshold_pct_fall: 50.0; - input_threshold_pct_rise: 50.0; - leakage_power_unit: "1nW"; - nom_process: 1.0; - nom_temperature: 25.0; - nom_voltage: 5.0; - output_threshold_pct_fall: 50.0; - output_threshold_pct_rise: 50.0; - pulling_resistance_unit: "1kohm"; - slew_lower_threshold_pct_fall: 20.0; - slew_lower_threshold_pct_rise: 20.0; - slew_upper_threshold_pct_fall: 80.0; - slew_upper_threshold_pct_rise: 80.0; time_unit: "1ns"; voltage_unit: "1V"; + current_unit: "1uA"; + pulling_resistance_unit: "1kohm"; + leakage_power_unit: "1nW"; + capacitive_load_unit (1.0, pf); + slew_upper_threshold_pct_rise: 80.0; + slew_lower_threshold_pct_rise: 20.0; + slew_upper_threshold_pct_fall: 80.0; + slew_lower_threshold_pct_fall: 20.0; + input_threshold_pct_rise: 50.0; + input_threshold_pct_fall: 50.0; + output_threshold_pct_rise: 50.0; + output_threshold_pct_fall: 50.0; + nom_process: 1.0; + nom_voltage: 5.0; + nom_temperature: 25.0; + default_operating_conditions: typical; operating_conditions (typical) { process: 1.0; - temperature: 25.0; voltage: 5.0; - } - lu_table_template (delay_template_5x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: input_net_transition; + temperature: 25.0; } lu_table_template (delay_template_5x5) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); variable_1: total_output_net_capacitance; variable_2: input_net_transition; - } - lu_table_template (delay_template_5x6) { index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" + "1000.000000, 1001.000000, 1002.000000, 1003.000000, 1004.000000" ); index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" + "1000.000000, 1001.000000, 1002.000000, 1003.000000, 1004.000000" ); - variable_1: total_output_net_capacitance; - variable_2: input_net_transition; - } - lu_table_template (delay_template_6x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: input_net_transition; - } - lu_table_template (delay_template_6x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_net_transition; - } - power_lut_template (energy_template_5x5) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_transition_time; - } - power_lut_template (energy_template_5x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_transition_time; - } - power_lut_template (energy_template_6x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_transition_time; - } - lu_table_template (hold_template_3x5) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (hold_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - power_lut_template (passive_energy_template_5x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: input_transition_time; - } - power_lut_template (passive_energy_template_6x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: input_transition_time; - } - lu_table_template (recovery_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (recovery_template_6x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (removal_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (setup_template_3x5) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (setup_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; } cell (OR2X1) { area: 219456.0; cell_leakage_power: 0.1173; pin (B) { - capacitance: 0.007576401997672222; direction: input; - fall_capacitance: 0.008853042755779209; - rise_capacitance: 0.006299761239565236; + rise_capacitance: 0.006299305363616857; + fall_capacitance: 0.008885220124112183; + capacitance: 0.007592262743864521; } pin (A) { - capacitance: 0.006280956134443613; direction: input; - fall_capacitance: 0.006252202564509515; - rise_capacitance: 0.006309709704377711; + rise_capacitance: 0.006309610190379141; + fall_capacitance: 0.00630283867340493; + capacitance: 0.006306224431892035; } pin (Y) { direction: output; + function: "!(!B&!A)"; function: "(!!A & !B)"; timing () { - related_pin: "B"; - timing_sense: positive_unate; - cell_rise (delay_template_5x5) { - index_1 ( - "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" - ); - index_2 ( - "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" - ); - values ( - "-0.002737, 0.013249, 0.024740, 0.030135, 0.058150", \ - "0.042967, 0.048920, 0.058700, 0.066027, 0.128620", \ - "0.085691, 0.083076, 0.088849, 0.098329, 0.169802", \ - "0.172823, 0.161427, 0.160431, 0.161812, 0.229754", \ - "0.876988, 0.854756, 0.839524, 0.814610, 0.732242" - ); - } - cell_fall (delay_template_5x5) { - index_1 ( - "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" - ); - index_2 ( - "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" - ); - values ( - "0.029512, 0.033910, 0.037914, 0.050330, 0.052929", \ - "0.070267, 0.072997, 0.078009, 0.091347, 0.135739", \ - "0.112746, 0.114735, 0.118673, 0.130593, 0.209389", \ - "0.200112, 0.201924, 0.204703, 0.213815, 0.340853", \ - "0.914821, 0.916103, 0.917764, 0.922353, 1.006921" - ); - } - rise_transition (delay_template_5x5) { - index_1 ( - "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" - ); - index_2 ( - "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" - ); - values ( - "0.016092, 0.057938, 0.095965, 0.165885, 0.705458", \ - "0.078905, 0.104180, 0.138126, 0.202710, 0.704503", \ - "0.148545, 0.161533, 0.188973, 0.232451, 0.725913", \ - "0.289045, 0.288648, 0.297219, 0.323752, 0.788330", \ - "1.420575, 1.420547, 1.420296, 1.420209, 1.575305" - ); - } - fall_transition (delay_template_5x5) { - index_1 ( - "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" - ); - index_2 ( - "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" - ); - values ( - "0.024665, 0.028188, 0.037838, 0.067587, 0.608216", \ - "0.097377, 0.097071, 0.100693, 0.117571, 0.616589", \ - "0.178290, 0.178809, 0.181589, 0.191054, 0.624945", \ - "0.348706, 0.349016, 0.349686, 0.352764, 0.697194", \ - "1.725555, 1.725371, 1.726655, 1.725685, 1.854607" - ); - } - } - timing () { related_pin: "A"; timing_sense: positive_unate; cell_rise (delay_template_5x5) { @@ -271,11 +64,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "-0.002786, -0.022525, 0.019015, 0.011670, -0.014214", \ - "0.041859, 0.043298, 0.052130, 0.057857, 0.058886", \ - "0.085034, 0.078556, 0.083166, 0.090278, 0.102558", \ - "0.172887, 0.158458, 0.155718, 0.154087, 0.173297", \ - "0.877505, 0.854378, 0.837626, 0.810046, 0.720442" + "-0.002786, -0.022732, 0.019161, 0.019580, -0.011410", \ + "0.041854, 0.043329, 0.051603, 0.059323, 0.062560", \ + "0.084916, 0.078410, 0.082038, 0.088448, 0.103720", \ + "0.172611, 0.158216, 0.154751, 0.153103, 0.172991", \ + "0.878301, 0.855095, 0.838016, 0.810227, 0.720418" ); } cell_fall (delay_template_5x5) { @@ -286,11 +79,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.028690, 0.031248, 0.037463, 0.044487, 0.100482", \ - "0.069107, 0.069828, 0.076360, 0.091636, 0.185145", \ - "0.112034, 0.111088, 0.115798, 0.129197, 0.254233", \ - "0.199087, 0.197989, 0.201090, 0.209121, 0.374419", \ - "0.914050, 0.911951, 0.913051, 0.915105, 1.007909" + "0.028540, 0.031368, 0.036819, 0.045426, 0.100228", \ + "0.069115, 0.070143, 0.075842, 0.091793, 0.184877", \ + "0.111955, 0.111797, 0.115439, 0.127845, 0.254311", \ + "0.200493, 0.199357, 0.201189, 0.207941, 0.374505", \ + "0.915994, 0.913985, 0.914073, 0.914386, 1.007881" ); } rise_transition (delay_template_5x5) { @@ -301,11 +94,11 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.013392, 0.052206, 0.087689, 0.154666, 0.691395", \ - "0.076707, 0.097805, 0.133251, 0.196593, 0.689662", \ - "0.148818, 0.159357, 0.181649, 0.221635, 0.720108", \ - "0.288045, 0.289252, 0.294522, 0.318177, 0.791961", \ - "1.420335, 1.420191, 1.420219, 1.420439, 1.583354" + "0.013392, 0.051401, 0.087406, 0.152742, 0.687675", \ + "0.075475, 0.097421, 0.130787, 0.191718, 0.688979", \ + "0.145593, 0.155613, 0.179062, 0.217295, 0.718675", \ + "0.287207, 0.287428, 0.292736, 0.315169, 0.792432", \ + "1.420518, 1.420518, 1.420514, 1.420518, 1.582675" ); } fall_transition (delay_template_5x5) { @@ -316,11 +109,75 @@ "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( - "0.024973, 0.029481, 0.044119, 0.082711, 0.664635", \ - "0.097225, 0.099096, 0.107079, 0.133341, 0.664451", \ - "0.179958, 0.178788, 0.182955, 0.202839, 0.677564", \ - "0.347947, 0.348719, 0.349929, 0.358002, 0.742083", \ - "1.725186, 1.725383, 1.725427, 1.725691, 1.862987" + "0.024927, 0.029452, 0.042786, 0.080200, 0.663641", \ + "0.093953, 0.096473, 0.103565, 0.127433, 0.668426", \ + "0.177647, 0.178545, 0.181992, 0.198197, 0.680919", \ + "0.349306, 0.349321, 0.350007, 0.357523, 0.740411", \ + "1.727348, 1.727346, 1.727366, 1.727370, 1.864145" + ); + } + } + timing () { + related_pin: "B"; + timing_sense: positive_unate; + cell_rise (delay_template_5x5) { + index_1 ( + "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" + ); + index_2 ( + "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" + ); + values ( + "-0.002737, 0.015129, 0.026339, 0.031155, 0.057827", \ + "0.042995, 0.049240, 0.058421, 0.069922, 0.132870", \ + "0.085418, 0.083324, 0.088199, 0.097150, 0.172762", \ + "0.172559, 0.161472, 0.159668, 0.160671, 0.230240", \ + "0.877741, 0.855521, 0.839844, 0.814300, 0.732001" + ); + } + cell_fall (delay_template_5x5) { + index_1 ( + "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" + ); + index_2 ( + "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" + ); + values ( + "0.029469, 0.033740, 0.039244, 0.045782, 0.049818", \ + "0.070126, 0.072893, 0.078115, 0.092691, 0.135288", \ + "0.112911, 0.114897, 0.118672, 0.129875, 0.209498", \ + "0.201393, 0.202758, 0.205335, 0.211918, 0.341264", \ + "0.916880, 0.917687, 0.919165, 0.921192, 1.006897" + ); + } + rise_transition (delay_template_5x5) { + index_1 ( + "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" + ); + index_2 ( + "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" + ); + values ( + "0.016092, 0.057562, 0.095169, 0.162177, 0.699235", \ + "0.076858, 0.103458, 0.137895, 0.200949, 0.702148", \ + "0.145825, 0.159732, 0.185528, 0.227910, 0.724008", \ + "0.287314, 0.288184, 0.294861, 0.320599, 0.788394", \ + "1.420530, 1.420534, 1.420537, 1.420539, 1.574668" + ); + } + fall_transition (delay_template_5x5) { + index_1 ( + "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" + ); + index_2 ( + "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" + ); + values ( + "0.024627, 0.027679, 0.036375, 0.067524, 0.609658", \ + "0.094505, 0.095669, 0.100243, 0.118924, 0.616317", \ + "0.177929, 0.178313, 0.180338, 0.192868, 0.629773", \ + "0.349160, 0.349206, 0.349675, 0.355201, 0.694984", \ + "1.727366, 1.727352, 1.727345, 1.727367, 1.855198" ); } }
diff --git a/cells/lib/XNOR2X1.lib b/cells/lib/XNOR2X1.lib deleted file mode 100644 index 0ae60ea..0000000 --- a/cells/lib/XNOR2X1.lib +++ /dev/null
@@ -1,329 +0,0 @@ -library (ls05_stdcells) { - capacitive_load_unit (1.0, pf); - current_unit: "1uA"; - default_operating_conditions: typical; - delay_model: table_lookup; - in_place_swap_mode: match_footprint; - input_threshold_pct_fall: 50.0; - input_threshold_pct_rise: 50.0; - leakage_power_unit: "1nW"; - nom_process: 1.0; - nom_temperature: 25.0; - nom_voltage: 5.0; - output_threshold_pct_fall: 50.0; - output_threshold_pct_rise: 50.0; - pulling_resistance_unit: "1kohm"; - slew_lower_threshold_pct_fall: 20.0; - slew_lower_threshold_pct_rise: 20.0; - slew_upper_threshold_pct_fall: 80.0; - slew_upper_threshold_pct_rise: 80.0; - time_unit: "1ns"; - voltage_unit: "1V"; - operating_conditions (typical) { - process: 1.0; - temperature: 25.0; - voltage: 5.0; - } - lu_table_template (delay_template_5x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: input_net_transition; - } - lu_table_template (delay_template_5x5) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_net_transition; - } - lu_table_template (delay_template_5x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_net_transition; - } - lu_table_template (delay_template_6x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: input_net_transition; - } - lu_table_template (delay_template_6x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_net_transition; - } - power_lut_template (energy_template_5x5) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_transition_time; - } - power_lut_template (energy_template_5x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_transition_time; - } - power_lut_template (energy_template_6x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: total_output_net_capacitance; - variable_2: input_transition_time; - } - lu_table_template (hold_template_3x5) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (hold_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - power_lut_template (passive_energy_template_5x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: input_transition_time; - } - power_lut_template (passive_energy_template_6x1) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: input_transition_time; - } - lu_table_template (recovery_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (recovery_template_6x6) { - index_1 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (removal_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (setup_template_3x5) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - lu_table_template (setup_template_3x6) { - index_1 ( - "1000.0, 1001.0, 1002.0" - ); - index_2 ( - "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" - ); - variable_1: related_pin_transition; - variable_2: constrained_pin_transition; - } - cell (XNOR2X1) { - area: 384048.0; - cell_leakage_power: 0.1173; - pin (B) { - capacitance: 0.013514822660098; - direction: input; - fall_capacitance: 0.01444352653236194; - rise_capacitance: 0.012586118787834062; - } - pin (A) { - capacitance: 0.01216821188263561; - direction: input; - fall_capacitance: 0.01160051626672843; - rise_capacitance: 0.01273590749854279; - } - pin (Y) { - direction: output; - function: "(!(A & !B + B & !A))"; - timing () { - related_pin: "B"; - timing_sense: non_unate; - cell_rise (delay_template_5x5) { - index_1 ( - "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" - ); - index_2 ( - "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" - ); - values ( - "0.016692, 0.026466, 0.032210, 0.035327, 0.047236", \ - "0.091623, 0.096157, 0.101268, 0.112236, 0.182896", \ - "0.168714, 0.171487, 0.175299, 0.184006, 0.283106", \ - "0.323178, 0.324836, 0.326819, 0.332014, 0.455088", \ - "1.562758, 1.563072, 1.562761, 1.562230, 1.609484" - ); - } - cell_fall (delay_template_5x5) { - index_1 ( - "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" - ); - index_2 ( - "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" - ); - values ( - "0.026885, 0.032485, 0.038933, 0.047083, 0.088356", \ - "0.117931, 0.120641, 0.124872, 0.135278, 0.246294", \ - "0.211363, 0.213025, 0.215480, 0.223412, 0.363623", \ - "0.399691, 0.400466, 0.401437, 0.406163, 0.555052", \ - "1.911060, 1.910782, 1.909790, 1.909219, 1.963747" - ); - } - rise_transition (delay_template_5x5) { - index_1 ( - "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" - ); - index_2 ( - "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" - ); - values ( - "0.025286, 0.030976, 0.039578, 0.069148, 0.271887", \ - "0.132863, 0.133148, 0.134699, 0.146335, 0.398431", \ - "0.245392, 0.244781, 0.245027, 0.248852, 0.500046", \ - "0.469752, 0.469734, 0.469539, 0.469707, 0.636982", \ - "2.271914, 2.271860, 2.271907, 2.271883, 2.273532" - ); - } - fall_transition (delay_template_5x5) { - index_1 ( - "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" - ); - index_2 ( - "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" - ); - values ( - "0.028424, 0.032113, 0.039714, 0.069558, 0.259508", \ - "0.158149, 0.158097, 0.158297, 0.165758, 0.432914", \ - "0.288248, 0.287926, 0.287602, 0.288201, 0.539323", \ - "0.548453, 0.548729, 0.548771, 0.548859, 0.704675", \ - "2.640916, 2.640957, 2.640961, 2.640975, 2.640935" - ); - } - } - timing () { - related_pin: "A"; - timing_sense: non_unate; - cell_rise (delay_template_5x5) { - index_1 ( - "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" - ); - index_2 ( - "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" - ); - values ( - "0.013989, 0.017922, 0.023819, 0.023910, 0.045077", \ - "0.087124, 0.084574, 0.088506, 0.101490, 0.176795", \ - "0.164482, 0.158794, 0.159586, 0.166358, 0.271935", \ - "0.318605, 0.311099, 0.308187, 0.308499, 0.436242", \ - "1.557737, 1.548082, 1.540255, 1.529227, 1.518552" - ); - } - cell_fall (delay_template_5x5) { - index_1 ( - "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" - ); - index_2 ( - "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" - ); - values ( - "0.013397, 0.017881, 0.023473, 0.028401, 0.048333", \ - "0.105060, 0.099768, 0.099684, 0.107137, 0.189063", \ - "0.198273, 0.190917, 0.187291, 0.187394, 0.294003", \ - "0.386416, 0.377286, 0.370618, 0.362674, 0.471656", \ - "1.897499, 1.886493, 1.875774, 1.856923, 1.754103" - ); - } - rise_transition (delay_template_5x5) { - index_1 ( - "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" - ); - index_2 ( - "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" - ); - values ( - "0.024118, 0.038502, 0.063416, 0.087635, 0.566949", \ - "0.133840, 0.133055, 0.136674, 0.159516, 0.603141", \ - "0.245168, 0.244344, 0.245288, 0.252595, 0.662450", \ - "0.469128, 0.469774, 0.469389, 0.469661, 0.759403", \ - "2.272025, 2.271869, 2.271945, 2.272010, 2.283692" - ); - } - fall_transition (delay_template_5x5) { - index_1 ( - "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" - ); - index_2 ( - "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" - ); - values ( - "0.025980, 0.033978, 0.052062, 0.093692, 0.572048", \ - "0.158104, 0.158727, 0.159581, 0.178242, 0.640536", \ - "0.287711, 0.288211, 0.287992, 0.293228, 0.713557", \ - "0.548627, 0.548574, 0.548857, 0.548865, 0.845995", \ - "2.640933, 2.640942, 2.640979, 2.640983, 2.646792" - ); - } - } - } - } -} \ No newline at end of file
diff --git a/cells/lib/libresilicon.lib b/cells/lib/libresilicon.lib index 2bedd49..76fdf58 100644 --- a/cells/lib/libresilicon.lib +++ b/cells/lib/libresilicon.lib
@@ -1 +1 @@ -library (ls05_stdcells) { capacitive_load_unit (1.0, pf); current_unit: "1uA"; default_operating_conditions: typical; delay_model: table_lookup; in_place_swap_mode: match_footprint; input_threshold_pct_fall: 50.0; input_threshold_pct_rise: 50.0; leakage_power_unit: "1nW"; nom_process: 1.0; nom_temperature: 25.0; nom_voltage: 5.0; output_threshold_pct_fall: 50.0; output_threshold_pct_rise: 50.0; pulling_resistance_unit: "1kohm"; slew_lower_threshold_pct_fall: 20.0; slew_lower_threshold_pct_rise: 20.0; slew_upper_threshold_pct_fall: 80.0; slew_upper_threshold_pct_rise: 80.0; time_unit: "1ns"; voltage_unit: "1V"; operating_conditions (typical) { process: 1.0; temperature: 25.0; voltage: 5.0; } lu_table_template (delay_template_5x1) { index_1 ( "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" ); variable_1: input_net_transition; } lu_table_template (delay_template_5x5) { index_1 ( "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" ); index_2 ( "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" ); variable_1: total_output_net_capacitance; variable_2: input_net_transition; } lu_table_template (delay_template_5x6) { index_1 ( "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" ); index_2 ( "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" ); variable_1: total_output_net_capacitance; variable_2: input_net_transition; } lu_table_template (delay_template_6x1) { index_1 ( "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" ); variable_1: input_net_transition; } lu_table_template (delay_template_6x6) { index_1 ( "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" ); index_2 ( "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" ); variable_1: total_output_net_capacitance; variable_2: input_net_transition; } power_lut_template (energy_template_5x5) { index_1 ( "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" ); index_2 ( "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" ); variable_1: total_output_net_capacitance; variable_2: input_transition_time; } power_lut_template (energy_template_5x6) { index_1 ( "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" ); index_2 ( "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" ); variable_1: total_output_net_capacitance; variable_2: input_transition_time; } power_lut_template (energy_template_6x6) { index_1 ( "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" ); index_2 ( "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" ); variable_1: total_output_net_capacitance; variable_2: input_transition_time; } lu_table_template (hold_template_3x5) { index_1 ( "1000.0, 1001.0, 1002.0" ); index_2 ( "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" ); variable_1: related_pin_transition; variable_2: constrained_pin_transition; } lu_table_template (hold_template_3x6) { index_1 ( "1000.0, 1001.0, 1002.0" ); index_2 ( "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" ); variable_1: related_pin_transition; variable_2: constrained_pin_transition; } power_lut_template (passive_energy_template_5x1) { index_1 ( "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" ); variable_1: input_transition_time; } power_lut_template (passive_energy_template_6x1) { index_1 ( "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" ); variable_1: input_transition_time; } lu_table_template (recovery_template_3x6) { index_1 ( "1000.0, 1001.0, 1002.0" ); index_2 ( "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" ); variable_1: related_pin_transition; variable_2: constrained_pin_transition; } lu_table_template (recovery_template_6x6) { index_1 ( "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" ); index_2 ( "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" ); variable_1: related_pin_transition; variable_2: constrained_pin_transition; } lu_table_template (removal_template_3x6) { index_1 ( "1000.0, 1001.0, 1002.0" ); index_2 ( "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" ); variable_1: related_pin_transition; variable_2: constrained_pin_transition; } lu_table_template (setup_template_3x5) { index_1 ( "1000.0, 1001.0, 1002.0" ); index_2 ( "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" ); variable_1: related_pin_transition; variable_2: constrained_pin_transition; } lu_table_template (setup_template_3x6) { index_1 ( "1000.0, 1001.0, 1002.0" ); index_2 ( "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" ); variable_1: related_pin_transition; variable_2: constrained_pin_transition; } cell (AND2X1) { pg_pin (vdd) { voltage_name : "vdd"; pg_type : "primary_power"; } pg_pin (gnd) { voltage_name : "gnd"; pg_type : "primary_ground"; } area: 219456.0; cell_leakage_power: 0.1173; pin (B) { capacitance: 0.006376640566539888; direction: input; fall_capacitance: 0.007817866144461614; rise_capacitance: 0.004935414988618162; } pin (A) { capacitance: 0.004934912141017381; direction: input; fall_capacitance: 0.005718976233108118; rise_capacitance: 0.004150848048926644; } pin (Y) { direction: output; function: "(A & B)"; timing () { related_pin: "B"; timing_sense: positive_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "-0.002948, 0.031940, 0.041541, 0.057971, 0.167270", "0.046740, 0.066340, 0.080659, 0.100026, 0.234969", "0.087186, 0.100322, 0.115691, 0.131365, 0.287516", "0.172387, 0.177799, 0.194182, 0.207143, 0.391362", "0.875090, 0.868452, 0.882814, 0.885407, 1.014582" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.018337, 0.021491, 0.024061, 0.022400, -0.034178", "0.057356, 0.058976, 0.061060, 0.061598, 0.018699", "0.101068, 0.100276, 0.099697, 0.099202, 0.056903", "0.189356, 0.187013, 0.183889, 0.178499, 0.123050", "0.904340, 0.900488, 0.894961, 0.882939, 0.736675" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.023782, 0.069362, 0.036426, 0.060782, 0.451813", "0.082213, 0.120065, 0.087665, 0.099865, 0.447412", "0.148581, 0.153464, 0.150834, 0.158504, 0.456107", "0.288739, 0.289793, 0.288655, 0.291280, 0.521942", "1.420537, 1.420621, 1.420499, 1.420615, 1.490972" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.020393, 0.034829, 0.056096, 0.100019, 0.517345", "0.095190, 0.099481, 0.112772, 0.142410, 0.561271", "0.177215, 0.179045, 0.186734, 0.209104, 0.606400", "0.348536, 0.348577, 0.350362, 0.361641, 0.706589", "1.724982, 1.724975, 1.726148, 1.725949, 1.797117" ); } } timing () { related_pin: "A"; timing_sense: positive_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "-0.003054, 0.030756, 0.036895, 0.053450, 0.189178", "0.048196, 0.064408, 0.074956, 0.091763, 0.252273", "0.087882, 0.098714, 0.108728, 0.124797, 0.301834", "0.172911, 0.177390, 0.184992, 0.194729, 0.394941", "0.874950, 0.870127, 0.872743, 0.868968, 0.975510" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.015977, 0.018578, 0.018625, 0.016540, -0.078601", "0.056110, 0.056571, 0.057910, 0.059432, -0.014766", "0.100103, 0.098361, 0.096720, 0.097022, 0.031993", "0.188179, 0.185369, 0.181269, 0.175611, 0.117769", "0.903173, 0.899107, 0.892661, 0.880044, 0.755676" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.026432, 0.041227, 0.045227, 0.082731, 0.591445", "0.081271, 0.098565, 0.094743, 0.114263, 0.587890", "0.150173, 0.152420, 0.156118, 0.171333, 0.591808", "0.288387, 0.289298, 0.289941, 0.296010, 0.641073", "1.420770, 1.420848, 1.420544, 1.420583, 1.523188" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.017097, 0.032096, 0.052471, 0.097966, 0.610977", "0.094380, 0.097484, 0.111245, 0.144180, 0.624946", "0.178566, 0.178965, 0.185471, 0.210040, 0.674274", "0.348822, 0.348770, 0.350494, 0.361953, 0.778001", "1.726209, 1.725209, 1.724995, 1.725568, 1.841959" ); } } } } cell (AND2X2) { pg_pin (vdd) { voltage_name : "vdd"; pg_type : "primary_power"; } pg_pin (gnd) { voltage_name : "gnd"; pg_type : "primary_ground"; } area: 219456.0; cell_leakage_power: 0.1173; pin (B) { capacitance: 0.006376640566539888; direction: input; fall_capacitance: 0.007817866144461614; rise_capacitance: 0.004935414988618162; } pin (A) { capacitance: 0.004934912141017381; direction: input; fall_capacitance: 0.005718976233108118; rise_capacitance: 0.004150848048926644; } pin (Y) { direction: output; function: "(A & B)"; timing () { related_pin: "B"; timing_sense: positive_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "-0.002948, 0.031940, 0.041541, 0.057971, 0.167270", "0.046740, 0.066340, 0.080659, 0.100026, 0.234969", "0.087186, 0.100322, 0.115691, 0.131365, 0.287516", "0.172387, 0.177799, 0.194182, 0.207143, 0.391362", "0.875090, 0.868452, 0.882814, 0.885407, 1.014582" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.018337, 0.021491, 0.024061, 0.022400, -0.034178", "0.057356, 0.058976, 0.061060, 0.061598, 0.018699", "0.101068, 0.100276, 0.099697, 0.099202, 0.056903", "0.189356, 0.187013, 0.183889, 0.178499, 0.123050", "0.904340, 0.900488, 0.894961, 0.882939, 0.736675" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.023782, 0.069362, 0.036426, 0.060782, 0.451813", "0.082213, 0.120065, 0.087665, 0.099865, 0.447412", "0.148581, 0.153464, 0.150834, 0.158504, 0.456107", "0.288739, 0.289793, 0.288655, 0.291280, 0.521942", "1.420537, 1.420621, 1.420499, 1.420615, 1.490972" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.020393, 0.034829, 0.056096, 0.100019, 0.517345", "0.095190, 0.099481, 0.112772, 0.142410, 0.561271", "0.177215, 0.179045, 0.186734, 0.209104, 0.606400", "0.348536, 0.348577, 0.350362, 0.361641, 0.706589", "1.724982, 1.724975, 1.726148, 1.725949, 1.797117" ); } } timing () { related_pin: "A"; timing_sense: positive_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "-0.003054, 0.030756, 0.036895, 0.053450, 0.189178", "0.048196, 0.064408, 0.074956, 0.091763, 0.252273", "0.087882, 0.098714, 0.108728, 0.124797, 0.301834", "0.172911, 0.177390, 0.184992, 0.194729, 0.394941", "0.874950, 0.870127, 0.872743, 0.868968, 0.975510" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.015977, 0.018578, 0.018625, 0.016540, -0.078601", "0.056110, 0.056571, 0.057910, 0.059432, -0.014766", "0.100103, 0.098361, 0.096720, 0.097022, 0.031993", "0.188179, 0.185369, 0.181269, 0.175611, 0.117769", "0.903173, 0.899107, 0.892661, 0.880044, 0.755676" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.026432, 0.041227, 0.045227, 0.082731, 0.591445", "0.081271, 0.098565, 0.094743, 0.114263, 0.587890", "0.150173, 0.152420, 0.156118, 0.171333, 0.591808", "0.288387, 0.289298, 0.289941, 0.296010, 0.641073", "1.420770, 1.420848, 1.420544, 1.420583, 1.523188" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.017097, 0.032096, 0.052471, 0.097966, 0.610977", "0.094380, 0.097484, 0.111245, 0.144180, 0.624946", "0.178566, 0.178965, 0.185471, 0.210040, 0.674274", "0.348822, 0.348770, 0.350494, 0.361953, 0.778001", "1.726209, 1.725209, 1.724995, 1.725568, 1.841959" ); } } } } cell (AOI21X1) { pg_pin (vdd) { voltage_name : "vdd"; pg_type : "primary_power"; } pg_pin (gnd) { voltage_name : "gnd"; pg_type : "primary_ground"; } area: 219456.0; cell_leakage_power: 0.1173; pin (C) { capacitance: 0.006189667947317773; direction: input; fall_capacitance: 0.00608282711442158; rise_capacitance: 0.006296508780213967; } pin (B) { capacitance: 0.004946001600705809; direction: input; fall_capacitance: 0.005741143923488236; rise_capacitance: 0.004150859277923382; } pin (A) { capacitance: 0.0063768651510662175; direction: input; fall_capacitance: 0.007818310946312182; rise_capacitance: 0.0049354193558202525; } pin (Y) { direction: output; function: "((A & !B & !C + B & !A & !C + !A & !B & !C))"; timing () { related_pin: "C"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.012884, 0.013814, 0.016718, 0.021870, 0.028833", "0.086107, 0.080864, 0.082497, 0.093433, 0.172718", "0.157907, 0.150075, 0.149039, 0.154342, 0.270928", "0.301166, 0.291665, 0.287163, 0.285601, 0.427419", "1.448480, 1.437527, 1.428051, 1.413899, 1.417674" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.005708, 0.008603, 0.010605, 0.008342, 0.014912", "0.046767, 0.047758, 0.052811, 0.059897, 0.111616", "0.091313, 0.089826, 0.091015, 0.099539, 0.178409", "0.180111, 0.176982, 0.175277, 0.175888, 0.287227", "0.895506, 0.891449, 0.886851, 0.878783, 0.902515" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.012972, 0.024876, 0.045576, 0.092382, 0.730301", "0.117670, 0.118582, 0.124112, 0.144342, 0.702744", "0.221586, 0.221908, 0.222072, 0.232193, 0.694310", "0.430244, 0.430091, 0.430239, 0.430802, 0.761045", "2.104719, 2.104806, 2.104636, 2.104737, 2.138480" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.013144, 0.040328, 0.065020, 0.111186, 0.739334", "0.095171, 0.101388, 0.116357, 0.159575, 0.811404", "0.180158, 0.181007, 0.191810, 0.223783, 0.880144", "0.350588, 0.350580, 0.354001, 0.371311, 0.983014", "1.727889, 1.727581, 1.728170, 1.727705, 1.982896" ); } } timing () { related_pin: "B"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.015335, 0.016982, 0.017673, 0.018219, -0.069608", "0.094019, 0.093932, 0.095770, 0.102779, 0.105301", "0.171502, 0.171151, 0.171863, 0.175258, 0.222703", "0.326268, 0.325524, 0.325280, 0.326346, 0.409421", "1.565887, 1.565044, 1.563580, 1.561246, 1.585994" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.013287, 0.024880, 0.031685, 0.037498, 0.167659", "0.107124, 0.105845, 0.107193, 0.117896, 0.299712", "0.201357, 0.197038, 0.194436, 0.196480, 0.391707", "0.390085, 0.383995, 0.377751, 0.370715, 0.543155", "1.901754, 1.893671, 1.883505, 1.864991, 1.785557" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.013701, 0.021239, 0.037128, 0.074532, 0.517052", "0.124145, 0.126554, 0.127481, 0.138597, 0.502699", "0.236289, 0.237521, 0.237587, 0.239899, 0.557716", "0.461681, 0.461011, 0.461333, 0.461741, 0.666948", "2.263739, 2.263875, 2.263871, 2.263837, 2.266936" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.030160, 0.038814, 0.058225, 0.102917, 0.553894", "0.158458, 0.157631, 0.161617, 0.182586, 0.706485", "0.287898, 0.286716, 0.287445, 0.295747, 0.780606", "0.548485, 0.548526, 0.548522, 0.548250, 0.902420", "2.640741, 2.640742, 2.640727, 2.640745, 2.647561" ); } } timing () { related_pin: "A"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.018081, 0.020472, 0.022446, 0.023825, -0.023691", "0.096239, 0.096537, 0.098721, 0.106326, 0.139254", "0.173813, 0.173358, 0.174228, 0.178403, 0.251687", "0.328514, 0.327676, 0.327494, 0.329061, 0.431351", "1.568114, 1.567133, 1.565660, 1.563413, 1.593357" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.011083, 0.026784, 0.035062, 0.040835, 0.137110", "0.106329, 0.111405, 0.118093, 0.132531, 0.298206", "0.200961, 0.203504, 0.207727, 0.219147, 0.408186", "0.389721, 0.390740, 0.393162, 0.400718, 0.586451", "1.901421, 1.900917, 1.900632, 1.901495, 1.980436" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.017574, 0.025241, 0.039240, 0.074436, 0.320255", "0.130209, 0.130934, 0.131571, 0.144964, 0.452202", "0.240805, 0.242496, 0.242369, 0.244406, 0.548288", "0.466498, 0.466251, 0.466522, 0.466774, 0.675363", "2.268774, 2.268830, 2.268824, 2.268768, 2.271727" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.029014, 0.034924, 0.042010, 0.073728, 0.327469", "0.158673, 0.158762, 0.158147, 0.170170, 0.467645", "0.287787, 0.287911, 0.287075, 0.288882, 0.551159", "0.548458, 0.548226, 0.548509, 0.548657, 0.704977", "2.640715, 2.640671, 2.640748, 2.640738, 2.640639" ); } } } } cell (AOI22X1) { pg_pin (vdd) { voltage_name : "vdd"; pg_type : "primary_power"; } pg_pin (gnd) { voltage_name : "gnd"; pg_type : "primary_ground"; } area: 274320.0; cell_leakage_power: 0.1173; pin (D) { capacitance: 0.0020974613531819556; direction: input; fall_capacitance: 4.4104117800871274e-05; rise_capacitance: 0.004150818588563039; } pin (C) { capacitance: 0.004812606268016478; direction: input; fall_capacitance: 0.004689865191387634; rise_capacitance: 0.0049353473446453215; } pin (B) { capacitance: 0.004946165373579888; direction: input; fall_capacitance: 0.005741463237564304; rise_capacitance: 0.0041508675095954725; } pin (A) { capacitance: 0.006371776083769734; direction: input; fall_capacitance: 0.007808127096433607; rise_capacitance: 0.004935425071105862; } pin (Y) { direction: output; function: "(!(A & B & C & D + A & B & C & !D + A & B & D & !C + A & C & D & !B + B & C & D & !A + A & B & !C & !D + C & D & !A & !B))"; timing () { related_pin: "D"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.016935, 0.014883, 0.015703, 0.012454, -0.033501", "0.090542, 0.082772, 0.082614, 0.090524, 0.114504", "0.162325, 0.152911, 0.149501, 0.151692, 0.215638", "0.305626, 0.294845, 0.288283, 0.283584, 0.379358", "1.452827, 1.441115, 1.430562, 1.414232, 1.385088" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.011131, 0.018803, 0.024733, 0.032496, 0.108096", "0.102250, 0.099676, 0.101552, 0.112143, 0.253101", "0.196075, 0.190340, 0.188422, 0.190760, 0.352663", "0.384766, 0.377069, 0.371270, 0.364996, 0.516099", "1.896343, 1.886398, 1.876274, 1.858129, 1.777799" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.016765, 0.027275, 0.049942, 0.091821, 0.629255", "0.121167, 0.122670, 0.127043, 0.150833, 0.656506", "0.224824, 0.225478, 0.225444, 0.237122, 0.716205", "0.433527, 0.433720, 0.433798, 0.434581, 0.814040", "2.108310, 2.108361, 2.108226, 2.108327, 2.151506" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.019540, 0.037485, 0.048144, 0.090862, 0.624895", "0.148113, 0.148658, 0.152486, 0.173373, 0.676277", "0.277916, 0.277395, 0.278530, 0.285802, 0.738740", "0.538822, 0.539108, 0.538745, 0.539142, 0.865875", "2.631103, 2.631167, 2.631060, 2.631158, 2.638378" ); } } timing () { related_pin: "C"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.020369, 0.018428, 0.021368, 0.020061, 0.016757", "0.092490, 0.085158, 0.085310, 0.094546, 0.156465", "0.164627, 0.154984, 0.151976, 0.154901, 0.251955", "0.307751, 0.296984, 0.290533, 0.286397, 0.406843", "1.454952, 1.443103, 1.432571, 1.416364, 1.394708" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.010498, 0.021560, 0.028514, 0.037495, 0.082368", "0.101825, 0.105130, 0.112161, 0.127308, 0.261185", "0.195561, 0.196794, 0.201635, 0.213814, 0.379961", "0.384369, 0.383935, 0.386589, 0.394605, 0.568320", "1.895945, 1.893647, 1.893375, 1.894401, 1.975233" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.021236, 0.031459, 0.054625, 0.095131, 0.470508", "0.126934, 0.126375, 0.131675, 0.156729, 0.627474", "0.229762, 0.229630, 0.230077, 0.241674, 0.716118", "0.438091, 0.438482, 0.438252, 0.439405, 0.825499", "2.112964, 2.112929, 2.112863, 2.112978, 2.155164" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.021627, 0.035591, 0.035070, 0.070098, 0.433450", "0.147776, 0.149177, 0.150009, 0.161817, 0.458917", "0.277709, 0.277366, 0.277596, 0.280531, 0.527096", "0.539065, 0.539093, 0.539109, 0.538946, 0.684263", "2.631099, 2.631149, 2.631170, 2.631100, 2.631114" ); } } timing () { related_pin: "B"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.019809, 0.021467, 0.022993, 0.023258, -0.058701", "0.092131, 0.092348, 0.095145, 0.101841, 0.098557", "0.164877, 0.164124, 0.165065, 0.169626, 0.210368", "0.308029, 0.307392, 0.307470, 0.309169, 0.390164", "1.457169, 1.456286, 1.455144, 1.453124, 1.488193" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.013313, 0.029532, 0.038717, 0.047945, 0.188158", "0.107990, 0.110195, 0.113203, 0.124738, 0.313534", "0.202371, 0.200606, 0.199392, 0.203099, 0.404174", "0.391167, 0.386925, 0.382011, 0.376561, 0.554823", "1.902931, 1.895987, 1.886227, 1.868549, 1.797821" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.019429, 0.026568, 0.042468, 0.080756, 0.516753", "0.124108, 0.123505, 0.123820, 0.139390, 0.517896", "0.226304, 0.226453, 0.226121, 0.229413, 0.571103", "0.432605, 0.432992, 0.433334, 0.433130, 0.669772", "2.096546, 2.096500, 2.096504, 2.096401, 2.104903" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.036963, 0.064663, 0.063261, 0.104268, 0.557323", "0.169060, 0.168178, 0.170874, 0.190953, 0.690517", "0.298594, 0.298892, 0.298450, 0.305039, 0.761400", "0.559542, 0.559072, 0.559520, 0.559454, 0.890958", "2.651812, 2.651739, 2.651820, 2.651765, 2.658183" ); } } timing () { related_pin: "A"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.022678, 0.024602, 0.027657, 0.027746, -0.014253", "0.094425, 0.094825, 0.097714, 0.105256, 0.133288", "0.166876, 0.166299, 0.167299, 0.172465, 0.239654", "0.310022, 0.309359, 0.309537, 0.311595, 0.412132", "1.459221, 1.458255, 1.457052, 1.455130, 1.495355" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.010762, 0.031615, 0.042726, 0.054379, 0.162255", "0.107178, 0.114877, 0.123673, 0.140333, 0.314762", "0.201740, 0.206695, 0.212432, 0.225560, 0.423426", "0.390675, 0.393589, 0.396909, 0.405745, 0.599731", "1.902538, 1.903226, 1.903241, 1.904537, 1.991568" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.023953, 0.030647, 0.045679, 0.081384, 0.352989", "0.128243, 0.127626, 0.127724, 0.144629, 0.476733", "0.230700, 0.231079, 0.230551, 0.233540, 0.563234", "0.437513, 0.437483, 0.437930, 0.437603, 0.677229", "2.101139, 2.101103, 2.101049, 2.100995, 2.109091" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.035078, 0.066496, 0.049387, 0.080483, 0.340869", "0.168775, 0.168226, 0.168846, 0.179604, 0.463584", "0.298761, 0.298598, 0.298932, 0.300297, 0.541365", "0.559293, 0.559471, 0.559155, 0.559533, 0.704149", "2.651791, 2.651807, 2.651756, 2.651826, 2.651827" ); } } } } cell (BUFX2) { pg_pin (vdd) { voltage_name : "vdd"; pg_type : "primary_power"; } pg_pin (gnd) { voltage_name : "gnd"; pg_type : "primary_ground"; } area: 164592.0; cell_leakage_power: 0.1173; pin (A) { capacitance: 0.007524621021778557; direction: input; fall_capacitance: 0.00885894979294924; rise_capacitance: 0.006190292250607873; } pin (Y) { direction: output; function: "(A)"; timing () { related_pin: "A"; timing_sense: positive_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "-0.003161, 0.017829, 0.022268, 0.021768, 0.079308", "0.045055, 0.050063, 0.057136, 0.070246, 0.151768", "0.086221, 0.085910, 0.089124, 0.100838, 0.199664", "0.172654, 0.166239, 0.164336, 0.168034, 0.284850", "0.876097, 0.863347, 0.851849, 0.832547, 0.852986" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.014482, 0.017268, 0.019923, 0.023667, -0.011126", "0.054563, 0.055999, 0.060204, 0.069455, 0.072439", "0.098790, 0.098063, 0.098828, 0.107532, 0.136737", "0.187149, 0.184801, 0.183271, 0.184852, 0.249296", "0.902112, 0.898842, 0.894592, 0.887713, 0.887222" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.021141, 0.053260, 0.060446, 0.114111, 0.839043", "0.078233, 0.096018, 0.107000, 0.143602, 0.829526", "0.148965, 0.150631, 0.162142, 0.191631, 0.827817", "0.288402, 0.288541, 0.290092, 0.306795, 0.865517", "1.420305, 1.420150, 1.420683, 1.420175, 1.615594" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.015821, 0.030737, 0.052343, 0.106785, 0.838213", "0.092115, 0.097031, 0.110737, 0.149525, 0.839377", "0.177675, 0.179318, 0.186569, 0.215056, 0.850611", "0.349011, 0.348267, 0.350542, 0.364446, 0.905444", "1.725400, 1.725176, 1.725220, 1.725574, 1.913061" ); } } } } cell (HAX1) { pg_pin (vdd) { voltage_name : "vdd"; pg_type : "primary_power"; } pg_pin (gnd) { voltage_name : "gnd"; pg_type : "primary_ground"; } area: 603504.0; cell_leakage_power: 0.1173; pin (B) { capacitance: 0.009565996302413171; direction: input; fall_capacitance: 0.008432988155991751; rise_capacitance: 0.010699004448834593; } pin (A) { capacitance: 0.012290968093010312; direction: input; fall_capacitance: 0.013216336710577052; rise_capacitance: 0.01136559947544357; } pin (YS) { direction: output; function: "(!(A & B + !A & !B))"; timing () { related_pin: "B"; timing_sense: non_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.004033, 0.032150, 0.044845, 0.050474, 0.051335", "0.055892, 0.068037, 0.080785, 0.093045, 0.114132", "0.094044, 0.101015, 0.112537, 0.126712, 0.158920", "0.175648, 0.176204, 0.184990, 0.197179, 0.244777", "0.873435, 0.863339, 0.864298, 0.866078, 0.855109" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.017244, 0.032461, 0.048132, 0.062118, 0.137542", "0.058835, 0.069633, 0.084719, 0.104232, 0.192012", "0.100970, 0.106394, 0.118870, 0.138651, 0.235211", "0.187793, 0.189005, 0.197350, 0.213800, 0.316894", "0.902163, 0.898308, 0.900032, 0.906364, 0.948955" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.040974, 0.074951, 0.060349, 0.076555, 0.409013", "0.091957, 0.122622, 0.111250, 0.115255, 0.415747", "0.154170, 0.166605, 0.165996, 0.172579, 0.465956", "0.289870, 0.292343, 0.293138, 0.299508, 0.559512", "1.420665, 1.420862, 1.420515, 1.421028, 1.493654" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.028737, 0.067929, 0.109033, 0.090482, 0.482822", "0.100377, 0.125774, 0.164469, 0.180526, 0.509483", "0.180975, 0.197032, 0.211922, 0.221778, 0.555289", "0.348738, 0.353197, 0.357789, 0.370377, 0.658930", "1.725367, 1.725946, 1.725663, 1.725932, 1.793771" ); } } timing () { related_pin: "A"; timing_sense: non_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "-0.002915, 0.042398, 0.052176, 0.055423, 0.107987", "0.062544, 0.079393, 0.088727, 0.101216, 0.163975", "0.098867, 0.112677, 0.121587, 0.133731, 0.204781", "0.178683, 0.187584, 0.195187, 0.205349, 0.275393", "0.873877, 0.874214, 0.876238, 0.875094, 0.864245" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.018517, 0.033815, 0.052985, 0.063145, 0.108475", "0.059426, 0.069693, 0.089732, 0.106611, 0.160828", "0.101430, 0.106262, 0.124529, 0.143828, 0.205452", "0.188322, 0.188871, 0.203005, 0.222224, 0.292784", "0.902655, 0.898231, 0.905344, 0.918863, 0.964905" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.048575, 0.056963, 0.055452, 0.077660, 0.348951", "0.097387, 0.109829, 0.107257, 0.116455, 0.374171", "0.157790, 0.160813, 0.162764, 0.173185, 0.415244", "0.289541, 0.291335, 0.292385, 0.299387, 0.509268", "1.420940, 1.420534, 1.420747, 1.420655, 1.464278" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.029875, 0.067731, 0.077584, 0.067492, 0.350562", "0.099533, 0.125664, 0.168623, 0.123478, 0.376209", "0.180545, 0.196321, 0.205234, 0.198481, 0.424205", "0.348869, 0.353115, 0.356059, 0.358578, 0.546504", "1.725470, 1.725570, 1.725963, 1.725775, 1.781596" ); } } } pin (YC) { direction: output; function: "(A & B)"; timing () { related_pin: "B"; timing_sense: positive_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "-0.002932, 0.031845, 0.046203, 0.059680, 0.206545", "0.049948, 0.068231, 0.085039, 0.104520, 0.274220", "0.089788, 0.101410, 0.117157, 0.136354, 0.323085", "0.173455, 0.176265, 0.188945, 0.205397, 0.412891", "0.873808, 0.861079, 0.865149, 0.869380, 0.984923" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.020712, 0.024396, 0.025178, 0.022025, -0.060067", "0.060435, 0.061372, 0.064388, 0.066859, 0.006598", "0.103540, 0.102168, 0.102489, 0.103050, 0.053408", "0.191891, 0.188927, 0.186482, 0.180921, 0.136742", "0.906360, 0.902330, 0.897105, 0.883862, 0.767023" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.029065, 0.076707, 0.058814, 0.085996, 0.589693", "0.084308, 0.124052, 0.114916, 0.121842, 0.582858", "0.150913, 0.169854, 0.170202, 0.177980, 0.592114", "0.289080, 0.293361, 0.294671, 0.299955, 0.642962", "1.420626, 1.420601, 1.420595, 1.420438, 1.521560" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.023168, 0.037493, 0.061782, 0.104667, 0.614021", "0.093949, 0.101336, 0.115157, 0.147186, 0.632991", "0.178031, 0.179618, 0.188053, 0.212969, 0.683615", "0.349299, 0.349430, 0.351228, 0.362707, 0.786505", "1.724877, 1.725713, 1.726013, 1.726067, 1.845083" ); } } timing () { related_pin: "A"; timing_sense: positive_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "-0.002877, 0.029610, 0.051114, 0.071379, 0.191002", "0.048630, 0.065299, 0.090272, 0.109498, 0.261067", "0.088953, 0.098443, 0.122749, 0.144721, 0.312452", "0.173170, 0.173273, 0.195093, 0.217717, 0.411821", "0.874061, 0.858051, 0.871543, 0.889533, 1.026567" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.022256, 0.026455, 0.029553, 0.031901, -0.015917", "0.062541, 0.063639, 0.067746, 0.071999, 0.041159", "0.104940, 0.104109, 0.105543, 0.107246, 0.080735", "0.192752, 0.190680, 0.189057, 0.184951, 0.147242", "0.907257, 0.903593, 0.899162, 0.887044, 0.752494" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.026048, 0.073817, 0.050978, 0.065940, 0.443696", "0.083033, 0.121825, 0.103425, 0.102000, 0.436305", "0.150571, 0.172361, 0.163617, 0.164690, 0.449813", "0.288981, 0.293984, 0.293415, 0.294741, 0.517577", "1.420646, 1.420437, 1.420500, 1.420898, 1.486892" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.025591, 0.040492, 0.065936, 0.108105, 0.550325", "0.095286, 0.101971, 0.117506, 0.150589, 0.584408", "0.179426, 0.180898, 0.189227, 0.214201, 0.625356", "0.348855, 0.349403, 0.351841, 0.363528, 0.724101", "1.724988, 1.724959, 1.726109, 1.725779, 1.806215" ); } } } } cell (INV) { pg_pin (vdd) { voltage_name : "vdd"; pg_type : "primary_power"; } pg_pin (gnd) { voltage_name : "gnd"; pg_type : "primary_ground"; } area: 109728.0; cell_leakage_power: 0.1173; pin (A) { capacitance: 0.007547126607243736; direction: input; fall_capacitance: 0.008904762554228705; rise_capacitance: 0.0061894906602587675; } pin (Y) { direction: output; function: "(!A)"; timing () { related_pin: "A"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.005045, 0.004666, 0.003429, -0.000859, -0.065505", "0.044989, 0.042725, 0.047543, 0.051692, 0.040256", "0.088909, 0.082182, 0.082392, 0.089237, 0.111465", "0.176860, 0.166922, 0.160768, 0.159204, 0.223911", "0.881893, 0.869050, 0.853857, 0.827782, 0.824694" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.005563, 0.008612, 0.012339, 0.017358, 0.087849", "0.046446, 0.047702, 0.053516, 0.064252, 0.179451", "0.090922, 0.089928, 0.091895, 0.103197, 0.242872", "0.179772, 0.177219, 0.176091, 0.179128, 0.343479", "0.895275, 0.891758, 0.887322, 0.880070, 0.928854" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.008037, 0.028704, 0.054668, 0.109521, 0.869966", "0.076055, 0.081921, 0.097573, 0.140257, 0.863906", "0.147843, 0.149496, 0.158979, 0.188238, 0.862306", "0.288563, 0.287255, 0.290237, 0.307382, 0.902900", "1.419778, 1.420153, 1.419732, 1.419717, 1.673889" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.008767, 0.031084, 0.058052, 0.115960, 0.868417", "0.090912, 0.096720, 0.111536, 0.155787, 0.875627", "0.176967, 0.177851, 0.188412, 0.219917, 0.899333", "0.347603, 0.347624, 0.351003, 0.368838, 0.971602", "1.725267, 1.725008, 1.725609, 1.725893, 1.975591" ); } } } } cell (INVX1) { pg_pin (vdd) { voltage_name : "vdd"; pg_type : "primary_power"; } pg_pin (gnd) { voltage_name : "gnd"; pg_type : "primary_ground"; } area: 109728.0; cell_leakage_power: 0.1173; pin (A) { capacitance: 0.007547126607243736; direction: input; fall_capacitance: 0.008904762554228705; rise_capacitance: 0.0061894906602587675; } pin (Y) { direction: output; function: "(!A)"; timing () { related_pin: "A"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.005045, 0.004666, 0.003429, -0.000859, -0.065505", "0.044989, 0.042725, 0.047543, 0.051692, 0.040256", "0.088909, 0.082182, 0.082392, 0.089237, 0.111465", "0.176860, 0.166922, 0.160768, 0.159204, 0.223911", "0.881893, 0.869050, 0.853857, 0.827782, 0.824694" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.005563, 0.008612, 0.012339, 0.017358, 0.087849", "0.046446, 0.047702, 0.053516, 0.064252, 0.179451", "0.090922, 0.089928, 0.091895, 0.103197, 0.242872", "0.179772, 0.177219, 0.176091, 0.179128, 0.343479", "0.895275, 0.891758, 0.887322, 0.880070, 0.928854" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.008037, 0.028704, 0.054668, 0.109521, 0.869966", "0.076055, 0.081921, 0.097573, 0.140257, 0.863906", "0.147843, 0.149496, 0.158979, 0.188238, 0.862306", "0.288563, 0.287255, 0.290237, 0.307382, 0.902900", "1.419778, 1.420153, 1.419732, 1.419717, 1.673889" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.008767, 0.031084, 0.058052, 0.115960, 0.868417", "0.090912, 0.096720, 0.111536, 0.155787, 0.875627", "0.176967, 0.177851, 0.188412, 0.219917, 0.899333", "0.347603, 0.347624, 0.351003, 0.368838, 0.971602", "1.725267, 1.725008, 1.725609, 1.725893, 1.975591" ); } } } } cell (INVX2) { pg_pin (vdd) { voltage_name : "vdd"; pg_type : "primary_power"; } pg_pin (gnd) { voltage_name : "gnd"; pg_type : "primary_ground"; } area: 109728.0; cell_leakage_power: 0.1173; pin (A) { capacitance: 0.007547126607243736; direction: input; fall_capacitance: 0.008904762554228705; rise_capacitance: 0.0061894906602587675; } pin (Y) { direction: output; function: "(!A)"; timing () { related_pin: "A"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.005045, 0.004666, 0.003429, -0.000859, -0.065505", "0.044989, 0.042725, 0.047543, 0.051692, 0.040256", "0.088909, 0.082182, 0.082392, 0.089237, 0.111465", "0.176860, 0.166922, 0.160768, 0.159204, 0.223911", "0.881893, 0.869050, 0.853857, 0.827782, 0.824694" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.005563, 0.008612, 0.012339, 0.017358, 0.087849", "0.046446, 0.047702, 0.053516, 0.064252, 0.179451", "0.090922, 0.089928, 0.091895, 0.103197, 0.242872", "0.179772, 0.177219, 0.176091, 0.179128, 0.343479", "0.895275, 0.891758, 0.887322, 0.880070, 0.928854" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.008037, 0.028704, 0.054668, 0.109521, 0.869966", "0.076055, 0.081921, 0.097573, 0.140257, 0.863906", "0.147843, 0.149496, 0.158979, 0.188238, 0.862306", "0.288563, 0.287255, 0.290237, 0.307382, 0.902900", "1.419778, 1.420153, 1.419732, 1.419717, 1.673889" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.008767, 0.031084, 0.058052, 0.115960, 0.868417", "0.090912, 0.096720, 0.111536, 0.155787, 0.875627", "0.176967, 0.177851, 0.188412, 0.219917, 0.899333", "0.347603, 0.347624, 0.351003, 0.368838, 0.971602", "1.725267, 1.725008, 1.725609, 1.725893, 1.975591" ); } } } } cell (INVX4) { pg_pin (vdd) { voltage_name : "vdd"; pg_type : "primary_power"; } pg_pin (gnd) { voltage_name : "gnd"; pg_type : "primary_ground"; } area: 164592.0; cell_leakage_power: 0.1173; pin (A) { capacitance: 0.013438478664617209; direction: input; fall_capacitance: 0.014499779614899311; rise_capacitance: 0.012377177714335106; } pin (Y) { direction: output; function: "(!A)"; timing () { related_pin: "A"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.004836, 0.004170, 0.002946, -0.001907, -0.066292", "0.023946, 0.025031, 0.028842, 0.029915, -0.004484", "0.044976, 0.042290, 0.047609, 0.052305, 0.040052", "0.088868, 0.082479, 0.082214, 0.089172, 0.111518", "0.440751, 0.428400, 0.415953, 0.398459, 0.482872" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.005423, 0.008336, 0.011970, 0.017170, 0.086980", "0.025140, 0.028622, 0.035186, 0.044099, 0.141159", "0.046446, 0.047702, 0.053516, 0.064252, 0.179451", "0.090922, 0.089928, 0.091895, 0.103197, 0.242872", "0.447493, 0.444138, 0.440746, 0.435821, 0.578747" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.007775, 0.028100, 0.055227, 0.108927, 0.869985", "0.039255, 0.049723, 0.072334, 0.124573, 0.866617", "0.075493, 0.083261, 0.096610, 0.140261, 0.863292", "0.146557, 0.148054, 0.158526, 0.188166, 0.862332", "0.712012, 0.711126, 0.711929, 0.712879, 1.131106" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.008278, 0.030935, 0.057869, 0.115738, 0.868418", "0.047073, 0.058001, 0.079823, 0.131936, 0.871905", "0.090912, 0.096720, 0.111536, 0.155787, 0.875627", "0.176967, 0.177851, 0.188412, 0.219917, 0.899333", "0.863260, 0.862553, 0.864134, 0.865563, 1.291606" ); } } } } cell (INVX8) { pg_pin (vdd) { voltage_name : "vdd"; pg_type : "primary_power"; } pg_pin (gnd) { voltage_name : "gnd"; pg_type : "primary_ground"; } area: 274320.0; cell_leakage_power: 0.1173; pin (A) { capacitance: 0.0252218232768479; direction: input; fall_capacitance: 0.02568994035979349; rise_capacitance: 0.024753706193902308; } pin (Y) { direction: output; function: "(!A)"; timing () { related_pin: "A"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.004711, 0.004036, 0.002690, -0.002338, -0.066683", "0.013476, 0.015921, 0.017776, 0.016979, -0.030765", "0.023708, 0.025226, 0.028773, 0.029840, -0.004496", "0.044997, 0.042811, 0.047615, 0.051364, 0.040057", "0.220573, 0.210103, 0.201918, 0.196471, 0.273011" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.005356, 0.008195, 0.011786, 0.017076, 0.086545", "0.014445, 0.019292, 0.024680, 0.028468, 0.116656", "0.025140, 0.028622, 0.035186, 0.044099, 0.141159", "0.046446, 0.047702, 0.053516, 0.064252, 0.179451", "0.224189, 0.221188, 0.219510, 0.220049, 0.387314" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.007647, 0.027974, 0.055611, 0.108999, 0.869977", "0.022594, 0.037470, 0.063051, 0.115180, 0.867738", "0.039486, 0.049806, 0.072127, 0.121312, 0.866717", "0.076785, 0.082234, 0.096608, 0.138992, 0.863329", "0.358088, 0.358712, 0.359243, 0.372101, 0.930596" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.008160, 0.030855, 0.057683, 0.115626, 0.868400", "0.027538, 0.041822, 0.066894, 0.123555, 0.870026", "0.047073, 0.058001, 0.079823, 0.131936, 0.871905", "0.090912, 0.096720, 0.111536, 0.155787, 0.875627", "0.433842, 0.432463, 0.434875, 0.448234, 1.015267" ); } } } } cell (MUX2X1) { pg_pin (vdd) { voltage_name : "vdd"; pg_type : "primary_power"; } pg_pin (gnd) { voltage_name : "gnd"; pg_type : "primary_ground"; } area: 329184.0; cell_leakage_power: 0.1173; pin (S) { capacitance: 0.009256673995156848; direction: input; fall_capacitance: 0.008174605299069488; rise_capacitance: 0.01033874269124421; } pin (B) { capacitance: 0.007621740826129985; direction: input; fall_capacitance: 0.008845710726223829; rise_capacitance: 0.0063977709260361415; } pin (A) { capacitance: 0.006381443680226534; direction: input; fall_capacitance: 0.007825475707159937; rise_capacitance: 0.00493741165329313; } pin (Y) { direction: output; function: "(!(A & B & S + A & B & !S + A & S & !B + B & !A & !S))"; timing () { related_pin: "S"; timing_sense: non_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.015477, 0.019600, 0.024190, 0.025747, 0.046287", "0.090314, 0.087100, 0.090495, 0.101960, 0.176908", "0.167236, 0.162506, 0.162337, 0.167647, 0.271944", "0.321537, 0.315074, 0.311756, 0.311149, 0.436391", "1.560714, 1.552503, 1.545002, 1.533689, 1.520599" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.009379, 0.017036, 0.023092, 0.027221, 0.047575", "0.098648, 0.096570, 0.098493, 0.106357, 0.189094", "0.192045, 0.187310, 0.185345, 0.186620, 0.293971", "0.380085, 0.373558, 0.368111, 0.361746, 0.471469", "1.891180, 1.882519, 1.872679, 1.854529, 1.753166" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.025354, 0.032783, 0.050461, 0.087201, 0.566081", "0.133109, 0.134458, 0.135941, 0.157612, 0.603315", "0.244639, 0.245101, 0.245522, 0.253219, 0.662135", "0.469661, 0.469241, 0.469216, 0.469325, 0.758422", "2.271840, 2.271929, 2.271941, 2.271927, 2.283161" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.022515, 0.036555, 0.054175, 0.094241, 0.572428", "0.157940, 0.158368, 0.159664, 0.178650, 0.640716", "0.288080, 0.288326, 0.288348, 0.292800, 0.713717", "0.548431, 0.548597, 0.548599, 0.548675, 0.846377", "2.640854, 2.640882, 2.640837, 2.640903, 2.646773" ); } } timing () { related_pin: "B"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.012479, 0.020703, 0.023751, 0.026480, -0.020258", "0.088791, 0.092407, 0.096269, 0.106017, 0.140677", "0.166519, 0.167928, 0.170594, 0.176829, 0.252652", "0.321088, 0.321765, 0.322714, 0.325872, 0.431855", "1.560825, 1.560508, 1.559318, 1.557534, 1.590909" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.024075, 0.029303, 0.036113, 0.042909, 0.139365", "0.116212, 0.118239, 0.123057, 0.135164, 0.298599", "0.209808, 0.210879, 0.213787, 0.223211, 0.408707", "0.398464, 0.398636, 0.399777, 0.405563, 0.586820", "1.910071, 1.909315, 1.908318, 1.908149, 1.983973" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.021856, 0.029483, 0.041747, 0.075580, 0.318538", "0.133491, 0.132145, 0.135514, 0.149421, 0.455212", "0.245429, 0.244447, 0.244614, 0.249182, 0.551752", "0.469502, 0.469644, 0.469460, 0.469734, 0.678108", "2.271768, 2.271699, 2.271790, 2.271724, 2.274762" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.026927, 0.031637, 0.041603, 0.073132, 0.327601", "0.157522, 0.158503, 0.158749, 0.168029, 0.467796", "0.288182, 0.288023, 0.288247, 0.289518, 0.550457", "0.548628, 0.548713, 0.548726, 0.548715, 0.704382", "2.641050, 2.641120, 2.641079, 2.641124, 2.641113" ); } } timing () { related_pin: "A"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.019428, 0.021891, 0.024080, 0.024293, -0.020282", "0.097729, 0.098072, 0.099347, 0.107474, 0.140891", "0.174738, 0.174194, 0.175185, 0.179883, 0.252844", "0.329664, 0.328818, 0.328461, 0.330406, 0.432450", "1.569311, 1.568266, 1.566635, 1.564341, 1.594321" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.015958, 0.028273, 0.035331, 0.042097, 0.139507", "0.109992, 0.113793, 0.120225, 0.134598, 0.298772", "0.203874, 0.205671, 0.209819, 0.221705, 0.408455", "0.392495, 0.393164, 0.395366, 0.402419, 0.586497", "1.904233, 1.903472, 1.903098, 1.903613, 1.981673" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.020684, 0.027469, 0.040684, 0.075372, 0.321139", "0.131690, 0.132092, 0.134409, 0.147611, 0.454546", "0.244572, 0.244857, 0.245585, 0.248273, 0.551845", "0.469953, 0.470028, 0.469684, 0.470070, 0.677392", "2.272005, 2.271976, 2.272124, 2.272035, 2.274938" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.034906, 0.034011, 0.041604, 0.074407, 0.329883", "0.157071, 0.157736, 0.156957, 0.168367, 0.468419", "0.288086, 0.287766, 0.287721, 0.290181, 0.550707", "0.548081, 0.548418, 0.548486, 0.548470, 0.704390", "2.640667, 2.640718, 2.640731, 2.640752, 2.640649" ); } } } } cell (NAND2X1) { pg_pin (vdd) { voltage_name : "vdd"; pg_type : "primary_power"; } pg_pin (gnd) { voltage_name : "gnd"; pg_type : "primary_ground"; } area: 164592.0; cell_leakage_power: 0.1173; pin (B) { capacitance: 0.00495623189256475; direction: input; fall_capacitance: 0.005761587126333127; rise_capacitance: 0.004150876658796372; } pin (A) { capacitance: 0.00639318508707538; direction: input; fall_capacitance: 0.007850955022359487; rise_capacitance: 0.004935415151791272; } pin (Y) { direction: output; function: "(!A & B)"; timing () { related_pin: "B"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.005849, 0.004437, 0.002225, -0.008486, -0.130057", "0.046388, 0.043249, 0.046999, 0.048115, -0.018501", "0.090291, 0.082811, 0.082216, 0.086712, 0.056313", "0.178331, 0.167829, 0.160916, 0.157445, 0.175397", "0.883390, 0.870337, 0.854738, 0.827352, 0.802406" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.013792, 0.016361, 0.025056, 0.033074, 0.175602", "0.108490, 0.103780, 0.105147, 0.117790, 0.315278", "0.202467, 0.196392, 0.193875, 0.197687, 0.411516", "0.391201, 0.384138, 0.378135, 0.373850, 0.567320", "1.903046, 1.894605, 1.884531, 1.867051, 1.824897" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.009695, 0.029312, 0.048608, 0.093281, 0.629805", "0.078056, 0.082987, 0.099284, 0.142653, 0.690195", "0.150388, 0.151272, 0.161350, 0.191067, 0.765186", "0.290688, 0.289222, 0.292426, 0.310086, 0.876476", "1.422106, 1.422288, 1.421889, 1.421871, 1.682533" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.014730, 0.023408, 0.040311, 0.078487, 0.617549", "0.143671, 0.145673, 0.147214, 0.163072, 0.604300", "0.274318, 0.273786, 0.274511, 0.279238, 0.636700", "0.534800, 0.535162, 0.534899, 0.535215, 0.783182", "2.627058, 2.627242, 2.627155, 2.627074, 2.630378" ); } } timing () { related_pin: "A"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.007196, 0.006952, 0.007019, 0.002025, -0.085579", "0.048073, 0.045085, 0.049525, 0.053219, 0.022142", "0.092047, 0.084523, 0.084238, 0.090031, 0.092503", "0.180017, 0.169497, 0.162833, 0.159983, 0.207124", "0.885060, 0.872012, 0.856446, 0.829185, 0.814262" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.015633, 0.021506, 0.028394, 0.039572, 0.149899", "0.108272, 0.110667, 0.117688, 0.132659, 0.322650", "0.202415, 0.203429, 0.208041, 0.220813, 0.436827", "0.390997, 0.391221, 0.393703, 0.402725, 0.616168", "1.902658, 1.901593, 1.901395, 1.902809, 2.012938" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.012945, 0.031804, 0.051562, 0.097848, 0.530404", "0.082605, 0.085877, 0.102513, 0.146986, 0.675477", "0.153507, 0.154155, 0.164693, 0.195301, 0.762310", "0.293780, 0.292627, 0.295499, 0.313420, 0.886530", "1.425247, 1.425396, 1.425085, 1.425078, 1.692913" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.014326, 0.019054, 0.029916, 0.064625, 0.487291", "0.145515, 0.145739, 0.144059, 0.152642, 0.440611", "0.274715, 0.273489, 0.274007, 0.274498, 0.467583", "0.534478, 0.535194, 0.535121, 0.535184, 0.639625", "2.627046, 2.627208, 2.627161, 2.627179, 2.627235" ); } } } } cell (NAND3X1) { pg_pin (vdd) { voltage_name : "vdd"; pg_type : "primary_power"; } pg_pin (gnd) { voltage_name : "gnd"; pg_type : "primary_ground"; } area: 219456.0; cell_leakage_power: 0.1173; pin (C) { capacitance: 0.0049475602037443766; direction: input; fall_capacitance: 0.00574550349282349; rise_capacitance: 0.004149616914665264; } pin (B) { capacitance: 0.0056720092179016355; direction: input; fall_capacitance: 0.006513434336879236; rise_capacitance: 0.0048305840989240345; } pin (A) { capacitance: 0.00639281784839878; direction: input; fall_capacitance: 0.00785033270340369; rise_capacitance: 0.0049353029933938706; } pin (Y) { direction: output; function: "(!A & B & C)"; timing () { related_pin: "C"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.006743, 0.005016, 0.001565, -0.011749, -0.174318", "0.047706, 0.044014, 0.046942, 0.046061, -0.062176", "0.091627, 0.083788, 0.082464, 0.085303, 0.015523", "0.179686, 0.168911, 0.161469, 0.156671, 0.140314", "0.884745, 0.871646, 0.855834, 0.827730, 0.787692" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.021450, 0.026780, 0.036138, 0.051156, 0.240752", "0.141321, 0.138431, 0.140867, 0.154160, 0.407189", "0.261734, 0.256641, 0.255261, 0.261805, 0.519595", "0.501953, 0.495945, 0.491598, 0.490071, 0.706700", "2.425213, 2.418226, 2.409901, 2.395913, 2.391369" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.011465, 0.029932, 0.047360, 0.089549, 0.523956", "0.080202, 0.084521, 0.100586, 0.143486, 0.643649", "0.152614, 0.153064, 0.163285, 0.192620, 0.727829", "0.292789, 0.291706, 0.294483, 0.312038, 0.856442", "1.424319, 1.424428, 1.424111, 1.424077, 1.684916" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.023400, 0.030385, 0.036793, 0.077633, 0.501790", "0.190321, 0.189918, 0.190315, 0.199221, 0.487718", "0.356855, 0.356030, 0.356029, 0.356551, 0.562588", "0.690022, 0.690543, 0.690506, 0.690555, 0.811600", "3.365843, 3.365797, 3.365863, 3.365868, 3.365810" ); } } timing () { related_pin: "B"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.008334, 0.007216, 0.005700, -0.003192, -0.138009", "0.049525, 0.045812, 0.049273, 0.049818, -0.030773", "0.093522, 0.085734, 0.084386, 0.088138, 0.042191", "0.181477, 0.170617, 0.163356, 0.158916, 0.163222", "0.886560, 0.873387, 0.857606, 0.829593, 0.796379" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.023842, 0.028921, 0.038612, 0.052716, 0.222042", "0.141887, 0.143909, 0.149119, 0.164220, 0.404600", "0.261324, 0.261760, 0.265215, 0.276500, 0.527421", "0.501628, 0.500687, 0.501928, 0.509042, 0.732336", "2.424686, 2.422462, 2.420742, 2.419460, 2.508042" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.014708, 0.032599, 0.052399, 0.096681, 0.513554", "0.084340, 0.087175, 0.104373, 0.147370, 0.652229", "0.155755, 0.155756, 0.166557, 0.196533, 0.737741", "0.295954, 0.295123, 0.297528, 0.315324, 0.869188", "1.427488, 1.427517, 1.427300, 1.427279, 1.694092" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.023791, 0.028479, 0.033736, 0.068750, 0.456314", "0.190317, 0.190047, 0.189241, 0.193568, 0.414810", "0.356056, 0.356011, 0.356369, 0.355755, 0.487881", "0.690508, 0.690541, 0.690522, 0.690519, 0.753026", "3.365855, 3.365789, 3.365799, 3.365867, 3.365823" ); } } timing () { related_pin: "A"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.008972, 0.008268, 0.008643, 0.001970, -0.101488", "0.051257, 0.047583, 0.051333, 0.053538, -0.001472", "0.095356, 0.087565, 0.086323, 0.091056, 0.070441", "0.183312, 0.172348, 0.165227, 0.161181, 0.187191", "0.888366, 0.875180, 0.859388, 0.831456, 0.805980" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.020795, 0.029793, 0.038560, 0.050262, 0.188785", "0.138390, 0.142029, 0.147535, 0.160844, 0.367966", "0.257617, 0.259067, 0.261812, 0.272019, 0.491794", "0.497805, 0.497186, 0.497402, 0.502803, 0.696298", "2.420816, 2.418080, 2.414398, 2.409953, 2.462120" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.017292, 0.034566, 0.057624, 0.100464, 0.554013", "0.086449, 0.091297, 0.109325, 0.151351, 0.684952", "0.158837, 0.158653, 0.169957, 0.201757, 0.763039", "0.298884, 0.298357, 0.300621, 0.319480, 0.888696", "1.430569, 1.430607, 1.430474, 1.430460, 1.704460" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.024001, 0.027232, 0.035786, 0.067592, 0.495578", "0.190876, 0.191071, 0.189818, 0.194805, 0.453280", "0.356122, 0.356782, 0.355698, 0.356058, 0.506856", "0.690537, 0.690105, 0.690542, 0.690408, 0.762544", "3.365836, 3.365860, 3.365857, 3.365836, 3.365849" ); } } } } cell (NOR2X1) { pg_pin (vdd) { voltage_name : "vdd"; pg_type : "primary_power"; } pg_pin (gnd) { voltage_name : "gnd"; pg_type : "primary_ground"; } area: 164592.0; cell_leakage_power: 0.1173; pin (B) { capacitance: 0.006303448359239213; direction: input; fall_capacitance: 0.006299461029458945; rise_capacitance: 0.0063074356890194805; } pin (A) { capacitance: 0.007595806558045583; direction: input; fall_capacitance: 0.008891411713164614; rise_capacitance: 0.0063002014029265516; } pin (Y) { direction: output; function: "(!A & !B)"; timing () { related_pin: "B"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.011806, 0.013869, 0.017728, 0.018913, 0.043152", "0.090701, 0.085913, 0.088689, 0.100157, 0.196930", "0.168953, 0.162029, 0.161187, 0.166322, 0.300875", "0.323595, 0.315317, 0.311154, 0.310040, 0.465699", "1.563273, 1.553700, 1.544833, 1.531939, 1.541900" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.005936, 0.007846, 0.008974, 0.004744, -0.003026", "0.046711, 0.047264, 0.052185, 0.058295, 0.096068", "0.091147, 0.089514, 0.090542, 0.098390, 0.165025", "0.180055, 0.176882, 0.175000, 0.175107, 0.275546", "0.895253, 0.891498, 0.886774, 0.878409, 0.897352" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.011999, 0.022379, 0.043415, 0.084297, 0.702241", "0.125846, 0.126296, 0.129026, 0.143562, 0.670887", "0.236273, 0.236852, 0.235333, 0.245157, 0.662164", "0.460758, 0.460362, 0.461218, 0.460426, 0.741521", "2.263379, 2.263387, 2.263261, 2.263270, 2.274816" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.011676, 0.032976, 0.056268, 0.109537, 0.710905", "0.092517, 0.100885, 0.113823, 0.157999, 0.799871", "0.178759, 0.179128, 0.190132, 0.222605, 0.875172", "0.349115, 0.349295, 0.352632, 0.369786, 0.981780", "1.725874, 1.726029, 1.727042, 1.726377, 1.981658" ); } } timing () { related_pin: "A"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.012986, 0.016763, 0.019649, 0.026720, -0.007723", "0.091508, 0.092784, 0.095177, 0.106380, 0.166698", "0.168932, 0.168743, 0.171095, 0.177886, 0.281195", "0.323606, 0.323192, 0.323918, 0.327812, 0.460072", "1.563504, 1.562605, 1.561243, 1.560037, 1.617792" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.008571, 0.012259, 0.016219, 0.019628, 0.069884", "0.050623, 0.051267, 0.056425, 0.066606, 0.159854", "0.095165, 0.093119, 0.094604, 0.103938, 0.223425", "0.183791, 0.180470, 0.178804, 0.179941, 0.324263", "0.898914, 0.895013, 0.890412, 0.882094, 0.915185" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.011911, 0.020658, 0.034736, 0.070430, 0.635528", "0.125379, 0.123991, 0.127246, 0.137364, 0.573702", "0.237050, 0.236795, 0.237035, 0.239467, 0.551121", "0.461112, 0.461207, 0.460365, 0.461268, 0.627986", "2.263335, 2.263310, 2.263383, 2.263356, 2.265017" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.019230, 0.039782, 0.064283, 0.115340, 0.682539", "0.099372, 0.109056, 0.124310, 0.167393, 0.824099", "0.186034, 0.187618, 0.197839, 0.231703, 0.904179", "0.357146, 0.356648, 0.360384, 0.378918, 1.012930", "1.733504, 1.733696, 1.734753, 1.734098, 2.001564" ); } } } } cell (OAI21X1) { pg_pin (vdd) { voltage_name : "vdd"; pg_type : "primary_power"; } pg_pin (gnd) { voltage_name : "gnd"; pg_type : "primary_ground"; } area: 219456.0; cell_leakage_power: 0.1173; pin (C) { capacitance: 0.0049685503383930275; direction: input; fall_capacitance: 0.0057337054132807755; rise_capacitance: 0.004203395263505281; } pin (B) { capacitance: 0.004817269329420684; direction: input; fall_capacitance: 0.0046993715663027884; rise_capacitance: 0.004935167092538579; } pin (A) { capacitance: 0.006365887451121313; direction: input; fall_capacitance: 0.007796116485619777; rise_capacitance: 0.004935658416622851; } pin (Y) { direction: output; function: "(!(A & B & C + A & C & !B + B & C & !A))"; timing () { related_pin: "C"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.006353, 0.006873, 0.004977, -0.002571, -0.112220", "0.047648, 0.044522, 0.048480, 0.050680, -0.005504", "0.091575, 0.084317, 0.083496, 0.088598, 0.067928", "0.179609, 0.168970, 0.162303, 0.158976, 0.185631", "0.884619, 0.871536, 0.855984, 0.828850, 0.807127" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.012322, 0.018627, 0.025819, 0.036380, 0.166985", "0.097230, 0.095251, 0.097606, 0.110133, 0.295266", "0.182685, 0.178288, 0.176909, 0.181932, 0.384599", "0.354450, 0.348364, 0.343303, 0.339898, 0.530677", "1.731053, 1.722975, 1.713352, 1.696916, 1.662491" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.011924, 0.030898, 0.053284, 0.100971, 0.670100", "0.080583, 0.085685, 0.102082, 0.143609, 0.716365", "0.152800, 0.152883, 0.163222, 0.193150, 0.778215", "0.292893, 0.292086, 0.294393, 0.311669, 0.881950", "1.424263, 1.424245, 1.424087, 1.424045, 1.683357" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.017139, 0.026739, 0.044276, 0.087758, 0.660076", "0.138283, 0.139729, 0.142997, 0.162743, 0.650333", "0.260560, 0.259671, 0.260078, 0.269467, 0.681289", "0.503775, 0.503479, 0.503665, 0.504685, 0.808692", "2.459384, 2.459439, 2.459425, 2.459497, 2.482154" ); } } timing () { related_pin: "B"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.018084, 0.018785, 0.021524, 0.021254, 0.031017", "0.096634, 0.090653, 0.091567, 0.101191, 0.181020", "0.173780, 0.166489, 0.164402, 0.167176, 0.281781", "0.328645, 0.320024, 0.314801, 0.311087, 0.444609", "1.568475, 1.558747, 1.549393, 1.535231, 1.517075" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.011853, 0.020828, 0.025802, 0.032296, 0.061131", "0.103764, 0.107281, 0.113180, 0.125736, 0.245046", "0.197462, 0.198933, 0.202960, 0.213251, 0.366132", "0.386134, 0.386285, 0.388197, 0.395136, 0.557258", "1.897752, 1.896544, 1.895986, 1.896513, 1.969418" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.020867, 0.029939, 0.052329, 0.091938, 0.451438", "0.133406, 0.133983, 0.137806, 0.156667, 0.613530", "0.245013, 0.245383, 0.244613, 0.254696, 0.705512", "0.469706, 0.469327, 0.469422, 0.469157, 0.813809", "2.271618, 2.271785, 2.271663, 2.271774, 2.288526" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.015697, 0.022510, 0.033468, 0.066107, 0.425032", "0.144870, 0.144572, 0.145000, 0.157604, 0.462980", "0.274162, 0.274051, 0.273949, 0.276993, 0.536593", "0.535317, 0.535340, 0.535460, 0.535384, 0.689730", "2.627338, 2.627345, 2.627342, 2.627355, 2.627455" ); } } timing () { related_pin: "A"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.018803, 0.021401, 0.023344, 0.023872, -0.022124", "0.097043, 0.097462, 0.098807, 0.107122, 0.140271", "0.174167, 0.173694, 0.174835, 0.179375, 0.252462", "0.329045, 0.328268, 0.328060, 0.330094, 0.432085", "1.568689, 1.567669, 1.566082, 1.563994, 1.593864" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.014567, 0.027648, 0.035349, 0.041047, 0.137832", "0.108453, 0.112569, 0.119206, 0.133016, 0.297203", "0.202396, 0.204223, 0.208700, 0.219958, 0.407822", "0.391026, 0.391383, 0.393600, 0.400955, 0.585908", "1.902735, 1.901651, 1.901085, 1.901740, 1.980348" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.019300, 0.027658, 0.041698, 0.074827, 0.320959", "0.131626, 0.131992, 0.134734, 0.149048, 0.454028", "0.244112, 0.244371, 0.245398, 0.247897, 0.550953", "0.469602, 0.469661, 0.469275, 0.469732, 0.677618", "2.271672, 2.271613, 2.271813, 2.271710, 2.274668" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.031706, 0.032612, 0.040602, 0.073394, 0.328383", "0.155420, 0.155629, 0.156550, 0.167050, 0.465518", "0.286331, 0.286147, 0.286318, 0.287490, 0.548717", "0.546344, 0.546313, 0.546743, 0.546937, 0.703383", "2.638909, 2.638879, 2.638882, 2.638975, 2.638890" ); } } } } cell (OAI22X1) { pg_pin (vdd) { voltage_name : "vdd"; pg_type : "primary_power"; } pg_pin (gnd) { voltage_name : "gnd"; pg_type : "primary_ground"; } area: 274320.0; cell_leakage_power: 0.1173; pin (D) { capacitance: 0.0021453532257938264; direction: input; fall_capacitance: 6.164254229978021e-05; rise_capacitance: 0.004229063909287872; } pin (C) { capacitance: 0.004976915596377423; direction: input; fall_capacitance: 0.0057238940867746484; rise_capacitance: 0.004229937105980198; } pin (B) { capacitance: 0.004810999172966173; direction: input; fall_capacitance: 0.004686782002117296; rise_capacitance: 0.00493521634381505; } pin (A) { capacitance: 0.006365536753506552; direction: input; fall_capacitance: 0.007795205171653458; rise_capacitance: 0.004935868335359646; } pin (Y) { direction: output; function: "((A & B & !C & !D + C & D & !A & !B + A & !B & !C & !D + B & !A & !C & !D + C & !A & !B & !D + D & !A & !B & !C + !A & !B & !C & !D))"; timing () { related_pin: "D"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.016262, 0.017741, 0.020452, 0.019420, -0.001499", "0.095678, 0.090075, 0.091093, 0.099982, 0.152775", "0.173776, 0.166259, 0.163962, 0.166726, 0.258406", "0.328418, 0.319872, 0.314598, 0.311147, 0.428538", "1.568201, 1.558608, 1.549384, 1.535559, 1.515136" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.011023, 0.018232, 0.023273, 0.028038, 0.082251", "0.094341, 0.092670, 0.094113, 0.103646, 0.217383", "0.179868, 0.175244, 0.173130, 0.174945, 0.311623", "0.351607, 0.345183, 0.339617, 0.333200, 0.467646", "1.728098, 1.719804, 1.710141, 1.692568, 1.611799" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.018975, 0.028562, 0.049415, 0.089237, 0.641577", "0.132997, 0.132685, 0.135462, 0.153560, 0.651633", "0.243979, 0.244016, 0.242906, 0.252668, 0.698762", "0.467681, 0.467640, 0.468098, 0.467574, 0.795527", "2.270165, 2.270194, 2.270075, 2.270158, 2.286886" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.019197, 0.039255, 0.052110, 0.097009, 0.642401", "0.140956, 0.141396, 0.146191, 0.171523, 0.712509", "0.262540, 0.262555, 0.262471, 0.273651, 0.778925", "0.505956, 0.505722, 0.505888, 0.507033, 0.894213", "2.461475, 2.461430, 2.461494, 2.461469, 2.493082" ); } } timing () { related_pin: "C"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.017359, 0.020602, 0.022466, 0.024654, -0.046754", "0.096705, 0.096946, 0.098584, 0.106282, 0.121532", "0.173777, 0.173577, 0.174431, 0.178939, 0.237315", "0.328617, 0.328111, 0.327825, 0.329774, 0.421297", "1.568418, 1.567576, 1.565970, 1.563848, 1.593553" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.015022, 0.024347, 0.031623, 0.040631, 0.158538", "0.099036, 0.097739, 0.100219, 0.111280, 0.279679", "0.184670, 0.180259, 0.178658, 0.181740, 0.365006", "0.356322, 0.350056, 0.344803, 0.339143, 0.507264", "1.732880, 1.724663, 1.714991, 1.697579, 1.627329" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.019084, 0.026776, 0.039823, 0.075672, 0.535237", "0.131377, 0.131261, 0.132692, 0.145125, 0.516016", "0.243564, 0.243531, 0.243534, 0.246588, 0.558890", "0.468225, 0.468179, 0.468042, 0.468205, 0.664320", "2.270088, 2.270095, 2.270133, 2.270106, 2.272980" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.031510, 0.049989, 0.062355, 0.106040, 0.586348", "0.151694, 0.152790, 0.156527, 0.182644, 0.731793", "0.273221, 0.273269, 0.273901, 0.284371, 0.805125", "0.516486, 0.516519, 0.516581, 0.517538, 0.918731", "2.472286, 2.472287, 2.472233, 2.472242, 2.503889" ); } } timing () { related_pin: "B"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.022460, 0.023823, 0.028185, 0.032725, 0.048628", "0.101758, 0.095743, 0.096537, 0.106002, 0.192478", "0.178737, 0.171298, 0.169438, 0.172294, 0.292379", "0.333714, 0.324980, 0.319961, 0.316508, 0.454253", "1.573522, 1.563797, 1.554566, 1.540634, 1.526335" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.009970, 0.022403, 0.029546, 0.034700, 0.068167", "0.096913, 0.101219, 0.107825, 0.121609, 0.232622", "0.185623, 0.187325, 0.191482, 0.202034, 0.347414", "0.363642, 0.363571, 0.365553, 0.371659, 0.531408", "1.789848, 1.787982, 1.786798, 1.785978, 1.851027" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.027669, 0.035784, 0.054151, 0.092799, 0.482183", "0.140384, 0.141035, 0.144045, 0.162603, 0.615320", "0.251926, 0.252443, 0.252459, 0.260421, 0.699195", "0.477068, 0.477037, 0.476614, 0.476926, 0.805486", "2.279001, 2.279001, 2.279030, 2.279108, 2.294719" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.026136, 0.039819, 0.039716, 0.074663, 0.449468", "0.141886, 0.142241, 0.143245, 0.158332, 0.500963", "0.262746, 0.262952, 0.263172, 0.266752, 0.568096", "0.505553, 0.505524, 0.505320, 0.505778, 0.700928", "2.453307, 2.453357, 2.453377, 2.453355, 2.454709" ); } } timing () { related_pin: "A"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.023283, 0.026391, 0.030097, 0.032328, -0.001253", "0.101980, 0.102170, 0.104068, 0.112129, 0.154938", "0.179362, 0.178895, 0.179701, 0.184772, 0.265473", "0.334131, 0.333374, 0.333035, 0.335245, 0.443256", "1.573764, 1.572736, 1.571134, 1.569023, 1.603107" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.012521, 0.028199, 0.037706, 0.047850, 0.141476", "0.101182, 0.106075, 0.113456, 0.128856, 0.286674", "0.190018, 0.192261, 0.196376, 0.207802, 0.390952", "0.368057, 0.368351, 0.370519, 0.377256, 0.561629", "1.794406, 1.792708, 1.791509, 1.790815, 1.862031" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.027862, 0.033354, 0.044936, 0.077255, 0.353604", "0.140814, 0.140720, 0.141271, 0.155440, 0.462296", "0.251891, 0.251950, 0.252170, 0.254649, 0.552226", "0.476737, 0.476901, 0.476974, 0.476945, 0.673929", "2.279056, 2.278996, 2.279039, 2.278966, 2.281603" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.033370, 0.057996, 0.048428, 0.083327, 0.382049", "0.151938, 0.153699, 0.154923, 0.169228, 0.507796", "0.273900, 0.273102, 0.273602, 0.276988, 0.582041", "0.516030, 0.516117, 0.516125, 0.516348, 0.713735", "2.464090, 2.464052, 2.464047, 2.464139, 2.465296" ); } } } } cell (OR2X1) { pg_pin (vdd) { voltage_name : "vdd"; pg_type : "primary_power"; } pg_pin (gnd) { voltage_name : "gnd"; pg_type : "primary_ground"; } area: 219456.0; cell_leakage_power: 0.1173; pin (B) { capacitance: 0.007576401997672222; direction: input; fall_capacitance: 0.008853042755779209; rise_capacitance: 0.006299761239565236; } pin (A) { capacitance: 0.006280956134443613; direction: input; fall_capacitance: 0.006252202564509515; rise_capacitance: 0.006309709704377711; } pin (Y) { direction: output; function: "(!!A & !B)"; timing () { related_pin: "B"; timing_sense: positive_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "-0.002737, 0.013249, 0.024740, 0.030135, 0.058150", "0.042967, 0.048920, 0.058700, 0.066027, 0.128620", "0.085691, 0.083076, 0.088849, 0.098329, 0.169802", "0.172823, 0.161427, 0.160431, 0.161812, 0.229754", "0.876988, 0.854756, 0.839524, 0.814610, 0.732242" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.029512, 0.033910, 0.037914, 0.050330, 0.052929", "0.070267, 0.072997, 0.078009, 0.091347, 0.135739", "0.112746, 0.114735, 0.118673, 0.130593, 0.209389", "0.200112, 0.201924, 0.204703, 0.213815, 0.340853", "0.914821, 0.916103, 0.917764, 0.922353, 1.006921" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.016092, 0.057938, 0.095965, 0.165885, 0.705458", "0.078905, 0.104180, 0.138126, 0.202710, 0.704503", "0.148545, 0.161533, 0.188973, 0.232451, 0.725913", "0.289045, 0.288648, 0.297219, 0.323752, 0.788330", "1.420575, 1.420547, 1.420296, 1.420209, 1.575305" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.024665, 0.028188, 0.037838, 0.067587, 0.608216", "0.097377, 0.097071, 0.100693, 0.117571, 0.616589", "0.178290, 0.178809, 0.181589, 0.191054, 0.624945", "0.348706, 0.349016, 0.349686, 0.352764, 0.697194", "1.725555, 1.725371, 1.726655, 1.725685, 1.854607" ); } } timing () { related_pin: "A"; timing_sense: positive_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "-0.002786, -0.022525, 0.019015, 0.011670, -0.014214", "0.041859, 0.043298, 0.052130, 0.057857, 0.058886", "0.085034, 0.078556, 0.083166, 0.090278, 0.102558", "0.172887, 0.158458, 0.155718, 0.154087, 0.173297", "0.877505, 0.854378, 0.837626, 0.810046, 0.720442" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.028690, 0.031248, 0.037463, 0.044487, 0.100482", "0.069107, 0.069828, 0.076360, 0.091636, 0.185145", "0.112034, 0.111088, 0.115798, 0.129197, 0.254233", "0.199087, 0.197989, 0.201090, 0.209121, 0.374419", "0.914050, 0.911951, 0.913051, 0.915105, 1.007909" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.013392, 0.052206, 0.087689, 0.154666, 0.691395", "0.076707, 0.097805, 0.133251, 0.196593, 0.689662", "0.148818, 0.159357, 0.181649, 0.221635, 0.720108", "0.288045, 0.289252, 0.294522, 0.318177, 0.791961", "1.420335, 1.420191, 1.420219, 1.420439, 1.583354" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.024973, 0.029481, 0.044119, 0.082711, 0.664635", "0.097225, 0.099096, 0.107079, 0.133341, 0.664451", "0.179958, 0.178788, 0.182955, 0.202839, 0.677564", "0.347947, 0.348719, 0.349929, 0.358002, 0.742083", "1.725186, 1.725383, 1.725427, 1.725691, 1.862987" ); } } } } cell (XNOR2X1) { pg_pin (vdd) { voltage_name : "vdd"; pg_type : "primary_power"; } pg_pin (gnd) { voltage_name : "gnd"; pg_type : "primary_ground"; } area: 384048.0; cell_leakage_power: 0.1173; pin (B) { capacitance: 0.013514822660098; direction: input; fall_capacitance: 0.01444352653236194; rise_capacitance: 0.012586118787834062; } pin (A) { capacitance: 0.01216821188263561; direction: input; fall_capacitance: 0.01160051626672843; rise_capacitance: 0.01273590749854279; } pin (Y) { direction: output; function: "(!(A & !B + B & !A))"; timing () { related_pin: "B"; timing_sense: non_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.016692, 0.026466, 0.032210, 0.035327, 0.047236", "0.091623, 0.096157, 0.101268, 0.112236, 0.182896", "0.168714, 0.171487, 0.175299, 0.184006, 0.283106", "0.323178, 0.324836, 0.326819, 0.332014, 0.455088", "1.562758, 1.563072, 1.562761, 1.562230, 1.609484" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.026885, 0.032485, 0.038933, 0.047083, 0.088356", "0.117931, 0.120641, 0.124872, 0.135278, 0.246294", "0.211363, 0.213025, 0.215480, 0.223412, 0.363623", "0.399691, 0.400466, 0.401437, 0.406163, 0.555052", "1.911060, 1.910782, 1.909790, 1.909219, 1.963747" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.025286, 0.030976, 0.039578, 0.069148, 0.271887", "0.132863, 0.133148, 0.134699, 0.146335, 0.398431", "0.245392, 0.244781, 0.245027, 0.248852, 0.500046", "0.469752, 0.469734, 0.469539, 0.469707, 0.636982", "2.271914, 2.271860, 2.271907, 2.271883, 2.273532" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.028424, 0.032113, 0.039714, 0.069558, 0.259508", "0.158149, 0.158097, 0.158297, 0.165758, 0.432914", "0.288248, 0.287926, 0.287602, 0.288201, 0.539323", "0.548453, 0.548729, 0.548771, 0.548859, 0.704675", "2.640916, 2.640957, 2.640961, 2.640975, 2.640935" ); } } timing () { related_pin: "A"; timing_sense: non_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.013989, 0.017922, 0.023819, 0.023910, 0.045077", "0.087124, 0.084574, 0.088506, 0.101490, 0.176795", "0.164482, 0.158794, 0.159586, 0.166358, 0.271935", "0.318605, 0.311099, 0.308187, 0.308499, 0.436242", "1.557737, 1.548082, 1.540255, 1.529227, 1.518552" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.013397, 0.017881, 0.023473, 0.028401, 0.048333", "0.105060, 0.099768, 0.099684, 0.107137, 0.189063", "0.198273, 0.190917, 0.187291, 0.187394, 0.294003", "0.386416, 0.377286, 0.370618, 0.362674, 0.471656", "1.897499, 1.886493, 1.875774, 1.856923, 1.754103" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.024118, 0.038502, 0.063416, 0.087635, 0.566949", "0.133840, 0.133055, 0.136674, 0.159516, 0.603141", "0.245168, 0.244344, 0.245288, 0.252595, 0.662450", "0.469128, 0.469774, 0.469389, 0.469661, 0.759403", "2.272025, 2.271869, 2.271945, 2.272010, 2.283692" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.025980, 0.033978, 0.052062, 0.093692, 0.572048", "0.158104, 0.158727, 0.159581, 0.178242, 0.640536", "0.287711, 0.288211, 0.287992, 0.293228, 0.713557", "0.548627, 0.548574, 0.548857, 0.548865, 0.845995", "2.640933, 2.640942, 2.640979, 2.640983, 2.646792" ); } } } }} \ No newline at end of file +library (ls05_stdcells) { delay_model: table_lookup; in_place_swap_mode: match_footprint; time_unit: "1ns"; voltage_unit: "1V"; current_unit: "1uA"; pulling_resistance_unit: "1kohm"; leakage_power_unit: "1nW"; capacitive_load_unit (1.0, pf); slew_upper_threshold_pct_rise: 80.0; slew_lower_threshold_pct_rise: 20.0; slew_upper_threshold_pct_fall: 80.0; slew_lower_threshold_pct_fall: 20.0; input_threshold_pct_rise: 50.0; input_threshold_pct_fall: 50.0; output_threshold_pct_rise: 50.0; output_threshold_pct_fall: 50.0; nom_process: 1.0; nom_voltage: 5.0; nom_temperature: 25.0; default_operating_conditions: typical; operating_conditions (typical) { process: 1.0; voltage: 5.0; temperature: 25.0; } lu_table_template (delay_template_5x1) { variable_1: input_net_transition; index_1 ( "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" ); } lu_table_template (delay_template_5x5) { variable_1: total_output_net_capacitance; variable_2: input_net_transition; index_1 ( "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" ); index_2 ( "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" ); } lu_table_template (delay_template_5x6) { variable_1: total_output_net_capacitance; variable_2: input_net_transition; index_1 ( "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" ); index_2 ( "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" ); } lu_table_template (delay_template_6x1) { variable_1: input_net_transition; index_1 ( "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" ); } lu_table_template (delay_template_6x6) { variable_1: total_output_net_capacitance; variable_2: input_net_transition; index_1 ( "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" ); index_2 ( "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" ); } power_lut_template (energy_template_5x5) { variable_1: total_output_net_capacitance; variable_2: input_transition_time; index_1 ( "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" ); index_2 ( "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" ); } power_lut_template (energy_template_5x6) { variable_1: total_output_net_capacitance; variable_2: input_transition_time; index_1 ( "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" ); index_2 ( "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" ); } power_lut_template (energy_template_6x6) { variable_1: total_output_net_capacitance; variable_2: input_transition_time; index_1 ( "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" ); index_2 ( "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" ); } lu_table_template (hold_template_3x5) { variable_1: related_pin_transition; variable_2: constrained_pin_transition; index_1 ( "1000.0, 1001.0, 1002.0" ); index_2 ( "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" ); } lu_table_template (hold_template_3x6) { variable_1: related_pin_transition; variable_2: constrained_pin_transition; index_1 ( "1000.0, 1001.0, 1002.0" ); index_2 ( "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" ); } power_lut_template (passive_energy_template_5x1) { variable_1: input_transition_time; index_1 ( "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" ); } power_lut_template (passive_energy_template_6x1) { variable_1: input_transition_time; index_1 ( "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" ); } lu_table_template (recovery_template_3x6) { variable_1: related_pin_transition; variable_2: constrained_pin_transition; index_1 ( "1000.0, 1001.0, 1002.0" ); index_2 ( "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" ); } lu_table_template (recovery_template_6x6) { variable_1: related_pin_transition; variable_2: constrained_pin_transition; index_1 ( "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" ); index_2 ( "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" ); } lu_table_template (removal_template_3x6) { variable_1: related_pin_transition; variable_2: constrained_pin_transition; index_1 ( "1000.0, 1001.0, 1002.0" ); index_2 ( "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" ); } lu_table_template (setup_template_3x5) { variable_1: related_pin_transition; variable_2: constrained_pin_transition; index_1 ( "1000.0, 1001.0, 1002.0" ); index_2 ( "1000.0, 1001.0, 1002.0, 1003.0, 1004.0" ); } lu_table_template (setup_template_3x6) { variable_1: related_pin_transition; variable_2: constrained_pin_transition; index_1 ( "1000.0, 1001.0, 1002.0" ); index_2 ( "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0" ); } cell (AND2X1) { pg_pin (vdd) { voltage_name : "vdd"; pg_type : "primary_power"; } pg_pin (gnd) { voltage_name : "gnd"; pg_type : "primary_ground"; } area: 219456.0; cell_leakage_power: 0.1173; pin (B) { direction: input; rise_capacitance: 0.004935475891367477; fall_capacitance: 0.007858406695085389; capacitance: 0.006396941293226433; } pin (A) { direction: input; rise_capacitance: 0.004150891096654475; fall_capacitance: 0.005776428708787616; capacitance: 0.004963659902721045; } pin (Y) { direction: output; function: "(B&A)"; function: "(A & B)"; timing () { related_pin: "A"; timing_sense: positive_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "-0.003054, 0.030498, 0.039878, 0.053343, 0.188749", "0.048098, 0.064059, 0.074620, 0.093597, 0.252448", "0.087865, 0.098559, 0.108152, 0.125156, 0.300811", "0.172721, 0.177015, 0.184227, 0.196165, 0.394456", "0.875756, 0.870760, 0.872299, 0.869455, 0.975392" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.015977, 0.018737, 0.019304, 0.016191, -0.074696", "0.056135, 0.056445, 0.057308, 0.057768, -0.014818", "0.099933, 0.098214, 0.096071, 0.094474, 0.031563", "0.189088, 0.185938, 0.181261, 0.173387, 0.117548", "0.905025, 0.900630, 0.893784, 0.878306, 0.755396" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.026432, 0.038218, 0.045398, 0.077143, 0.593792", "0.080791, 0.094490, 0.092269, 0.111832, 0.588352", "0.147163, 0.151582, 0.153943, 0.167618, 0.594475", "0.287657, 0.288087, 0.288559, 0.294676, 0.639075", "1.420873, 1.420869, 1.420872, 1.420876, 1.523193" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.017097, 0.032947, 0.054213, 0.094807, 0.609971", "0.091168, 0.096623, 0.108594, 0.140442, 0.624323", "0.176540, 0.177904, 0.183856, 0.205552, 0.674111", "0.348626, 0.348716, 0.349898, 0.359158, 0.778703", "1.726993, 1.726969, 1.726997, 1.726970, 1.840952" ); } } timing () { related_pin: "B"; timing_sense: positive_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "-0.002948, 0.031842, 0.043871, 0.058431, 0.170628", "0.046736, 0.065667, 0.079697, 0.098261, 0.233471", "0.087052, 0.099648, 0.114524, 0.132001, 0.286132", "0.172376, 0.177352, 0.192051, 0.206645, 0.390972", "0.875894, 0.869785, 0.881810, 0.887018, 1.014535" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.018316, 0.021069, 0.023194, 0.023536, -0.031337", "0.058079, 0.058865, 0.060249, 0.060930, 0.021381", "0.101524, 0.100223, 0.098824, 0.096634, 0.056583", "0.190472, 0.187661, 0.183754, 0.176080, 0.122194", "0.906272, 0.902147, 0.895946, 0.881308, 0.736220" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.023782, 0.069151, 0.034982, 0.054052, 0.449913", "0.080000, 0.118312, 0.085490, 0.095978, 0.447397", "0.146991, 0.152360, 0.150326, 0.156871, 0.457664", "0.287629, 0.288180, 0.288056, 0.290376, 0.519847", "1.420875, 1.420869, 1.420872, 1.420868, 1.491447" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.020252, 0.035538, 0.056873, 0.095129, 0.521070", "0.091909, 0.097885, 0.110175, 0.140770, 0.556828", "0.176533, 0.178340, 0.184385, 0.205074, 0.605254", "0.348727, 0.348732, 0.349910, 0.357567, 0.705589", "1.727017, 1.726977, 1.726979, 1.727007, 1.795626" ); } } } } cell (AND2X2) { pg_pin (vdd) { voltage_name : "vdd"; pg_type : "primary_power"; } pg_pin (gnd) { voltage_name : "gnd"; pg_type : "primary_ground"; } area: 219456.0; cell_leakage_power: 0.1173; pin (B) { direction: input; rise_capacitance: 0.004935475891367477; fall_capacitance: 0.007858406695085389; capacitance: 0.006396941293226433; } pin (A) { direction: input; rise_capacitance: 0.004150891096654475; fall_capacitance: 0.005776428708787616; capacitance: 0.004963659902721045; } pin (Y) { direction: output; function: "(B&A)"; function: "(A & B)"; timing () { related_pin: "A"; timing_sense: positive_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "-0.003054, 0.030498, 0.039878, 0.053343, 0.188749", "0.048098, 0.064059, 0.074620, 0.093597, 0.252448", "0.087865, 0.098559, 0.108152, 0.125156, 0.300811", "0.172721, 0.177015, 0.184227, 0.196165, 0.394456", "0.875756, 0.870760, 0.872299, 0.869455, 0.975392" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.015977, 0.018737, 0.019304, 0.016191, -0.074696", "0.056135, 0.056445, 0.057308, 0.057768, -0.014818", "0.099933, 0.098214, 0.096071, 0.094474, 0.031563", "0.189088, 0.185938, 0.181261, 0.173387, 0.117548", "0.905025, 0.900630, 0.893784, 0.878306, 0.755396" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.026432, 0.038218, 0.045398, 0.077143, 0.593792", "0.080791, 0.094490, 0.092269, 0.111832, 0.588352", "0.147163, 0.151582, 0.153943, 0.167618, 0.594475", "0.287657, 0.288087, 0.288559, 0.294676, 0.639075", "1.420873, 1.420869, 1.420872, 1.420876, 1.523193" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.017097, 0.032947, 0.054213, 0.094807, 0.609971", "0.091168, 0.096623, 0.108594, 0.140442, 0.624323", "0.176540, 0.177904, 0.183856, 0.205552, 0.674111", "0.348626, 0.348716, 0.349898, 0.359158, 0.778703", "1.726993, 1.726969, 1.726997, 1.726970, 1.840952" ); } } timing () { related_pin: "B"; timing_sense: positive_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "-0.002948, 0.031842, 0.043871, 0.058431, 0.170628", "0.046736, 0.065667, 0.079697, 0.098261, 0.233471", "0.087052, 0.099648, 0.114524, 0.132001, 0.286132", "0.172376, 0.177352, 0.192051, 0.206645, 0.390972", "0.875894, 0.869785, 0.881810, 0.887018, 1.014535" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.018316, 0.021069, 0.023194, 0.023536, -0.031337", "0.058079, 0.058865, 0.060249, 0.060930, 0.021381", "0.101524, 0.100223, 0.098824, 0.096634, 0.056583", "0.190472, 0.187661, 0.183754, 0.176080, 0.122194", "0.906272, 0.902147, 0.895946, 0.881308, 0.736220" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.023782, 0.069151, 0.034982, 0.054052, 0.449913", "0.080000, 0.118312, 0.085490, 0.095978, 0.447397", "0.146991, 0.152360, 0.150326, 0.156871, 0.457664", "0.287629, 0.288180, 0.288056, 0.290376, 0.519847", "1.420875, 1.420869, 1.420872, 1.420868, 1.491447" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.020252, 0.035538, 0.056873, 0.095129, 0.521070", "0.091909, 0.097885, 0.110175, 0.140770, 0.556828", "0.176533, 0.178340, 0.184385, 0.205074, 0.605254", "0.348727, 0.348732, 0.349910, 0.357567, 0.705589", "1.727017, 1.726977, 1.726979, 1.727007, 1.795626" ); } } } } cell (AOI21X1) { pg_pin (vdd) { voltage_name : "vdd"; pg_type : "primary_power"; } pg_pin (gnd) { voltage_name : "gnd"; pg_type : "primary_ground"; } area: 219456.0; cell_leakage_power: 0.1173; pin (C) { direction: input; rise_capacitance: 0.006296176741869404; fall_capacitance: 0.006101450811807844; capacitance: 0.006198813776838624; } pin (B) { direction: input; rise_capacitance: 0.004150897383251567; fall_capacitance: 0.005762494885719812; capacitance: 0.00495669613448569; } pin (A) { direction: input; rise_capacitance: 0.004935476111367993; fall_capacitance: 0.007850019508283936; capacitance: 0.006392747809825965; } pin (Y) { direction: output; function: "(!C&!B&!A|!C&B&!A|!C&!B&A)"; function: "((A & !B & !C + B & !A & !C + !A & !B & !C))"; timing () { related_pin: "A"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.018081, 0.020447, 0.022456, 0.023296, -0.023076", "0.095512, 0.095564, 0.097577, 0.105665, 0.139556", "0.173079, 0.172613, 0.173245, 0.177966, 0.251687", "0.328092, 0.327325, 0.326934, 0.328569, 0.431362", "1.568078, 1.567023, 1.565399, 1.562764, 1.593146" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.011083, 0.027112, 0.034806, 0.046174, 0.138537", "0.106126, 0.110980, 0.117817, 0.132662, 0.298423", "0.200686, 0.203305, 0.207787, 0.219052, 0.408583", "0.389684, 0.390741, 0.393128, 0.400447, 0.586557", "1.901409, 1.900881, 1.900582, 1.901419, 1.980303" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.017400, 0.024998, 0.038610, 0.061076, 0.316134", "0.127638, 0.127551, 0.128643, 0.138963, 0.448630", "0.240290, 0.240260, 0.240283, 0.242298, 0.547010", "0.465607, 0.465635, 0.465599, 0.465632, 0.673379", "2.268621, 2.268618, 2.268620, 2.268621, 2.271276" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.029014, 0.032057, 0.039965, 0.063854, 0.320917", "0.155270, 0.155388, 0.155812, 0.163213, 0.464067", "0.286240, 0.286177, 0.286189, 0.286907, 0.549050", "0.547857, 0.547835, 0.547859, 0.547862, 0.703410", "2.640589, 2.640589, 2.640586, 2.640585, 2.640586" ); } } timing () { related_pin: "B"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.015335, 0.016945, 0.017387, 0.015057, -0.070130", "0.093269, 0.093163, 0.094810, 0.101980, 0.105211", "0.170827, 0.170332, 0.170780, 0.174845, 0.222749", "0.325869, 0.325151, 0.324630, 0.325908, 0.409344", "1.565863, 1.564927, 1.563288, 1.560589, 1.585799" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.013287, 0.024590, 0.032135, 0.044683, 0.169986", "0.106631, 0.105383, 0.107181, 0.118863, 0.301183", "0.201084, 0.196904, 0.194332, 0.196987, 0.392495", "0.390038, 0.383879, 0.377817, 0.371491, 0.543659", "1.901742, 1.893615, 1.883483, 1.864976, 1.785407" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.013635, 0.021335, 0.036352, 0.066782, 0.514064", "0.122731, 0.122740, 0.123665, 0.133972, 0.500371", "0.235316, 0.235334, 0.235297, 0.237378, 0.556421", "0.460654, 0.460640, 0.460666, 0.460646, 0.664867", "2.263652, 2.263652, 2.263651, 2.263650, 2.266535" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.029990, 0.038199, 0.056237, 0.095398, 0.544902", "0.155321, 0.155296, 0.158206, 0.179362, 0.704360", "0.286222, 0.286226, 0.286240, 0.291364, 0.780438", "0.547837, 0.547857, 0.547852, 0.547862, 0.901566", "2.640589, 2.640588, 2.640588, 2.640589, 2.647331" ); } } timing () { related_pin: "C"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.012884, 0.013824, 0.016369, 0.019083, 0.025408", "0.085533, 0.079788, 0.082111, 0.094024, 0.172908", "0.157410, 0.149628, 0.148170, 0.154670, 0.271254", "0.300946, 0.291744, 0.286795, 0.285855, 0.427654", "1.448498, 1.437802, 1.428280, 1.413900, 1.417542" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.005708, 0.008623, 0.010235, 0.012288, 0.017616", "0.047043, 0.047780, 0.052874, 0.064024, 0.113032", "0.091536, 0.089929, 0.090900, 0.100815, 0.179742", "0.181015, 0.178070, 0.175614, 0.176901, 0.288000", "0.897237, 0.893242, 0.888241, 0.878918, 0.902547" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.012755, 0.024831, 0.044968, 0.093110, 0.730524", "0.115219, 0.115342, 0.119381, 0.140592, 0.704120", "0.219879, 0.219898, 0.220189, 0.229051, 0.695466", "0.429271, 0.429272, 0.429268, 0.429957, 0.760003", "2.104581, 2.104581, 2.104580, 2.104582, 2.138119" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.013144, 0.039574, 0.064113, 0.105179, 0.740810", "0.092532, 0.098951, 0.115649, 0.159781, 0.811024", "0.178514, 0.180443, 0.190086, 0.223562, 0.880935", "0.350931, 0.351086, 0.353728, 0.372580, 0.983884", "1.729228, 1.729222, 1.729222, 1.729215, 1.983340" ); } } } } cell (AOI22X1) { pg_pin (vdd) { voltage_name : "vdd"; pg_type : "primary_power"; } pg_pin (gnd) { voltage_name : "gnd"; pg_type : "primary_ground"; } area: 274320.0; cell_leakage_power: 0.1173; pin (D) { direction: input; rise_capacitance: 0.004150836637055694; fall_capacitance: 4.293461827055451e-05; capacitance: 0.0020968856276631243; } pin (C) { direction: input; rise_capacitance: 0.004935392181405116; fall_capacitance: 0.004717183954380674; capacitance: 0.004826288067892895; } pin (B) { direction: input; rise_capacitance: 0.004150898468773608; fall_capacitance: 0.005752203124409789; capacitance: 0.004951550796591699; } pin (A) { direction: input; rise_capacitance: 0.00493547941452175; fall_capacitance: 0.007832228421315403; capacitance: 0.006383853917918576; } pin (Y) { direction: output; function: "!(D&C&!B&!A|D&C&B&!A|!D&!C&B&A|D&!C&B&A|D&C&B&A|!D&C&B&A|D&C&!B&A)"; function: "(!(A & B & C & D + A & B & C & !D + A & B & D & !C + A & C & D & !B + B & C & D & !A + A & B & !C & !D + C & D & !A & !B))"; timing () { related_pin: "A"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.022453, 0.024534, 0.027322, 0.029301, -0.013605", "0.094099, 0.094146, 0.096422, 0.104923, 0.133468", "0.165999, 0.165576, 0.166553, 0.171933, 0.239819", "0.309709, 0.308987, 0.308926, 0.311303, 0.412228", "1.459135, 1.458114, 1.456788, 1.454769, 1.495149" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.010762, 0.031215, 0.042613, 0.056720, 0.163173", "0.106795, 0.114659, 0.123175, 0.139761, 0.315494", "0.201577, 0.206563, 0.212378, 0.225460, 0.423829", "0.390704, 0.393586, 0.396927, 0.405778, 0.599884", "1.902537, 1.903178, 1.903203, 1.904622, 1.991405" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.023524, 0.029914, 0.043867, 0.071865, 0.348115", "0.124790, 0.124832, 0.126119, 0.138292, 0.474155", "0.228743, 0.228744, 0.228751, 0.231812, 0.561135", "0.436738, 0.436734, 0.436738, 0.436740, 0.675654", "2.100895, 2.100896, 2.100897, 2.100896, 2.108562" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.034663, 0.063510, 0.047967, 0.068994, 0.335936", "0.166389, 0.166412, 0.166844, 0.173304, 0.460327", "0.297251, 0.297251, 0.297255, 0.297868, 0.539773", "0.558920, 0.558909, 0.558922, 0.558921, 0.702122", "2.651676, 2.651678, 2.651676, 2.651675, 2.651676" ); } } timing () { related_pin: "B"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.019651, 0.021446, 0.022931, 0.021898, -0.058654", "0.091977, 0.091918, 0.093938, 0.101438, 0.098787", "0.163917, 0.163487, 0.164267, 0.169031, 0.210590", "0.307654, 0.306986, 0.306812, 0.308826, 0.390145", "1.457089, 1.456195, 1.454848, 1.452765, 1.487992" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.013313, 0.029492, 0.038920, 0.053701, 0.189828", "0.107559, 0.109470, 0.112797, 0.125324, 0.314605", "0.202143, 0.200386, 0.199276, 0.203456, 0.404946", "0.391163, 0.386838, 0.381869, 0.377141, 0.555274", "1.902923, 1.895945, 1.886158, 1.868337, 1.797664" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.019077, 0.026325, 0.041095, 0.072960, 0.515154", "0.120223, 0.120250, 0.121709, 0.133832, 0.515903", "0.224169, 0.224172, 0.224205, 0.227354, 0.569826", "0.432139, 0.432141, 0.432149, 0.432153, 0.667848", "2.096306, 2.096306, 2.096306, 2.096307, 2.104382" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.036269, 0.063193, 0.062392, 0.098967, 0.551553", "0.166373, 0.166389, 0.169112, 0.187994, 0.688610", "0.297276, 0.297267, 0.297275, 0.302013, 0.760566", "0.558916, 0.558919, 0.558917, 0.558918, 0.890221", "2.651678, 2.651678, 2.651674, 2.651677, 2.657773" ); } } timing () { related_pin: "C"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.020200, 0.018794, 0.020910, 0.023798, 0.017569", "0.092119, 0.084321, 0.084972, 0.095024, 0.157181", "0.163930, 0.154431, 0.151294, 0.155481, 0.252498", "0.307422, 0.296784, 0.290296, 0.286804, 0.407284", "1.454937, 1.443187, 1.432682, 1.416494, 1.394586" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.010498, 0.021541, 0.028604, 0.036531, 0.082739", "0.101264, 0.104773, 0.111902, 0.126711, 0.261658", "0.195526, 0.196677, 0.201528, 0.213170, 0.380207", "0.384366, 0.383767, 0.386473, 0.394329, 0.568488", "1.895957, 1.893533, 1.893309, 1.894383, 1.975065" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.020633, 0.030682, 0.050793, 0.085135, 0.465687", "0.123409, 0.123499, 0.127912, 0.152623, 0.625796", "0.228067, 0.228069, 0.228437, 0.238660, 0.715340", "0.437443, 0.437449, 0.437446, 0.438286, 0.825117", "2.112769, 2.112769, 2.112771, 2.112769, 2.154781" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.021627, 0.033850, 0.033202, 0.057903, 0.432542", "0.146054, 0.146118, 0.146677, 0.153711, 0.456404", "0.276800, 0.276784, 0.276786, 0.277558, 0.525056", "0.538347, 0.538333, 0.538346, 0.538344, 0.682865", "2.630986, 2.630987, 2.630989, 2.630987, 2.630987" ); } } timing () { related_pin: "D"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.016935, 0.015243, 0.015695, 0.014740, -0.033455", "0.089882, 0.081949, 0.082234, 0.090924, 0.115190", "0.161756, 0.152189, 0.148795, 0.152107, 0.216277", "0.305276, 0.294641, 0.288008, 0.283956, 0.379732", "1.452819, 1.441160, 1.430652, 1.414354, 1.384946" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.011131, 0.019163, 0.024855, 0.033370, 0.110590", "0.101703, 0.099111, 0.101250, 0.112517, 0.253820", "0.195929, 0.190278, 0.188100, 0.190853, 0.353274", "0.384754, 0.376936, 0.371227, 0.365324, 0.516649", "1.896340, 1.886290, 1.876220, 1.858031, 1.777651" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.016198, 0.026696, 0.047157, 0.087412, 0.629442", "0.118843, 0.118871, 0.123371, 0.147773, 0.655892", "0.223461, 0.223424, 0.223842, 0.234191, 0.716081", "0.432839, 0.432831, 0.432841, 0.433715, 0.813736", "2.108153, 2.108150, 2.108150, 2.108152, 2.151140" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.019318, 0.037477, 0.046391, 0.085342, 0.625357", "0.146062, 0.146061, 0.148782, 0.168097, 0.675212", "0.276795, 0.276788, 0.276812, 0.281783, 0.738328", "0.538338, 0.538332, 0.538332, 0.538345, 0.865002", "2.630987, 2.630990, 2.630986, 2.630986, 2.638001" ); } } } } cell (BUFX2) { pg_pin (vdd) { voltage_name : "vdd"; pg_type : "primary_power"; } pg_pin (gnd) { voltage_name : "gnd"; pg_type : "primary_ground"; } area: 164592.0; cell_leakage_power: 0.1173; pin (A) { direction: input; rise_capacitance: 0.006189356217773286; fall_capacitance: 0.008913012740210141; capacitance: 0.007551184478991714; } pin (Y) { direction: output; function: "!(!A)"; function: "(A)"; timing () { related_pin: "A"; timing_sense: positive_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "-0.003161, 0.018284, 0.022862, 0.029597, 0.082449", "0.045168, 0.050118, 0.057399, 0.071712, 0.153721", "0.086116, 0.085817, 0.089463, 0.102695, 0.199215", "0.172383, 0.166439, 0.164531, 0.169815, 0.284515", "0.876891, 0.864252, 0.852323, 0.833869, 0.853010" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.014482, 0.018379, 0.020768, 0.022068, -0.009140", "0.054683, 0.055959, 0.059876, 0.069706, 0.071632", "0.098664, 0.097948, 0.098411, 0.105829, 0.136458", "0.187943, 0.185797, 0.183424, 0.183072, 0.249186", "0.903989, 0.900540, 0.895789, 0.885878, 0.887209" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.021141, 0.053490, 0.059672, 0.113073, 0.840389", "0.077202, 0.091911, 0.106094, 0.141454, 0.832516", "0.145621, 0.149491, 0.160179, 0.190218, 0.830936", "0.287250, 0.287270, 0.289142, 0.305563, 0.867895", "1.420515, 1.420519, 1.420516, 1.420515, 1.614647" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.015821, 0.031534, 0.054604, 0.109725, 0.838134", "0.090618, 0.095897, 0.108850, 0.147026, 0.841931", "0.176061, 0.177617, 0.184255, 0.210648, 0.851578", "0.348673, 0.348740, 0.350198, 0.363180, 0.905512", "1.726970, 1.726967, 1.726971, 1.726970, 1.912266" ); } } } } cell (BUFX4) { pg_pin (vdd) { voltage_name : "vdd"; pg_type : "primary_power"; } pg_pin (gnd) { voltage_name : "gnd"; pg_type : "primary_ground"; } area: 219456.0; cell_leakage_power: 0.1173; pin (A) { direction: input; } pin (Y) { direction: output; function: "!(!A)"; } } cell (CLKBUF1) { pg_pin (vdd) { voltage_name : "vdd"; pg_type : "primary_power"; } pg_pin (gnd) { voltage_name : "gnd"; pg_type : "primary_ground"; } area: 493776.0; cell_leakage_power: 0.1173; pin (A) { direction: input; } pin (Y) { direction: output; function: "!(!A)"; } } cell (HAX1) { pg_pin (vdd) { voltage_name : "vdd"; pg_type : "primary_power"; } pg_pin (gnd) { voltage_name : "gnd"; pg_type : "primary_ground"; } area: 603504.0; cell_leakage_power: 0.1173; pin (B) { direction: input; } pin (A) { direction: input; } pin (YS) { direction: output; function: "!(!B&!A|B&A)"; } pin (YC) { direction: output; function: "(B&A)"; } } cell (INV) { pg_pin (vdd) { voltage_name : "vdd"; pg_type : "primary_power"; } pg_pin (gnd) { voltage_name : "gnd"; pg_type : "primary_ground"; } area: 109728.0; cell_leakage_power: 0.1173; pin (A) { direction: input; rise_capacitance: 0.006188556324394764; fall_capacitance: 0.008930247677472391; capacitance: 0.007559402000933578; } pin (Y) { direction: output; function: "!(A)"; function: "(!A)"; timing () { related_pin: "A"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.005045, 0.004409, 0.003488, -0.000307, -0.065884", "0.045060, 0.042762, 0.047513, 0.054699, 0.040967", "0.088722, 0.082033, 0.082140, 0.091178, 0.111791", "0.176767, 0.166715, 0.160456, 0.160380, 0.224564", "0.882682, 0.869493, 0.854103, 0.828028, 0.824714" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.005563, 0.008580, 0.012595, 0.019184, 0.090037", "0.046837, 0.047773, 0.053764, 0.068471, 0.181014", "0.091353, 0.089965, 0.091587, 0.103620, 0.243501", "0.180850, 0.178100, 0.176154, 0.179192, 0.343968", "0.897064, 0.893202, 0.888379, 0.879811, 0.928891" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.008037, 0.029159, 0.057520, 0.115796, 0.870209", "0.074565, 0.079799, 0.096343, 0.138761, 0.864852", "0.145329, 0.146192, 0.155787, 0.188759, 0.863750", "0.286862, 0.286915, 0.288453, 0.307678, 0.903487", "1.420162, 1.420160, 1.420161, 1.420161, 1.674200" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.008767, 0.030412, 0.056701, 0.115566, 0.870158", "0.089918, 0.095810, 0.111953, 0.155870, 0.877226", "0.175658, 0.177628, 0.186680, 0.219666, 0.900539", "0.348403, 0.348491, 0.350746, 0.368988, 0.971736", "1.726613, 1.726603, 1.726598, 1.726608, 1.975691" ); } } } } cell (INVX1) { pg_pin (vdd) { voltage_name : "vdd"; pg_type : "primary_power"; } pg_pin (gnd) { voltage_name : "gnd"; pg_type : "primary_ground"; } area: 109728.0; cell_leakage_power: 0.1173; pin (A) { direction: input; rise_capacitance: 0.006188556324394764; fall_capacitance: 0.008930247677472391; capacitance: 0.007559402000933578; } pin (Y) { direction: output; function: "!(A)"; function: "(!A)"; timing () { related_pin: "A"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.005045, 0.004409, 0.003488, -0.000307, -0.065884", "0.045060, 0.042762, 0.047513, 0.054699, 0.040967", "0.088722, 0.082033, 0.082140, 0.091178, 0.111791", "0.176767, 0.166715, 0.160456, 0.160380, 0.224564", "0.882682, 0.869493, 0.854103, 0.828028, 0.824714" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.005563, 0.008580, 0.012595, 0.019184, 0.090037", "0.046837, 0.047773, 0.053764, 0.068471, 0.181014", "0.091353, 0.089965, 0.091587, 0.103620, 0.243501", "0.180850, 0.178100, 0.176154, 0.179192, 0.343968", "0.897064, 0.893202, 0.888379, 0.879811, 0.928891" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.008037, 0.029159, 0.057520, 0.115796, 0.870209", "0.074565, 0.079799, 0.096343, 0.138761, 0.864852", "0.145329, 0.146192, 0.155787, 0.188759, 0.863750", "0.286862, 0.286915, 0.288453, 0.307678, 0.903487", "1.420162, 1.420160, 1.420161, 1.420161, 1.674200" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.008767, 0.030412, 0.056701, 0.115566, 0.870158", "0.089918, 0.095810, 0.111953, 0.155870, 0.877226", "0.175658, 0.177628, 0.186680, 0.219666, 0.900539", "0.348403, 0.348491, 0.350746, 0.368988, 0.971736", "1.726613, 1.726603, 1.726598, 1.726608, 1.975691" ); } } } } cell (INVX2) { pg_pin (vdd) { voltage_name : "vdd"; pg_type : "primary_power"; } pg_pin (gnd) { voltage_name : "gnd"; pg_type : "primary_ground"; } area: 109728.0; cell_leakage_power: 0.1173; pin (A) { direction: input; rise_capacitance: 0.006188556324394764; fall_capacitance: 0.008930247677472391; capacitance: 0.007559402000933578; } pin (Y) { direction: output; function: "!(A)"; function: "(!A)"; timing () { related_pin: "A"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.005045, 0.004409, 0.003488, -0.000307, -0.065884", "0.045060, 0.042762, 0.047513, 0.054699, 0.040967", "0.088722, 0.082033, 0.082140, 0.091178, 0.111791", "0.176767, 0.166715, 0.160456, 0.160380, 0.224564", "0.882682, 0.869493, 0.854103, 0.828028, 0.824714" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.005563, 0.008580, 0.012595, 0.019184, 0.090037", "0.046837, 0.047773, 0.053764, 0.068471, 0.181014", "0.091353, 0.089965, 0.091587, 0.103620, 0.243501", "0.180850, 0.178100, 0.176154, 0.179192, 0.343968", "0.897064, 0.893202, 0.888379, 0.879811, 0.928891" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.008037, 0.029159, 0.057520, 0.115796, 0.870209", "0.074565, 0.079799, 0.096343, 0.138761, 0.864852", "0.145329, 0.146192, 0.155787, 0.188759, 0.863750", "0.286862, 0.286915, 0.288453, 0.307678, 0.903487", "1.420162, 1.420160, 1.420161, 1.420161, 1.674200" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.008767, 0.030412, 0.056701, 0.115566, 0.870158", "0.089918, 0.095810, 0.111953, 0.155870, 0.877226", "0.175658, 0.177628, 0.186680, 0.219666, 0.900539", "0.348403, 0.348491, 0.350746, 0.368988, 0.971736", "1.726613, 1.726603, 1.726598, 1.726608, 1.975691" ); } } } } cell (INVX4) { pg_pin (vdd) { voltage_name : "vdd"; pg_type : "primary_power"; } pg_pin (gnd) { voltage_name : "gnd"; pg_type : "primary_ground"; } area: 164592.0; cell_leakage_power: 0.1173; pin (A) { direction: input; rise_capacitance: 0.012376891490235522; fall_capacitance: 0.014525173100391225; capacitance: 0.013451032295313373; } pin (Y) { direction: output; function: "!(A)"; function: "(!A)"; timing () { related_pin: "A"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.004836, 0.003911, 0.003113, -0.000947, -0.066781", "0.023782, 0.025438, 0.029154, 0.032024, -0.003570", "0.045059, 0.042825, 0.047513, 0.054773, 0.040967", "0.088711, 0.082075, 0.082140, 0.091166, 0.111791", "0.441430, 0.429084, 0.416141, 0.399464, 0.483388" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.005423, 0.008343, 0.012279, 0.018588, 0.089288", "0.025056, 0.028778, 0.035903, 0.047954, 0.142358", "0.046837, 0.047773, 0.053764, 0.068471, 0.181014", "0.091353, 0.089965, 0.091587, 0.103620, 0.243501", "0.449471, 0.445891, 0.441675, 0.435947, 0.579373" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.007775, 0.029000, 0.057625, 0.115801, 0.870234", "0.039447, 0.049978, 0.071107, 0.121251, 0.867453", "0.074397, 0.079871, 0.096343, 0.138754, 0.864852", "0.145174, 0.146264, 0.155787, 0.188826, 0.863750", "0.711874, 0.711865, 0.711868, 0.712356, 1.131446" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.008278, 0.030236, 0.056581, 0.115515, 0.870125", "0.047212, 0.057977, 0.079852, 0.130476, 0.873241", "0.089918, 0.095810, 0.111953, 0.155870, 0.877226", "0.175658, 0.177628, 0.186680, 0.219666, 0.900539", "0.865308, 0.865247, 0.865250, 0.866773, 1.291412" ); } } } } cell (INVX8) { pg_pin (vdd) { voltage_name : "vdd"; pg_type : "primary_power"; } pg_pin (gnd) { voltage_name : "gnd"; pg_type : "primary_ground"; } area: 274320.0; cell_leakage_power: 0.1173; pin (A) { direction: input; rise_capacitance: 0.02475357794277478; fall_capacitance: 0.025715030488090873; capacitance: 0.025234304215432823; } pin (Y) { direction: output; function: "!(A)"; function: "(!A)"; timing () { related_pin: "A"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.004711, 0.003669, 0.002920, -0.001273, -0.067235", "0.013476, 0.016314, 0.018100, 0.018126, -0.031065", "0.023686, 0.025560, 0.029154, 0.032104, -0.003570", "0.045002, 0.042834, 0.047470, 0.054715, 0.040967", "0.220836, 0.210041, 0.201832, 0.197811, 0.273718" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.005356, 0.008225, 0.012119, 0.018287, 0.088886", "0.014445, 0.019534, 0.025707, 0.035382, 0.118985", "0.025056, 0.028778, 0.035903, 0.047954, 0.142358", "0.046837, 0.047773, 0.053764, 0.068471, 0.181014", "0.225616, 0.222601, 0.219861, 0.220213, 0.388011" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.007647, 0.028925, 0.057669, 0.115805, 0.870247", "0.022139, 0.037257, 0.061628, 0.115441, 0.868805", "0.039229, 0.050143, 0.071107, 0.121043, 0.867453", "0.074441, 0.080027, 0.096405, 0.138670, 0.864852", "0.357732, 0.357697, 0.358023, 0.371638, 0.931800" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.008160, 0.030148, 0.056531, 0.115506, 0.870109", "0.026793, 0.041830, 0.067077, 0.120590, 0.871621", "0.047212, 0.057977, 0.079852, 0.130476, 0.873241", "0.089918, 0.095810, 0.111953, 0.155870, 0.877226", "0.434491, 0.434491, 0.435448, 0.448752, 1.014657" ); } } } } cell (MUX2X1) { pg_pin (vdd) { voltage_name : "vdd"; pg_type : "primary_power"; } pg_pin (gnd) { voltage_name : "gnd"; pg_type : "primary_ground"; } area: 329184.0; cell_leakage_power: 0.1173; pin (S) { direction: input; rise_capacitance: 0.010338610799344835; fall_capacitance: 0.008212780453515003; capacitance: 0.009275695626429919; } pin (B) { direction: input; rise_capacitance: 0.006397490498320098; fall_capacitance: 0.008895353965965845; capacitance: 0.007646422232142972; } pin (A) { direction: input; rise_capacitance: 0.004937389414015676; fall_capacitance: 0.007864001795670731; capacitance: 0.006400695604843204; } pin (Y) { direction: output; function: "!(!S&B&!A|!S&B&A|S&B&A|S&!B&A)"; function: "(!(A & B & S + A & B & !S + A & S & !B + B & !A & !S))"; timing () { related_pin: "A"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.019428, 0.021747, 0.023821, 0.024885, -0.020070", "0.096776, 0.096705, 0.098699, 0.106638, 0.141139", "0.174325, 0.173758, 0.174373, 0.179031, 0.252974", "0.329331, 0.328462, 0.328043, 0.329638, 0.432416", "1.569307, 1.568155, 1.566435, 1.563733, 1.594086" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.015958, 0.027807, 0.035343, 0.047135, 0.140744", "0.109318, 0.113175, 0.119175, 0.133278, 0.299017", "0.203682, 0.205651, 0.209577, 0.220207, 0.408863", "0.392584, 0.393181, 0.395219, 0.402088, 0.586689", "1.904228, 1.903421, 1.903075, 1.903731, 1.981518" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.020411, 0.026763, 0.039961, 0.063425, 0.317670", "0.130948, 0.130915, 0.131768, 0.141947, 0.451197", "0.243567, 0.243583, 0.243517, 0.245528, 0.549507", "0.468902, 0.468912, 0.468912, 0.468919, 0.675777", "2.271917, 2.271914, 2.271917, 2.271916, 2.274560" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.034547, 0.032700, 0.040748, 0.064546, 0.323227", "0.155499, 0.155537, 0.155799, 0.162945, 0.464800", "0.286354, 0.286330, 0.286313, 0.286918, 0.548668", "0.547917, 0.547919, 0.547900, 0.547926, 0.702513", "2.640604, 2.640603, 2.640602, 2.640603, 2.640599" ); } } timing () { related_pin: "B"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.012479, 0.020519, 0.023592, 0.024838, -0.020037", "0.088439, 0.091403, 0.095223, 0.104973, 0.140988", "0.165879, 0.167485, 0.169565, 0.175932, 0.252738", "0.320839, 0.321506, 0.322081, 0.325051, 0.431811", "1.560766, 1.560490, 1.559111, 1.556910, 1.590657" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.023985, 0.029348, 0.035865, 0.047430, 0.140831", "0.115535, 0.117784, 0.122066, 0.134594, 0.299174", "0.209718, 0.210748, 0.213291, 0.222435, 0.409049", "0.398509, 0.398634, 0.399621, 0.405195, 0.587049", "1.910075, 1.909263, 1.908276, 1.908150, 1.983766" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.021856, 0.028909, 0.040295, 0.063869, 0.317858", "0.130661, 0.130662, 0.132045, 0.142857, 0.451367", "0.243245, 0.243252, 0.243275, 0.245652, 0.549740", "0.468595, 0.468585, 0.468603, 0.468582, 0.676414", "2.271590, 2.271590, 2.271589, 2.271591, 2.274367" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.026595, 0.030491, 0.040269, 0.064145, 0.322768", "0.155850, 0.155839, 0.155924, 0.162605, 0.464668", "0.286633, 0.286644, 0.286657, 0.287110, 0.548624", "0.548248, 0.548238, 0.548248, 0.548232, 0.702345", "2.641009, 2.640987, 2.640985, 2.640985, 2.640985" ); } } timing () { related_pin: "S"; timing_sense: non_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.015477, 0.019632, 0.023785, 0.028539, 0.047003", "0.089791, 0.086977, 0.089938, 0.101079, 0.177000", "0.166627, 0.161655, 0.161408, 0.167180, 0.272033", "0.321166, 0.314571, 0.311301, 0.310607, 0.436604", "1.560695, 1.552272, 1.545023, 1.533295, 1.520465" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.009379, 0.017143, 0.022831, 0.029415, 0.049506", "0.098224, 0.096461, 0.098086, 0.107381, 0.189678", "0.191790, 0.187334, 0.185018, 0.186251, 0.294384", "0.380119, 0.373656, 0.367998, 0.361115, 0.471759", "1.891175, 1.882501, 1.872694, 1.854265, 1.753057" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.025135, 0.032734, 0.048051, 0.084704, 0.566326", "0.130733, 0.130708, 0.132826, 0.150233, 0.602446", "0.243422, 0.243393, 0.243371, 0.247979, 0.662237", "0.468752, 0.468761, 0.468758, 0.468739, 0.756824", "2.271751, 2.271754, 2.271754, 2.271752, 2.282476" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.022469, 0.035382, 0.052960, 0.089711, 0.571861", "0.155713, 0.155428, 0.156540, 0.173483, 0.639442", "0.286482, 0.286497, 0.286481, 0.290082, 0.712770", "0.548075, 0.548076, 0.548073, 0.548087, 0.844708", "2.640769, 2.640767, 2.640766, 2.640768, 2.646447" ); } } } } cell (NAND2X1) { pg_pin (vdd) { voltage_name : "vdd"; pg_type : "primary_power"; } pg_pin (gnd) { voltage_name : "gnd"; pg_type : "primary_ground"; } area: 164592.0; cell_leakage_power: 0.1173; pin (B) { direction: input; rise_capacitance: 0.004150889506161318; fall_capacitance: 0.0057806089303857715; capacitance: 0.004965749218273544; } pin (A) { direction: input; rise_capacitance: 0.004935475394936947; fall_capacitance: 0.007870695939137575; capacitance: 0.0064030856670372616; } pin (Y) { direction: output; function: "!(B&A)"; function: "(!A & B)"; timing () { related_pin: "A"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.007196, 0.007595, 0.006535, 0.002335, -0.081701", "0.048131, 0.045109, 0.049226, 0.055554, 0.023149", "0.091843, 0.084555, 0.083952, 0.092035, 0.093853", "0.179911, 0.169368, 0.162474, 0.161292, 0.207503", "0.885821, 0.872458, 0.856675, 0.829540, 0.814241" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.015633, 0.021476, 0.028398, 0.039896, 0.146774", "0.107818, 0.110541, 0.116624, 0.131991, 0.322868", "0.202142, 0.203338, 0.207611, 0.219924, 0.436789", "0.391020, 0.391118, 0.393477, 0.402003, 0.616285", "1.902651, 1.901546, 1.901261, 1.902664, 2.012825" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.012945, 0.032109, 0.051696, 0.088446, 0.524049", "0.079676, 0.085046, 0.101926, 0.145349, 0.674950", "0.150526, 0.151440, 0.161506, 0.195645, 0.761149", "0.292156, 0.292210, 0.293910, 0.314078, 0.887525", "1.425456, 1.425453, 1.425463, 1.425463, 1.693531" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.013964, 0.019082, 0.028092, 0.057082, 0.488461", "0.142119, 0.142058, 0.142068, 0.146714, 0.440570", "0.272785, 0.272844, 0.272830, 0.273049, 0.465710", "0.534379, 0.534395, 0.534370, 0.534368, 0.637728", "2.627044, 2.627042, 2.627042, 2.627043, 2.627043" ); } } timing () { related_pin: "B"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.005849, 0.004862, 0.001953, -0.005765, -0.126919", "0.046431, 0.043395, 0.046993, 0.051015, -0.016988", "0.090143, 0.082837, 0.081976, 0.088941, 0.057037", "0.178220, 0.167700, 0.160608, 0.158752, 0.176347", "0.884156, 0.870837, 0.855034, 0.827713, 0.802365" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.013792, 0.018689, 0.025506, 0.038065, 0.175360", "0.107725, 0.103637, 0.104869, 0.117440, 0.315940", "0.202285, 0.196217, 0.193422, 0.197331, 0.412055", "0.391293, 0.383864, 0.377831, 0.373134, 0.567831", "1.903042, 1.894202, 1.884122, 1.866559, 1.824766" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.009695, 0.029176, 0.049614, 0.090169, 0.630637", "0.076701, 0.082090, 0.098427, 0.140823, 0.690595", "0.147420, 0.148384, 0.158014, 0.191352, 0.764094", "0.289054, 0.289045, 0.290759, 0.310455, 0.877521", "1.422334, 1.422325, 1.422328, 1.422326, 1.682986" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.014142, 0.022429, 0.038545, 0.077748, 0.619421", "0.142113, 0.142115, 0.143140, 0.157535, 0.605736", "0.272824, 0.272791, 0.272803, 0.275498, 0.636002", "0.534396, 0.534363, 0.534379, 0.534395, 0.781620", "2.627039, 2.627044, 2.627041, 2.627039, 2.630177" ); } } } } cell (NAND3X1) { pg_pin (vdd) { voltage_name : "vdd"; pg_type : "primary_power"; } pg_pin (gnd) { voltage_name : "gnd"; pg_type : "primary_ground"; } area: 219456.0; cell_leakage_power: 0.1173; pin (C) { direction: input; rise_capacitance: 0.004149650005143659; fall_capacitance: 0.005781505198438881; capacitance: 0.00496557760179127; } pin (B) { direction: input; rise_capacitance: 0.004830629997798454; fall_capacitance: 0.0065460190151835455; capacitance: 0.005688324506490999; } pin (A) { direction: input; rise_capacitance: 0.0049353598856550955; fall_capacitance: 0.007870869195042688; capacitance: 0.006403114540348892; } pin (Y) { direction: output; function: "!(C&B&A)"; function: "(!A & B & C)"; timing () { related_pin: "A"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.008972, 0.009457, 0.008503, 0.002962, -0.100701", "0.051333, 0.047529, 0.050994, 0.056259, 0.000383", "0.095086, 0.087278, 0.086059, 0.093123, 0.071594", "0.183200, 0.172294, 0.164894, 0.162676, 0.188303", "0.889127, 0.875625, 0.859595, 0.831781, 0.805945" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.020769, 0.029603, 0.037436, 0.051718, 0.185550", "0.137563, 0.140846, 0.146094, 0.159442, 0.367674", "0.257454, 0.258396, 0.261172, 0.270635, 0.491854", "0.497675, 0.496765, 0.496908, 0.501401, 0.695984", "2.420799, 2.417810, 2.414180, 2.409069, 2.461911" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.017292, 0.035367, 0.056139, 0.094266, 0.548119", "0.084992, 0.090373, 0.107178, 0.150243, 0.683940", "0.155780, 0.156840, 0.166974, 0.201316, 0.764246", "0.297431, 0.297423, 0.299270, 0.320137, 0.888634", "1.430747, 1.430744, 1.430744, 1.430744, 1.704785" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.023922, 0.025750, 0.032068, 0.055931, 0.495161", "0.188089, 0.188153, 0.188154, 0.189888, 0.453757", "0.355339, 0.355334, 0.355344, 0.355344, 0.505262", "0.689777, 0.689789, 0.689794, 0.689787, 0.761388", "3.365704, 3.365704, 3.365703, 3.365700, 3.365703" ); } } timing () { related_pin: "B"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.008334, 0.007999, 0.005426, -0.001872, -0.134533", "0.049592, 0.045886, 0.049021, 0.052517, -0.029801", "0.093307, 0.085588, 0.084148, 0.090357, 0.043619", "0.181419, 0.170558, 0.163034, 0.160347, 0.164016", "0.887312, 0.873890, 0.857871, 0.829951, 0.796345" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.023592, 0.029466, 0.038594, 0.055239, 0.219385", "0.141155, 0.143057, 0.148603, 0.163867, 0.404481", "0.261171, 0.261449, 0.264802, 0.276119, 0.527468", "0.501476, 0.500497, 0.501691, 0.508419, 0.732132", "2.424678, 2.422318, 2.420551, 2.419097, 2.507900" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.014708, 0.032973, 0.052387, 0.088064, 0.507153", "0.081875, 0.087345, 0.103349, 0.145759, 0.652137", "0.152726, 0.153620, 0.163460, 0.196949, 0.738027", "0.294293, 0.294378, 0.296116, 0.316174, 0.868979", "1.427621, 1.427628, 1.427634, 1.427631, 1.694351" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.023614, 0.026398, 0.032949, 0.053238, 0.454307", "0.188147, 0.188117, 0.188099, 0.189875, 0.415502", "0.355311, 0.355293, 0.355317, 0.355295, 0.485465", "0.689798, 0.689798, 0.689789, 0.689787, 0.751303", "3.365699, 3.365700, 3.365702, 3.365700, 3.365698" ); } } timing () { related_pin: "C"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.006743, 0.005507, 0.001409, -0.008755, -0.170135", "0.047762, 0.044106, 0.046936, 0.048789, -0.060209", "0.091478, 0.083801, 0.082253, 0.087681, 0.016317", "0.179569, 0.168817, 0.161183, 0.158074, 0.141274", "0.885505, 0.872150, 0.856133, 0.828109, 0.787687" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.021221, 0.026912, 0.036046, 0.053704, 0.240197", "0.140988, 0.137908, 0.140081, 0.153521, 0.407328", "0.261329, 0.256442, 0.255023, 0.261001, 0.520047", "0.501821, 0.495706, 0.491228, 0.489434, 0.706541", "2.425190, 2.417843, 2.409583, 2.395522, 2.391247" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.011465, 0.029918, 0.048625, 0.083915, 0.522973", "0.078783, 0.083779, 0.099962, 0.141527, 0.642500", "0.149540, 0.150478, 0.160020, 0.192902, 0.728158", "0.291212, 0.291252, 0.292980, 0.312574, 0.856649", "1.424500, 1.424495, 1.424506, 1.424500, 1.685213" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.023566, 0.027391, 0.036715, 0.061844, 0.502475", "0.188148, 0.188141, 0.188149, 0.192359, 0.487219", "0.355298, 0.355308, 0.355319, 0.355322, 0.560090", "0.689793, 0.689798, 0.689798, 0.689793, 0.809696", "3.365702, 3.365700, 3.365703, 3.365699, 3.365703" ); } } } } cell (NOR2X1) { pg_pin (vdd) { voltage_name : "vdd"; pg_type : "primary_power"; } pg_pin (gnd) { voltage_name : "gnd"; pg_type : "primary_ground"; } area: 164592.0; cell_leakage_power: 0.1173; pin (B) { direction: input; rise_capacitance: 0.006307384837439927; fall_capacitance: 0.006306324454300684; capacitance: 0.006306854645870306; } pin (A) { direction: input; rise_capacitance: 0.006299781364172542; fall_capacitance: 0.00890124516010798; capacitance: 0.0076005132621402615; } pin (Y) { direction: output; function: "(!B&!A)"; function: "(!A & !B)"; timing () { related_pin: "A"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.012986, 0.016464, 0.018922, 0.020204, -0.010487", "0.090855, 0.091382, 0.094616, 0.104989, 0.165835", "0.168403, 0.168290, 0.169983, 0.177071, 0.280870", "0.323463, 0.322901, 0.323243, 0.327021, 0.459948", "1.563457, 1.562468, 1.561029, 1.559260, 1.617628" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.008571, 0.012834, 0.016940, 0.022901, 0.073370", "0.050719, 0.051182, 0.056436, 0.070039, 0.161587", "0.095157, 0.093369, 0.094430, 0.105159, 0.223878", "0.184573, 0.181502, 0.179079, 0.180864, 0.324736", "0.900731, 0.896739, 0.891685, 0.882327, 0.915214" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.011911, 0.020251, 0.035631, 0.075894, 0.632098", "0.122227, 0.122198, 0.122986, 0.131826, 0.572943", "0.234847, 0.234841, 0.234770, 0.236394, 0.551555", "0.460142, 0.460167, 0.460168, 0.460147, 0.626352", "2.263162, 2.263157, 2.263162, 2.263162, 2.264768" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.019230, 0.038878, 0.062210, 0.109873, 0.677222", "0.098886, 0.105335, 0.122576, 0.168308, 0.823551", "0.184754, 0.186734, 0.196898, 0.231670, 0.903883", "0.357145, 0.357371, 0.360113, 0.379939, 1.013582", "1.735540, 1.735518, 1.735519, 1.735512, 2.002056" ); } } timing () { related_pin: "B"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.011806, 0.014164, 0.016660, 0.020318, 0.038325", "0.090368, 0.085510, 0.088212, 0.100612, 0.196917", "0.168063, 0.161173, 0.160440, 0.166991, 0.301135", "0.323155, 0.314877, 0.310973, 0.310624, 0.465942", "1.563209, 1.553438, 1.545230, 1.532397, 1.541763" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.005936, 0.007167, 0.008315, 0.008939, 0.000169", "0.046963, 0.047411, 0.052229, 0.062557, 0.098027", "0.091434, 0.089675, 0.090367, 0.099822, 0.165924", "0.180891, 0.177906, 0.175243, 0.176092, 0.276079", "0.897089, 0.893154, 0.888102, 0.878617, 0.897368" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.011999, 0.022468, 0.042650, 0.089129, 0.702921", "0.122129, 0.122235, 0.124548, 0.142036, 0.672456", "0.234809, 0.234839, 0.234788, 0.239948, 0.663642", "0.460173, 0.460149, 0.460147, 0.460142, 0.740712", "2.263154, 2.263159, 2.263157, 2.263162, 2.274281" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.011676, 0.031135, 0.054847, 0.101688, 0.713699", "0.091257, 0.097211, 0.113947, 0.158466, 0.799171", "0.177241, 0.178967, 0.188549, 0.222057, 0.874832", "0.349616, 0.349773, 0.352334, 0.371118, 0.982630", "1.727951, 1.727928, 1.727929, 1.727925, 1.982101" ); } } } } cell (NOR3X1) { pg_pin (vdd) { voltage_name : "vdd"; pg_type : "primary_power"; } pg_pin (gnd) { voltage_name : "gnd"; pg_type : "primary_ground"; } area: 384048.0; cell_leakage_power: 0.1173; pin (C) { direction: input; } pin (B) { direction: input; } pin (A) { direction: input; } pin (Y) { direction: output; function: "(!C&!B&!A)"; } } cell (OAI21X1) { pg_pin (vdd) { voltage_name : "vdd"; pg_type : "primary_power"; } pg_pin (gnd) { voltage_name : "gnd"; pg_type : "primary_ground"; } area: 219456.0; cell_leakage_power: 0.1173; pin (C) { direction: input; rise_capacitance: 0.004203428908088842; fall_capacitance: 0.005774046546996895; capacitance: 0.004988737727542869; } pin (B) { direction: input; rise_capacitance: 0.004935221654376836; fall_capacitance: 0.004725917975171027; capacitance: 0.004830569814773931; } pin (A) { direction: input; rise_capacitance: 0.004935717599872121; fall_capacitance: 0.007855089253956563; capacitance: 0.0063954034269143424; } pin (Y) { direction: output; function: "!(C&B&!A|C&B&A|C&!B&A)"; function: "(!(A & B & C + A & C & !B + B & C & !A))"; timing () { related_pin: "A"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.018803, 0.021286, 0.023372, 0.024350, -0.021448", "0.096139, 0.096122, 0.098202, 0.106284, 0.140537", "0.173692, 0.173167, 0.173841, 0.178581, 0.252511", "0.328700, 0.327878, 0.327492, 0.329140, 0.432054", "1.568684, 1.567578, 1.565889, 1.563216, 1.593648" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.014567, 0.027612, 0.035111, 0.046438, 0.138742", "0.107786, 0.111806, 0.118058, 0.132521, 0.298154", "0.202175, 0.204084, 0.208129, 0.219017, 0.408234", "0.391077, 0.391477, 0.393526, 0.400512, 0.586153", "1.902728, 1.901585, 1.901088, 1.901617, 1.980151" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.019300, 0.026959, 0.040134, 0.062777, 0.317091", "0.130589, 0.130540, 0.131465, 0.141739, 0.450595", "0.243235, 0.243236, 0.243192, 0.245219, 0.549172", "0.468554, 0.468581, 0.468571, 0.468584, 0.676001", "2.271587, 2.271582, 2.271587, 2.271587, 2.274232" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.031664, 0.030264, 0.038631, 0.062964, 0.321051", "0.153753, 0.153753, 0.154115, 0.161363, 0.463032", "0.284526, 0.284494, 0.284513, 0.285176, 0.547396", "0.546140, 0.546108, 0.546137, 0.546139, 0.701133", "2.638823, 2.638827, 2.638825, 2.638824, 2.638826" ); } } timing () { related_pin: "B"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.018084, 0.018977, 0.021732, 0.025405, 0.031435", "0.095837, 0.089833, 0.091289, 0.101855, 0.181405", "0.173416, 0.165752, 0.163733, 0.168054, 0.282099", "0.328448, 0.319616, 0.314657, 0.311922, 0.444977", "1.568456, 1.558467, 1.549855, 1.535658, 1.516959" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.011853, 0.021086, 0.025927, 0.031783, 0.061728", "0.103111, 0.106391, 0.112051, 0.125088, 0.245734", "0.197350, 0.198788, 0.202456, 0.212400, 0.366202", "0.386172, 0.386296, 0.388114, 0.394555, 0.557385", "1.897755, 1.896510, 1.895926, 1.896353, 1.969217" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.019576, 0.029856, 0.049211, 0.081282, 0.446789", "0.130529, 0.130604, 0.133249, 0.154460, 0.612292", "0.243240, 0.243237, 0.243198, 0.249492, 0.704661", "0.468570, 0.468567, 0.468567, 0.468586, 0.813094", "2.271586, 2.271584, 2.271584, 2.271587, 2.288098" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.015426, 0.020183, 0.031186, 0.056113, 0.422226", "0.142359, 0.142363, 0.142749, 0.150040, 0.459691", "0.273045, 0.273046, 0.273065, 0.273811, 0.534619", "0.534623, 0.534603, 0.534626, 0.534613, 0.687998", "2.627267, 2.627270, 2.627271, 2.627270, 2.627267" ); } } timing () { related_pin: "C"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.006353, 0.006907, 0.004743, -0.001737, -0.110680", "0.047699, 0.044647, 0.048336, 0.053151, -0.004114", "0.091415, 0.084176, 0.083334, 0.090516, 0.068778", "0.179491, 0.169025, 0.162028, 0.160307, 0.186435", "0.885395, 0.872100, 0.856349, 0.829208, 0.807105" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.012322, 0.019314, 0.026237, 0.038620, 0.167686", "0.096733, 0.094797, 0.097266, 0.110737, 0.295956", "0.182668, 0.178235, 0.176611, 0.181871, 0.385409", "0.354674, 0.348400, 0.343367, 0.339960, 0.531053", "1.731112, 1.722805, 1.713320, 1.696828, 1.662380" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.011924, 0.031387, 0.053193, 0.097308, 0.671034", "0.079146, 0.084257, 0.100405, 0.142389, 0.716421", "0.149831, 0.150702, 0.160194, 0.193088, 0.778101", "0.291344, 0.291348, 0.292968, 0.312319, 0.882992", "1.424450, 1.424445, 1.424449, 1.424449, 1.683821" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.016705, 0.026501, 0.043315, 0.084291, 0.660779", "0.136556, 0.136714, 0.139723, 0.158268, 0.651528", "0.258832, 0.258845, 0.259084, 0.265612, 0.680442", "0.503343, 0.503344, 0.503342, 0.503821, 0.807464", "2.459389, 2.459387, 2.459387, 2.459388, 2.481930" ); } } } } cell (OAI22X1) { pg_pin (vdd) { voltage_name : "vdd"; pg_type : "primary_power"; } pg_pin (gnd) { voltage_name : "gnd"; pg_type : "primary_ground"; } area: 274320.0; cell_leakage_power: 0.1173; pin (D) { direction: input; rise_capacitance: 0.00422904568382474; fall_capacitance: 6.27701700917797e-05; capacitance: 0.00214590792695826; } pin (C) { direction: input; rise_capacitance: 0.004229993996294385; fall_capacitance: 0.005758102592005284; capacitance: 0.004994048294149835; } pin (B) { direction: input; rise_capacitance: 0.004935264302975343; fall_capacitance: 0.004717210490958356; capacitance: 0.00482623739696685; } pin (A) { direction: input; rise_capacitance: 0.004935925445230348; fall_capacitance: 0.007825926909320734; capacitance: 0.00638092617727554; } pin (Y) { direction: output; function: "(!D&!C&!B&!A|D&!C&!B&!A|D&C&!B&!A|!D&C&!B&!A|!D&!C&B&!A|!D&!C&B&A|!D&!C&!B&A)"; function: "((A & B & !C & !D + C & D & !A & !B + A & !B & !C & !D + B & !A & !C & !D + C & !A & !B & !D + D & !A & !B & !C + !A & !B & !C & !D))"; timing () { related_pin: "A"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.023283, 0.026086, 0.029698, 0.032795, -0.001479", "0.101125, 0.101089, 0.103242, 0.111463, 0.155077", "0.178698, 0.178197, 0.178968, 0.183936, 0.265589", "0.333742, 0.332923, 0.332617, 0.334515, 0.443208", "1.573737, 1.572628, 1.570969, 1.568406, 1.602882" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.012521, 0.028054, 0.037790, 0.050147, 0.142499", "0.100661, 0.105547, 0.112648, 0.128391, 0.287021", "0.189767, 0.192023, 0.196444, 0.208039, 0.391309", "0.368021, 0.368345, 0.370350, 0.377348, 0.561865", "1.794390, 1.792660, 1.791504, 1.790869, 1.861891" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.027523, 0.032137, 0.043710, 0.068258, 0.351959", "0.138192, 0.138265, 0.138971, 0.148233, 0.459452", "0.250786, 0.250776, 0.250815, 0.252433, 0.550251", "0.475993, 0.475990, 0.475983, 0.475987, 0.672440", "2.278881, 2.278886, 2.278881, 2.278884, 2.281277" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.033208, 0.057195, 0.047282, 0.073255, 0.374412", "0.150143, 0.150175, 0.151479, 0.161717, 0.504750", "0.271994, 0.271979, 0.271960, 0.273778, 0.580300", "0.515546, 0.515539, 0.515545, 0.515540, 0.712176", "2.463948, 2.463946, 2.463949, 2.463947, 2.465069" ); } } timing () { related_pin: "B"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.022457, 0.023821, 0.028002, 0.033432, 0.050099", "0.100795, 0.094818, 0.096177, 0.106623, 0.193238", "0.178421, 0.170774, 0.168840, 0.173249, 0.292925", "0.333487, 0.324687, 0.319823, 0.317316, 0.454634", "1.573506, 1.563530, 1.554962, 1.540935, 1.526232" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.009970, 0.022332, 0.029418, 0.036773, 0.068890", "0.096499, 0.100597, 0.107043, 0.121347, 0.233209", "0.185411, 0.187163, 0.191171, 0.201750, 0.347651", "0.363558, 0.363589, 0.365346, 0.371744, 0.531675", "1.789838, 1.787994, 1.786745, 1.786002, 1.850882" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.027453, 0.035677, 0.052614, 0.085958, 0.479334", "0.138281, 0.138228, 0.140230, 0.159346, 0.613230", "0.250777, 0.250785, 0.250804, 0.256157, 0.698173", "0.475995, 0.475996, 0.475995, 0.475967, 0.804605", "2.278882, 2.278884, 2.278886, 2.278882, 2.294149" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.025756, 0.039061, 0.038010, 0.065493, 0.449021", "0.139560, 0.139590, 0.140888, 0.151088, 0.498425", "0.261310, 0.261302, 0.261289, 0.263206, 0.566573", "0.504829, 0.504817, 0.504829, 0.504819, 0.699154", "2.453188, 2.453188, 2.453189, 2.453187, 2.454474" ); } } timing () { related_pin: "C"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.017359, 0.020239, 0.022410, 0.022148, -0.048370", "0.095781, 0.095787, 0.097757, 0.105343, 0.121554", "0.173355, 0.172918, 0.173600, 0.178104, 0.237251", "0.328398, 0.327691, 0.327330, 0.328976, 0.421249", "1.568399, 1.567426, 1.565794, 1.563195, 1.593328" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.015013, 0.024562, 0.032155, 0.044563, 0.160773", "0.098613, 0.097314, 0.099563, 0.111932, 0.280587", "0.184509, 0.180314, 0.178163, 0.181771, 0.365997", "0.356497, 0.350286, 0.344634, 0.339129, 0.507816", "1.732927, 1.724617, 1.714864, 1.697166, 1.627185" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.019019, 0.025963, 0.039343, 0.070044, 0.533535", "0.129391, 0.129468, 0.130315, 0.139831, 0.514520", "0.241936, 0.241939, 0.241961, 0.243767, 0.557740", "0.467115, 0.467109, 0.467107, 0.467104, 0.662643", "2.269978, 2.269983, 2.269978, 2.269980, 2.272604" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.030659, 0.049724, 0.061259, 0.101551, 0.581832", "0.149318, 0.149607, 0.154293, 0.179158, 0.730603", "0.271589, 0.271594, 0.272068, 0.281395, 0.804678", "0.516131, 0.516134, 0.516134, 0.516907, 0.918257", "2.472225, 2.472227, 2.472226, 2.472227, 2.503573" ); } } timing () { related_pin: "D"; timing_sense: negative_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.016262, 0.017953, 0.020064, 0.021458, -0.001520", "0.095321, 0.089494, 0.090705, 0.100426, 0.153300", "0.172996, 0.165491, 0.163413, 0.167278, 0.258836", "0.328101, 0.319446, 0.314487, 0.311618, 0.428744", "1.568141, 1.558342, 1.549772, 1.535678, 1.515010" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.011023, 0.018339, 0.023255, 0.030287, 0.084409", "0.094011, 0.092068, 0.093623, 0.104316, 0.218448", "0.179838, 0.175225, 0.172596, 0.174928, 0.312603", "0.351783, 0.345335, 0.339405, 0.333058, 0.468089", "1.728167, 1.719791, 1.709961, 1.692131, 1.611665" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.018855, 0.028595, 0.047231, 0.087045, 0.641403", "0.129486, 0.129382, 0.131911, 0.151555, 0.651384", "0.241942, 0.241930, 0.241953, 0.247787, 0.698756", "0.467109, 0.467119, 0.467119, 0.467084, 0.794655", "2.269982, 2.269982, 2.269983, 2.269978, 2.286463" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.019015, 0.039322, 0.050390, 0.091244, 0.642558", "0.138637, 0.138872, 0.143330, 0.167382, 0.711587", "0.260891, 0.260872, 0.261322, 0.270455, 0.778798", "0.505376, 0.505376, 0.505375, 0.506151, 0.893542", "2.461425, 2.461427, 2.461427, 2.461428, 2.492763" ); } } } } cell (OR2X1) { pg_pin (vdd) { voltage_name : "vdd"; pg_type : "primary_power"; } pg_pin (gnd) { voltage_name : "gnd"; pg_type : "primary_ground"; } area: 219456.0; cell_leakage_power: 0.1173; pin (B) { direction: input; rise_capacitance: 0.006299305363616857; fall_capacitance: 0.008885220124112183; capacitance: 0.007592262743864521; } pin (A) { direction: input; rise_capacitance: 0.006309610190379141; fall_capacitance: 0.00630283867340493; capacitance: 0.006306224431892035; } pin (Y) { direction: output; function: "!(!B&!A)"; function: "(!!A & !B)"; timing () { related_pin: "A"; timing_sense: positive_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "-0.002786, -0.022732, 0.019161, 0.019580, -0.011410", "0.041854, 0.043329, 0.051603, 0.059323, 0.062560", "0.084916, 0.078410, 0.082038, 0.088448, 0.103720", "0.172611, 0.158216, 0.154751, 0.153103, 0.172991", "0.878301, 0.855095, 0.838016, 0.810227, 0.720418" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.028540, 0.031368, 0.036819, 0.045426, 0.100228", "0.069115, 0.070143, 0.075842, 0.091793, 0.184877", "0.111955, 0.111797, 0.115439, 0.127845, 0.254311", "0.200493, 0.199357, 0.201189, 0.207941, 0.374505", "0.915994, 0.913985, 0.914073, 0.914386, 1.007881" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.013392, 0.051401, 0.087406, 0.152742, 0.687675", "0.075475, 0.097421, 0.130787, 0.191718, 0.688979", "0.145593, 0.155613, 0.179062, 0.217295, 0.718675", "0.287207, 0.287428, 0.292736, 0.315169, 0.792432", "1.420518, 1.420518, 1.420514, 1.420518, 1.582675" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.024927, 0.029452, 0.042786, 0.080200, 0.663641", "0.093953, 0.096473, 0.103565, 0.127433, 0.668426", "0.177647, 0.178545, 0.181992, 0.198197, 0.680919", "0.349306, 0.349321, 0.350007, 0.357523, 0.740411", "1.727348, 1.727346, 1.727366, 1.727370, 1.864145" ); } } timing () { related_pin: "B"; timing_sense: positive_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "-0.002737, 0.015129, 0.026339, 0.031155, 0.057827", "0.042995, 0.049240, 0.058421, 0.069922, 0.132870", "0.085418, 0.083324, 0.088199, 0.097150, 0.172762", "0.172559, 0.161472, 0.159668, 0.160671, 0.230240", "0.877741, 0.855521, 0.839844, 0.814300, 0.732001" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.029469, 0.033740, 0.039244, 0.045782, 0.049818", "0.070126, 0.072893, 0.078115, 0.092691, 0.135288", "0.112911, 0.114897, 0.118672, 0.129875, 0.209498", "0.201393, 0.202758, 0.205335, 0.211918, 0.341264", "0.916880, 0.917687, 0.919165, 0.921192, 1.006897" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.016092, 0.057562, 0.095169, 0.162177, 0.699235", "0.076858, 0.103458, 0.137895, 0.200949, 0.702148", "0.145825, 0.159732, 0.185528, 0.227910, 0.724008", "0.287314, 0.288184, 0.294861, 0.320599, 0.788394", "1.420530, 1.420534, 1.420537, 1.420539, 1.574668" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.024627, 0.027679, 0.036375, 0.067524, 0.609658", "0.094505, 0.095669, 0.100243, 0.118924, 0.616317", "0.177929, 0.178313, 0.180338, 0.192868, 0.629773", "0.349160, 0.349206, 0.349675, 0.355201, 0.694984", "1.727366, 1.727352, 1.727345, 1.727367, 1.855198" ); } } } } cell (OR2X2) { pg_pin (vdd) { voltage_name : "vdd"; pg_type : "primary_power"; } pg_pin (gnd) { voltage_name : "gnd"; pg_type : "primary_ground"; } area: 219456.0; cell_leakage_power: 0.1173; pin (B) { direction: input; rise_capacitance: 0.006299305363616857; fall_capacitance: 0.008885220124112183; capacitance: 0.007592262743864521; } pin (A) { direction: input; rise_capacitance: 0.006309610190379141; fall_capacitance: 0.00630283867340493; capacitance: 0.006306224431892035; } pin (Y) { direction: output; function: "!(!B&!A)"; function: "(!!A & !B)"; timing () { related_pin: "A"; timing_sense: positive_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "-0.002786, -0.022732, 0.019161, 0.019580, -0.011410", "0.041854, 0.043329, 0.051603, 0.059323, 0.062560", "0.084916, 0.078410, 0.082038, 0.088448, 0.103720", "0.172611, 0.158216, 0.154751, 0.153103, 0.172991", "0.878301, 0.855095, 0.838016, 0.810227, 0.720418" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.028540, 0.031368, 0.036819, 0.045426, 0.100228", "0.069115, 0.070143, 0.075842, 0.091793, 0.184877", "0.111955, 0.111797, 0.115439, 0.127845, 0.254311", "0.200493, 0.199357, 0.201189, 0.207941, 0.374505", "0.915994, 0.913985, 0.914073, 0.914386, 1.007881" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.013392, 0.051401, 0.087406, 0.152742, 0.687675", "0.075475, 0.097421, 0.130787, 0.191718, 0.688979", "0.145593, 0.155613, 0.179062, 0.217295, 0.718675", "0.287207, 0.287428, 0.292736, 0.315169, 0.792432", "1.420518, 1.420518, 1.420514, 1.420518, 1.582675" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.024927, 0.029452, 0.042786, 0.080200, 0.663641", "0.093953, 0.096473, 0.103565, 0.127433, 0.668426", "0.177647, 0.178545, 0.181992, 0.198197, 0.680919", "0.349306, 0.349321, 0.350007, 0.357523, 0.740411", "1.727348, 1.727346, 1.727366, 1.727370, 1.864145" ); } } timing () { related_pin: "B"; timing_sense: positive_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "-0.002737, 0.015129, 0.026339, 0.031155, 0.057827", "0.042995, 0.049240, 0.058421, 0.069922, 0.132870", "0.085418, 0.083324, 0.088199, 0.097150, 0.172762", "0.172559, 0.161472, 0.159668, 0.160671, 0.230240", "0.877741, 0.855521, 0.839844, 0.814300, 0.732001" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.029469, 0.033740, 0.039244, 0.045782, 0.049818", "0.070126, 0.072893, 0.078115, 0.092691, 0.135288", "0.112911, 0.114897, 0.118672, 0.129875, 0.209498", "0.201393, 0.202758, 0.205335, 0.211918, 0.341264", "0.916880, 0.917687, 0.919165, 0.921192, 1.006897" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.016092, 0.057562, 0.095169, 0.162177, 0.699235", "0.076858, 0.103458, 0.137895, 0.200949, 0.702148", "0.145825, 0.159732, 0.185528, 0.227910, 0.724008", "0.287314, 0.288184, 0.294861, 0.320599, 0.788394", "1.420530, 1.420534, 1.420537, 1.420539, 1.574668" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.024627, 0.027679, 0.036375, 0.067524, 0.609658", "0.094505, 0.095669, 0.100243, 0.118924, 0.616317", "0.177929, 0.178313, 0.180338, 0.192868, 0.629773", "0.349160, 0.349206, 0.349675, 0.355201, 0.694984", "1.727366, 1.727352, 1.727345, 1.727367, 1.855198" ); } } } } cell (XNOR2X1) { pg_pin (vdd) { voltage_name : "vdd"; pg_type : "primary_power"; } pg_pin (gnd) { voltage_name : "gnd"; pg_type : "primary_ground"; } area: 384048.0; cell_leakage_power: 0.1173; pin (B) { direction: input; } pin (A) { direction: input; } pin (Y) { direction: output; function: "!(B&!A|!B&A)"; } } cell (XOR2X1) { pg_pin (vdd) { voltage_name : "vdd"; pg_type : "primary_power"; } pg_pin (gnd) { voltage_name : "gnd"; pg_type : "primary_ground"; } area: 384048.0; cell_leakage_power: 0.1173; pin (B) { direction: input; rise_capacitance: 0.011125237855721299; fall_capacitance: 0.013458368537199627; capacitance: 0.012291803196460463; } pin (A) { direction: input; rise_capacitance: 0.005915560312833218; fall_capacitance: 0.009103970632490159; capacitance: 0.007509765472661688; } pin (Y) { direction: output; function: "!(!B&!A|B&A)"; function: "(!(A & B + !A & !B))"; timing () { related_pin: "A"; timing_sense: non_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.012892, 0.017884, 0.023582, 0.028581, 0.047039", "0.088020, 0.084498, 0.088176, 0.100267, 0.176997", "0.164777, 0.158599, 0.158811, 0.165507, 0.272027", "0.319197, 0.311031, 0.307896, 0.307904, 0.436456", "1.558585, 1.548160, 1.540528, 1.528710, 1.518515" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.016957, 0.021209, 0.026433, 0.031788, 0.049581", "0.105352, 0.101262, 0.101517, 0.109489, 0.189817", "0.199116, 0.192599, 0.189067, 0.189128, 0.294604", "0.387610, 0.379329, 0.372685, 0.364852, 0.472363", "1.898846, 1.888657, 1.878160, 1.859296, 1.755721" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.023649, 0.043194, 0.070971, 0.085067, 0.565950", "0.130727, 0.130960, 0.133759, 0.151712, 0.602446", "0.243440, 0.243431, 0.243448, 0.248631, 0.662387", "0.468772, 0.468795, 0.468785, 0.468785, 0.757475", "2.271774, 2.271788, 2.271788, 2.271786, 2.282763" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.028995, 0.032141, 0.047871, 0.084453, 0.560124", "0.155738, 0.155044, 0.155572, 0.170946, 0.631684", "0.286568, 0.286562, 0.286518, 0.289308, 0.710606", "0.548144, 0.548142, 0.548134, 0.548140, 0.843303", "2.640828, 2.640826, 2.640826, 2.640827, 2.646192" ); } } timing () { related_pin: "B"; timing_sense: non_unate; cell_rise (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.014892, 0.026246, 0.031838, 0.037204, 0.048590", "0.091734, 0.095678, 0.100730, 0.112148, 0.182368", "0.168923, 0.171200, 0.174309, 0.182497, 0.282866", "0.323721, 0.324777, 0.326200, 0.330900, 0.455028", "1.563456, 1.563165, 1.562411, 1.561608, 1.609279" ); } cell_fall (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.024069, 0.032502, 0.038891, 0.047467, 0.087946", "0.115473, 0.118528, 0.123164, 0.134818, 0.246531", "0.209458, 0.210932, 0.213732, 0.222349, 0.363720", "0.398106, 0.398429, 0.399551, 0.404751, 0.555323", "1.909486, 1.908601, 1.907591, 1.907104, 1.962711" ); } rise_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.025121, 0.046358, 0.037829, 0.058746, 0.265684", "0.130823, 0.130739, 0.131644, 0.140015, 0.394131", "0.243421, 0.243395, 0.243335, 0.244847, 0.496071", "0.468767, 0.468755, 0.468745, 0.468743, 0.634781", "2.271778, 2.271763, 2.271765, 2.271761, 2.273117" ); } fall_transition (delay_template_5x5) { index_1 ( "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" ); index_2 ( "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" ); values ( "0.031037, 0.031042, 0.038291, 0.059160, 0.254240", "0.155716, 0.155677, 0.155943, 0.162510, 0.429541", "0.286530, 0.286528, 0.286510, 0.286927, 0.538348", "0.548114, 0.548124, 0.548121, 0.548120, 0.703170", "2.640816, 2.640814, 2.640814, 2.640812, 2.640811" ); } } } }} \ No newline at end of file
diff --git a/cells/mag/AND2X1.mag b/cells/mag/AND2X1.mag index f2c642a..29a7a98 100644 --- a/cells/mag/AND2X1.mag +++ b/cells/mag/AND2X1.mag
@@ -1,6 +1,6 @@ magic tech sky130A -timestamp 1623602809 +timestamp 1624064111 << nwell >> rect 0 179 576 333 << nmos >> @@ -12,259 +12,243 @@ rect 281 225 296 309 rect 425 225 440 309 << ndiff >> -rect 82 66 111 69 -rect 466 66 495 69 -rect 58 63 137 66 -rect 58 46 88 63 -rect 105 46 137 63 -rect 58 24 137 46 +rect 82 67 111 73 +rect 82 66 88 67 +rect 58 50 88 66 +rect 105 66 111 67 +rect 466 67 495 73 +rect 466 66 472 67 +rect 105 50 137 66 +rect 58 24 137 50 rect 152 24 281 66 -rect 296 36 425 66 -rect 296 24 328 36 -rect 322 19 328 24 -rect 345 24 425 36 -rect 440 63 519 66 -rect 440 46 472 63 -rect 489 46 519 63 -rect 440 24 519 46 -rect 345 19 351 24 -rect 322 13 351 19 +rect 296 49 425 66 +rect 296 32 328 49 +rect 345 32 425 49 +rect 296 24 425 32 +rect 440 50 472 66 +rect 489 66 495 67 +rect 489 50 519 66 +rect 440 24 519 50 << pdiff >> -rect 58 309 87 312 -rect 322 309 351 312 -rect 58 306 137 309 -rect 58 289 64 306 -rect 81 289 137 306 -rect 58 225 137 289 -rect 152 238 281 309 -rect 152 225 184 238 -rect 178 221 184 225 -rect 201 225 281 238 -rect 296 306 425 309 -rect 296 289 328 306 -rect 345 289 425 306 -rect 296 225 425 289 -rect 440 238 519 309 -rect 440 225 472 238 -rect 201 221 207 225 -rect 178 215 207 221 -rect 466 221 472 225 -rect 489 225 519 238 -rect 489 221 495 225 -rect 466 215 495 221 +rect 58 301 137 309 +rect 58 284 64 301 +rect 81 284 137 301 +rect 58 225 137 284 +rect 152 243 281 309 +rect 152 226 184 243 +rect 201 226 281 243 +rect 152 225 281 226 +rect 296 301 425 309 +rect 296 284 328 301 +rect 345 284 425 301 +rect 296 225 425 284 +rect 440 243 519 309 +rect 440 226 472 243 +rect 489 226 519 243 +rect 440 225 519 226 +rect 178 220 207 225 +rect 466 220 495 225 << ndiffc >> -rect 88 46 105 63 -rect 328 19 345 36 -rect 472 46 489 63 +rect 88 50 105 67 +rect 328 32 345 49 +rect 472 50 489 67 << pdiffc >> -rect 64 289 81 306 -rect 184 221 201 238 -rect 328 289 345 306 -rect 472 221 489 238 +rect 64 284 81 301 +rect 184 226 201 243 +rect 328 284 345 301 +rect 472 226 489 243 << poly >> -rect 137 309 152 330 -rect 281 309 296 330 -rect 425 309 440 330 -rect 137 206 152 225 -rect 281 206 296 225 -rect 425 206 440 225 -rect 128 198 161 206 -rect 128 181 136 198 -rect 153 181 161 198 -rect 128 173 161 181 -rect 272 198 305 206 -rect 272 181 280 198 -rect 297 181 305 198 -rect 272 173 305 181 -rect 416 198 449 206 -rect 416 181 424 198 -rect 441 181 449 198 -rect 416 173 449 181 -rect 128 103 161 111 -rect 128 86 136 103 -rect 153 86 161 103 -rect 128 78 161 86 -rect 272 103 305 111 -rect 272 86 280 103 -rect 297 86 305 103 -rect 272 78 305 86 -rect 416 103 449 111 -rect 416 86 424 103 -rect 441 86 449 103 -rect 416 78 449 86 -rect 137 66 152 78 -rect 281 66 296 78 -rect 425 66 440 78 +rect 137 309 152 322 +rect 281 309 296 322 +rect 425 309 440 322 +rect 137 209 152 225 +rect 281 209 296 225 +rect 425 209 440 225 +rect 128 201 161 209 +rect 128 184 136 201 +rect 153 184 161 201 +rect 128 176 161 184 +rect 272 201 305 209 +rect 272 184 280 201 +rect 297 184 305 201 +rect 272 176 305 184 +rect 416 201 449 209 +rect 416 184 424 201 +rect 441 184 449 201 +rect 416 176 449 184 +rect 128 108 161 116 +rect 128 91 136 108 +rect 153 91 161 108 +rect 128 83 161 91 +rect 272 108 305 116 +rect 272 91 280 108 +rect 297 91 305 108 +rect 272 83 305 91 +rect 416 108 449 116 +rect 416 91 424 108 +rect 441 91 449 108 +rect 416 83 449 91 +rect 137 66 152 83 +rect 281 66 296 83 +rect 425 66 440 83 rect 137 11 152 24 rect 281 11 296 24 rect 425 11 440 24 << polycont >> -rect 136 181 153 198 -rect 280 181 297 198 -rect 424 181 441 198 -rect 136 86 153 103 -rect 280 86 297 103 -rect 424 86 441 103 +rect 136 184 153 201 +rect 280 184 297 201 +rect 424 184 441 201 +rect 136 91 153 108 +rect 280 91 297 108 +rect 424 91 441 108 << locali >> -rect 56 306 89 314 -rect 56 289 64 306 -rect 81 289 89 306 -rect 56 281 89 289 -rect 320 306 353 314 -rect 320 289 328 306 -rect 345 289 353 306 -rect 320 281 353 289 -rect 176 238 209 246 -rect 176 223 184 238 -rect 178 221 184 223 -rect 201 221 209 238 -rect 464 238 497 246 -rect 464 223 472 238 -rect 178 213 209 221 -rect 466 221 472 223 -rect 489 221 497 238 -rect 466 213 497 221 -rect 128 198 161 206 -rect 128 181 136 198 -rect 153 181 161 198 -rect 128 173 161 181 -rect 272 198 305 206 -rect 272 181 280 198 -rect 297 181 305 198 -rect 272 173 305 181 -rect 416 198 449 206 -rect 416 181 424 198 -rect 441 181 449 198 -rect 416 173 449 181 -rect 128 103 161 111 -rect 128 88 136 103 -rect 130 86 136 88 -rect 153 86 161 103 -rect 130 78 161 86 -rect 272 103 305 111 -rect 272 86 280 103 -rect 297 86 305 103 -rect 272 78 305 86 -rect 416 103 449 111 -rect 416 86 424 103 -rect 441 86 449 103 -rect 416 78 449 86 -rect 80 63 113 71 -rect 80 46 88 63 -rect 105 46 113 63 -rect 466 63 497 71 -rect 466 61 472 63 -rect 80 38 113 46 -rect 464 46 472 61 -rect 489 46 497 63 -rect 320 36 353 44 -rect 464 38 497 46 -rect 320 19 328 36 -rect 345 19 353 36 -rect 320 11 353 19 +rect 56 301 89 309 +rect 56 284 64 301 +rect 81 284 89 301 +rect 56 276 89 284 +rect 320 301 353 309 +rect 320 284 328 301 +rect 345 284 353 301 +rect 320 276 353 284 +rect 176 243 209 251 +rect 176 226 184 243 +rect 201 226 209 243 +rect 464 243 497 251 +rect 464 226 472 243 +rect 489 226 497 243 +rect 178 218 209 226 +rect 466 218 497 226 +rect 128 201 161 209 +rect 128 184 136 201 +rect 153 184 161 201 +rect 128 176 161 184 +rect 272 201 305 209 +rect 272 184 280 201 +rect 297 184 305 201 +rect 272 176 305 184 +rect 416 201 449 209 +rect 416 184 424 201 +rect 441 184 449 201 +rect 416 176 449 184 +rect 280 116 297 176 +rect 128 108 161 116 +rect 128 92 136 108 +rect 130 91 136 92 +rect 153 91 161 108 +rect 130 83 161 91 +rect 272 108 305 116 +rect 272 91 280 108 +rect 297 91 305 108 +rect 272 83 305 91 +rect 416 108 449 116 +rect 416 91 424 108 +rect 441 91 449 108 +rect 416 83 449 91 +rect 80 67 113 75 +rect 80 50 88 67 +rect 105 50 113 67 +rect 466 67 497 75 +rect 466 66 472 67 +rect 80 42 113 50 +rect 320 49 353 57 +rect 320 32 328 49 +rect 345 32 353 49 +rect 464 50 472 66 +rect 489 50 497 67 +rect 464 42 497 50 +rect 320 24 353 32 << viali >> -rect 64 289 81 306 -rect 328 289 345 306 -rect 184 221 201 238 -rect 472 221 489 238 -rect 136 181 153 198 -rect 280 181 297 198 -rect 424 181 441 198 -rect 136 86 153 103 -rect 280 86 297 103 -rect 424 86 441 103 -rect 88 46 105 63 -rect 472 46 489 63 -rect 328 19 345 36 +rect 64 284 81 301 +rect 328 284 345 301 +rect 184 226 201 243 +rect 472 226 489 243 +rect 136 184 153 201 +rect 280 184 297 201 +rect 424 184 441 201 +rect 136 91 153 108 +rect 424 91 441 108 +rect 88 50 105 67 +rect 328 32 345 49 +rect 472 50 489 67 << metal1 >> rect 0 309 576 357 -rect 58 306 87 309 -rect 58 289 64 306 -rect 81 289 87 306 -rect 58 283 87 289 -rect 322 306 351 309 -rect 322 289 328 306 -rect 345 289 351 306 -rect 322 283 351 289 -rect 178 238 207 244 -rect 178 237 184 238 -rect 89 223 184 237 -rect 89 69 103 223 -rect 178 221 184 223 -rect 201 237 207 238 -rect 466 238 495 244 -rect 201 223 439 237 -rect 201 221 207 223 -rect 178 215 207 221 -rect 425 204 439 223 -rect 466 221 472 238 -rect 489 221 495 238 -rect 466 215 495 221 -rect 130 198 159 204 -rect 130 181 136 198 -rect 153 181 159 198 -rect 130 175 159 181 -rect 274 198 303 204 -rect 274 181 280 198 -rect 297 181 303 198 -rect 274 175 303 181 -rect 418 198 447 204 -rect 418 181 424 198 -rect 441 181 447 198 -rect 418 175 447 181 -rect 137 109 151 175 -rect 281 109 295 175 -rect 425 109 439 175 -rect 130 103 159 109 -rect 130 86 136 103 -rect 153 86 159 103 -rect 130 80 159 86 -rect 274 103 303 109 -rect 274 86 280 103 -rect 297 86 303 103 -rect 274 80 303 86 -rect 418 103 447 109 -rect 418 86 424 103 -rect 441 86 447 103 -rect 418 80 447 86 -rect 473 69 487 215 -rect 82 63 111 69 -rect 82 46 88 63 -rect 105 46 111 63 -rect 82 40 111 46 -rect 466 63 495 69 -rect 466 46 472 63 -rect 489 46 495 63 -rect 322 36 351 42 -rect 466 40 495 46 -rect 322 24 328 36 -rect 0 19 328 24 -rect 345 24 351 36 -rect 345 19 576 24 -rect 0 -24 576 19 +rect 58 301 87 309 +rect 58 284 64 301 +rect 81 284 87 301 +rect 58 278 87 284 +rect 322 301 351 309 +rect 322 284 328 301 +rect 345 284 351 301 +rect 322 278 351 284 +rect 178 243 207 249 +rect 178 226 184 243 +rect 201 226 207 243 +rect 178 220 207 226 +rect 466 243 495 249 +rect 466 226 472 243 +rect 489 226 495 243 +rect 466 220 495 226 +rect 130 201 159 207 +rect 130 184 136 201 +rect 153 184 159 201 +rect 130 178 159 184 +rect 137 114 151 178 +rect 130 108 159 114 +rect 130 91 136 108 +rect 153 91 159 108 +rect 130 85 159 91 +rect 185 106 199 220 +rect 274 201 303 207 +rect 274 184 280 201 +rect 297 184 303 201 +rect 274 178 303 184 +rect 418 201 447 207 +rect 418 184 424 201 +rect 441 184 447 201 +rect 418 178 447 184 +rect 425 114 439 178 +rect 418 108 447 114 +rect 418 106 424 108 +rect 185 92 424 106 +rect 82 67 111 73 +rect 82 50 88 67 +rect 105 66 111 67 +rect 185 66 199 92 +rect 418 91 424 92 +rect 441 91 447 108 +rect 418 85 447 91 +rect 473 73 487 220 +rect 105 52 199 66 +rect 466 67 495 73 +rect 105 50 111 52 +rect 82 44 111 50 +rect 322 49 351 55 +rect 322 32 328 49 +rect 345 32 351 49 +rect 466 50 472 67 +rect 489 50 495 67 +rect 466 44 495 50 +rect 322 24 351 32 +rect 0 -24 576 24 << labels >> rlabel metal1 0 309 576 357 0 VDD port 1 se rlabel metal1 0 -24 576 24 0 GND port 2 se -rlabel metal1 466 40 495 69 0 Y +rlabel metal1 466 44 495 73 0 Y port 3 se -rlabel metal1 473 69 487 215 0 Y +rlabel metal1 473 73 487 220 0 Y port 4 se -rlabel metal1 466 215 495 244 0 Y +rlabel metal1 466 220 495 249 0 Y port 5 se -rlabel metal1 274 80 303 109 0 B +rlabel metal1 130 85 159 114 0 A port 6 se -rlabel metal1 281 109 295 175 0 B +rlabel metal1 137 114 151 178 0 A port 7 se -rlabel metal1 274 175 303 204 0 B +rlabel metal1 130 178 159 207 0 A port 8 se -rlabel metal1 130 80 159 109 0 A +rlabel metal1 274 178 303 207 0 B port 9 se -rlabel metal1 137 109 151 175 0 A -port 10 se -rlabel metal1 130 175 159 204 0 A -port 11 se << properties >> string FIXED_BBOX 0 0 576 333 << end >>
diff --git a/cells/mag/AND2X2.mag b/cells/mag/AND2X2.mag index b915062..c13d187 100644 --- a/cells/mag/AND2X2.mag +++ b/cells/mag/AND2X2.mag
@@ -1,6 +1,6 @@ magic tech sky130A -timestamp 1623602813 +timestamp 1624064208 << nwell >> rect 0 179 576 333 << nmos >> @@ -12,258 +12,252 @@ rect 281 225 296 309 rect 425 225 440 309 << ndiff >> -rect 82 66 111 69 -rect 466 66 495 69 -rect 58 63 137 66 -rect 58 46 88 63 -rect 105 46 137 63 -rect 58 24 137 46 +rect 82 67 111 73 +rect 82 66 88 67 +rect 58 50 88 66 +rect 105 66 111 67 +rect 466 67 495 73 +rect 466 66 472 67 +rect 105 50 137 66 +rect 58 24 137 50 rect 152 24 281 66 -rect 296 36 425 66 -rect 296 24 328 36 -rect 322 19 328 24 -rect 345 24 425 36 -rect 440 63 519 66 -rect 440 46 472 63 -rect 489 46 519 63 -rect 440 24 519 46 -rect 345 19 351 24 -rect 322 13 351 19 +rect 296 49 425 66 +rect 296 32 328 49 +rect 345 32 425 49 +rect 296 24 425 32 +rect 440 50 472 66 +rect 489 66 495 67 +rect 489 50 519 66 +rect 440 24 519 50 << pdiff >> -rect 58 309 87 312 -rect 322 309 351 312 -rect 58 306 137 309 -rect 58 289 64 306 -rect 81 289 137 306 -rect 58 225 137 289 -rect 152 238 281 309 -rect 152 225 184 238 -rect 178 221 184 225 -rect 201 225 281 238 -rect 296 306 425 309 -rect 296 289 328 306 -rect 345 289 425 306 -rect 296 225 425 289 -rect 440 238 519 309 -rect 440 225 472 238 -rect 201 221 207 225 -rect 178 215 207 221 -rect 466 221 472 225 -rect 489 225 519 238 -rect 489 221 495 225 -rect 466 215 495 221 +rect 58 301 137 309 +rect 58 284 64 301 +rect 81 284 137 301 +rect 58 225 137 284 +rect 152 243 281 309 +rect 152 226 184 243 +rect 201 226 281 243 +rect 152 225 281 226 +rect 296 301 425 309 +rect 296 284 328 301 +rect 345 284 425 301 +rect 296 225 425 284 +rect 440 243 519 309 +rect 440 226 472 243 +rect 489 226 519 243 +rect 440 225 519 226 +rect 178 220 207 225 +rect 466 220 495 225 << ndiffc >> -rect 88 46 105 63 -rect 328 19 345 36 -rect 472 46 489 63 +rect 88 50 105 67 +rect 328 32 345 49 +rect 472 50 489 67 << pdiffc >> -rect 64 289 81 306 -rect 184 221 201 238 -rect 328 289 345 306 -rect 472 221 489 238 +rect 64 284 81 301 +rect 184 226 201 243 +rect 328 284 345 301 +rect 472 226 489 243 << poly >> -rect 137 309 152 330 -rect 281 309 296 330 -rect 425 309 440 330 -rect 137 206 152 225 -rect 281 206 296 225 -rect 425 206 440 225 -rect 128 198 161 206 -rect 128 181 136 198 -rect 153 181 161 198 -rect 128 173 161 181 -rect 272 198 305 206 -rect 272 181 280 198 -rect 297 181 305 198 -rect 272 173 305 181 -rect 416 198 449 206 -rect 416 181 424 198 -rect 441 181 449 198 -rect 416 173 449 181 -rect 128 103 161 111 -rect 128 86 136 103 -rect 153 86 161 103 -rect 128 78 161 86 -rect 272 103 305 111 -rect 272 86 280 103 -rect 297 86 305 103 -rect 272 78 305 86 -rect 416 103 449 111 -rect 416 86 424 103 -rect 441 86 449 103 -rect 416 78 449 86 -rect 137 66 152 78 -rect 281 66 296 78 -rect 425 66 440 78 +rect 137 309 152 322 +rect 281 309 296 322 +rect 425 309 440 322 +rect 137 209 152 225 +rect 281 209 296 225 +rect 425 209 440 225 +rect 128 201 161 209 +rect 128 184 136 201 +rect 153 184 161 201 +rect 128 176 161 184 +rect 272 201 305 209 +rect 272 184 280 201 +rect 297 184 305 201 +rect 272 176 305 184 +rect 416 201 449 209 +rect 416 184 424 201 +rect 441 184 449 201 +rect 416 176 449 184 +rect 128 108 161 116 +rect 128 91 136 108 +rect 153 91 161 108 +rect 128 83 161 91 +rect 272 108 305 116 +rect 272 91 280 108 +rect 297 91 305 108 +rect 272 83 305 91 +rect 416 108 449 116 +rect 416 91 424 108 +rect 441 91 449 108 +rect 416 83 449 91 +rect 137 66 152 83 +rect 281 66 296 83 +rect 425 66 440 83 rect 137 11 152 24 rect 281 11 296 24 rect 425 11 440 24 << polycont >> -rect 136 181 153 198 -rect 280 181 297 198 -rect 424 181 441 198 -rect 136 86 153 103 -rect 280 86 297 103 -rect 424 86 441 103 +rect 136 184 153 201 +rect 280 184 297 201 +rect 424 184 441 201 +rect 136 91 153 108 +rect 280 91 297 108 +rect 424 91 441 108 << locali >> -rect 56 306 89 314 -rect 56 289 64 306 -rect 81 289 89 306 -rect 56 281 89 289 -rect 320 306 353 314 -rect 320 289 328 306 -rect 345 289 353 306 -rect 320 281 353 289 -rect 176 238 209 246 -rect 176 223 184 238 -rect 178 221 184 223 -rect 201 221 209 238 -rect 464 238 497 246 -rect 464 223 472 238 -rect 178 213 209 221 -rect 466 221 472 223 -rect 489 221 497 238 -rect 466 213 497 221 -rect 128 198 161 206 -rect 128 181 136 198 -rect 153 181 161 198 -rect 128 173 161 181 -rect 272 198 305 206 -rect 272 181 280 198 -rect 297 181 305 198 -rect 272 173 305 181 -rect 416 198 449 206 -rect 416 181 424 198 -rect 441 181 449 198 -rect 416 173 449 181 -rect 128 103 161 111 -rect 128 88 136 103 -rect 130 86 136 88 -rect 153 86 161 103 -rect 130 78 161 86 -rect 272 103 305 111 -rect 272 86 280 103 -rect 297 86 305 103 -rect 272 78 305 86 -rect 416 103 449 111 -rect 416 86 424 103 -rect 441 86 449 103 -rect 416 78 449 86 -rect 80 63 113 71 -rect 80 46 88 63 -rect 105 46 113 63 -rect 466 63 497 71 -rect 466 61 472 63 -rect 80 38 113 46 -rect 464 46 472 61 -rect 489 46 497 63 -rect 320 36 353 44 -rect 464 38 497 46 -rect 320 19 328 36 -rect 345 19 353 36 -rect 320 11 353 19 +rect 56 301 89 309 +rect 56 284 64 301 +rect 81 284 89 301 +rect 56 276 89 284 +rect 320 301 353 309 +rect 320 284 328 301 +rect 345 284 353 301 +rect 320 276 353 284 +rect 176 243 209 251 +rect 176 226 184 243 +rect 201 226 209 243 +rect 464 243 497 251 +rect 464 226 472 243 +rect 489 226 497 243 +rect 178 218 209 226 +rect 466 218 497 226 +rect 128 201 161 209 +rect 128 184 136 201 +rect 153 184 161 201 +rect 128 176 161 184 +rect 272 201 305 209 +rect 272 184 280 201 +rect 297 184 305 201 +rect 272 176 305 184 +rect 416 201 449 209 +rect 416 184 424 201 +rect 441 184 449 201 +rect 416 176 449 184 +rect 280 116 297 131 +rect 128 108 161 116 +rect 128 92 136 108 +rect 130 91 136 92 +rect 153 91 161 108 +rect 130 83 161 91 +rect 272 108 305 116 +rect 272 91 280 108 +rect 297 91 305 108 +rect 272 83 305 91 +rect 416 108 449 116 +rect 416 91 424 108 +rect 441 91 449 108 +rect 416 83 449 91 +rect 80 67 113 75 +rect 80 50 88 67 +rect 105 50 113 67 +rect 466 67 497 75 +rect 466 66 472 67 +rect 80 42 113 50 +rect 320 49 353 57 +rect 320 32 328 49 +rect 345 32 353 49 +rect 464 50 472 66 +rect 489 50 497 67 +rect 464 42 497 50 +rect 320 24 353 32 << viali >> -rect 64 289 81 306 -rect 328 289 345 306 -rect 184 221 201 238 -rect 472 221 489 238 -rect 136 181 153 198 -rect 280 181 297 198 -rect 424 181 441 198 -rect 136 86 153 103 -rect 280 86 297 103 -rect 424 86 441 103 -rect 88 46 105 63 -rect 472 46 489 63 -rect 328 19 345 36 +rect 64 284 81 301 +rect 328 284 345 301 +rect 184 226 201 243 +rect 472 226 489 243 +rect 136 184 153 201 +rect 280 184 297 201 +rect 424 184 441 201 +rect 280 131 297 148 +rect 136 91 153 108 +rect 424 91 441 108 +rect 88 50 105 67 +rect 328 32 345 49 +rect 472 50 489 67 << metal1 >> rect 0 309 576 357 -rect 58 306 87 309 -rect 58 289 64 306 -rect 81 289 87 306 -rect 58 283 87 289 -rect 322 306 351 309 -rect 322 289 328 306 -rect 345 289 351 306 -rect 322 283 351 289 -rect 178 238 207 244 -rect 178 237 184 238 -rect 89 223 184 237 -rect 89 69 103 223 -rect 178 221 184 223 -rect 201 237 207 238 -rect 466 238 495 244 -rect 201 223 439 237 -rect 201 221 207 223 -rect 178 215 207 221 -rect 425 204 439 223 -rect 466 221 472 238 -rect 489 221 495 238 -rect 466 215 495 221 -rect 130 198 159 204 -rect 130 181 136 198 -rect 153 181 159 198 -rect 130 175 159 181 -rect 274 198 303 204 -rect 274 181 280 198 -rect 297 181 303 198 -rect 274 175 303 181 -rect 418 198 447 204 -rect 418 181 424 198 -rect 441 181 447 198 -rect 418 175 447 181 -rect 137 109 151 175 -rect 281 109 295 175 -rect 425 109 439 175 -rect 130 103 159 109 -rect 130 86 136 103 -rect 153 86 159 103 -rect 130 80 159 86 -rect 274 103 303 109 -rect 274 86 280 103 -rect 297 86 303 103 -rect 274 80 303 86 -rect 418 103 447 109 -rect 418 86 424 103 -rect 441 86 447 103 -rect 418 80 447 86 -rect 473 69 487 215 -rect 82 63 111 69 -rect 82 46 88 63 -rect 105 46 111 63 -rect 82 40 111 46 -rect 466 63 495 69 -rect 466 46 472 63 -rect 489 46 495 63 -rect 322 36 351 42 -rect 466 40 495 46 -rect 322 24 328 36 -rect 0 19 328 24 -rect 345 24 351 36 -rect 345 19 576 24 -rect 0 -24 576 19 +rect 58 301 87 309 +rect 58 284 64 301 +rect 81 284 87 301 +rect 58 278 87 284 +rect 322 301 351 309 +rect 322 284 328 301 +rect 345 284 351 301 +rect 322 278 351 284 +rect 178 243 207 249 +rect 178 226 184 243 +rect 201 226 207 243 +rect 178 220 207 226 +rect 466 243 495 249 +rect 466 226 472 243 +rect 489 226 495 243 +rect 466 220 495 226 +rect 130 201 159 207 +rect 130 184 136 201 +rect 153 184 159 201 +rect 130 178 159 184 +rect 137 114 151 178 +rect 130 108 159 114 +rect 130 91 136 108 +rect 153 91 159 108 +rect 130 85 159 91 +rect 185 106 199 220 +rect 274 201 303 207 +rect 274 184 280 201 +rect 297 184 303 201 +rect 274 178 303 184 +rect 418 201 447 207 +rect 418 184 424 201 +rect 441 184 447 201 +rect 418 178 447 184 +rect 281 154 295 178 +rect 274 148 303 154 +rect 274 131 280 148 +rect 297 131 303 148 +rect 274 125 303 131 +rect 425 114 439 178 +rect 418 108 447 114 +rect 418 106 424 108 +rect 185 92 424 106 +rect 82 67 111 73 +rect 82 50 88 67 +rect 105 66 111 67 +rect 185 66 199 92 +rect 418 91 424 92 +rect 441 91 447 108 +rect 418 85 447 91 +rect 473 73 487 220 +rect 105 52 199 66 +rect 466 67 495 73 +rect 105 50 111 52 +rect 82 44 111 50 +rect 322 49 351 55 +rect 322 32 328 49 +rect 345 32 351 49 +rect 466 50 472 67 +rect 489 50 495 67 +rect 466 44 495 50 +rect 322 24 351 32 +rect 0 -24 576 24 << labels >> rlabel metal1 0 309 576 357 0 VDD port 1 se rlabel metal1 0 -24 576 24 0 GND port 2 se -rlabel metal1 466 40 495 69 0 Y +rlabel metal1 466 44 495 73 0 Y port 3 se -rlabel metal1 473 69 487 215 0 Y +rlabel metal1 473 73 487 220 0 Y port 4 se -rlabel metal1 466 215 495 244 0 Y +rlabel metal1 466 220 495 249 0 Y port 5 se -rlabel metal1 130 80 159 109 0 A +rlabel metal1 274 125 303 154 0 B port 6 se -rlabel metal1 137 109 151 175 0 A +rlabel metal1 281 154 295 178 0 B port 7 se -rlabel metal1 130 175 159 204 0 A +rlabel metal1 274 178 303 207 0 B port 8 se -rlabel metal1 274 80 303 109 0 B +rlabel metal1 130 85 159 114 0 A port 9 se -rlabel metal1 281 109 295 175 0 B +rlabel metal1 137 114 151 178 0 A port 10 se -rlabel metal1 274 175 303 204 0 B +rlabel metal1 130 178 159 207 0 A port 11 se << properties >> string FIXED_BBOX 0 0 576 333
diff --git a/cells/mag/AOI21X1.mag b/cells/mag/AOI21X1.mag index 846899b..78ad1cc 100644 --- a/cells/mag/AOI21X1.mag +++ b/cells/mag/AOI21X1.mag
@@ -1,6 +1,6 @@ magic tech sky130A -timestamp 1623602818 +timestamp 1624064305 << nwell >> rect 0 179 576 333 << nmos >> @@ -12,273 +12,269 @@ rect 281 225 296 309 rect 425 225 440 309 << ndiff >> -rect 82 66 111 69 -rect 466 66 495 69 -rect 58 63 137 66 -rect 58 46 88 63 -rect 105 46 137 63 -rect 58 24 137 46 -rect 152 36 281 66 -rect 152 24 184 36 -rect 178 19 184 24 -rect 201 24 281 36 +rect 82 67 111 73 +rect 82 66 88 67 +rect 58 50 88 66 +rect 105 66 111 67 +rect 466 67 495 73 +rect 466 66 472 67 +rect 105 50 137 66 +rect 58 24 137 50 +rect 152 49 281 66 +rect 152 32 184 49 +rect 201 32 281 49 +rect 152 24 281 32 rect 296 24 425 66 -rect 440 63 519 66 -rect 440 46 472 63 -rect 489 46 519 63 -rect 440 24 519 46 -rect 201 19 207 24 -rect 178 13 207 19 +rect 440 50 472 66 +rect 489 66 495 67 +rect 489 50 519 66 +rect 440 24 519 50 << pdiff >> -rect 322 309 351 312 -rect 58 238 137 309 -rect 58 225 88 238 -rect 82 221 88 225 -rect 105 225 137 238 -rect 152 238 281 309 -rect 152 225 232 238 -rect 105 221 111 225 -rect 82 215 111 221 -rect 226 221 232 225 -rect 249 225 281 238 -rect 296 306 425 309 -rect 296 289 328 306 -rect 345 289 425 306 -rect 296 225 425 289 -rect 440 238 519 309 -rect 440 225 472 238 -rect 249 221 255 225 -rect 226 215 255 221 -rect 466 221 472 225 -rect 489 225 519 238 -rect 489 221 495 225 -rect 466 215 495 221 +rect 58 243 137 309 +rect 58 226 88 243 +rect 105 226 137 243 +rect 58 225 137 226 +rect 152 243 281 309 +rect 152 226 232 243 +rect 249 226 281 243 +rect 152 225 281 226 +rect 296 301 425 309 +rect 296 284 328 301 +rect 345 284 425 301 +rect 296 225 425 284 +rect 440 243 519 309 +rect 440 226 472 243 +rect 489 226 519 243 +rect 440 225 519 226 +rect 82 220 111 225 +rect 226 220 255 225 +rect 466 220 495 225 << ndiffc >> -rect 88 46 105 63 -rect 184 19 201 36 -rect 472 46 489 63 +rect 88 50 105 67 +rect 184 32 201 49 +rect 472 50 489 67 << pdiffc >> -rect 88 221 105 238 -rect 232 221 249 238 -rect 328 289 345 306 -rect 472 221 489 238 +rect 88 226 105 243 +rect 232 226 249 243 +rect 328 284 345 301 +rect 472 226 489 243 << poly >> -rect 137 309 152 330 -rect 281 309 296 330 -rect 425 309 440 330 -rect 137 206 152 225 -rect 281 206 296 225 -rect 425 206 440 225 -rect 128 198 161 206 -rect 128 181 136 198 -rect 153 181 161 198 -rect 128 173 161 181 -rect 272 198 305 206 -rect 272 181 280 198 -rect 297 181 305 198 -rect 272 173 305 181 -rect 416 198 449 206 -rect 416 181 424 198 -rect 441 181 449 198 -rect 416 173 449 181 -rect 128 103 161 111 -rect 128 86 136 103 -rect 153 86 161 103 -rect 128 78 161 86 -rect 272 103 305 111 -rect 272 86 280 103 -rect 297 86 305 103 -rect 272 78 305 86 -rect 416 103 449 111 -rect 416 86 424 103 -rect 441 86 449 103 -rect 416 78 449 86 -rect 137 66 152 78 -rect 281 66 296 78 -rect 425 66 440 78 +rect 137 309 152 322 +rect 281 309 296 322 +rect 425 309 440 322 +rect 137 209 152 225 +rect 281 209 296 225 +rect 425 209 440 225 +rect 128 201 161 209 +rect 128 184 136 201 +rect 153 184 161 201 +rect 128 176 161 184 +rect 272 201 305 209 +rect 272 184 280 201 +rect 297 184 305 201 +rect 272 176 305 184 +rect 416 201 449 209 +rect 416 184 424 201 +rect 441 184 449 201 +rect 416 176 449 184 +rect 128 108 161 116 +rect 128 91 136 108 +rect 153 91 161 108 +rect 128 83 161 91 +rect 272 108 305 116 +rect 272 91 280 108 +rect 297 91 305 108 +rect 272 83 305 91 +rect 416 108 449 116 +rect 416 91 424 108 +rect 441 91 449 108 +rect 416 83 449 91 +rect 137 66 152 83 +rect 281 66 296 83 +rect 425 66 440 83 rect 137 11 152 24 rect 281 11 296 24 rect 425 11 440 24 << polycont >> -rect 136 181 153 198 -rect 280 181 297 198 -rect 424 181 441 198 -rect 136 86 153 103 -rect 280 86 297 103 -rect 424 86 441 103 +rect 136 184 153 201 +rect 280 184 297 201 +rect 424 184 441 201 +rect 136 91 153 108 +rect 280 91 297 108 +rect 424 91 441 108 << locali >> -rect 320 306 353 314 -rect 320 289 328 306 -rect 345 289 353 306 -rect 320 281 353 289 -rect 80 238 113 246 -rect 80 221 88 238 -rect 105 221 113 238 -rect 80 213 113 221 -rect 224 238 257 246 -rect 224 221 232 238 -rect 249 223 257 238 -rect 464 238 497 246 -rect 464 223 472 238 -rect 249 221 255 223 -rect 224 213 255 221 -rect 466 221 472 223 -rect 489 221 497 238 -rect 466 213 497 221 -rect 130 198 161 206 -rect 130 196 136 198 -rect 128 181 136 196 -rect 153 181 161 198 -rect 128 173 161 181 -rect 272 198 305 206 -rect 272 181 280 198 -rect 297 181 305 198 -rect 272 173 305 181 -rect 416 198 449 206 -rect 416 181 424 198 -rect 441 181 449 198 -rect 416 173 449 181 -rect 128 103 161 111 -rect 128 86 136 103 -rect 153 86 161 103 -rect 128 78 161 86 -rect 272 103 305 111 -rect 272 86 280 103 -rect 297 86 305 103 -rect 272 78 305 86 -rect 416 103 449 111 -rect 416 86 424 103 -rect 441 88 449 103 -rect 441 86 447 88 -rect 416 78 447 86 -rect 80 63 111 71 -rect 80 46 88 63 -rect 105 61 111 63 -rect 464 63 497 71 -rect 105 46 113 61 -rect 80 38 113 46 -rect 464 46 472 63 -rect 489 46 497 63 -rect 176 36 209 44 -rect 464 38 497 46 -rect 176 11 184 36 -rect 201 11 209 36 +rect 320 301 353 309 +rect 320 284 328 301 +rect 345 284 353 301 +rect 320 276 353 284 +rect 80 243 113 251 +rect 80 226 88 243 +rect 105 226 113 243 +rect 80 218 113 226 +rect 224 243 257 251 +rect 224 226 232 243 +rect 249 226 257 243 +rect 464 243 497 251 +rect 464 226 472 243 +rect 489 226 497 243 +rect 224 218 255 226 +rect 466 218 497 226 +rect 130 201 161 209 +rect 128 184 136 201 +rect 153 184 161 201 +rect 128 176 161 184 +rect 272 201 305 209 +rect 272 184 280 201 +rect 297 184 305 201 +rect 272 176 305 184 +rect 416 201 449 209 +rect 416 184 424 201 +rect 441 184 449 201 +rect 416 176 449 184 +rect 128 108 161 116 +rect 128 91 136 108 +rect 153 91 161 108 +rect 128 83 161 91 +rect 272 108 305 116 +rect 272 91 280 108 +rect 297 91 305 108 +rect 272 83 305 91 +rect 416 108 449 116 +rect 416 91 424 108 +rect 441 92 449 108 +rect 441 91 447 92 +rect 416 83 447 91 +rect 80 67 111 75 +rect 80 50 88 67 +rect 105 66 111 67 +rect 464 67 497 75 +rect 105 50 113 66 +rect 80 42 113 50 +rect 176 49 209 57 +rect 176 32 184 49 +rect 201 32 209 49 +rect 464 50 472 67 +rect 489 50 497 67 +rect 464 42 497 50 +rect 176 27 209 32 +rect 176 24 184 27 +rect 201 24 209 27 << viali >> -rect 328 289 345 306 -rect 88 221 105 238 -rect 232 221 249 238 -rect 472 221 489 238 -rect 136 181 153 198 -rect 280 181 297 198 -rect 424 181 441 198 -rect 136 86 153 103 -rect 280 86 297 103 -rect 424 86 441 103 -rect 88 46 105 63 -rect 472 46 489 63 -rect 184 19 201 22 -rect 184 5 201 19 +rect 328 284 345 301 +rect 88 226 105 243 +rect 232 226 249 243 +rect 472 226 489 243 +rect 136 184 153 201 +rect 280 184 297 201 +rect 424 184 441 201 +rect 136 91 153 108 +rect 280 91 297 108 +rect 424 91 441 108 +rect 88 50 105 67 +rect 472 50 489 67 +rect 184 10 201 27 << metal1 >> rect 0 309 576 357 -rect 322 306 351 309 -rect 322 289 328 306 -rect 345 289 351 306 -rect 322 283 351 289 -rect 82 238 111 244 -rect 82 221 88 238 -rect 105 221 111 238 -rect 82 215 111 221 -rect 226 238 255 244 -rect 226 221 232 238 -rect 249 237 255 238 -rect 466 238 495 244 -rect 466 237 472 238 -rect 249 223 472 237 -rect 249 221 255 223 -rect 226 215 255 221 -rect 466 221 472 223 -rect 489 221 495 238 -rect 466 215 495 221 -rect 89 69 103 215 -rect 130 198 159 204 -rect 130 181 136 198 -rect 153 181 159 198 -rect 130 175 159 181 -rect 274 198 303 204 -rect 274 181 280 198 -rect 297 181 303 198 -rect 274 175 303 181 -rect 418 198 447 204 -rect 418 181 424 198 -rect 441 181 447 198 -rect 418 175 447 181 -rect 137 109 151 175 -rect 281 109 295 175 -rect 425 109 439 175 -rect 130 103 159 109 -rect 130 86 136 103 -rect 153 86 159 103 -rect 130 80 159 86 -rect 274 103 303 109 -rect 274 86 280 103 -rect 297 86 303 103 -rect 274 80 303 86 -rect 418 103 447 109 -rect 418 86 424 103 -rect 441 86 447 103 -rect 418 80 447 86 -rect 82 63 111 69 -rect 82 46 88 63 -rect 105 61 111 63 -rect 466 63 495 69 -rect 466 61 472 63 -rect 105 47 472 61 -rect 105 46 111 47 -rect 82 40 111 46 -rect 466 46 472 47 -rect 489 46 495 63 -rect 466 40 495 46 -rect 178 24 207 28 -rect 0 22 576 24 -rect 0 5 184 22 -rect 201 5 576 22 -rect 0 -24 576 5 +rect 322 301 351 309 +rect 322 284 328 301 +rect 345 284 351 301 +rect 322 278 351 284 +rect 82 243 111 249 +rect 82 226 88 243 +rect 105 226 111 243 +rect 82 220 111 226 +rect 226 243 255 249 +rect 226 226 232 243 +rect 249 241 255 243 +rect 466 243 495 249 +rect 466 241 472 243 +rect 249 227 472 241 +rect 249 226 255 227 +rect 226 220 255 226 +rect 466 226 472 227 +rect 489 226 495 243 +rect 466 220 495 226 +rect 89 73 103 220 +rect 130 201 159 207 +rect 130 184 136 201 +rect 153 184 159 201 +rect 130 178 159 184 +rect 274 201 303 207 +rect 274 184 280 201 +rect 297 184 303 201 +rect 274 178 303 184 +rect 418 201 447 207 +rect 418 184 424 201 +rect 441 184 447 201 +rect 418 178 447 184 +rect 137 114 151 178 +rect 281 114 295 178 +rect 425 114 439 178 +rect 130 108 159 114 +rect 130 91 136 108 +rect 153 91 159 108 +rect 130 85 159 91 +rect 274 108 303 114 +rect 274 91 280 108 +rect 297 91 303 108 +rect 274 85 303 91 +rect 418 108 447 114 +rect 418 91 424 108 +rect 441 91 447 108 +rect 418 85 447 91 +rect 82 67 111 73 +rect 82 50 88 67 +rect 105 66 111 67 +rect 466 67 495 73 +rect 466 66 472 67 +rect 105 52 472 66 +rect 105 50 111 52 +rect 82 44 111 50 +rect 466 50 472 52 +rect 489 50 495 67 +rect 466 44 495 50 +rect 178 27 207 33 +rect 178 24 184 27 +rect 0 10 184 24 +rect 201 24 207 27 +rect 201 10 576 24 +rect 0 -24 576 10 << labels >> rlabel metal1 0 309 576 357 0 VDD port 1 se rlabel metal1 0 -24 576 24 0 GND port 2 se -rlabel metal1 82 40 111 47 0 Y +rlabel metal1 82 44 111 52 0 Y port 3 se -rlabel metal1 466 40 495 47 0 Y +rlabel metal1 466 44 495 52 0 Y port 4 se -rlabel metal1 82 47 495 61 0 Y +rlabel metal1 82 52 495 66 0 Y port 5 se -rlabel metal1 82 61 111 69 0 Y +rlabel metal1 82 66 111 73 0 Y port 6 se -rlabel metal1 466 61 495 69 0 Y +rlabel metal1 466 66 495 73 0 Y port 7 se -rlabel metal1 89 69 103 215 0 Y +rlabel metal1 89 73 103 220 0 Y port 8 se -rlabel metal1 82 215 111 244 0 Y +rlabel metal1 82 220 111 249 0 Y port 9 se -rlabel metal1 418 80 447 109 0 B +rlabel metal1 418 85 447 114 0 B port 10 se -rlabel metal1 425 109 439 175 0 B +rlabel metal1 425 114 439 178 0 B port 11 se -rlabel metal1 418 175 447 204 0 B +rlabel metal1 418 178 447 207 0 B port 12 se -rlabel metal1 274 80 303 109 0 A +rlabel metal1 130 85 159 114 0 C port 13 se -rlabel metal1 281 109 295 175 0 A +rlabel metal1 137 114 151 178 0 C port 14 se -rlabel metal1 274 175 303 204 0 A +rlabel metal1 130 178 159 207 0 C port 15 se -rlabel metal1 130 80 159 109 0 C +rlabel metal1 274 85 303 114 0 A port 16 se -rlabel metal1 137 109 151 175 0 C +rlabel metal1 281 114 295 178 0 A port 17 se -rlabel metal1 130 175 159 204 0 C +rlabel metal1 274 178 303 207 0 A port 18 se << properties >> string FIXED_BBOX 0 0 576 333
diff --git a/cells/mag/AOI22X1.mag b/cells/mag/AOI22X1.mag index dbaeb44..8f3680a 100644 --- a/cells/mag/AOI22X1.mag +++ b/cells/mag/AOI22X1.mag
@@ -1,6 +1,6 @@ magic tech sky130A -timestamp 1623602822 +timestamp 1624064452 << nwell >> rect 0 179 720 333 << nmos >> @@ -14,331 +14,347 @@ rect 425 225 440 309 rect 569 225 584 309 << ndiff >> -rect 82 66 111 69 -rect 610 66 639 69 -rect 58 63 137 66 -rect 58 46 88 63 -rect 105 46 137 63 -rect 58 24 137 46 +rect 82 67 111 73 +rect 82 66 88 67 +rect 58 50 88 66 +rect 105 66 111 67 +rect 610 67 639 73 +rect 610 66 616 67 +rect 105 50 137 66 +rect 58 24 137 50 rect 152 24 281 66 -rect 296 36 425 66 -rect 296 24 328 36 -rect 322 19 328 24 -rect 345 24 425 36 +rect 296 49 425 66 +rect 296 32 328 49 +rect 345 32 425 49 +rect 296 24 425 32 rect 440 24 569 66 -rect 584 63 663 66 -rect 584 46 616 63 -rect 633 46 663 63 -rect 584 24 663 46 -rect 345 19 351 24 -rect 322 13 351 19 +rect 584 50 616 66 +rect 633 66 639 67 +rect 633 50 663 66 +rect 584 24 663 50 << pdiff >> -rect 178 309 207 312 -rect 58 238 137 309 -rect 58 225 88 238 -rect 82 221 88 225 -rect 105 225 137 238 -rect 152 306 281 309 -rect 152 289 184 306 -rect 201 289 281 306 -rect 152 225 281 289 -rect 296 238 425 309 -rect 296 225 328 238 -rect 105 221 111 225 -rect 82 215 111 221 -rect 322 221 328 225 -rect 345 225 425 238 -rect 440 238 569 309 -rect 440 225 472 238 -rect 345 221 351 225 -rect 322 215 351 221 -rect 466 221 472 225 -rect 489 225 569 238 -rect 584 279 663 309 -rect 584 262 616 279 -rect 633 262 663 279 -rect 584 225 663 262 -rect 489 221 495 225 -rect 466 215 495 221 +rect 58 243 137 309 +rect 58 226 88 243 +rect 105 226 137 243 +rect 58 225 137 226 +rect 152 301 281 309 +rect 152 284 184 301 +rect 201 284 281 301 +rect 152 225 281 284 +rect 296 283 425 309 +rect 296 266 376 283 +rect 393 266 425 283 +rect 296 243 425 266 +rect 296 226 328 243 +rect 345 226 425 243 +rect 296 225 425 226 +rect 440 243 569 309 +rect 440 226 520 243 +rect 537 226 569 243 +rect 440 225 569 226 +rect 584 283 663 309 +rect 584 266 616 283 +rect 633 266 663 283 +rect 584 225 663 266 +rect 82 220 111 225 +rect 322 220 351 225 +rect 514 220 543 225 << ndiffc >> -rect 88 46 105 63 -rect 328 19 345 36 -rect 616 46 633 63 +rect 88 50 105 67 +rect 328 32 345 49 +rect 616 50 633 67 << pdiffc >> -rect 88 221 105 238 -rect 184 289 201 306 -rect 328 221 345 238 -rect 472 221 489 238 -rect 616 262 633 279 +rect 88 226 105 243 +rect 184 284 201 301 +rect 376 266 393 283 +rect 328 226 345 243 +rect 520 226 537 243 +rect 616 266 633 283 << poly >> -rect 137 309 152 330 -rect 281 309 296 330 -rect 425 309 440 330 -rect 569 309 584 330 -rect 137 206 152 225 -rect 281 206 296 225 -rect 425 206 440 225 -rect 569 206 584 225 -rect 128 198 161 206 -rect 128 181 136 198 -rect 153 181 161 198 -rect 128 173 161 181 -rect 272 198 305 206 -rect 272 181 280 198 -rect 297 181 305 198 -rect 272 173 305 181 -rect 416 198 449 206 -rect 416 181 424 198 -rect 441 181 449 198 -rect 416 173 449 181 -rect 560 198 593 206 -rect 560 181 568 198 -rect 585 181 593 198 -rect 560 173 593 181 -rect 128 103 161 111 -rect 128 86 136 103 -rect 153 86 161 103 -rect 128 78 161 86 -rect 272 103 305 111 -rect 272 86 280 103 -rect 297 86 305 103 -rect 272 78 305 86 -rect 416 103 449 111 -rect 416 86 424 103 -rect 441 86 449 103 -rect 416 78 449 86 -rect 560 103 593 111 -rect 560 86 568 103 -rect 585 86 593 103 -rect 560 78 593 86 -rect 137 66 152 78 -rect 281 66 296 78 -rect 425 66 440 78 -rect 569 66 584 78 +rect 137 309 152 322 +rect 281 309 296 322 +rect 425 309 440 322 +rect 569 309 584 322 +rect 137 209 152 225 +rect 281 209 296 225 +rect 425 209 440 225 +rect 569 209 584 225 +rect 128 201 161 209 +rect 128 184 136 201 +rect 153 184 161 201 +rect 128 176 161 184 +rect 272 201 305 209 +rect 272 184 280 201 +rect 297 184 305 201 +rect 272 176 305 184 +rect 416 201 449 209 +rect 416 184 424 201 +rect 441 184 449 201 +rect 416 176 449 184 +rect 560 201 593 209 +rect 560 184 568 201 +rect 585 184 593 201 +rect 560 176 593 184 +rect 128 108 161 116 +rect 128 91 136 108 +rect 153 91 161 108 +rect 128 83 161 91 +rect 272 108 305 116 +rect 272 91 280 108 +rect 297 91 305 108 +rect 272 83 305 91 +rect 416 108 449 116 +rect 416 91 424 108 +rect 441 91 449 108 +rect 416 83 449 91 +rect 560 108 593 116 +rect 560 91 568 108 +rect 585 91 593 108 +rect 560 83 593 91 +rect 137 66 152 83 +rect 281 66 296 83 +rect 425 66 440 83 +rect 569 66 584 83 rect 137 11 152 24 rect 281 11 296 24 rect 425 11 440 24 rect 569 11 584 24 << polycont >> -rect 136 181 153 198 -rect 280 181 297 198 -rect 424 181 441 198 -rect 568 181 585 198 -rect 136 86 153 103 -rect 280 86 297 103 -rect 424 86 441 103 -rect 568 86 585 103 +rect 136 184 153 201 +rect 280 184 297 201 +rect 424 184 441 201 +rect 568 184 585 201 +rect 136 91 153 108 +rect 280 91 297 108 +rect 424 91 441 108 +rect 568 91 585 108 << locali >> -rect 176 306 209 314 -rect 176 289 184 306 -rect 201 289 209 306 -rect 176 281 209 289 -rect 608 279 641 287 -rect 608 262 616 279 -rect 633 262 641 279 -rect 608 254 641 262 -rect 80 238 113 246 -rect 80 221 88 238 -rect 105 221 113 238 -rect 320 238 353 246 -rect 320 223 328 238 -rect 80 213 113 221 -rect 322 221 328 223 -rect 345 221 353 238 -rect 464 238 497 246 -rect 464 223 472 238 -rect 322 213 353 221 -rect 466 221 472 223 -rect 489 221 497 238 -rect 466 213 497 221 -rect 130 198 161 206 -rect 130 196 136 198 -rect 128 181 136 196 -rect 153 181 161 198 -rect 128 173 161 181 -rect 272 198 305 206 -rect 272 181 280 198 -rect 297 181 305 198 -rect 272 173 305 181 -rect 416 198 449 206 -rect 416 181 424 198 -rect 441 181 449 198 -rect 416 173 449 181 -rect 560 198 593 206 -rect 560 181 568 198 -rect 585 181 593 198 -rect 560 173 593 181 -rect 128 103 161 111 -rect 128 86 136 103 -rect 153 86 161 103 -rect 128 78 161 86 -rect 272 103 305 111 -rect 272 86 280 103 -rect 297 86 305 103 -rect 272 78 305 86 -rect 416 103 449 111 -rect 416 86 424 103 -rect 441 86 449 103 -rect 416 78 449 86 -rect 560 103 593 111 -rect 560 86 568 103 -rect 585 88 593 103 -rect 585 86 591 88 -rect 560 78 591 86 -rect 80 63 111 71 -rect 80 46 88 63 -rect 105 61 111 63 -rect 608 63 641 71 -rect 105 46 113 61 -rect 80 38 113 46 -rect 608 46 616 63 -rect 633 46 641 63 -rect 320 36 353 44 -rect 608 38 641 46 -rect 320 11 328 36 -rect 345 11 353 36 +rect 176 301 209 309 +rect 176 284 184 301 +rect 201 284 209 301 +rect 176 276 209 284 +rect 368 283 401 291 +rect 368 266 376 283 +rect 393 266 401 283 +rect 368 258 401 266 +rect 608 283 641 291 +rect 608 266 616 283 +rect 633 266 641 283 +rect 608 258 641 266 +rect 80 243 113 251 +rect 80 226 88 243 +rect 105 226 113 243 +rect 320 243 351 251 +rect 320 226 328 243 +rect 345 241 351 243 +rect 512 243 545 251 +rect 345 226 353 241 +rect 80 218 111 226 +rect 320 218 353 226 +rect 512 226 520 243 +rect 537 226 545 243 +rect 512 218 543 226 +rect 128 201 161 209 +rect 128 184 136 201 +rect 153 184 161 201 +rect 128 176 161 184 +rect 272 201 303 209 +rect 416 201 449 209 +rect 272 184 280 201 +rect 297 184 305 201 +rect 272 176 305 184 +rect 416 184 424 201 +rect 441 184 449 201 +rect 416 176 449 184 +rect 560 201 593 209 +rect 560 184 568 201 +rect 585 184 593 201 +rect 560 176 593 184 +rect 128 108 161 116 +rect 128 91 136 108 +rect 153 91 161 108 +rect 128 83 161 91 +rect 272 108 305 116 +rect 272 91 280 108 +rect 297 91 305 108 +rect 272 83 305 91 +rect 416 108 449 116 +rect 416 91 424 108 +rect 441 91 449 108 +rect 416 83 449 91 +rect 560 108 593 116 +rect 560 91 568 108 +rect 585 91 593 108 +rect 560 83 593 91 +rect 80 67 111 75 +rect 80 50 88 67 +rect 105 66 111 67 +rect 610 67 641 75 +rect 610 66 616 67 +rect 105 50 113 66 +rect 80 42 113 50 +rect 320 49 353 57 +rect 320 32 328 49 +rect 345 32 353 49 +rect 608 50 616 66 +rect 633 50 641 67 +rect 608 42 641 50 +rect 320 27 353 32 +rect 320 24 328 27 +rect 345 24 353 27 << viali >> -rect 184 289 201 306 -rect 616 262 633 279 -rect 88 221 105 238 -rect 328 221 345 238 -rect 472 221 489 238 -rect 136 181 153 198 -rect 280 181 297 198 -rect 424 181 441 198 -rect 568 181 585 198 -rect 136 86 153 103 -rect 280 86 297 103 -rect 424 86 441 103 -rect 568 86 585 103 -rect 88 46 105 63 -rect 616 46 633 63 -rect 328 19 345 22 -rect 328 5 345 19 +rect 184 284 201 301 +rect 376 266 393 283 +rect 616 266 633 283 +rect 88 226 105 243 +rect 328 226 345 243 +rect 520 226 537 243 +rect 136 184 153 201 +rect 280 184 297 201 +rect 424 184 441 201 +rect 568 184 585 201 +rect 136 91 153 108 +rect 280 91 297 108 +rect 424 91 441 108 +rect 568 91 585 108 +rect 88 50 105 67 +rect 616 50 633 67 +rect 328 10 345 27 << metal1 >> rect 0 309 720 357 -rect 178 306 207 309 -rect 178 289 184 306 -rect 201 289 207 306 -rect 178 283 207 289 -rect 610 279 639 285 -rect 610 277 616 279 -rect 329 263 616 277 -rect 329 244 343 263 -rect 610 262 616 263 -rect 633 262 639 279 -rect 610 256 639 262 -rect 82 238 111 244 -rect 82 221 88 238 -rect 105 237 111 238 -rect 322 238 351 244 -rect 322 237 328 238 -rect 105 223 328 237 -rect 105 221 111 223 -rect 82 215 111 221 -rect 322 221 328 223 -rect 345 221 351 238 -rect 322 215 351 221 -rect 466 238 495 244 -rect 466 221 472 238 -rect 489 221 495 238 -rect 466 215 495 221 -rect 130 198 159 204 -rect 130 181 136 198 -rect 153 181 159 198 -rect 130 175 159 181 -rect 274 198 303 204 -rect 274 181 280 198 -rect 297 181 303 198 -rect 274 175 303 181 -rect 418 198 447 204 -rect 418 181 424 198 -rect 441 181 447 198 -rect 418 175 447 181 -rect 137 109 151 175 -rect 281 109 295 175 -rect 425 109 439 175 -rect 130 103 159 109 -rect 130 86 136 103 -rect 153 86 159 103 -rect 130 80 159 86 -rect 274 103 303 109 -rect 274 86 280 103 -rect 297 86 303 103 -rect 274 80 303 86 -rect 418 103 447 109 -rect 418 86 424 103 -rect 441 86 447 103 -rect 418 80 447 86 -rect 82 63 111 69 -rect 82 46 88 63 -rect 105 61 111 63 -rect 473 61 487 215 -rect 562 198 591 204 -rect 562 181 568 198 -rect 585 181 591 198 -rect 562 175 591 181 -rect 569 109 583 175 -rect 562 103 591 109 -rect 562 86 568 103 -rect 585 86 591 103 -rect 562 80 591 86 -rect 610 63 639 69 -rect 610 61 616 63 -rect 105 47 616 61 -rect 105 46 111 47 -rect 82 40 111 46 -rect 610 46 616 47 -rect 633 46 639 63 -rect 610 40 639 46 -rect 322 24 351 28 -rect 0 22 720 24 -rect 0 5 328 22 -rect 345 5 720 22 -rect 0 -24 720 5 +rect 178 301 207 309 +rect 178 284 184 301 +rect 201 284 207 301 +rect 178 278 207 284 +rect 370 283 399 289 +rect 370 266 376 283 +rect 393 282 399 283 +rect 610 283 639 289 +rect 610 282 616 283 +rect 393 268 616 282 +rect 393 266 399 268 +rect 370 260 399 266 +rect 610 266 616 268 +rect 633 266 639 283 +rect 610 260 639 266 +rect 82 243 111 249 +rect 82 226 88 243 +rect 105 241 111 243 +rect 322 243 351 249 +rect 322 241 328 243 +rect 105 227 328 241 +rect 105 226 111 227 +rect 82 220 111 226 +rect 322 226 328 227 +rect 345 226 351 243 +rect 322 220 351 226 +rect 514 243 543 249 +rect 514 226 520 243 +rect 537 241 543 243 +rect 537 227 631 241 +rect 537 226 543 227 +rect 514 220 543 226 +rect 130 201 159 207 +rect 130 184 136 201 +rect 153 184 159 201 +rect 130 178 159 184 +rect 274 201 303 207 +rect 274 184 280 201 +rect 297 184 303 201 +rect 274 178 303 184 +rect 418 201 447 207 +rect 418 184 424 201 +rect 441 184 447 201 +rect 418 178 447 184 +rect 562 201 591 207 +rect 562 184 568 201 +rect 585 184 591 201 +rect 562 178 591 184 +rect 137 114 151 178 +rect 281 114 295 178 +rect 425 114 439 178 +rect 569 114 583 178 +rect 130 108 159 114 +rect 130 91 136 108 +rect 153 91 159 108 +rect 130 85 159 91 +rect 274 108 303 114 +rect 274 91 280 108 +rect 297 91 303 108 +rect 274 85 303 91 +rect 418 108 447 114 +rect 418 91 424 108 +rect 441 91 447 108 +rect 418 85 447 91 +rect 562 108 591 114 +rect 562 91 568 108 +rect 585 91 591 108 +rect 562 85 591 91 +rect 617 73 631 227 +rect 82 67 111 73 +rect 82 50 88 67 +rect 105 66 111 67 +rect 610 67 639 73 +rect 610 66 616 67 +rect 105 52 616 66 +rect 105 50 111 52 +rect 82 44 111 50 +rect 610 50 616 52 +rect 633 50 639 67 +rect 610 44 639 50 +rect 322 27 351 33 +rect 322 24 328 27 +rect 0 10 328 24 +rect 345 24 351 27 +rect 345 10 720 24 +rect 0 -24 720 10 << labels >> rlabel metal1 0 309 720 357 0 VDD port 1 se rlabel metal1 0 -24 720 24 0 GND port 2 se -rlabel metal1 82 40 111 47 0 Y +rlabel metal1 82 44 111 52 0 Y port 3 se -rlabel metal1 610 40 639 47 0 Y +rlabel metal1 610 44 639 52 0 Y port 4 se -rlabel metal1 82 47 639 61 0 Y +rlabel metal1 82 52 639 66 0 Y port 5 se -rlabel metal1 82 61 111 69 0 Y +rlabel metal1 82 66 111 73 0 Y port 6 se -rlabel metal1 610 61 639 69 0 Y +rlabel metal1 610 66 639 73 0 Y port 7 se -rlabel metal1 473 61 487 215 0 Y +rlabel metal1 514 220 543 227 0 Y port 8 se -rlabel metal1 466 215 495 244 0 Y +rlabel metal1 617 73 631 227 0 Y port 9 se -rlabel metal1 130 80 159 109 0 B +rlabel metal1 514 227 631 241 0 Y port 10 se -rlabel metal1 137 109 151 175 0 B +rlabel metal1 514 241 543 249 0 Y port 11 se -rlabel metal1 130 175 159 204 0 B +rlabel metal1 562 85 591 114 0 D port 12 se -rlabel metal1 274 80 303 109 0 A +rlabel metal1 569 114 583 178 0 D port 13 se -rlabel metal1 281 109 295 175 0 A +rlabel metal1 562 178 591 207 0 D port 14 se -rlabel metal1 274 175 303 204 0 A +rlabel metal1 418 85 447 114 0 C port 15 se -rlabel metal1 418 80 447 109 0 C +rlabel metal1 425 114 439 178 0 C port 16 se -rlabel metal1 425 109 439 175 0 C +rlabel metal1 418 178 447 207 0 C port 17 se -rlabel metal1 418 175 447 204 0 C +rlabel metal1 274 85 303 114 0 A port 18 se -rlabel metal1 562 80 591 109 0 D +rlabel metal1 281 114 295 178 0 A port 19 se -rlabel metal1 569 109 583 175 0 D +rlabel metal1 274 178 303 207 0 A port 20 se -rlabel metal1 562 175 591 204 0 D +rlabel metal1 130 85 159 114 0 B port 21 se +rlabel metal1 137 114 151 178 0 B +port 22 se +rlabel metal1 130 178 159 207 0 B +port 23 se << properties >> string FIXED_BBOX 0 0 720 333 << end >>
diff --git a/cells/mag/BUFX2.mag b/cells/mag/BUFX2.mag index 0991872..bb75283 100644 --- a/cells/mag/BUFX2.mag +++ b/cells/mag/BUFX2.mag
@@ -1,6 +1,6 @@ magic tech sky130A -timestamp 1623602826 +timestamp 1624064557 << nwell >> rect 0 179 432 333 << nmos >> @@ -10,200 +10,185 @@ rect 137 225 152 309 rect 281 225 296 309 << ndiff >> -rect 58 66 87 69 -rect 322 66 351 69 -rect 58 63 137 66 -rect 58 46 64 63 -rect 81 46 137 63 -rect 58 24 137 46 -rect 152 36 281 66 -rect 152 24 184 36 -rect 178 19 184 24 -rect 201 24 281 36 -rect 296 63 375 66 -rect 296 46 328 63 -rect 345 46 375 63 -rect 296 24 375 46 -rect 201 19 207 24 -rect 178 13 207 19 +rect 58 67 87 73 +rect 58 50 64 67 +rect 81 66 87 67 +rect 322 67 351 73 +rect 322 66 328 67 +rect 81 50 137 66 +rect 58 24 137 50 +rect 152 49 281 66 +rect 152 32 184 49 +rect 201 32 281 49 +rect 152 24 281 32 +rect 296 50 328 66 +rect 345 66 351 67 +rect 345 50 375 66 +rect 296 24 375 50 << pdiff >> -rect 178 309 207 312 -rect 58 238 137 309 -rect 58 221 64 238 -rect 81 225 137 238 -rect 152 306 281 309 -rect 152 289 184 306 -rect 201 289 281 306 -rect 152 225 281 289 -rect 296 238 375 309 -rect 296 225 328 238 -rect 81 221 87 225 -rect 58 215 87 221 -rect 322 221 328 225 -rect 345 225 375 238 -rect 345 221 351 225 -rect 322 215 351 221 +rect 58 243 137 309 +rect 58 226 64 243 +rect 81 226 137 243 +rect 58 225 137 226 +rect 152 301 281 309 +rect 152 284 184 301 +rect 201 284 281 301 +rect 152 225 281 284 +rect 296 243 375 309 +rect 296 226 328 243 +rect 345 226 375 243 +rect 296 225 375 226 +rect 58 220 87 225 +rect 322 220 351 225 << ndiffc >> -rect 64 46 81 63 -rect 184 19 201 36 -rect 328 46 345 63 +rect 64 50 81 67 +rect 184 32 201 49 +rect 328 50 345 67 << pdiffc >> -rect 64 221 81 238 -rect 184 289 201 306 -rect 328 221 345 238 +rect 64 226 81 243 +rect 184 284 201 301 +rect 328 226 345 243 << poly >> -rect 137 309 152 330 -rect 281 309 296 330 -rect 137 206 152 225 -rect 281 206 296 225 -rect 128 198 161 206 -rect 128 181 136 198 -rect 153 181 161 198 -rect 128 173 161 181 -rect 272 198 305 206 -rect 272 181 280 198 -rect 297 181 305 198 -rect 272 173 305 181 -rect 128 103 161 111 -rect 128 86 136 103 -rect 153 86 161 103 -rect 128 78 161 86 -rect 272 103 305 111 -rect 272 86 280 103 -rect 297 86 305 103 -rect 272 78 305 86 -rect 137 66 152 78 -rect 281 66 296 78 +rect 137 309 152 322 +rect 281 309 296 322 +rect 137 209 152 225 +rect 281 209 296 225 +rect 128 201 161 209 +rect 128 184 136 201 +rect 153 184 161 201 +rect 128 176 161 184 +rect 272 201 305 209 +rect 272 184 280 201 +rect 297 184 305 201 +rect 272 176 305 184 +rect 128 108 161 116 +rect 128 91 136 108 +rect 153 91 161 108 +rect 128 83 161 91 +rect 272 108 305 116 +rect 272 91 280 108 +rect 297 91 305 108 +rect 272 83 305 91 +rect 137 66 152 83 +rect 281 66 296 83 rect 137 11 152 24 rect 281 11 296 24 << polycont >> -rect 136 181 153 198 -rect 280 181 297 198 -rect 136 86 153 103 -rect 280 86 297 103 +rect 136 184 153 201 +rect 280 184 297 201 +rect 136 91 153 108 +rect 280 91 297 108 << locali >> -rect 176 306 209 314 -rect 176 289 184 306 -rect 201 289 209 306 -rect 176 281 209 289 -rect 56 238 89 246 -rect 56 221 64 238 -rect 81 221 89 238 -rect 56 213 89 221 -rect 320 238 353 246 -rect 320 221 328 238 -rect 345 221 353 238 -rect 320 213 353 221 -rect 128 198 161 206 -rect 128 181 136 198 -rect 153 181 161 198 -rect 128 173 161 181 -rect 272 198 303 206 -rect 272 181 280 198 -rect 297 196 303 198 -rect 297 181 305 196 -rect 272 173 305 181 -rect 136 157 153 173 -rect 128 103 161 111 -rect 128 86 136 103 -rect 153 86 161 103 -rect 128 78 161 86 -rect 272 103 305 111 -rect 272 86 280 103 -rect 297 88 305 103 -rect 297 86 303 88 -rect 272 78 303 86 -rect 56 63 89 71 -rect 56 46 64 63 -rect 81 46 89 63 -rect 56 38 89 46 -rect 320 63 353 71 -rect 320 46 328 63 -rect 345 46 353 63 -rect 176 36 209 44 -rect 320 38 353 46 -rect 176 19 184 36 -rect 201 19 209 36 -rect 176 11 209 19 +rect 176 301 209 309 +rect 176 284 184 301 +rect 201 284 209 301 +rect 176 276 209 284 +rect 56 243 89 251 +rect 56 226 64 243 +rect 81 226 89 243 +rect 56 218 89 226 +rect 320 243 353 251 +rect 320 226 328 243 +rect 345 226 353 243 +rect 320 218 353 226 +rect 128 201 161 209 +rect 128 184 136 201 +rect 153 184 161 201 +rect 128 176 161 184 +rect 272 201 303 209 +rect 272 184 280 201 +rect 297 184 305 201 +rect 272 176 305 184 +rect 136 116 153 176 +rect 128 108 161 116 +rect 128 91 136 108 +rect 153 91 161 108 +rect 128 83 161 91 +rect 272 108 305 116 +rect 272 91 280 108 +rect 297 92 305 108 +rect 297 91 303 92 +rect 272 83 303 91 +rect 56 67 89 75 +rect 56 50 64 67 +rect 81 50 89 67 +rect 320 67 353 75 +rect 56 42 89 50 +rect 176 49 209 57 +rect 176 32 184 49 +rect 201 32 209 49 +rect 320 50 328 67 +rect 345 50 353 67 +rect 320 42 353 50 +rect 176 24 209 32 << viali >> -rect 184 289 201 306 -rect 64 221 81 238 -rect 328 221 345 238 -rect 280 181 297 198 -rect 136 140 153 157 -rect 136 86 153 103 -rect 280 86 297 103 -rect 64 46 81 63 -rect 328 46 345 63 -rect 184 19 201 36 +rect 184 284 201 301 +rect 64 226 81 243 +rect 328 226 345 243 +rect 136 184 153 201 +rect 280 184 297 201 +rect 280 91 297 108 +rect 64 50 81 67 +rect 184 32 201 49 +rect 328 50 345 67 << metal1 >> rect 0 309 432 357 -rect 178 306 207 309 -rect 178 289 184 306 -rect 201 289 207 306 -rect 178 283 207 289 -rect 58 238 87 244 -rect 58 221 64 238 -rect 81 221 87 238 -rect 58 215 87 221 -rect 322 238 351 244 -rect 322 221 328 238 -rect 345 221 351 238 -rect 322 215 351 221 -rect 65 196 79 215 -rect 274 198 303 204 -rect 274 196 280 198 -rect 65 182 280 196 -rect 65 69 79 182 -rect 274 181 280 182 -rect 297 181 303 198 -rect 274 175 303 181 -rect 130 157 159 163 -rect 130 140 136 157 -rect 153 140 159 157 -rect 130 134 159 140 -rect 137 109 151 134 -rect 281 109 295 175 -rect 130 103 159 109 -rect 130 86 136 103 -rect 153 86 159 103 -rect 130 80 159 86 -rect 274 103 303 109 -rect 274 86 280 103 -rect 297 86 303 103 -rect 274 80 303 86 -rect 329 69 343 215 -rect 58 63 87 69 -rect 58 46 64 63 -rect 81 46 87 63 -rect 58 40 87 46 -rect 322 63 351 69 -rect 322 46 328 63 -rect 345 46 351 63 -rect 178 36 207 42 -rect 322 40 351 46 -rect 178 24 184 36 -rect 0 19 184 24 -rect 201 24 207 36 -rect 201 19 432 24 -rect 0 -24 432 19 +rect 178 301 207 309 +rect 178 284 184 301 +rect 201 284 207 301 +rect 178 278 207 284 +rect 58 243 87 249 +rect 58 226 64 243 +rect 81 226 87 243 +rect 58 220 87 226 +rect 322 243 351 249 +rect 322 226 328 243 +rect 345 226 351 243 +rect 322 220 351 226 +rect 65 106 79 220 +rect 130 201 159 207 +rect 130 184 136 201 +rect 153 184 159 201 +rect 130 178 159 184 +rect 274 201 303 207 +rect 274 184 280 201 +rect 297 184 303 201 +rect 274 178 303 184 +rect 281 114 295 178 +rect 274 108 303 114 +rect 274 106 280 108 +rect 65 92 280 106 +rect 65 73 79 92 +rect 274 91 280 92 +rect 297 91 303 108 +rect 274 85 303 91 +rect 329 73 343 220 +rect 58 67 87 73 +rect 58 50 64 67 +rect 81 50 87 67 +rect 322 67 351 73 +rect 58 44 87 50 +rect 178 49 207 55 +rect 178 32 184 49 +rect 201 32 207 49 +rect 322 50 328 67 +rect 345 50 351 67 +rect 322 44 351 50 +rect 178 24 207 32 +rect 0 -24 432 24 << labels >> rlabel metal1 0 309 432 357 0 VDD port 1 se rlabel metal1 0 -24 432 24 0 GND port 2 se -rlabel metal1 322 40 351 69 0 Y +rlabel metal1 322 44 351 73 0 Y port 3 se -rlabel metal1 329 69 343 215 0 Y +rlabel metal1 329 73 343 220 0 Y port 4 se -rlabel metal1 322 215 351 244 0 Y +rlabel metal1 322 220 351 249 0 Y port 5 se -rlabel metal1 130 80 159 109 0 A +rlabel metal1 130 178 159 207 0 A port 6 se -rlabel metal1 137 109 151 134 0 A -port 7 se -rlabel metal1 130 134 159 163 0 A -port 8 se << properties >> string FIXED_BBOX 0 0 432 333 << end >>
diff --git a/cells/mag/HAX1.mag b/cells/mag/HAX1.mag index b9d9579..c256c6c 100644 --- a/cells/mag/HAX1.mag +++ b/cells/mag/HAX1.mag
@@ -1,6 +1,6 @@ magic tech sky130A -timestamp 1623602949 +timestamp 1624065832 << nwell >> rect 0 179 1584 333 << nmos >> @@ -20,216 +20,204 @@ rect 1145 225 1160 309 rect 1433 225 1448 309 << ndiff >> -rect 58 66 87 69 -rect 346 66 375 69 -rect 1042 66 1071 69 -rect 1474 66 1503 69 -rect 58 63 137 66 -rect 58 46 64 63 -rect 81 46 137 63 -rect 58 24 137 46 -rect 152 36 231 66 -rect 152 24 184 36 -rect 178 19 184 24 -rect 201 24 231 36 -rect 346 63 425 66 -rect 346 46 352 63 -rect 369 46 425 63 -rect 346 24 425 46 +rect 58 67 87 73 +rect 58 50 64 67 +rect 81 66 87 67 +rect 346 67 375 73 +rect 81 50 137 66 +rect 58 24 137 50 +rect 152 49 231 66 +rect 152 32 184 49 +rect 201 32 231 49 +rect 152 24 231 32 +rect 346 50 352 67 +rect 369 66 375 67 +rect 946 67 975 73 +rect 946 66 952 67 +rect 369 50 425 66 +rect 346 24 425 50 rect 440 24 569 66 -rect 584 36 663 66 -rect 584 24 616 36 -rect 201 19 207 24 -rect 178 13 207 19 -rect 610 19 616 24 -rect 633 24 663 36 -rect 778 36 857 66 -rect 633 19 639 24 -rect 610 13 639 19 -rect 778 19 784 36 -rect 801 24 857 36 -rect 872 36 1001 66 -rect 872 24 952 36 -rect 801 19 807 24 -rect 778 13 807 19 -rect 946 19 952 24 -rect 969 24 1001 36 -rect 1016 63 1145 66 -rect 1016 46 1048 63 -rect 1065 46 1145 63 -rect 1016 24 1145 46 -rect 1160 36 1239 66 -rect 1160 24 1192 36 -rect 969 19 975 24 -rect 946 13 975 19 -rect 1186 19 1192 24 -rect 1209 24 1239 36 -rect 1354 36 1433 66 -rect 1209 19 1215 24 -rect 1186 13 1215 19 -rect 1354 19 1360 36 -rect 1377 24 1433 36 -rect 1448 63 1527 66 -rect 1448 46 1480 63 -rect 1497 46 1527 63 -rect 1448 24 1527 46 -rect 1377 19 1383 24 -rect 1354 13 1383 19 +rect 584 49 663 66 +rect 584 32 616 49 +rect 633 32 663 49 +rect 584 24 663 32 +rect 778 49 857 66 +rect 778 32 784 49 +rect 801 32 857 49 +rect 778 24 857 32 +rect 872 50 952 66 +rect 969 66 975 67 +rect 1042 67 1071 73 +rect 1042 66 1048 67 +rect 969 50 1001 66 +rect 872 24 1001 50 +rect 1016 50 1048 66 +rect 1065 66 1071 67 +rect 1186 67 1215 73 +rect 1186 66 1192 67 +rect 1065 50 1145 66 +rect 1016 24 1145 50 +rect 1160 50 1192 66 +rect 1209 66 1215 67 +rect 1474 67 1503 73 +rect 1474 66 1480 67 +rect 1209 50 1239 66 +rect 1160 24 1239 50 +rect 1354 49 1433 66 +rect 1354 32 1360 49 +rect 1377 32 1433 49 +rect 1354 24 1433 32 +rect 1448 50 1480 66 +rect 1497 66 1503 67 +rect 1497 50 1527 66 +rect 1448 24 1527 50 << pdiff >> -rect 178 309 207 312 -rect 466 309 495 312 -rect 778 309 807 312 -rect 1186 309 1215 312 -rect 1354 309 1383 312 -rect 58 238 137 309 -rect 58 221 64 238 -rect 81 225 137 238 -rect 152 306 231 309 -rect 152 289 184 306 -rect 201 289 231 306 -rect 152 225 231 289 -rect 346 238 425 309 -rect 81 221 87 225 -rect 58 215 87 221 -rect 346 221 352 238 -rect 369 225 425 238 -rect 440 306 569 309 -rect 440 289 472 306 -rect 489 289 569 306 -rect 440 225 569 289 -rect 584 238 663 309 -rect 584 225 616 238 -rect 369 221 375 225 -rect 346 215 375 221 -rect 610 221 616 225 -rect 633 225 663 238 -rect 778 306 857 309 -rect 778 289 784 306 -rect 801 289 857 306 -rect 778 225 857 289 -rect 872 238 1001 309 -rect 872 225 952 238 -rect 633 221 639 225 -rect 610 215 639 221 -rect 946 221 952 225 -rect 969 225 1001 238 +rect 58 243 137 309 +rect 58 226 64 243 +rect 81 226 137 243 +rect 58 225 137 226 +rect 152 301 231 309 +rect 152 284 184 301 +rect 201 284 231 301 +rect 152 225 231 284 +rect 346 243 425 309 +rect 346 226 352 243 +rect 369 226 425 243 +rect 346 225 425 226 +rect 440 301 569 309 +rect 440 284 472 301 +rect 489 284 569 301 +rect 440 225 569 284 +rect 584 243 663 309 +rect 584 226 616 243 +rect 633 226 663 243 +rect 584 225 663 226 +rect 778 301 857 309 +rect 778 284 784 301 +rect 801 284 857 301 +rect 778 225 857 284 +rect 872 243 1001 309 +rect 872 226 952 243 +rect 969 226 1001 243 +rect 872 225 1001 226 rect 1016 225 1145 309 -rect 1160 306 1239 309 -rect 1160 289 1192 306 -rect 1209 289 1239 306 -rect 1160 225 1239 289 -rect 1354 306 1433 309 -rect 1354 289 1360 306 -rect 1377 289 1433 306 -rect 1354 225 1433 289 -rect 1448 238 1527 309 -rect 1448 225 1480 238 -rect 969 221 975 225 -rect 946 215 975 221 -rect 1474 221 1480 225 -rect 1497 225 1527 238 -rect 1497 221 1503 225 -rect 1474 215 1503 221 +rect 1160 301 1239 309 +rect 1160 284 1192 301 +rect 1209 284 1239 301 +rect 1160 225 1239 284 +rect 1354 301 1433 309 +rect 1354 284 1360 301 +rect 1377 284 1433 301 +rect 1354 225 1433 284 +rect 1448 243 1527 309 +rect 1448 226 1480 243 +rect 1497 226 1527 243 +rect 1448 225 1527 226 +rect 58 220 87 225 +rect 346 220 375 225 +rect 610 220 639 225 +rect 946 220 975 225 +rect 1474 220 1503 225 << ndiffc >> -rect 64 46 81 63 -rect 184 19 201 36 -rect 352 46 369 63 -rect 616 19 633 36 -rect 784 19 801 36 -rect 952 19 969 36 -rect 1048 46 1065 63 -rect 1192 19 1209 36 -rect 1360 19 1377 36 -rect 1480 46 1497 63 +rect 64 50 81 67 +rect 184 32 201 49 +rect 352 50 369 67 +rect 616 32 633 49 +rect 784 32 801 49 +rect 952 50 969 67 +rect 1048 50 1065 67 +rect 1192 50 1209 67 +rect 1360 32 1377 49 +rect 1480 50 1497 67 << pdiffc >> -rect 64 221 81 238 -rect 184 289 201 306 -rect 352 221 369 238 -rect 472 289 489 306 -rect 616 221 633 238 -rect 784 289 801 306 -rect 952 221 969 238 -rect 1192 289 1209 306 -rect 1360 289 1377 306 -rect 1480 221 1497 238 +rect 64 226 81 243 +rect 184 284 201 301 +rect 352 226 369 243 +rect 472 284 489 301 +rect 616 226 633 243 +rect 784 284 801 301 +rect 952 226 969 243 +rect 1192 284 1209 301 +rect 1360 284 1377 301 +rect 1480 226 1497 243 << poly >> -rect 137 309 152 330 -rect 425 309 440 330 -rect 569 309 584 330 -rect 857 309 872 330 -rect 1001 309 1016 330 -rect 1145 309 1160 330 -rect 1433 309 1448 330 -rect 137 206 152 225 -rect 425 206 440 225 -rect 569 206 584 225 -rect 857 206 872 225 -rect 1001 206 1016 225 -rect 1145 206 1160 225 -rect 1433 206 1448 225 -rect 128 198 161 206 -rect 128 181 136 198 -rect 153 181 161 198 -rect 128 173 161 181 -rect 416 198 449 206 -rect 416 181 424 198 -rect 441 181 449 198 -rect 416 173 449 181 -rect 560 198 593 206 -rect 560 181 568 198 -rect 585 181 593 198 -rect 560 173 593 181 -rect 848 198 881 206 -rect 848 181 856 198 -rect 873 181 881 198 -rect 848 173 881 181 -rect 992 198 1025 206 -rect 992 181 1000 198 -rect 1017 181 1025 198 -rect 992 173 1025 181 -rect 1136 198 1169 206 -rect 1136 181 1144 198 -rect 1161 181 1169 198 -rect 1136 173 1169 181 -rect 1424 198 1457 206 -rect 1424 181 1432 198 -rect 1449 181 1457 198 -rect 1424 173 1457 181 -rect 128 103 161 111 -rect 128 86 136 103 -rect 153 86 161 103 -rect 128 78 161 86 -rect 416 103 449 111 -rect 416 86 424 103 -rect 441 86 449 103 -rect 416 78 449 86 -rect 560 103 593 111 -rect 560 86 568 103 -rect 585 86 593 103 -rect 560 78 593 86 -rect 848 103 881 111 -rect 848 86 856 103 -rect 873 86 881 103 -rect 848 78 881 86 -rect 992 103 1025 111 -rect 992 86 1000 103 -rect 1017 86 1025 103 -rect 992 78 1025 86 -rect 1136 103 1169 111 -rect 1136 86 1144 103 -rect 1161 86 1169 103 -rect 1136 78 1169 86 -rect 1424 103 1457 111 -rect 1424 86 1432 103 -rect 1449 86 1457 103 -rect 1424 78 1457 86 -rect 137 66 152 78 -rect 425 66 440 78 -rect 569 66 584 78 -rect 857 66 872 78 -rect 1001 66 1016 78 -rect 1145 66 1160 78 -rect 1433 66 1448 78 +rect 137 309 152 322 +rect 425 309 440 322 +rect 569 309 584 322 +rect 857 309 872 322 +rect 1001 309 1016 322 +rect 1145 309 1160 322 +rect 1433 309 1448 322 +rect 137 209 152 225 +rect 425 209 440 225 +rect 569 209 584 225 +rect 857 209 872 225 +rect 1001 209 1016 225 +rect 1145 209 1160 225 +rect 1433 209 1448 225 +rect 128 201 161 209 +rect 128 184 136 201 +rect 153 184 161 201 +rect 128 176 161 184 +rect 416 201 449 209 +rect 416 184 424 201 +rect 441 184 449 201 +rect 416 176 449 184 +rect 560 201 593 209 +rect 560 184 568 201 +rect 585 184 593 201 +rect 560 176 593 184 +rect 848 201 881 209 +rect 848 184 856 201 +rect 873 184 881 201 +rect 848 176 881 184 +rect 992 201 1025 209 +rect 992 184 1000 201 +rect 1017 184 1025 201 +rect 992 176 1025 184 +rect 1136 201 1169 209 +rect 1136 184 1144 201 +rect 1161 184 1169 201 +rect 1136 176 1169 184 +rect 1424 201 1457 209 +rect 1424 184 1432 201 +rect 1449 184 1457 201 +rect 1424 176 1457 184 +rect 128 108 161 116 +rect 128 91 136 108 +rect 153 91 161 108 +rect 128 83 161 91 +rect 416 108 449 116 +rect 416 91 424 108 +rect 441 91 449 108 +rect 416 83 449 91 +rect 560 108 593 116 +rect 560 91 568 108 +rect 585 91 593 108 +rect 560 83 593 91 +rect 848 108 881 116 +rect 848 91 856 108 +rect 873 91 881 108 +rect 848 83 881 91 +rect 992 108 1025 116 +rect 992 91 1000 108 +rect 1017 91 1025 108 +rect 992 83 1025 91 +rect 1136 108 1169 116 +rect 1136 91 1144 108 +rect 1161 91 1169 108 +rect 1136 83 1169 91 +rect 1424 108 1457 116 +rect 1424 91 1432 108 +rect 1449 91 1457 108 +rect 1424 83 1457 91 +rect 137 66 152 83 +rect 425 66 440 83 +rect 569 66 584 83 +rect 857 66 872 83 +rect 1001 66 1016 83 +rect 1145 66 1160 83 +rect 1433 66 1448 83 rect 137 11 152 24 rect 425 11 440 24 rect 569 11 584 24 @@ -238,403 +226,423 @@ rect 1145 11 1160 24 rect 1433 11 1448 24 << polycont >> -rect 136 181 153 198 -rect 424 181 441 198 -rect 568 181 585 198 -rect 856 181 873 198 -rect 1000 181 1017 198 -rect 1144 181 1161 198 -rect 1432 181 1449 198 -rect 136 86 153 103 -rect 424 86 441 103 -rect 568 86 585 103 -rect 856 86 873 103 -rect 1000 86 1017 103 -rect 1144 86 1161 103 -rect 1432 86 1449 103 +rect 136 184 153 201 +rect 424 184 441 201 +rect 568 184 585 201 +rect 856 184 873 201 +rect 1000 184 1017 201 +rect 1144 184 1161 201 +rect 1432 184 1449 201 +rect 136 91 153 108 +rect 424 91 441 108 +rect 568 91 585 108 +rect 856 91 873 108 +rect 1000 91 1017 108 +rect 1144 91 1161 108 +rect 1432 91 1449 108 << locali >> -rect 176 306 209 314 -rect 176 289 184 306 -rect 201 289 209 306 -rect 176 281 209 289 -rect 464 306 497 314 -rect 464 289 472 306 -rect 489 289 497 306 -rect 464 281 497 289 -rect 776 289 784 314 -rect 801 289 809 314 -rect 776 281 809 289 -rect 1184 306 1217 314 -rect 1184 289 1192 306 -rect 1209 289 1217 306 -rect 1184 281 1217 289 -rect 1352 306 1385 314 -rect 1352 289 1360 306 -rect 1377 289 1385 306 -rect 1352 281 1385 289 -rect 56 238 89 246 -rect 56 221 64 238 -rect 81 221 89 238 -rect 56 213 89 221 -rect 344 238 377 246 -rect 344 221 352 238 -rect 369 221 377 238 -rect 344 213 377 221 -rect 568 206 585 262 -rect 608 238 641 246 -rect 608 221 616 238 -rect 633 221 641 238 -rect 608 213 641 221 -rect 944 238 977 246 -rect 944 221 952 238 -rect 969 223 977 238 -rect 1472 238 1505 246 -rect 1472 223 1480 238 -rect 969 221 975 223 -rect 944 213 975 221 -rect 1474 221 1480 223 -rect 1497 221 1505 238 -rect 1474 213 1505 221 -rect 128 198 161 206 -rect 128 181 136 198 -rect 153 181 161 198 -rect 128 173 161 181 -rect 416 198 449 206 -rect 416 181 424 198 -rect 441 181 449 198 -rect 416 173 449 181 -rect 560 198 591 206 -rect 560 181 568 198 -rect 585 196 591 198 -rect 848 198 881 206 -rect 585 181 593 196 -rect 560 173 593 181 -rect 848 181 856 198 -rect 873 181 881 198 -rect 848 173 881 181 -rect 992 198 1025 206 -rect 992 181 1000 198 -rect 1017 181 1025 198 -rect 992 173 1025 181 -rect 1136 198 1169 206 -rect 1136 181 1144 198 -rect 1161 181 1169 198 -rect 1136 173 1169 181 -rect 1424 198 1457 206 -rect 1424 181 1432 198 -rect 1449 181 1457 198 -rect 1424 173 1457 181 -rect 128 103 161 111 -rect 128 86 136 103 -rect 153 86 161 103 -rect 128 78 161 86 -rect 416 103 449 111 -rect 416 86 424 103 -rect 441 86 449 103 -rect 416 78 449 86 -rect 560 103 593 111 -rect 560 86 568 103 -rect 585 86 593 103 -rect 560 78 593 86 -rect 848 103 881 111 -rect 848 86 856 103 -rect 873 86 881 103 -rect 848 78 881 86 -rect 992 103 1025 111 -rect 992 86 1000 103 -rect 1017 86 1025 103 -rect 992 78 1025 86 -rect 1136 103 1169 111 -rect 1136 86 1144 103 -rect 1161 86 1169 103 -rect 1136 78 1169 86 -rect 1424 103 1457 111 -rect 1424 86 1432 103 -rect 1449 88 1457 103 -rect 1449 86 1455 88 -rect 1424 78 1455 86 -rect 56 63 89 71 -rect 56 46 64 63 -rect 81 46 89 63 -rect 56 38 89 46 -rect 344 63 377 71 -rect 344 46 352 63 -rect 369 46 377 63 -rect 1042 63 1073 71 -rect 1042 61 1048 63 -rect 176 36 209 44 -rect 344 38 377 46 -rect 1040 46 1048 61 -rect 1065 46 1073 63 -rect 176 19 184 36 -rect 201 19 209 36 -rect 176 11 209 19 -rect 608 36 641 44 -rect 608 11 616 36 -rect 633 11 641 36 -rect 776 36 809 44 -rect 776 11 784 36 -rect 801 11 809 36 -rect 944 36 977 44 -rect 1040 39 1073 46 -rect 1472 63 1505 71 -rect 1472 46 1480 63 -rect 1497 46 1505 63 -rect 944 19 952 36 -rect 969 22 977 36 -rect 1184 36 1217 44 -rect 1184 22 1192 36 -rect 969 19 1192 22 -rect 1209 19 1217 36 -rect 944 11 1217 19 -rect 1352 36 1385 44 -rect 1472 38 1505 46 -rect 1352 11 1360 36 -rect 952 5 1209 11 -rect 1377 11 1385 36 +rect 176 301 209 309 +rect 176 284 184 301 +rect 201 284 209 301 +rect 176 276 209 284 +rect 464 301 497 309 +rect 464 284 472 301 +rect 489 284 497 301 +rect 464 276 497 284 +rect 776 301 809 309 +rect 776 284 784 301 +rect 801 284 809 301 +rect 776 276 809 284 +rect 1184 301 1217 309 +rect 1184 284 1192 301 +rect 1209 284 1217 301 +rect 1184 276 1217 284 +rect 1352 301 1385 309 +rect 1352 284 1360 301 +rect 1377 284 1385 301 +rect 1352 276 1385 284 +rect 56 243 89 251 +rect 56 226 64 243 +rect 81 226 89 243 +rect 56 218 89 226 +rect 344 243 377 251 +rect 344 226 352 243 +rect 369 226 377 243 +rect 344 218 377 226 +rect 608 243 641 251 +rect 608 226 616 243 +rect 633 226 641 243 +rect 608 218 641 226 +rect 944 243 977 251 +rect 944 226 952 243 +rect 969 226 977 243 +rect 1472 243 1505 251 +rect 1472 226 1480 243 +rect 1497 226 1505 243 +rect 944 218 975 226 +rect 1474 218 1505 226 +rect 128 201 161 209 +rect 128 184 136 201 +rect 153 184 161 201 +rect 128 176 161 184 +rect 416 201 449 209 +rect 416 184 424 201 +rect 441 184 449 201 +rect 416 176 449 184 +rect 560 201 591 209 +rect 848 201 881 209 +rect 560 184 568 201 +rect 585 184 593 201 +rect 560 176 593 184 +rect 848 184 856 201 +rect 873 184 881 201 +rect 848 176 881 184 +rect 992 201 1025 209 +rect 992 176 1000 201 +rect 856 116 873 176 +rect 1017 176 1025 201 +rect 1136 201 1169 209 +rect 1000 116 1017 172 +rect 1136 184 1144 201 +rect 1161 184 1169 201 +rect 1136 176 1169 184 +rect 1424 201 1457 209 +rect 1424 184 1432 201 +rect 1449 184 1457 201 +rect 1424 176 1457 184 +rect 128 108 161 116 +rect 128 91 136 108 +rect 153 91 161 108 +rect 128 83 161 91 +rect 416 108 449 116 +rect 416 91 424 108 +rect 441 91 449 108 +rect 416 83 449 91 +rect 560 108 593 116 +rect 560 91 568 108 +rect 585 91 593 108 +rect 560 83 593 91 +rect 848 108 881 116 +rect 848 91 856 108 +rect 873 91 881 108 +rect 848 83 881 91 +rect 992 108 1025 116 +rect 992 91 1000 108 +rect 1017 92 1025 108 +rect 1017 91 1023 92 +rect 992 83 1023 91 +rect 1048 75 1065 172 +rect 1136 108 1169 116 +rect 1136 91 1144 108 +rect 1161 91 1169 108 +rect 1136 83 1169 91 +rect 1424 108 1457 116 +rect 1424 91 1432 108 +rect 1449 92 1457 108 +rect 1449 91 1455 92 +rect 1424 83 1455 91 +rect 56 67 89 75 +rect 56 50 64 67 +rect 81 50 89 67 +rect 344 67 377 75 +rect 56 42 89 50 +rect 176 49 209 57 +rect 176 32 184 49 +rect 201 32 209 49 +rect 344 50 352 67 +rect 369 50 377 67 +rect 944 67 975 75 +rect 344 42 377 50 +rect 608 49 641 57 +rect 176 24 209 32 +rect 608 32 616 49 +rect 633 32 641 49 +rect 608 27 641 32 +rect 608 24 616 27 +rect 633 24 641 27 +rect 776 49 809 57 +rect 776 32 784 49 +rect 801 32 809 49 +rect 944 50 952 67 +rect 969 66 975 67 +rect 1040 67 1073 75 +rect 969 50 977 66 +rect 944 42 977 50 +rect 1040 50 1048 67 +rect 1065 50 1073 67 +rect 1186 67 1217 75 +rect 1186 66 1192 67 +rect 1040 42 1073 50 +rect 1184 50 1192 66 +rect 1209 50 1217 67 +rect 1472 67 1505 75 +rect 1184 42 1217 50 +rect 1352 49 1385 57 +rect 776 27 809 32 +rect 776 24 784 27 +rect 801 24 809 27 +rect 1352 32 1360 49 +rect 1377 32 1385 49 +rect 1472 50 1480 67 +rect 1497 50 1505 67 +rect 1472 42 1505 50 +rect 1352 24 1385 32 << viali >> -rect 184 289 201 306 -rect 472 289 489 306 -rect 784 306 801 319 -rect 784 302 801 306 -rect 1192 289 1209 306 -rect 1360 289 1377 306 -rect 568 262 585 279 -rect 64 221 81 238 -rect 352 221 369 238 -rect 616 221 633 238 -rect 952 221 969 238 -rect 1480 221 1497 238 -rect 136 181 153 198 -rect 424 181 441 198 -rect 568 181 585 198 -rect 856 181 873 198 -rect 1000 181 1017 198 -rect 1144 181 1161 198 -rect 1432 181 1449 198 -rect 136 86 153 103 -rect 424 86 441 103 -rect 568 86 585 103 -rect 856 86 873 103 -rect 1000 86 1017 103 -rect 1144 86 1161 103 -rect 1432 86 1449 103 -rect 64 46 81 63 -rect 352 46 369 63 -rect 1048 46 1065 63 -rect 184 19 201 36 -rect 616 19 633 22 -rect 616 5 633 19 -rect 784 19 801 22 -rect 784 5 801 19 -rect 1480 46 1497 63 -rect 1360 19 1377 22 -rect 1360 5 1377 19 +rect 184 284 201 301 +rect 472 284 489 301 +rect 784 284 801 301 +rect 1192 284 1209 301 +rect 1360 284 1377 301 +rect 64 226 81 243 +rect 352 226 369 243 +rect 616 226 633 243 +rect 952 226 969 243 +rect 1480 226 1497 243 +rect 136 184 153 201 +rect 424 184 441 201 +rect 568 184 585 201 +rect 856 184 873 201 +rect 1000 184 1017 201 +rect 1000 172 1017 184 +rect 1048 172 1065 189 +rect 1144 184 1161 201 +rect 1432 184 1449 201 +rect 136 91 153 108 +rect 424 91 441 108 +rect 568 91 585 108 +rect 1000 91 1017 108 +rect 1144 91 1161 108 +rect 1432 91 1449 108 +rect 64 50 81 67 +rect 184 32 201 49 +rect 352 50 369 67 +rect 616 10 633 27 +rect 952 50 969 67 +rect 1192 50 1209 67 +rect 784 10 801 27 +rect 1360 32 1377 49 +rect 1480 50 1497 67 << metal1 >> -rect 0 319 1584 357 -rect 0 309 784 319 -rect 178 306 207 309 -rect 178 289 184 306 -rect 201 289 207 306 -rect 178 283 207 289 -rect 466 306 495 309 -rect 466 289 472 306 -rect 489 289 495 306 -rect 778 302 784 309 -rect 801 309 1584 319 -rect 801 302 807 309 -rect 778 296 807 302 -rect 1186 306 1215 309 -rect 466 283 495 289 -rect 1186 289 1192 306 -rect 1209 289 1215 306 -rect 562 279 591 285 -rect 1186 283 1215 289 -rect 1354 306 1383 309 -rect 1354 289 1360 306 -rect 1377 289 1383 306 -rect 1354 283 1383 289 -rect 562 262 568 279 -rect 585 277 591 279 -rect 585 263 1159 277 -rect 585 262 591 263 -rect 562 256 591 262 -rect 58 238 87 244 -rect 58 221 64 238 -rect 81 221 87 238 -rect 58 215 87 221 -rect 346 238 375 244 -rect 346 221 352 238 -rect 369 237 375 238 -rect 610 238 639 244 -rect 610 237 616 238 -rect 369 223 616 237 -rect 369 221 375 223 -rect 346 215 375 221 -rect 610 221 616 223 -rect 633 237 639 238 -rect 946 238 975 244 -rect 633 223 871 237 -rect 633 221 639 223 -rect 610 215 639 221 -rect 65 69 79 215 -rect 130 198 159 204 -rect 130 181 136 198 -rect 153 181 159 198 -rect 130 175 159 181 -rect 137 109 151 175 -rect 130 103 159 109 -rect 130 86 136 103 -rect 153 102 159 103 -rect 353 102 367 215 -rect 857 204 871 223 -rect 946 221 952 238 -rect 969 237 975 238 -rect 969 223 1063 237 -rect 969 221 975 223 -rect 946 215 975 221 -rect 418 198 447 204 -rect 418 181 424 198 -rect 441 181 447 198 -rect 418 175 447 181 -rect 562 198 591 204 -rect 562 181 568 198 -rect 585 181 591 198 -rect 562 175 591 181 -rect 850 198 879 204 -rect 850 181 856 198 -rect 873 181 879 198 -rect 850 175 879 181 -rect 994 198 1023 204 -rect 994 181 1000 198 -rect 1017 181 1023 198 -rect 994 175 1023 181 -rect 425 109 439 175 -rect 569 109 583 175 -rect 857 109 871 175 -rect 1001 109 1015 175 -rect 153 88 367 102 -rect 153 86 159 88 -rect 130 80 159 86 -rect 353 69 367 88 -rect 418 103 447 109 -rect 418 86 424 103 -rect 441 86 447 103 -rect 418 80 447 86 -rect 562 103 591 109 -rect 562 86 568 103 -rect 585 86 591 103 -rect 562 80 591 86 -rect 850 103 879 109 -rect 850 86 856 103 -rect 873 86 879 103 -rect 850 80 879 86 -rect 994 103 1023 109 -rect 994 86 1000 103 -rect 1017 86 1023 103 -rect 994 80 1023 86 -rect 58 63 87 69 -rect 58 46 64 63 -rect 81 46 87 63 -rect 58 40 87 46 -rect 346 63 375 69 -rect 346 46 352 63 -rect 369 46 375 63 -rect 425 61 439 80 -rect 1001 61 1015 80 -rect 1049 69 1063 223 -rect 1145 204 1159 263 -rect 1474 238 1503 244 -rect 1474 221 1480 238 -rect 1497 221 1503 238 -rect 1474 215 1503 221 -rect 1138 198 1167 204 -rect 1138 181 1144 198 -rect 1161 181 1167 198 -rect 1138 175 1167 181 -rect 1426 198 1455 204 -rect 1426 181 1432 198 -rect 1449 181 1455 198 -rect 1426 175 1455 181 -rect 1145 109 1159 175 -rect 1433 109 1447 175 -rect 1138 103 1167 109 -rect 1138 86 1144 103 -rect 1161 86 1167 103 -rect 1138 80 1167 86 -rect 1426 103 1455 109 -rect 1426 86 1432 103 -rect 1449 86 1455 103 -rect 1426 80 1455 86 -rect 425 47 1015 61 -rect 1042 63 1071 69 -rect 178 36 207 42 -rect 346 40 375 46 -rect 1042 46 1048 63 -rect 1065 61 1071 63 -rect 1433 61 1447 80 -rect 1481 69 1495 215 -rect 1065 47 1447 61 -rect 1474 63 1503 69 -rect 1065 46 1071 47 -rect 1042 40 1071 46 -rect 1474 46 1480 63 -rect 1497 46 1503 63 -rect 1474 40 1503 46 -rect 178 24 184 36 -rect 0 19 184 24 -rect 201 24 207 36 -rect 610 24 639 28 -rect 778 24 807 28 -rect 1354 24 1383 28 -rect 201 22 1584 24 -rect 201 19 616 22 -rect 0 5 616 19 -rect 633 5 784 22 -rect 801 5 1360 22 -rect 1377 5 1584 22 -rect 0 -24 1584 5 +rect 0 309 1584 357 +rect 178 301 207 309 +rect 178 284 184 301 +rect 201 284 207 301 +rect 178 278 207 284 +rect 466 301 495 309 +rect 466 284 472 301 +rect 489 284 495 301 +rect 466 278 495 284 +rect 778 301 807 309 +rect 778 284 784 301 +rect 801 284 807 301 +rect 778 278 807 284 +rect 1186 301 1215 309 +rect 1186 284 1192 301 +rect 1209 284 1215 301 +rect 1186 278 1215 284 +rect 1354 301 1383 309 +rect 1354 284 1360 301 +rect 1377 284 1383 301 +rect 1354 278 1383 284 +rect 58 243 87 249 +rect 58 226 64 243 +rect 81 226 87 243 +rect 58 220 87 226 +rect 346 243 375 249 +rect 346 226 352 243 +rect 369 241 375 243 +rect 610 243 639 249 +rect 610 241 616 243 +rect 369 227 616 241 +rect 369 226 375 227 +rect 346 220 375 226 +rect 610 226 616 227 +rect 633 241 639 243 +rect 946 243 975 249 +rect 633 227 871 241 +rect 633 226 639 227 +rect 610 220 639 226 +rect 65 73 79 220 +rect 130 201 159 207 +rect 130 184 136 201 +rect 153 200 159 201 +rect 353 200 367 220 +rect 857 207 871 227 +rect 946 226 952 243 +rect 969 241 975 243 +rect 1474 243 1503 249 +rect 969 227 1447 241 +rect 969 226 975 227 +rect 946 220 975 226 +rect 153 186 367 200 +rect 153 184 159 186 +rect 130 178 159 184 +rect 137 114 151 178 +rect 130 108 159 114 +rect 130 91 136 108 +rect 153 91 159 108 +rect 130 85 159 91 +rect 353 73 367 186 +rect 418 201 447 207 +rect 418 184 424 201 +rect 441 184 447 201 +rect 418 178 447 184 +rect 562 201 591 207 +rect 562 184 568 201 +rect 585 184 591 201 +rect 562 178 591 184 +rect 850 201 879 207 +rect 850 184 856 201 +rect 873 184 879 201 +rect 850 178 879 184 +rect 994 201 1023 207 +rect 425 114 439 178 +rect 569 147 583 178 +rect 994 172 1000 201 +rect 1017 172 1023 201 +rect 1049 195 1063 227 +rect 1433 207 1447 227 +rect 1474 226 1480 243 +rect 1497 226 1503 243 +rect 1474 220 1503 226 +rect 1138 201 1167 207 +rect 994 166 1023 172 +rect 1042 189 1071 195 +rect 1042 172 1048 189 +rect 1065 172 1071 189 +rect 1138 184 1144 201 +rect 1161 184 1167 201 +rect 1138 178 1167 184 +rect 1426 201 1455 207 +rect 1426 184 1432 201 +rect 1449 184 1455 201 +rect 1426 178 1455 184 +rect 1042 166 1071 172 +rect 1145 147 1159 178 +rect 569 133 1159 147 +rect 569 114 583 133 +rect 1145 114 1159 133 +rect 1433 114 1447 178 +rect 418 108 447 114 +rect 418 91 424 108 +rect 441 91 447 108 +rect 418 85 447 91 +rect 562 108 591 114 +rect 562 91 568 108 +rect 585 91 591 108 +rect 994 108 1023 114 +rect 994 106 1000 108 +rect 562 85 591 91 +rect 617 92 1000 106 +rect 58 67 87 73 +rect 58 50 64 67 +rect 81 50 87 67 +rect 346 67 375 73 +rect 58 44 87 50 +rect 178 49 207 55 +rect 178 32 184 49 +rect 201 32 207 49 +rect 346 50 352 67 +rect 369 50 375 67 +rect 425 66 439 85 +rect 617 66 631 92 +rect 994 91 1000 92 +rect 1017 91 1023 108 +rect 994 85 1023 91 +rect 1138 108 1167 114 +rect 1138 91 1144 108 +rect 1161 91 1167 108 +rect 1138 85 1167 91 +rect 1426 108 1455 114 +rect 1426 91 1432 108 +rect 1449 91 1455 108 +rect 1426 85 1455 91 +rect 1481 73 1495 220 +rect 425 52 631 66 +rect 946 67 975 73 +rect 346 44 375 50 +rect 946 50 952 67 +rect 969 66 975 67 +rect 1186 67 1215 73 +rect 1186 66 1192 67 +rect 969 52 1192 66 +rect 969 50 975 52 +rect 946 44 975 50 +rect 1186 50 1192 52 +rect 1209 50 1215 67 +rect 1474 67 1503 73 +rect 1186 44 1215 50 +rect 1354 49 1383 55 +rect 178 24 207 32 +rect 610 27 639 33 +rect 610 24 616 27 +rect 0 10 616 24 +rect 633 24 639 27 +rect 778 27 807 33 +rect 778 24 784 27 +rect 633 10 784 24 +rect 801 24 807 27 +rect 1354 32 1360 49 +rect 1377 32 1383 49 +rect 1474 50 1480 67 +rect 1497 50 1503 67 +rect 1474 44 1503 50 +rect 1354 24 1383 32 +rect 801 10 1584 24 +rect 0 -24 1584 10 << labels >> rlabel metal1 0 309 1584 357 0 VDD port 1 se rlabel metal1 0 -24 1584 24 0 GND port 2 se -rlabel metal1 1474 40 1503 69 0 YS +rlabel metal1 58 44 87 73 0 YC port 3 se -rlabel metal1 1481 69 1495 215 0 YS +rlabel metal1 65 73 79 220 0 YC port 4 se -rlabel metal1 1474 215 1503 244 0 YS +rlabel metal1 58 220 87 249 0 YC port 5 se -rlabel metal1 58 40 87 69 0 YC +rlabel metal1 1474 44 1503 73 0 YS port 6 se -rlabel metal1 65 69 79 215 0 YC +rlabel metal1 1481 73 1495 220 0 YS port 7 se -rlabel metal1 58 215 87 244 0 YC +rlabel metal1 1474 220 1503 249 0 YS port 8 se -rlabel metal1 562 80 591 109 0 A +rlabel metal1 425 52 631 66 0 B port 9 se -rlabel metal1 569 109 583 175 0 A +rlabel metal1 425 66 439 85 0 B port 10 se -rlabel metal1 562 175 591 204 0 A +rlabel metal1 617 66 631 92 0 B port 11 se -rlabel metal1 425 47 1015 61 0 B +rlabel metal1 994 85 1023 92 0 B port 12 se -rlabel metal1 425 61 439 80 0 B +rlabel metal1 617 92 1023 106 0 B port 13 se -rlabel metal1 1001 61 1015 80 0 B +rlabel metal1 418 85 447 114 0 B port 14 se -rlabel metal1 418 80 447 109 0 B +rlabel metal1 994 106 1023 114 0 B port 15 se -rlabel metal1 994 80 1023 109 0 B +rlabel metal1 425 114 439 178 0 B port 16 se -rlabel metal1 425 109 439 175 0 B +rlabel metal1 418 178 447 207 0 B port 17 se -rlabel metal1 1001 109 1015 175 0 B +rlabel metal1 562 85 591 114 0 A port 18 se -rlabel metal1 418 175 447 204 0 B +rlabel metal1 1138 85 1167 114 0 A port 19 se -rlabel metal1 994 175 1023 204 0 B +rlabel metal1 569 114 583 133 0 A port 20 se +rlabel metal1 1145 114 1159 133 0 A +port 21 se +rlabel metal1 569 133 1159 147 0 A +port 22 se +rlabel metal1 569 147 583 178 0 A +port 23 se +rlabel metal1 1145 147 1159 178 0 A +port 24 se +rlabel metal1 562 178 591 207 0 A +port 25 se +rlabel metal1 1138 178 1167 207 0 A +port 26 se << properties >> string FIXED_BBOX 0 0 1584 333 << end >>
diff --git a/cells/mag/INV.mag b/cells/mag/INV.mag index 721b65b..7396049 100644 --- a/cells/mag/INV.mag +++ b/cells/mag/INV.mag
@@ -1,85 +1,85 @@ magic # Generated by librecell tech sky130A -timestamp 1623283835 +timestamp 1624065888 << nwell >> rect 0 179 288 333 << viali >> -rect 184 19 201 36 -rect 64 46 81 63 -rect 136 86 153 103 -rect 136 181 153 198 -rect 64 221 81 238 -rect 184 289 201 306 +rect 184 32 201 49 +rect 64 50 81 67 +rect 136 91 153 108 +rect 136 184 153 201 +rect 64 226 81 243 +rect 184 284 201 301 << poly >> -rect 137 11 152 78 -rect 128 78 161 111 -rect 128 173 161 206 -rect 137 206 152 330 +rect 137 11 152 83 +rect 128 83 161 116 +rect 128 176 161 209 +rect 137 209 152 322 << properties >> string FIXED_BBOX 0 0 288 333 << li1 >> -rect 176 11 209 44 -rect 56 38 89 71 -rect 128 78 161 111 -rect 128 173 161 206 -rect 56 213 89 246 -rect 176 281 209 314 +rect 176 24 209 57 +rect 56 42 89 75 +rect 128 83 161 116 +rect 128 176 161 209 +rect 56 218 89 251 +rect 176 276 209 309 << met1 >> rect 0 -24 288 24 -rect 178 24 207 42 -rect 130 80 159 109 -rect 137 109 151 175 -rect 130 175 159 204 -rect 58 40 87 69 -rect 65 69 79 215 -rect 58 215 87 244 -rect 178 283 207 309 +rect 178 24 207 55 +rect 130 85 159 114 +rect 137 114 151 178 +rect 130 178 159 207 +rect 58 44 87 73 +rect 65 73 79 220 +rect 58 220 87 249 +rect 178 278 207 309 rect 0 309 288 357 << li1 >> << met1 >> << li1 >> << met1 >> rect 0 -24 288 24 -rect 130 80 159 109 -rect 137 109 151 175 -rect 130 175 159 204 -rect 58 40 87 69 -rect 65 69 79 215 -rect 58 215 87 244 +rect 130 85 159 114 +rect 137 114 151 178 +rect 130 178 159 207 +rect 58 44 87 73 +rect 65 73 79 220 +rect 58 220 87 249 rect 0 309 288 357 << ndiffusion >> -rect 178 13 207 24 rect 58 24 231 66 -rect 58 66 87 69 +rect 58 66 87 73 << pdiffusion >> -rect 58 215 87 225 +rect 58 220 87 225 rect 58 225 231 309 -rect 178 309 207 312 << polycont >> -rect 136 86 153 103 -rect 136 181 153 198 +rect 136 91 153 108 +rect 136 184 153 201 << pdiffc >> -rect 64 221 81 238 -rect 184 289 201 306 +rect 64 226 81 243 +rect 184 284 201 301 << ndiffc >> -rect 184 19 201 36 -rect 64 46 81 63 +rect 184 32 201 49 +rect 64 50 81 67 +<< allnactivetap >> +<< allpactivetap >> << labels >> rlabel met1 0 309 288 357 0 VDD port 1 se rlabel met1 0 -24 288 24 0 GND port 2 se -rlabel met1 58 40 87 69 0 Y +rlabel met1 58 44 87 73 0 Y port 3 se -rlabel met1 65 69 79 215 0 Y +rlabel met1 65 73 79 220 0 Y port 4 se -rlabel met1 58 215 87 244 0 Y +rlabel met1 58 220 87 249 0 Y port 5 se -rlabel met1 130 80 159 109 0 A +rlabel met1 130 85 159 114 0 A port 6 se -rlabel met1 137 109 151 175 0 A +rlabel met1 137 114 151 178 0 A port 7 se -rlabel met1 130 175 159 204 0 A +rlabel met1 130 178 159 207 0 A port 8 se << end >>
diff --git a/cells/mag/INVX1.mag b/cells/mag/INVX1.mag index 67f5507..5cb80f3 100644 --- a/cells/mag/INVX1.mag +++ b/cells/mag/INVX1.mag
@@ -1,85 +1,85 @@ magic # Generated by librecell tech sky130A -timestamp 1623283883 +timestamp 1624063971 << nwell >> rect 0 179 288 333 << viali >> -rect 184 19 201 36 -rect 64 46 81 63 -rect 136 86 153 103 -rect 136 181 153 198 -rect 64 221 81 238 -rect 184 289 201 306 +rect 184 32 201 49 +rect 64 50 81 67 +rect 136 91 153 108 +rect 136 184 153 201 +rect 64 226 81 243 +rect 184 284 201 301 << poly >> -rect 137 11 152 78 -rect 128 78 161 111 -rect 128 173 161 206 -rect 137 206 152 330 +rect 137 11 152 83 +rect 128 83 161 116 +rect 128 176 161 209 +rect 137 209 152 322 << properties >> string FIXED_BBOX 0 0 288 333 << li1 >> -rect 176 11 209 44 -rect 56 38 89 71 -rect 128 78 161 111 -rect 128 173 161 206 -rect 56 213 89 246 -rect 176 281 209 314 +rect 176 24 209 57 +rect 56 42 89 75 +rect 128 83 161 116 +rect 128 176 161 209 +rect 56 218 89 251 +rect 176 276 209 309 << met1 >> rect 0 -24 288 24 -rect 178 24 207 42 -rect 130 80 159 109 -rect 137 109 151 175 -rect 130 175 159 204 -rect 58 40 87 69 -rect 65 69 79 215 -rect 58 215 87 244 -rect 178 283 207 309 +rect 178 24 207 55 +rect 130 85 159 114 +rect 137 114 151 178 +rect 130 178 159 207 +rect 58 44 87 73 +rect 65 73 79 220 +rect 58 220 87 249 +rect 178 278 207 309 rect 0 309 288 357 << li1 >> << met1 >> << li1 >> << met1 >> rect 0 -24 288 24 -rect 130 80 159 109 -rect 137 109 151 175 -rect 130 175 159 204 -rect 58 40 87 69 -rect 65 69 79 215 -rect 58 215 87 244 +rect 130 85 159 114 +rect 137 114 151 178 +rect 130 178 159 207 +rect 58 44 87 73 +rect 65 73 79 220 +rect 58 220 87 249 rect 0 309 288 357 << ndiffusion >> -rect 178 13 207 24 rect 58 24 231 66 -rect 58 66 87 69 +rect 58 66 87 73 << pdiffusion >> -rect 58 215 87 225 +rect 58 220 87 225 rect 58 225 231 309 -rect 178 309 207 312 << polycont >> -rect 136 86 153 103 -rect 136 181 153 198 +rect 136 91 153 108 +rect 136 184 153 201 << pdiffc >> -rect 64 221 81 238 -rect 184 289 201 306 +rect 64 226 81 243 +rect 184 284 201 301 << ndiffc >> -rect 184 19 201 36 -rect 64 46 81 63 +rect 184 32 201 49 +rect 64 50 81 67 +<< allnactivetap >> +<< allpactivetap >> << labels >> rlabel met1 0 309 288 357 0 VDD port 1 se rlabel met1 0 -24 288 24 0 GND port 2 se -rlabel met1 58 40 87 69 0 Y +rlabel met1 58 44 87 73 0 Y port 3 se -rlabel met1 65 69 79 215 0 Y +rlabel met1 65 73 79 220 0 Y port 4 se -rlabel met1 58 215 87 244 0 Y +rlabel met1 58 220 87 249 0 Y port 5 se -rlabel met1 130 80 159 109 0 A +rlabel met1 130 85 159 114 0 A port 6 se -rlabel met1 137 109 151 175 0 A +rlabel met1 137 114 151 178 0 A port 7 se -rlabel met1 130 175 159 204 0 A +rlabel met1 130 178 159 207 0 A port 8 se << end >>
diff --git a/cells/mag/INVX2.mag b/cells/mag/INVX2.mag index 1c265a9..87ffefc 100644 --- a/cells/mag/INVX2.mag +++ b/cells/mag/INVX2.mag
@@ -1,85 +1,85 @@ magic # Generated by librecell tech sky130A -timestamp 1623283932 +timestamp 1624065970 << nwell >> rect 0 179 288 333 << viali >> -rect 184 19 201 36 -rect 64 46 81 63 -rect 136 86 153 103 -rect 136 181 153 198 -rect 64 221 81 238 -rect 184 289 201 306 +rect 184 32 201 49 +rect 64 50 81 67 +rect 136 91 153 108 +rect 136 184 153 201 +rect 64 226 81 243 +rect 184 284 201 301 << poly >> -rect 137 11 152 78 -rect 128 78 161 111 -rect 128 173 161 206 -rect 137 206 152 330 +rect 137 11 152 83 +rect 128 83 161 116 +rect 128 176 161 209 +rect 137 209 152 322 << properties >> string FIXED_BBOX 0 0 288 333 << li1 >> -rect 176 11 209 44 -rect 56 38 89 71 -rect 128 78 161 111 -rect 128 173 161 206 -rect 56 213 89 246 -rect 176 281 209 314 +rect 176 24 209 57 +rect 56 42 89 75 +rect 128 83 161 116 +rect 128 176 161 209 +rect 56 218 89 251 +rect 176 276 209 309 << met1 >> rect 0 -24 288 24 -rect 178 24 207 42 -rect 130 80 159 109 -rect 137 109 151 175 -rect 130 175 159 204 -rect 58 40 87 69 -rect 65 69 79 215 -rect 58 215 87 244 -rect 178 283 207 309 +rect 178 24 207 55 +rect 130 85 159 114 +rect 137 114 151 178 +rect 130 178 159 207 +rect 58 44 87 73 +rect 65 73 79 220 +rect 58 220 87 249 +rect 178 278 207 309 rect 0 309 288 357 << li1 >> << met1 >> << li1 >> << met1 >> rect 0 -24 288 24 -rect 130 80 159 109 -rect 137 109 151 175 -rect 130 175 159 204 -rect 58 40 87 69 -rect 65 69 79 215 -rect 58 215 87 244 +rect 130 85 159 114 +rect 137 114 151 178 +rect 130 178 159 207 +rect 58 44 87 73 +rect 65 73 79 220 +rect 58 220 87 249 rect 0 309 288 357 << ndiffusion >> -rect 178 13 207 24 rect 58 24 231 66 -rect 58 66 87 69 +rect 58 66 87 73 << pdiffusion >> -rect 58 215 87 225 +rect 58 220 87 225 rect 58 225 231 309 -rect 178 309 207 312 << polycont >> -rect 136 86 153 103 -rect 136 181 153 198 +rect 136 91 153 108 +rect 136 184 153 201 << pdiffc >> -rect 64 221 81 238 -rect 184 289 201 306 +rect 64 226 81 243 +rect 184 284 201 301 << ndiffc >> -rect 184 19 201 36 -rect 64 46 81 63 +rect 184 32 201 49 +rect 64 50 81 67 +<< allnactivetap >> +<< allpactivetap >> << labels >> rlabel met1 0 309 288 357 0 VDD port 1 se rlabel met1 0 -24 288 24 0 GND port 2 se -rlabel met1 58 40 87 69 0 Y +rlabel met1 58 44 87 73 0 Y port 3 se -rlabel met1 65 69 79 215 0 Y +rlabel met1 65 73 79 220 0 Y port 4 se -rlabel met1 58 215 87 244 0 Y +rlabel met1 58 220 87 249 0 Y port 5 se -rlabel met1 130 80 159 109 0 A +rlabel met1 130 85 159 114 0 A port 6 se -rlabel met1 137 109 151 175 0 A +rlabel met1 137 114 151 178 0 A port 7 se -rlabel met1 130 175 159 204 0 A +rlabel met1 130 178 159 207 0 A port 8 se << end >>
diff --git a/cells/mag/INVX4.mag b/cells/mag/INVX4.mag index 1554e6a..5d98e6f 100644 --- a/cells/mag/INVX4.mag +++ b/cells/mag/INVX4.mag
@@ -1,6 +1,6 @@ magic tech sky130A -timestamp 1623602962 +timestamp 1624066040 << nwell >> rect 0 179 432 333 << nmos >> @@ -10,225 +10,222 @@ rect 137 225 152 309 rect 281 225 296 309 << ndiff >> -rect 58 66 87 69 -rect 322 66 351 69 -rect 58 63 137 66 -rect 58 46 64 63 -rect 81 46 137 63 -rect 58 24 137 46 -rect 152 36 281 66 -rect 152 24 184 36 -rect 178 19 184 24 -rect 201 24 281 36 -rect 296 63 375 66 -rect 296 46 328 63 -rect 345 46 375 63 -rect 296 24 375 46 -rect 201 19 207 24 -rect 178 13 207 19 +rect 82 67 111 73 +rect 82 66 88 67 +rect 58 50 88 66 +rect 105 66 111 67 +rect 322 67 351 73 +rect 322 66 328 67 +rect 105 50 137 66 +rect 58 24 137 50 +rect 152 49 281 66 +rect 152 32 184 49 +rect 201 32 281 49 +rect 152 24 281 32 +rect 296 50 328 66 +rect 345 66 351 67 +rect 345 50 375 66 +rect 296 24 375 50 << pdiff >> -rect 178 309 207 312 -rect 58 238 137 309 -rect 58 221 64 238 -rect 81 225 137 238 -rect 152 306 281 309 -rect 152 289 184 306 -rect 201 289 281 306 -rect 152 225 281 289 -rect 296 238 375 309 -rect 296 225 328 238 -rect 81 221 87 225 -rect 58 215 87 221 -rect 322 221 328 225 -rect 345 225 375 238 -rect 345 221 351 225 -rect 322 215 351 221 +rect 58 243 137 309 +rect 58 226 88 243 +rect 105 226 137 243 +rect 58 225 137 226 +rect 152 301 281 309 +rect 152 284 184 301 +rect 201 284 281 301 +rect 152 225 281 284 +rect 296 243 375 309 +rect 296 226 328 243 +rect 345 226 375 243 +rect 296 225 375 226 +rect 82 220 111 225 +rect 322 220 351 225 << ndiffc >> -rect 64 46 81 63 -rect 184 19 201 36 -rect 328 46 345 63 +rect 88 50 105 67 +rect 184 32 201 49 +rect 328 50 345 67 << pdiffc >> -rect 64 221 81 238 -rect 184 289 201 306 -rect 328 221 345 238 +rect 88 226 105 243 +rect 184 284 201 301 +rect 328 226 345 243 << poly >> -rect 137 309 152 330 -rect 281 309 296 330 -rect 137 206 152 225 -rect 281 206 296 225 -rect 128 198 161 206 -rect 128 181 136 198 -rect 153 181 161 198 -rect 128 173 161 181 -rect 272 198 305 206 -rect 272 181 280 198 -rect 297 181 305 198 -rect 272 173 305 181 -rect 128 103 161 111 -rect 128 86 136 103 -rect 153 86 161 103 -rect 128 78 161 86 -rect 272 103 305 111 -rect 272 86 280 103 -rect 297 86 305 103 -rect 272 78 305 86 -rect 137 66 152 78 -rect 281 66 296 78 +rect 137 309 152 322 +rect 281 309 296 322 +rect 137 209 152 225 +rect 281 209 296 225 +rect 128 201 161 209 +rect 128 184 136 201 +rect 153 184 161 201 +rect 128 176 161 184 +rect 272 201 305 209 +rect 272 184 280 201 +rect 297 184 305 201 +rect 272 176 305 184 +rect 128 108 161 116 +rect 128 91 136 108 +rect 153 91 161 108 +rect 128 83 161 91 +rect 272 108 305 116 +rect 272 91 280 108 +rect 297 91 305 108 +rect 272 83 305 91 +rect 137 66 152 83 +rect 281 66 296 83 rect 137 11 152 24 rect 281 11 296 24 << polycont >> -rect 136 181 153 198 -rect 280 181 297 198 -rect 136 86 153 103 -rect 280 86 297 103 +rect 136 184 153 201 +rect 280 184 297 201 +rect 136 91 153 108 +rect 280 91 297 108 << locali >> -rect 176 306 209 314 -rect 176 289 184 306 -rect 201 289 209 306 -rect 176 281 209 289 -rect 56 238 89 246 -rect 56 221 64 238 -rect 81 221 89 238 -rect 56 213 89 221 -rect 320 238 353 246 -rect 320 221 328 238 -rect 345 221 353 238 -rect 320 213 353 221 -rect 128 198 161 206 -rect 128 181 136 198 -rect 153 181 161 198 -rect 128 173 161 181 -rect 272 198 303 206 -rect 272 181 280 198 -rect 297 196 303 198 -rect 297 181 305 196 -rect 272 173 305 181 -rect 128 103 161 111 -rect 128 86 136 103 -rect 153 86 161 103 -rect 128 78 161 86 -rect 272 103 305 111 -rect 272 86 280 103 -rect 297 88 305 103 -rect 297 86 303 88 -rect 272 78 303 86 -rect 56 63 89 71 -rect 56 46 64 63 -rect 81 46 89 63 -rect 56 38 89 46 -rect 320 63 353 71 -rect 320 46 328 63 -rect 345 46 353 63 -rect 176 36 209 44 -rect 320 38 353 46 -rect 176 19 184 36 -rect 201 19 209 36 -rect 176 11 209 19 +rect 176 301 209 309 +rect 176 284 184 301 +rect 201 284 209 301 +rect 176 276 209 284 +rect 80 243 113 251 +rect 80 226 88 243 +rect 105 226 113 243 +rect 320 243 353 251 +rect 320 226 328 243 +rect 345 226 353 243 +rect 80 218 111 226 +rect 322 218 353 226 +rect 128 201 161 209 +rect 128 184 136 201 +rect 153 184 161 201 +rect 128 176 161 184 +rect 272 201 305 209 +rect 272 184 280 201 +rect 297 184 305 201 +rect 272 176 305 184 +rect 128 108 161 116 +rect 128 92 136 108 +rect 130 91 136 92 +rect 153 91 161 108 +rect 130 83 161 91 +rect 272 108 305 116 +rect 272 91 280 108 +rect 297 91 305 108 +rect 272 83 305 91 +rect 80 67 113 75 +rect 80 50 88 67 +rect 105 50 113 67 +rect 322 67 353 75 +rect 322 66 328 67 +rect 80 42 113 50 +rect 176 49 209 57 +rect 176 32 184 49 +rect 201 32 209 49 +rect 320 50 328 66 +rect 345 50 353 67 +rect 320 42 353 50 +rect 176 24 209 32 << viali >> -rect 184 289 201 306 -rect 64 221 81 238 -rect 328 221 345 238 -rect 136 181 153 198 -rect 280 181 297 198 -rect 136 86 153 103 -rect 280 86 297 103 -rect 64 46 81 63 -rect 328 46 345 63 -rect 184 19 201 36 +rect 184 284 201 301 +rect 88 226 105 243 +rect 328 226 345 243 +rect 136 184 153 201 +rect 280 184 297 201 +rect 136 91 153 108 +rect 280 91 297 108 +rect 88 50 105 67 +rect 184 32 201 49 +rect 328 50 345 67 << metal1 >> rect 0 309 432 357 -rect 178 306 207 309 -rect 178 289 184 306 -rect 201 289 207 306 -rect 178 283 207 289 -rect 58 238 87 244 -rect 58 221 64 238 -rect 81 237 87 238 -rect 322 238 351 244 -rect 322 237 328 238 -rect 81 223 328 237 -rect 81 221 87 223 -rect 58 215 87 221 -rect 322 221 328 223 -rect 345 221 351 238 -rect 322 215 351 221 -rect 65 69 79 215 -rect 130 198 159 204 -rect 130 181 136 198 -rect 153 181 159 198 -rect 130 175 159 181 -rect 274 198 303 204 -rect 274 181 280 198 -rect 297 181 303 198 -rect 274 175 303 181 -rect 137 109 151 175 -rect 281 109 295 175 -rect 130 103 159 109 -rect 130 86 136 103 -rect 153 102 159 103 -rect 274 103 303 109 -rect 274 102 280 103 -rect 153 88 280 102 -rect 153 86 159 88 -rect 130 80 159 86 -rect 274 86 280 88 -rect 297 86 303 103 -rect 274 80 303 86 -rect 329 69 343 215 -rect 58 63 87 69 -rect 58 46 64 63 -rect 81 46 87 63 -rect 58 40 87 46 -rect 322 63 351 69 -rect 322 46 328 63 -rect 345 46 351 63 -rect 178 36 207 42 -rect 322 40 351 46 -rect 178 24 184 36 -rect 0 19 184 24 -rect 201 24 207 36 -rect 201 19 432 24 -rect 0 -24 432 19 +rect 178 301 207 309 +rect 178 284 184 301 +rect 201 284 207 301 +rect 178 278 207 284 +rect 82 243 111 249 +rect 82 226 88 243 +rect 105 241 111 243 +rect 322 243 351 249 +rect 322 241 328 243 +rect 105 227 328 241 +rect 105 226 111 227 +rect 82 220 111 226 +rect 322 226 328 227 +rect 345 226 351 243 +rect 322 220 351 226 +rect 89 73 103 220 +rect 130 201 159 207 +rect 130 184 136 201 +rect 153 184 159 201 +rect 130 178 159 184 +rect 274 201 303 207 +rect 274 184 280 201 +rect 297 184 303 201 +rect 274 178 303 184 +rect 137 114 151 178 +rect 281 114 295 178 +rect 130 108 159 114 +rect 130 91 136 108 +rect 153 106 159 108 +rect 274 108 303 114 +rect 274 106 280 108 +rect 153 92 280 106 +rect 153 91 159 92 +rect 130 85 159 91 +rect 274 91 280 92 +rect 297 91 303 108 +rect 274 85 303 91 +rect 329 73 343 220 +rect 82 67 111 73 +rect 82 50 88 67 +rect 105 50 111 67 +rect 322 67 351 73 +rect 82 44 111 50 +rect 178 49 207 55 +rect 178 32 184 49 +rect 201 32 207 49 +rect 322 50 328 67 +rect 345 50 351 67 +rect 322 44 351 50 +rect 178 24 207 32 +rect 0 -24 432 24 << labels >> rlabel metal1 0 309 432 357 0 VDD port 1 se rlabel metal1 0 -24 432 24 0 GND port 2 se -rlabel metal1 58 40 87 69 0 Y +rlabel metal1 82 44 111 73 0 Y port 3 se -rlabel metal1 322 40 351 69 0 Y +rlabel metal1 322 44 351 73 0 Y port 4 se -rlabel metal1 65 69 79 215 0 Y +rlabel metal1 89 73 103 220 0 Y port 5 se -rlabel metal1 329 69 343 215 0 Y +rlabel metal1 329 73 343 220 0 Y port 6 se -rlabel metal1 58 215 87 223 0 Y +rlabel metal1 82 220 111 227 0 Y port 7 se -rlabel metal1 322 215 351 223 0 Y +rlabel metal1 322 220 351 227 0 Y port 8 se -rlabel metal1 58 223 351 237 0 Y +rlabel metal1 82 227 351 241 0 Y port 9 se -rlabel metal1 58 237 87 244 0 Y +rlabel metal1 82 241 111 249 0 Y port 10 se -rlabel metal1 322 237 351 244 0 Y +rlabel metal1 322 241 351 249 0 Y port 11 se -rlabel metal1 130 80 159 88 0 A +rlabel metal1 130 85 159 92 0 A port 12 se -rlabel metal1 274 80 303 88 0 A +rlabel metal1 274 85 303 92 0 A port 13 se -rlabel metal1 130 88 303 102 0 A +rlabel metal1 130 92 303 106 0 A port 14 se -rlabel metal1 130 102 159 109 0 A +rlabel metal1 130 106 159 114 0 A port 15 se -rlabel metal1 274 102 303 109 0 A +rlabel metal1 274 106 303 114 0 A port 16 se -rlabel metal1 137 109 151 175 0 A +rlabel metal1 137 114 151 178 0 A port 17 se -rlabel metal1 281 109 295 175 0 A +rlabel metal1 281 114 295 178 0 A port 18 se -rlabel metal1 130 175 159 204 0 A +rlabel metal1 130 178 159 207 0 A port 19 se -rlabel metal1 274 175 303 204 0 A +rlabel metal1 274 178 303 207 0 A port 20 se << properties >> string FIXED_BBOX 0 0 432 333
diff --git a/cells/mag/INVX8.mag b/cells/mag/INVX8.mag index 1d6a1d5..d88f43b 100644 --- a/cells/mag/INVX8.mag +++ b/cells/mag/INVX8.mag
@@ -1,6 +1,6 @@ magic tech sky130A -timestamp 1623602966 +timestamp 1624066178 << nwell >> rect 0 179 720 333 << nmos >> @@ -14,392 +14,393 @@ rect 425 225 440 309 rect 569 225 584 309 << ndiff >> -rect 58 66 87 69 -rect 322 66 351 69 -rect 610 66 639 69 -rect 58 63 137 66 -rect 58 46 64 63 -rect 81 46 137 63 -rect 58 24 137 46 -rect 152 36 281 66 -rect 152 24 184 36 -rect 178 19 184 24 -rect 201 24 281 36 -rect 296 63 425 66 -rect 296 46 328 63 -rect 345 46 425 63 -rect 296 24 425 46 -rect 440 36 569 66 -rect 440 24 472 36 -rect 201 19 207 24 -rect 178 13 207 19 -rect 466 19 472 24 -rect 489 24 569 36 -rect 584 63 663 66 -rect 584 46 616 63 -rect 633 46 663 63 -rect 584 24 663 46 -rect 489 19 495 24 -rect 466 13 495 19 +rect 82 67 111 73 +rect 82 66 88 67 +rect 58 50 88 66 +rect 105 66 111 67 +rect 370 67 399 73 +rect 370 66 376 67 +rect 105 50 137 66 +rect 58 24 137 50 +rect 152 49 281 66 +rect 152 32 184 49 +rect 201 32 281 49 +rect 152 24 281 32 +rect 296 50 376 66 +rect 393 66 399 67 +rect 610 67 639 73 +rect 610 66 616 67 +rect 393 50 425 66 +rect 296 24 425 50 +rect 440 49 569 66 +rect 440 32 472 49 +rect 489 32 569 49 +rect 440 24 569 32 +rect 584 50 616 66 +rect 633 66 639 67 +rect 633 50 663 66 +rect 584 24 663 50 << pdiff >> -rect 178 309 207 312 -rect 466 309 495 312 -rect 58 238 137 309 -rect 58 221 64 238 -rect 81 225 137 238 -rect 152 306 281 309 -rect 152 289 184 306 -rect 201 289 281 306 -rect 152 225 281 289 -rect 296 238 425 309 -rect 296 225 328 238 -rect 81 221 87 225 -rect 58 215 87 221 -rect 322 221 328 225 -rect 345 225 425 238 -rect 440 306 569 309 -rect 440 289 472 306 -rect 489 289 569 306 -rect 440 225 569 289 -rect 584 238 663 309 -rect 584 225 616 238 -rect 345 221 351 225 -rect 322 215 351 221 -rect 610 221 616 225 -rect 633 225 663 238 -rect 633 221 639 225 -rect 610 215 639 221 +rect 58 243 137 309 +rect 58 226 88 243 +rect 105 226 137 243 +rect 58 225 137 226 +rect 152 301 281 309 +rect 152 284 184 301 +rect 201 284 281 301 +rect 152 225 281 284 +rect 296 243 425 309 +rect 296 226 376 243 +rect 393 226 425 243 +rect 296 225 425 226 +rect 440 301 569 309 +rect 440 284 472 301 +rect 489 284 569 301 +rect 440 225 569 284 +rect 584 243 663 309 +rect 584 226 616 243 +rect 633 226 663 243 +rect 584 225 663 226 +rect 82 220 111 225 +rect 370 220 399 225 +rect 610 220 639 225 << ndiffc >> -rect 64 46 81 63 -rect 184 19 201 36 -rect 328 46 345 63 -rect 472 19 489 36 -rect 616 46 633 63 +rect 88 50 105 67 +rect 184 32 201 49 +rect 376 50 393 67 +rect 472 32 489 49 +rect 616 50 633 67 << pdiffc >> -rect 64 221 81 238 -rect 184 289 201 306 -rect 328 221 345 238 -rect 472 289 489 306 -rect 616 221 633 238 +rect 88 226 105 243 +rect 184 284 201 301 +rect 376 226 393 243 +rect 472 284 489 301 +rect 616 226 633 243 << poly >> -rect 137 309 152 330 -rect 281 309 296 330 -rect 425 309 440 330 -rect 569 309 584 330 -rect 137 206 152 225 -rect 281 206 296 225 -rect 425 206 440 225 -rect 569 206 584 225 -rect 128 198 161 206 -rect 128 181 136 198 -rect 153 181 161 198 -rect 128 173 161 181 -rect 272 198 305 206 -rect 272 181 280 198 -rect 297 181 305 198 -rect 272 173 305 181 -rect 416 198 449 206 -rect 416 181 424 198 -rect 441 181 449 198 -rect 416 173 449 181 -rect 560 198 593 206 -rect 560 181 568 198 -rect 585 181 593 198 -rect 560 173 593 181 -rect 128 103 161 111 -rect 128 86 136 103 -rect 153 86 161 103 -rect 128 78 161 86 -rect 272 103 305 111 -rect 272 86 280 103 -rect 297 86 305 103 -rect 272 78 305 86 -rect 416 103 449 111 -rect 416 86 424 103 -rect 441 86 449 103 -rect 416 78 449 86 -rect 560 103 593 111 -rect 560 86 568 103 -rect 585 86 593 103 -rect 560 78 593 86 -rect 137 66 152 78 -rect 281 66 296 78 -rect 425 66 440 78 -rect 569 66 584 78 +rect 137 309 152 322 +rect 281 309 296 322 +rect 425 309 440 322 +rect 569 309 584 322 +rect 137 209 152 225 +rect 281 209 296 225 +rect 425 209 440 225 +rect 569 209 584 225 +rect 128 201 161 209 +rect 128 184 136 201 +rect 153 184 161 201 +rect 128 176 161 184 +rect 272 201 305 209 +rect 272 184 280 201 +rect 297 184 305 201 +rect 272 176 305 184 +rect 416 201 449 209 +rect 416 184 424 201 +rect 441 184 449 201 +rect 416 176 449 184 +rect 560 201 593 209 +rect 560 184 568 201 +rect 585 184 593 201 +rect 560 176 593 184 +rect 128 108 161 116 +rect 128 91 136 108 +rect 153 91 161 108 +rect 128 83 161 91 +rect 272 108 305 116 +rect 272 91 280 108 +rect 297 91 305 108 +rect 272 83 305 91 +rect 416 108 449 116 +rect 416 91 424 108 +rect 441 91 449 108 +rect 416 83 449 91 +rect 560 108 593 116 +rect 560 91 568 108 +rect 585 91 593 108 +rect 560 83 593 91 +rect 137 66 152 83 +rect 281 66 296 83 +rect 425 66 440 83 +rect 569 66 584 83 rect 137 11 152 24 rect 281 11 296 24 rect 425 11 440 24 rect 569 11 584 24 << polycont >> -rect 136 181 153 198 -rect 280 181 297 198 -rect 424 181 441 198 -rect 568 181 585 198 -rect 136 86 153 103 -rect 280 86 297 103 -rect 424 86 441 103 -rect 568 86 585 103 +rect 136 184 153 201 +rect 280 184 297 201 +rect 424 184 441 201 +rect 568 184 585 201 +rect 136 91 153 108 +rect 280 91 297 108 +rect 424 91 441 108 +rect 568 91 585 108 << locali >> -rect 176 306 209 314 -rect 176 289 184 306 -rect 201 289 209 306 -rect 176 281 209 289 -rect 464 306 497 314 -rect 464 289 472 306 -rect 489 289 497 306 -rect 464 281 497 289 -rect 56 238 89 246 -rect 56 221 64 238 -rect 81 221 89 238 -rect 320 238 353 246 -rect 320 223 328 238 -rect 56 213 89 221 -rect 322 221 328 223 -rect 345 221 353 238 -rect 608 238 641 246 -rect 608 223 616 238 -rect 322 213 353 221 -rect 610 221 616 223 -rect 633 221 641 238 -rect 610 213 641 221 -rect 128 198 161 206 -rect 128 181 136 198 -rect 153 181 161 198 -rect 128 173 161 181 -rect 272 198 305 206 -rect 272 181 280 198 -rect 297 181 305 198 -rect 272 173 305 181 -rect 416 198 449 206 -rect 416 181 424 198 -rect 441 181 449 198 -rect 416 173 449 181 -rect 560 198 593 206 -rect 560 181 568 198 -rect 585 181 593 198 -rect 560 173 593 181 -rect 128 103 161 111 -rect 128 86 136 103 -rect 153 86 161 103 -rect 128 78 161 86 -rect 272 103 305 111 -rect 272 86 280 103 -rect 297 88 305 103 -rect 416 103 449 111 -rect 297 86 303 88 -rect 272 78 303 86 -rect 416 86 424 103 -rect 441 86 449 103 -rect 416 78 449 86 -rect 560 103 593 111 -rect 560 86 568 103 -rect 585 86 593 103 -rect 560 78 593 86 -rect 56 63 89 71 -rect 56 46 64 63 -rect 81 46 89 63 -rect 56 38 89 46 -rect 320 63 353 71 -rect 320 46 328 63 -rect 345 46 353 63 -rect 610 63 641 71 -rect 610 61 616 63 -rect 176 36 209 44 -rect 320 38 353 46 -rect 608 46 616 61 -rect 633 46 641 63 -rect 176 11 184 36 -rect 201 11 209 36 -rect 464 36 497 44 -rect 608 38 641 46 -rect 464 11 472 36 -rect 489 11 497 36 +rect 176 301 209 309 +rect 176 284 184 301 +rect 201 284 209 301 +rect 176 276 209 284 +rect 464 301 497 309 +rect 464 284 472 301 +rect 489 284 497 301 +rect 464 276 497 284 +rect 80 243 113 251 +rect 80 226 88 243 +rect 105 226 113 243 +rect 80 218 113 226 +rect 368 243 401 251 +rect 368 226 376 243 +rect 393 226 401 243 +rect 608 243 641 251 +rect 608 226 616 243 +rect 633 226 641 243 +rect 368 218 399 226 +rect 610 218 641 226 +rect 130 201 161 209 +rect 128 184 136 201 +rect 153 184 161 201 +rect 128 176 161 184 +rect 272 201 305 209 +rect 272 184 280 201 +rect 297 184 305 201 +rect 272 176 305 184 +rect 416 201 449 209 +rect 416 184 424 201 +rect 441 184 449 201 +rect 416 176 449 184 +rect 560 201 593 209 +rect 560 184 568 201 +rect 585 184 593 201 +rect 560 176 593 184 +rect 128 108 161 116 +rect 128 91 136 108 +rect 153 91 161 108 +rect 128 83 161 91 +rect 272 108 305 116 +rect 272 91 280 108 +rect 297 91 305 108 +rect 416 108 449 116 +rect 416 92 424 108 +rect 272 83 305 91 +rect 418 91 424 92 +rect 441 91 449 108 +rect 418 83 449 91 +rect 560 108 593 116 +rect 560 91 568 108 +rect 585 91 593 108 +rect 560 83 593 91 +rect 80 67 111 75 +rect 80 50 88 67 +rect 105 66 111 67 +rect 368 67 401 75 +rect 105 50 113 66 +rect 80 42 113 50 +rect 176 49 209 57 +rect 176 32 184 49 +rect 201 32 209 49 +rect 368 50 376 67 +rect 393 50 401 67 +rect 610 67 641 75 +rect 610 66 616 67 +rect 368 42 401 50 +rect 464 49 497 57 +rect 176 27 209 32 +rect 176 24 184 27 +rect 201 24 209 27 +rect 464 32 472 49 +rect 489 32 497 49 +rect 608 50 616 66 +rect 633 50 641 67 +rect 608 42 641 50 +rect 464 27 497 32 +rect 464 24 472 27 +rect 489 24 497 27 << viali >> -rect 184 289 201 306 -rect 472 289 489 306 -rect 64 221 81 238 -rect 328 221 345 238 -rect 616 221 633 238 -rect 136 181 153 198 -rect 280 181 297 198 -rect 424 181 441 198 -rect 568 181 585 198 -rect 136 86 153 103 -rect 280 86 297 103 -rect 424 86 441 103 -rect 568 86 585 103 -rect 64 46 81 63 -rect 328 46 345 63 -rect 616 46 633 63 -rect 184 19 201 22 -rect 184 5 201 19 -rect 472 19 489 22 -rect 472 5 489 19 +rect 184 284 201 301 +rect 472 284 489 301 +rect 88 226 105 243 +rect 376 226 393 243 +rect 616 226 633 243 +rect 136 184 153 201 +rect 280 184 297 201 +rect 424 184 441 201 +rect 568 184 585 201 +rect 136 91 153 108 +rect 280 91 297 108 +rect 424 91 441 108 +rect 568 91 585 108 +rect 88 50 105 67 +rect 376 50 393 67 +rect 184 10 201 27 +rect 616 50 633 67 +rect 472 10 489 27 << metal1 >> rect 0 309 720 357 -rect 178 306 207 309 -rect 178 289 184 306 -rect 201 289 207 306 -rect 178 283 207 289 -rect 466 306 495 309 -rect 466 289 472 306 -rect 489 289 495 306 -rect 466 283 495 289 -rect 58 238 87 244 -rect 58 221 64 238 -rect 81 237 87 238 -rect 322 238 351 244 -rect 322 237 328 238 -rect 81 223 328 237 -rect 81 221 87 223 -rect 58 215 87 221 -rect 322 221 328 223 -rect 345 221 351 238 -rect 322 215 351 221 -rect 610 238 639 244 -rect 610 221 616 238 -rect 633 221 639 238 -rect 610 215 639 221 -rect 65 69 79 215 -rect 130 198 159 204 -rect 130 181 136 198 -rect 153 196 159 198 -rect 274 198 303 204 -rect 274 196 280 198 -rect 153 182 280 196 -rect 153 181 159 182 -rect 130 175 159 181 -rect 274 181 280 182 -rect 297 196 303 198 -rect 418 198 447 204 -rect 418 196 424 198 -rect 297 182 424 196 -rect 297 181 303 182 -rect 274 175 303 181 -rect 418 181 424 182 -rect 441 196 447 198 -rect 562 198 591 204 -rect 562 196 568 198 -rect 441 182 568 196 -rect 441 181 447 182 -rect 418 175 447 181 -rect 562 181 568 182 -rect 585 181 591 198 -rect 562 175 591 181 -rect 137 109 151 175 -rect 281 109 295 175 -rect 425 109 439 175 -rect 569 109 583 175 -rect 130 103 159 109 -rect 130 86 136 103 -rect 153 86 159 103 -rect 130 80 159 86 -rect 274 103 303 109 -rect 274 86 280 103 -rect 297 86 303 103 -rect 274 80 303 86 -rect 418 103 447 109 -rect 418 86 424 103 -rect 441 86 447 103 -rect 418 80 447 86 -rect 562 103 591 109 -rect 562 86 568 103 -rect 585 86 591 103 -rect 562 80 591 86 -rect 617 69 631 215 -rect 58 63 87 69 -rect 58 46 64 63 -rect 81 61 87 63 -rect 322 63 351 69 -rect 322 61 328 63 -rect 81 47 328 61 -rect 81 46 87 47 -rect 58 40 87 46 -rect 322 46 328 47 -rect 345 61 351 63 -rect 610 63 639 69 -rect 610 61 616 63 -rect 345 47 616 61 -rect 345 46 351 47 -rect 322 40 351 46 -rect 610 46 616 47 -rect 633 46 639 63 -rect 610 40 639 46 -rect 178 24 207 28 -rect 466 24 495 28 -rect 0 22 720 24 -rect 0 5 184 22 -rect 201 5 472 22 -rect 489 5 720 22 -rect 0 -24 720 5 +rect 178 301 207 309 +rect 178 284 184 301 +rect 201 284 207 301 +rect 178 278 207 284 +rect 466 301 495 309 +rect 466 284 472 301 +rect 489 284 495 301 +rect 466 278 495 284 +rect 82 243 111 249 +rect 82 226 88 243 +rect 105 241 111 243 +rect 370 243 399 249 +rect 370 241 376 243 +rect 105 227 376 241 +rect 105 226 111 227 +rect 82 220 111 226 +rect 370 226 376 227 +rect 393 241 399 243 +rect 610 243 639 249 +rect 610 241 616 243 +rect 393 227 616 241 +rect 393 226 399 227 +rect 370 220 399 226 +rect 610 226 616 227 +rect 633 226 639 243 +rect 610 220 639 226 +rect 89 73 103 220 +rect 130 201 159 207 +rect 130 184 136 201 +rect 153 200 159 201 +rect 274 201 303 207 +rect 274 200 280 201 +rect 153 186 280 200 +rect 153 184 159 186 +rect 130 178 159 184 +rect 274 184 280 186 +rect 297 200 303 201 +rect 418 201 447 207 +rect 418 200 424 201 +rect 297 186 424 200 +rect 297 184 303 186 +rect 274 178 303 184 +rect 418 184 424 186 +rect 441 200 447 201 +rect 562 201 591 207 +rect 562 200 568 201 +rect 441 186 568 200 +rect 441 184 447 186 +rect 418 178 447 184 +rect 562 184 568 186 +rect 585 184 591 201 +rect 562 178 591 184 +rect 137 114 151 178 +rect 281 114 295 178 +rect 425 114 439 178 +rect 569 114 583 178 +rect 130 108 159 114 +rect 130 91 136 108 +rect 153 91 159 108 +rect 130 85 159 91 +rect 274 108 303 114 +rect 274 91 280 108 +rect 297 91 303 108 +rect 274 85 303 91 +rect 418 108 447 114 +rect 418 91 424 108 +rect 441 91 447 108 +rect 418 85 447 91 +rect 562 108 591 114 +rect 562 91 568 108 +rect 585 91 591 108 +rect 562 85 591 91 +rect 617 73 631 220 +rect 82 67 111 73 +rect 82 50 88 67 +rect 105 50 111 67 +rect 82 44 111 50 +rect 370 67 399 73 +rect 370 50 376 67 +rect 393 66 399 67 +rect 610 67 639 73 +rect 610 66 616 67 +rect 393 52 616 66 +rect 393 50 399 52 +rect 370 44 399 50 +rect 610 50 616 52 +rect 633 50 639 67 +rect 610 44 639 50 +rect 178 27 207 33 +rect 178 24 184 27 +rect 0 10 184 24 +rect 201 24 207 27 +rect 466 27 495 33 +rect 466 24 472 27 +rect 201 10 472 24 +rect 489 24 495 27 +rect 489 10 720 24 +rect 0 -24 720 10 << labels >> rlabel metal1 0 309 720 357 0 VDD port 1 se rlabel metal1 0 -24 720 24 0 GND port 2 se -rlabel metal1 58 40 87 47 0 Y +rlabel metal1 370 44 399 52 0 Y port 3 se -rlabel metal1 322 40 351 47 0 Y +rlabel metal1 610 44 639 52 0 Y port 4 se -rlabel metal1 610 40 639 47 0 Y +rlabel metal1 370 52 639 66 0 Y port 5 se -rlabel metal1 58 47 639 61 0 Y +rlabel metal1 82 44 111 73 0 Y port 6 se -rlabel metal1 58 61 87 69 0 Y +rlabel metal1 370 66 399 73 0 Y port 7 se -rlabel metal1 322 61 351 69 0 Y +rlabel metal1 610 66 639 73 0 Y port 8 se -rlabel metal1 610 61 639 69 0 Y +rlabel metal1 89 73 103 220 0 Y port 9 se -rlabel metal1 65 69 79 215 0 Y +rlabel metal1 617 73 631 220 0 Y port 10 se -rlabel metal1 617 69 631 215 0 Y +rlabel metal1 82 220 111 227 0 Y port 11 se -rlabel metal1 58 215 87 223 0 Y +rlabel metal1 370 220 399 227 0 Y port 12 se -rlabel metal1 322 215 351 223 0 Y +rlabel metal1 610 220 639 227 0 Y port 13 se -rlabel metal1 58 223 351 237 0 Y +rlabel metal1 82 227 639 241 0 Y port 14 se -rlabel metal1 58 237 87 244 0 Y +rlabel metal1 82 241 111 249 0 Y port 15 se -rlabel metal1 322 237 351 244 0 Y +rlabel metal1 370 241 399 249 0 Y port 16 se -rlabel metal1 610 215 639 244 0 Y +rlabel metal1 610 241 639 249 0 Y port 17 se -rlabel metal1 130 80 159 109 0 A +rlabel metal1 130 85 159 114 0 A port 18 se -rlabel metal1 274 80 303 109 0 A +rlabel metal1 274 85 303 114 0 A port 19 se -rlabel metal1 418 80 447 109 0 A +rlabel metal1 418 85 447 114 0 A port 20 se -rlabel metal1 562 80 591 109 0 A +rlabel metal1 562 85 591 114 0 A port 21 se -rlabel metal1 137 109 151 175 0 A +rlabel metal1 137 114 151 178 0 A port 22 se -rlabel metal1 281 109 295 175 0 A +rlabel metal1 281 114 295 178 0 A port 23 se -rlabel metal1 425 109 439 175 0 A +rlabel metal1 425 114 439 178 0 A port 24 se -rlabel metal1 569 109 583 175 0 A +rlabel metal1 569 114 583 178 0 A port 25 se -rlabel metal1 130 175 159 182 0 A +rlabel metal1 130 178 159 186 0 A port 26 se -rlabel metal1 274 175 303 182 0 A +rlabel metal1 274 178 303 186 0 A port 27 se -rlabel metal1 418 175 447 182 0 A +rlabel metal1 418 178 447 186 0 A port 28 se -rlabel metal1 562 175 591 182 0 A +rlabel metal1 562 178 591 186 0 A port 29 se -rlabel metal1 130 182 591 196 0 A +rlabel metal1 130 186 591 200 0 A port 30 se -rlabel metal1 130 196 159 204 0 A +rlabel metal1 130 200 159 207 0 A port 31 se -rlabel metal1 274 196 303 204 0 A +rlabel metal1 274 200 303 207 0 A port 32 se -rlabel metal1 418 196 447 204 0 A +rlabel metal1 418 200 447 207 0 A port 33 se -rlabel metal1 562 196 591 204 0 A +rlabel metal1 562 200 591 207 0 A port 34 se << properties >> string FIXED_BBOX 0 0 720 333
diff --git a/cells/mag/MUX2X1.mag b/cells/mag/MUX2X1.mag index 4518a35..445c9e5 100644 --- a/cells/mag/MUX2X1.mag +++ b/cells/mag/MUX2X1.mag
@@ -1,6 +1,6 @@ magic tech sky130A -timestamp 1623602976 +timestamp 1624066365 << nwell >> rect 0 179 864 333 << nmos >> @@ -16,359 +16,351 @@ rect 569 225 584 309 rect 713 225 728 309 << ndiff >> -rect 58 66 87 69 -rect 514 66 543 69 -rect 58 63 137 66 -rect 58 46 64 63 -rect 81 46 137 63 -rect 58 24 137 46 -rect 152 36 281 66 -rect 152 24 184 36 -rect 178 19 184 24 -rect 201 24 281 36 +rect 58 67 87 73 +rect 58 50 64 67 +rect 81 66 87 67 +rect 514 67 543 73 +rect 514 66 520 67 +rect 81 50 137 66 +rect 58 24 137 50 +rect 152 49 281 66 +rect 152 32 184 49 +rect 201 32 281 49 +rect 152 24 281 32 rect 296 24 425 66 -rect 440 63 569 66 -rect 440 46 520 63 -rect 537 46 569 63 -rect 440 24 569 46 +rect 440 50 520 66 +rect 537 66 543 67 +rect 537 50 569 66 +rect 440 24 569 50 rect 584 24 713 66 -rect 728 36 807 66 -rect 728 24 760 36 -rect 201 19 207 24 -rect 178 13 207 19 -rect 754 19 760 24 -rect 777 24 807 36 -rect 777 19 783 24 -rect 754 13 783 19 +rect 728 49 807 66 +rect 728 32 760 49 +rect 777 32 807 49 +rect 728 24 807 32 << pdiff >> -rect 178 309 207 312 -rect 754 309 783 312 -rect 58 238 137 309 -rect 58 221 64 238 -rect 81 225 137 238 -rect 152 306 281 309 -rect 152 289 184 306 -rect 201 289 281 306 -rect 152 225 281 289 +rect 58 243 137 309 +rect 58 226 64 243 +rect 81 226 137 243 +rect 58 225 137 226 +rect 152 301 281 309 +rect 152 284 184 301 +rect 201 284 281 301 +rect 152 225 281 284 rect 296 225 425 309 -rect 440 238 569 309 -rect 440 225 520 238 -rect 81 221 87 225 -rect 58 215 87 221 -rect 514 221 520 225 -rect 537 225 569 238 +rect 440 243 569 309 +rect 440 226 520 243 +rect 537 226 569 243 +rect 440 225 569 226 rect 584 225 713 309 -rect 728 306 807 309 -rect 728 289 760 306 -rect 777 289 807 306 -rect 728 225 807 289 -rect 537 221 543 225 -rect 514 215 543 221 +rect 728 301 807 309 +rect 728 284 760 301 +rect 777 284 807 301 +rect 728 225 807 284 +rect 58 220 87 225 +rect 514 220 543 225 << ndiffc >> -rect 64 46 81 63 -rect 184 19 201 36 -rect 520 46 537 63 -rect 760 19 777 36 +rect 64 50 81 67 +rect 184 32 201 49 +rect 520 50 537 67 +rect 760 32 777 49 << pdiffc >> -rect 64 221 81 238 -rect 184 289 201 306 -rect 520 221 537 238 -rect 760 289 777 306 +rect 64 226 81 243 +rect 184 284 201 301 +rect 520 226 537 243 +rect 760 284 777 301 << poly >> -rect 137 309 152 330 -rect 281 309 296 330 -rect 425 309 440 330 -rect 569 309 584 330 -rect 713 309 728 330 -rect 137 206 152 225 -rect 281 206 296 225 -rect 425 206 440 225 -rect 569 206 584 225 -rect 713 206 728 225 -rect 128 198 161 206 -rect 128 181 136 198 -rect 153 181 161 198 -rect 128 173 161 181 -rect 272 198 305 206 -rect 272 181 280 198 -rect 297 181 305 198 -rect 272 173 305 181 -rect 416 198 449 206 -rect 416 181 424 198 -rect 441 181 449 198 -rect 416 173 449 181 -rect 560 198 593 206 -rect 560 181 568 198 -rect 585 181 593 198 -rect 560 173 593 181 -rect 704 198 737 206 -rect 704 181 712 198 -rect 729 181 737 198 -rect 704 173 737 181 -rect 128 103 161 111 -rect 128 86 136 103 -rect 153 86 161 103 -rect 128 78 161 86 -rect 272 103 305 111 -rect 272 86 280 103 -rect 297 86 305 103 -rect 272 78 305 86 -rect 416 103 449 111 -rect 416 86 424 103 -rect 441 86 449 103 -rect 416 78 449 86 -rect 560 103 593 111 -rect 560 86 568 103 -rect 585 86 593 103 -rect 560 78 593 86 -rect 704 103 737 111 -rect 704 86 712 103 -rect 729 86 737 103 -rect 704 78 737 86 -rect 137 66 152 78 -rect 281 66 296 78 -rect 425 66 440 78 -rect 569 66 584 78 -rect 713 66 728 78 +rect 137 309 152 322 +rect 281 309 296 322 +rect 425 309 440 322 +rect 569 309 584 322 +rect 713 309 728 322 +rect 137 209 152 225 +rect 281 209 296 225 +rect 425 209 440 225 +rect 569 209 584 225 +rect 713 209 728 225 +rect 128 201 161 209 +rect 128 184 136 201 +rect 153 184 161 201 +rect 128 176 161 184 +rect 272 201 305 209 +rect 272 184 280 201 +rect 297 184 305 201 +rect 272 176 305 184 +rect 416 201 449 209 +rect 416 184 424 201 +rect 441 184 449 201 +rect 416 176 449 184 +rect 560 201 593 209 +rect 560 184 568 201 +rect 585 184 593 201 +rect 560 176 593 184 +rect 704 201 737 209 +rect 704 184 712 201 +rect 729 184 737 201 +rect 704 176 737 184 +rect 128 108 161 116 +rect 128 91 136 108 +rect 153 91 161 108 +rect 128 83 161 91 +rect 272 108 305 116 +rect 272 91 280 108 +rect 297 91 305 108 +rect 272 83 305 91 +rect 416 108 449 116 +rect 416 91 424 108 +rect 441 91 449 108 +rect 416 83 449 91 +rect 560 108 593 116 +rect 560 91 568 108 +rect 585 91 593 108 +rect 560 83 593 91 +rect 704 108 737 116 +rect 704 91 712 108 +rect 729 91 737 108 +rect 704 83 737 91 +rect 137 66 152 83 +rect 281 66 296 83 +rect 425 66 440 83 +rect 569 66 584 83 +rect 713 66 728 83 rect 137 11 152 24 rect 281 11 296 24 rect 425 11 440 24 rect 569 11 584 24 rect 713 11 728 24 << polycont >> -rect 136 181 153 198 -rect 280 181 297 198 -rect 424 181 441 198 -rect 568 181 585 198 -rect 712 181 729 198 -rect 136 86 153 103 -rect 280 86 297 103 -rect 424 86 441 103 -rect 568 86 585 103 -rect 712 86 729 103 +rect 136 184 153 201 +rect 280 184 297 201 +rect 424 184 441 201 +rect 568 184 585 201 +rect 712 184 729 201 +rect 136 91 153 108 +rect 280 91 297 108 +rect 424 91 441 108 +rect 568 91 585 108 +rect 712 91 729 108 << locali >> -rect 176 306 209 314 -rect 176 289 184 306 -rect 201 289 209 306 -rect 176 281 209 289 -rect 752 306 785 314 -rect 752 289 760 306 -rect 777 289 785 306 -rect 752 281 785 289 -rect 56 238 89 246 -rect 56 221 64 238 -rect 81 221 89 238 -rect 56 213 89 221 -rect 512 238 545 246 -rect 512 221 520 238 -rect 537 221 545 238 -rect 512 213 545 221 -rect 128 198 161 206 -rect 128 181 136 198 -rect 153 181 161 198 -rect 128 173 161 181 -rect 272 198 305 206 -rect 272 181 280 198 -rect 297 181 305 198 -rect 272 173 305 181 -rect 416 198 449 206 -rect 416 181 424 198 -rect 441 181 449 198 -rect 562 198 593 206 -rect 562 196 568 198 -rect 416 173 449 181 -rect 560 181 568 196 -rect 585 181 593 198 -rect 560 173 593 181 -rect 704 198 737 206 -rect 704 181 712 198 -rect 729 181 737 198 -rect 704 173 737 181 -rect 136 111 153 173 -rect 280 144 297 173 -rect 280 111 297 127 -rect 128 103 161 111 -rect 128 86 136 103 -rect 153 86 161 103 -rect 128 78 161 86 -rect 272 103 305 111 -rect 272 86 280 103 -rect 297 86 305 103 -rect 272 78 305 86 -rect 416 103 449 111 -rect 416 86 424 103 -rect 441 86 449 103 -rect 416 78 449 86 -rect 520 71 537 127 -rect 560 103 593 111 -rect 560 88 568 103 -rect 562 86 568 88 -rect 585 86 593 103 -rect 562 78 593 86 -rect 704 103 737 111 -rect 704 86 712 103 -rect 729 86 737 103 -rect 704 78 737 86 -rect 56 63 89 71 -rect 56 46 64 63 -rect 81 46 89 63 -rect 56 38 89 46 -rect 512 63 545 71 -rect 512 46 520 63 -rect 537 46 545 63 -rect 176 36 209 44 -rect 512 38 545 46 -rect 176 19 184 36 -rect 201 19 209 36 -rect 176 11 209 19 -rect 752 36 785 44 -rect 752 19 760 36 -rect 777 19 785 36 -rect 752 11 785 19 +rect 176 301 209 309 +rect 176 284 184 301 +rect 201 284 209 301 +rect 176 276 209 284 +rect 752 301 785 309 +rect 752 284 760 301 +rect 777 284 785 301 +rect 752 276 785 284 +rect 56 243 89 251 +rect 56 226 64 243 +rect 81 226 89 243 +rect 56 218 89 226 +rect 512 243 545 251 +rect 512 226 520 243 +rect 537 226 545 243 +rect 512 218 545 226 +rect 128 201 161 209 +rect 128 184 136 201 +rect 153 184 161 201 +rect 128 176 161 184 +rect 272 201 305 209 +rect 272 184 280 201 +rect 297 184 305 201 +rect 272 176 305 184 +rect 416 201 449 209 +rect 562 201 593 209 +rect 416 184 424 201 +rect 441 184 449 201 +rect 416 176 449 184 +rect 560 184 568 201 +rect 585 184 593 201 +rect 560 176 593 184 +rect 704 201 737 209 +rect 704 184 712 201 +rect 729 184 737 201 +rect 704 176 737 184 +rect 136 116 153 176 +rect 280 148 297 176 +rect 280 116 297 131 +rect 128 108 161 116 +rect 128 91 136 108 +rect 153 91 161 108 +rect 128 83 161 91 +rect 272 108 305 116 +rect 272 91 280 108 +rect 297 91 305 108 +rect 272 83 305 91 +rect 416 108 449 116 +rect 416 91 424 108 +rect 441 91 449 108 +rect 416 83 449 91 +rect 520 75 537 131 +rect 560 108 593 116 +rect 560 92 568 108 +rect 562 91 568 92 +rect 585 91 593 108 +rect 562 83 593 91 +rect 704 108 737 116 +rect 704 91 712 108 +rect 729 91 737 108 +rect 704 83 737 91 +rect 56 67 89 75 +rect 56 50 64 67 +rect 81 50 89 67 +rect 512 67 545 75 +rect 56 42 89 50 +rect 176 49 209 57 +rect 176 32 184 49 +rect 201 32 209 49 +rect 512 50 520 67 +rect 537 50 545 67 +rect 512 42 545 50 +rect 752 49 785 57 +rect 176 24 209 32 +rect 752 32 760 49 +rect 777 32 785 49 +rect 752 24 785 32 << viali >> -rect 184 289 201 306 -rect 760 289 777 306 -rect 64 221 81 238 -rect 520 221 537 238 -rect 424 181 441 198 -rect 568 181 585 198 -rect 712 181 729 198 -rect 280 127 297 144 -rect 520 127 537 144 -rect 136 86 153 103 -rect 424 86 441 103 -rect 568 86 585 103 -rect 712 86 729 103 -rect 64 46 81 63 -rect 184 19 201 36 -rect 760 19 777 36 +rect 184 284 201 301 +rect 760 284 777 301 +rect 64 226 81 243 +rect 520 226 537 243 +rect 424 184 441 201 +rect 568 184 585 201 +rect 712 184 729 201 +rect 280 131 297 148 +rect 520 131 537 148 +rect 136 91 153 108 +rect 424 91 441 108 +rect 568 91 585 108 +rect 712 91 729 108 +rect 64 50 81 67 +rect 184 32 201 49 +rect 760 32 777 49 << metal1 >> rect 0 309 864 357 -rect 178 306 207 309 -rect 178 289 184 306 -rect 201 289 207 306 -rect 178 283 207 289 -rect 754 306 783 309 -rect 754 289 760 306 -rect 777 289 783 306 -rect 754 283 783 289 -rect 58 238 87 244 -rect 58 221 64 238 -rect 81 221 87 238 -rect 58 215 87 221 -rect 514 238 543 244 -rect 514 221 520 238 -rect 537 221 543 238 -rect 514 215 543 221 -rect 65 196 79 215 -rect 418 198 447 204 -rect 418 196 424 198 -rect 65 182 424 196 -rect 65 69 79 182 -rect 418 181 424 182 -rect 441 196 447 198 -rect 441 182 487 196 -rect 441 181 447 182 -rect 418 175 447 181 -rect 274 144 303 150 -rect 274 127 280 144 -rect 297 127 303 144 -rect 274 121 303 127 -rect 130 103 159 109 -rect 130 86 136 103 -rect 153 102 159 103 -rect 418 103 447 109 -rect 418 102 424 103 -rect 153 88 424 102 -rect 153 86 159 88 -rect 130 80 159 86 -rect 418 86 424 88 -rect 441 86 447 103 -rect 473 102 487 182 -rect 521 150 535 215 -rect 562 198 591 204 -rect 562 181 568 198 -rect 585 196 591 198 -rect 706 198 735 204 -rect 585 182 631 196 -rect 585 181 591 182 -rect 562 175 591 181 -rect 514 144 543 150 -rect 514 127 520 144 -rect 537 127 543 144 -rect 514 121 543 127 -rect 562 103 591 109 -rect 562 102 568 103 -rect 473 88 568 102 -rect 418 80 447 86 -rect 562 86 568 88 -rect 585 86 591 103 -rect 562 80 591 86 -rect 58 63 87 69 -rect 58 46 64 63 -rect 81 46 87 63 -rect 425 61 439 80 -rect 617 61 631 182 -rect 706 181 712 198 -rect 729 181 735 198 -rect 706 175 735 181 -rect 713 109 727 175 -rect 706 103 735 109 -rect 706 86 712 103 -rect 729 86 735 103 -rect 706 80 735 86 -rect 425 47 631 61 -rect 58 40 87 46 -rect 178 36 207 42 -rect 178 24 184 36 -rect 0 19 184 24 -rect 201 24 207 36 -rect 754 36 783 42 -rect 754 24 760 36 -rect 201 19 760 24 -rect 777 24 783 36 -rect 777 19 864 24 -rect 0 -24 864 19 +rect 178 301 207 309 +rect 178 284 184 301 +rect 201 284 207 301 +rect 178 278 207 284 +rect 754 301 783 309 +rect 754 284 760 301 +rect 777 284 783 301 +rect 754 278 783 284 +rect 58 243 87 249 +rect 58 226 64 243 +rect 81 226 87 243 +rect 58 220 87 226 +rect 514 243 543 249 +rect 514 226 520 243 +rect 537 226 543 243 +rect 514 220 543 226 +rect 65 200 79 220 +rect 418 201 447 207 +rect 418 200 424 201 +rect 65 186 424 200 +rect 65 73 79 186 +rect 418 184 424 186 +rect 441 200 447 201 +rect 441 186 487 200 +rect 441 184 447 186 +rect 418 178 447 184 +rect 274 148 303 154 +rect 274 131 280 148 +rect 297 131 303 148 +rect 274 125 303 131 +rect 130 108 159 114 +rect 130 91 136 108 +rect 153 106 159 108 +rect 418 108 447 114 +rect 418 106 424 108 +rect 153 92 424 106 +rect 153 91 159 92 +rect 130 85 159 91 +rect 418 91 424 92 +rect 441 91 447 108 +rect 473 106 487 186 +rect 521 154 535 220 +rect 562 201 591 207 +rect 562 184 568 201 +rect 585 200 591 201 +rect 706 201 735 207 +rect 585 186 631 200 +rect 585 184 591 186 +rect 562 178 591 184 +rect 514 148 543 154 +rect 514 131 520 148 +rect 537 131 543 148 +rect 514 125 543 131 +rect 562 108 591 114 +rect 562 106 568 108 +rect 473 92 568 106 +rect 418 85 447 91 +rect 562 91 568 92 +rect 585 91 591 108 +rect 562 85 591 91 +rect 58 67 87 73 +rect 58 50 64 67 +rect 81 50 87 67 +rect 425 66 439 85 +rect 617 66 631 186 +rect 706 184 712 201 +rect 729 184 735 201 +rect 706 178 735 184 +rect 713 114 727 178 +rect 706 108 735 114 +rect 706 91 712 108 +rect 729 91 735 108 +rect 706 85 735 91 +rect 58 44 87 50 +rect 178 49 207 55 +rect 425 52 631 66 +rect 178 32 184 49 +rect 201 32 207 49 +rect 178 24 207 32 +rect 754 49 783 55 +rect 754 32 760 49 +rect 777 32 783 49 +rect 754 24 783 32 +rect 0 -24 864 24 << labels >> rlabel metal1 0 309 864 357 0 VDD port 1 se rlabel metal1 0 -24 864 24 0 GND port 2 se -rlabel metal1 514 121 543 150 0 Y +rlabel metal1 514 125 543 154 0 Y port 3 se -rlabel metal1 521 150 535 215 0 Y +rlabel metal1 521 154 535 220 0 Y port 4 se -rlabel metal1 514 215 543 244 0 Y +rlabel metal1 514 220 543 249 0 Y port 5 se -rlabel metal1 425 47 631 61 0 S +rlabel metal1 425 52 631 66 0 S port 6 se -rlabel metal1 425 61 439 80 0 S +rlabel metal1 425 66 439 85 0 S port 7 se -rlabel metal1 130 80 159 88 0 S +rlabel metal1 130 85 159 92 0 S port 8 se -rlabel metal1 418 80 447 88 0 S +rlabel metal1 418 85 447 92 0 S port 9 se -rlabel metal1 130 88 447 102 0 S +rlabel metal1 130 92 447 106 0 S port 10 se -rlabel metal1 130 102 159 109 0 S +rlabel metal1 130 106 159 114 0 S port 11 se -rlabel metal1 418 102 447 109 0 S +rlabel metal1 418 106 447 114 0 S port 12 se -rlabel metal1 562 175 591 182 0 S +rlabel metal1 562 178 591 186 0 S port 13 se -rlabel metal1 617 61 631 182 0 S +rlabel metal1 617 66 631 186 0 S port 14 se -rlabel metal1 562 182 631 196 0 S +rlabel metal1 562 186 631 200 0 S port 15 se -rlabel metal1 562 196 591 204 0 S +rlabel metal1 562 200 591 207 0 S port 16 se -rlabel metal1 706 80 735 109 0 B +rlabel metal1 274 125 303 154 0 A port 17 se -rlabel metal1 713 109 727 175 0 B +rlabel metal1 706 85 735 114 0 B port 18 se -rlabel metal1 706 175 735 204 0 B +rlabel metal1 713 114 727 178 0 B port 19 se -rlabel metal1 274 121 303 150 0 A +rlabel metal1 706 178 735 207 0 B port 20 se << properties >> string FIXED_BBOX 0 0 864 333
diff --git a/cells/mag/NAND2X1.mag b/cells/mag/NAND2X1.mag index d8b5538..892e333 100644 --- a/cells/mag/NAND2X1.mag +++ b/cells/mag/NAND2X1.mag
@@ -1,6 +1,6 @@ magic tech sky130A -timestamp 1623602980 +timestamp 1624066518 << nwell >> rect 0 179 432 333 << nmos >> @@ -10,196 +10,190 @@ rect 137 225 152 309 rect 281 225 296 309 << ndiff >> -rect 58 66 87 69 -rect 58 63 137 66 -rect 58 46 64 63 -rect 81 46 137 63 -rect 58 24 137 46 +rect 58 67 87 73 +rect 58 50 64 67 +rect 81 66 87 67 +rect 81 50 137 66 +rect 58 24 137 50 rect 152 24 281 66 -rect 296 36 375 66 -rect 296 24 328 36 -rect 322 19 328 24 -rect 345 24 375 36 -rect 345 19 351 24 -rect 322 13 351 19 +rect 296 49 375 66 +rect 296 32 328 49 +rect 345 32 375 49 +rect 296 24 375 32 << pdiff >> -rect 178 309 207 312 -rect 58 238 137 309 -rect 58 221 64 238 -rect 81 225 137 238 -rect 152 306 281 309 -rect 152 289 184 306 -rect 201 289 281 306 -rect 152 225 281 289 -rect 296 238 375 309 -rect 296 225 328 238 -rect 81 221 87 225 -rect 58 215 87 221 -rect 322 221 328 225 -rect 345 225 375 238 -rect 345 221 351 225 -rect 322 215 351 221 +rect 58 243 137 309 +rect 58 226 64 243 +rect 81 226 137 243 +rect 58 225 137 226 +rect 152 301 281 309 +rect 152 284 184 301 +rect 201 284 281 301 +rect 152 225 281 284 +rect 296 243 375 309 +rect 296 226 328 243 +rect 345 226 375 243 +rect 296 225 375 226 +rect 58 220 87 225 +rect 322 220 351 225 << ndiffc >> -rect 64 46 81 63 -rect 328 19 345 36 +rect 64 50 81 67 +rect 328 32 345 49 << pdiffc >> -rect 64 221 81 238 -rect 184 289 201 306 -rect 328 221 345 238 +rect 64 226 81 243 +rect 184 284 201 301 +rect 328 226 345 243 << poly >> -rect 137 309 152 330 -rect 281 309 296 330 -rect 137 206 152 225 -rect 281 206 296 225 -rect 128 198 161 206 -rect 128 181 136 198 -rect 153 181 161 198 -rect 128 173 161 181 -rect 272 198 305 206 -rect 272 181 280 198 -rect 297 181 305 198 -rect 272 173 305 181 -rect 128 103 161 111 -rect 128 86 136 103 -rect 153 86 161 103 -rect 128 78 161 86 -rect 272 103 305 111 -rect 272 86 280 103 -rect 297 86 305 103 -rect 272 78 305 86 -rect 137 66 152 78 -rect 281 66 296 78 +rect 137 309 152 322 +rect 281 309 296 322 +rect 137 209 152 225 +rect 281 209 296 225 +rect 128 201 161 209 +rect 128 184 136 201 +rect 153 184 161 201 +rect 128 176 161 184 +rect 272 201 305 209 +rect 272 184 280 201 +rect 297 184 305 201 +rect 272 176 305 184 +rect 128 108 161 116 +rect 128 91 136 108 +rect 153 91 161 108 +rect 128 83 161 91 +rect 272 108 305 116 +rect 272 91 280 108 +rect 297 91 305 108 +rect 272 83 305 91 +rect 137 66 152 83 +rect 281 66 296 83 rect 137 11 152 24 rect 281 11 296 24 << polycont >> -rect 136 181 153 198 -rect 280 181 297 198 -rect 136 86 153 103 -rect 280 86 297 103 +rect 136 184 153 201 +rect 280 184 297 201 +rect 136 91 153 108 +rect 280 91 297 108 << locali >> -rect 176 306 209 314 -rect 176 289 184 306 -rect 201 289 209 306 -rect 176 281 209 289 -rect 56 238 89 246 -rect 56 221 64 238 -rect 81 221 89 238 -rect 56 213 89 221 -rect 320 238 353 246 -rect 320 221 328 238 -rect 345 221 353 238 -rect 320 213 353 221 -rect 128 198 161 206 -rect 128 181 136 198 -rect 153 181 161 198 -rect 128 173 161 181 -rect 272 198 303 206 -rect 272 181 280 198 -rect 297 196 303 198 -rect 297 181 305 196 -rect 272 173 305 181 -rect 128 103 161 111 -rect 128 86 136 103 -rect 153 86 161 103 -rect 128 78 161 86 -rect 272 103 305 111 -rect 272 86 280 103 -rect 297 86 305 103 -rect 272 78 305 86 -rect 56 63 89 71 -rect 56 46 64 63 -rect 81 46 89 63 -rect 56 38 89 46 -rect 320 36 353 44 -rect 320 19 328 36 -rect 345 19 353 36 -rect 320 11 353 19 +rect 176 301 209 309 +rect 176 284 184 301 +rect 201 284 209 301 +rect 176 276 209 284 +rect 56 243 89 251 +rect 56 226 64 243 +rect 81 226 89 243 +rect 56 218 89 226 +rect 320 243 353 251 +rect 320 226 328 243 +rect 345 226 353 243 +rect 320 218 353 226 +rect 128 201 161 209 +rect 128 184 136 201 +rect 153 184 161 201 +rect 128 176 161 184 +rect 272 201 303 209 +rect 272 184 280 201 +rect 297 184 305 201 +rect 272 176 305 184 +rect 128 108 161 116 +rect 128 91 136 108 +rect 153 91 161 108 +rect 128 83 161 91 +rect 272 108 305 116 +rect 272 91 280 108 +rect 297 91 305 108 +rect 272 83 305 91 +rect 56 67 89 75 +rect 56 50 64 67 +rect 81 50 89 67 +rect 56 42 89 50 +rect 320 49 353 57 +rect 320 32 328 49 +rect 345 32 353 49 +rect 320 24 353 32 << viali >> -rect 184 289 201 306 -rect 64 221 81 238 -rect 328 221 345 238 -rect 136 181 153 198 -rect 280 181 297 198 -rect 136 86 153 103 -rect 280 86 297 103 -rect 64 46 81 63 -rect 328 19 345 36 +rect 184 284 201 301 +rect 64 226 81 243 +rect 328 226 345 243 +rect 136 184 153 201 +rect 280 184 297 201 +rect 136 91 153 108 +rect 280 91 297 108 +rect 64 50 81 67 +rect 328 32 345 49 << metal1 >> rect 0 309 432 357 -rect 178 306 207 309 -rect 178 289 184 306 -rect 201 289 207 306 -rect 178 283 207 289 -rect 58 238 87 244 -rect 58 221 64 238 -rect 81 237 87 238 -rect 322 238 351 244 -rect 322 237 328 238 -rect 81 223 328 237 -rect 81 221 87 223 -rect 58 215 87 221 -rect 322 221 328 223 -rect 345 221 351 238 -rect 322 215 351 221 -rect 65 69 79 215 -rect 130 198 159 204 -rect 130 181 136 198 -rect 153 181 159 198 -rect 130 175 159 181 -rect 274 198 303 204 -rect 274 181 280 198 -rect 297 181 303 198 -rect 274 175 303 181 -rect 137 109 151 175 -rect 281 109 295 175 -rect 130 103 159 109 -rect 130 86 136 103 -rect 153 86 159 103 -rect 130 80 159 86 -rect 274 103 303 109 -rect 274 86 280 103 -rect 297 86 303 103 -rect 274 80 303 86 -rect 58 63 87 69 -rect 58 46 64 63 -rect 81 46 87 63 -rect 58 40 87 46 -rect 322 36 351 42 -rect 322 24 328 36 -rect 0 19 328 24 -rect 345 24 351 36 -rect 345 19 432 24 -rect 0 -24 432 19 +rect 178 301 207 309 +rect 178 284 184 301 +rect 201 284 207 301 +rect 178 278 207 284 +rect 58 243 87 249 +rect 58 226 64 243 +rect 81 241 87 243 +rect 322 243 351 249 +rect 322 241 328 243 +rect 81 227 328 241 +rect 81 226 87 227 +rect 58 220 87 226 +rect 322 226 328 227 +rect 345 226 351 243 +rect 322 220 351 226 +rect 65 73 79 220 +rect 130 201 159 207 +rect 130 184 136 201 +rect 153 184 159 201 +rect 130 178 159 184 +rect 274 201 303 207 +rect 274 184 280 201 +rect 297 184 303 201 +rect 274 178 303 184 +rect 137 114 151 178 +rect 281 114 295 178 +rect 130 108 159 114 +rect 130 91 136 108 +rect 153 91 159 108 +rect 130 85 159 91 +rect 274 108 303 114 +rect 274 91 280 108 +rect 297 91 303 108 +rect 274 85 303 91 +rect 58 67 87 73 +rect 58 50 64 67 +rect 81 50 87 67 +rect 58 44 87 50 +rect 322 49 351 55 +rect 322 32 328 49 +rect 345 32 351 49 +rect 322 24 351 32 +rect 0 -24 432 24 << labels >> rlabel metal1 0 309 432 357 0 VDD port 1 se rlabel metal1 0 -24 432 24 0 GND port 2 se -rlabel metal1 58 40 87 69 0 Y +rlabel metal1 58 44 87 73 0 Y port 3 se -rlabel metal1 65 69 79 215 0 Y +rlabel metal1 65 73 79 220 0 Y port 4 se -rlabel metal1 58 215 87 223 0 Y +rlabel metal1 58 220 87 227 0 Y port 5 se -rlabel metal1 322 215 351 223 0 Y +rlabel metal1 322 220 351 227 0 Y port 6 se -rlabel metal1 58 223 351 237 0 Y +rlabel metal1 58 227 351 241 0 Y port 7 se -rlabel metal1 58 237 87 244 0 Y +rlabel metal1 58 241 87 249 0 Y port 8 se -rlabel metal1 322 237 351 244 0 Y +rlabel metal1 322 241 351 249 0 Y port 9 se -rlabel metal1 130 80 159 109 0 B +rlabel metal1 274 85 303 114 0 A port 10 se -rlabel metal1 137 109 151 175 0 B +rlabel metal1 281 114 295 178 0 A port 11 se -rlabel metal1 130 175 159 204 0 B +rlabel metal1 274 178 303 207 0 A port 12 se -rlabel metal1 274 80 303 109 0 A +rlabel metal1 130 85 159 114 0 B port 13 se -rlabel metal1 281 109 295 175 0 A +rlabel metal1 137 114 151 178 0 B port 14 se -rlabel metal1 274 175 303 204 0 A +rlabel metal1 130 178 159 207 0 B port 15 se << properties >> string FIXED_BBOX 0 0 432 333
diff --git a/cells/mag/NAND3X1.mag b/cells/mag/NAND3X1.mag index 7e1bf03..9ed0559 100644 --- a/cells/mag/NAND3X1.mag +++ b/cells/mag/NAND3X1.mag
@@ -1,6 +1,6 @@ magic tech sky130A -timestamp 1623602984 +timestamp 1624066654 << nwell >> rect 0 179 576 333 << nmos >> @@ -12,251 +12,244 @@ rect 281 225 296 309 rect 425 225 440 309 << ndiff >> -rect 58 66 87 69 -rect 58 63 137 66 -rect 58 46 64 63 -rect 81 46 137 63 -rect 58 24 137 46 +rect 58 67 87 73 +rect 58 50 64 67 +rect 81 66 87 67 +rect 81 50 137 66 +rect 58 24 137 50 rect 152 24 281 66 rect 296 24 425 66 -rect 440 36 519 66 -rect 440 24 472 36 -rect 466 19 472 24 -rect 489 24 519 36 -rect 489 19 495 24 -rect 466 13 495 19 +rect 440 49 519 66 +rect 440 32 472 49 +rect 489 32 519 49 +rect 440 24 519 32 << pdiff >> -rect 178 309 207 312 -rect 466 309 495 312 -rect 58 238 137 309 -rect 58 221 64 238 -rect 81 225 137 238 -rect 152 306 281 309 -rect 152 289 184 306 -rect 201 289 281 306 -rect 152 225 281 289 -rect 296 238 425 309 -rect 296 225 328 238 -rect 81 221 87 225 -rect 58 215 87 221 -rect 322 221 328 225 -rect 345 225 425 238 -rect 440 306 519 309 -rect 440 289 472 306 -rect 489 289 519 306 -rect 440 225 519 289 -rect 345 221 351 225 -rect 322 215 351 221 +rect 58 243 137 309 +rect 58 226 64 243 +rect 81 226 137 243 +rect 58 225 137 226 +rect 152 301 281 309 +rect 152 284 184 301 +rect 201 284 281 301 +rect 152 225 281 284 +rect 296 243 425 309 +rect 296 226 328 243 +rect 345 226 425 243 +rect 296 225 425 226 +rect 440 301 519 309 +rect 440 284 472 301 +rect 489 284 519 301 +rect 440 225 519 284 +rect 58 220 87 225 +rect 322 220 351 225 << ndiffc >> -rect 64 46 81 63 -rect 472 19 489 36 +rect 64 50 81 67 +rect 472 32 489 49 << pdiffc >> -rect 64 221 81 238 -rect 184 289 201 306 -rect 328 221 345 238 -rect 472 289 489 306 +rect 64 226 81 243 +rect 184 284 201 301 +rect 328 226 345 243 +rect 472 284 489 301 << poly >> -rect 137 309 152 330 -rect 281 309 296 330 -rect 425 309 440 330 -rect 137 206 152 225 -rect 281 206 296 225 -rect 425 206 440 225 -rect 128 198 161 206 -rect 128 181 136 198 -rect 153 181 161 198 -rect 128 173 161 181 -rect 272 198 305 206 -rect 272 181 280 198 -rect 297 181 305 198 -rect 272 173 305 181 -rect 416 198 449 206 -rect 416 181 424 198 -rect 441 181 449 198 -rect 416 173 449 181 -rect 128 103 161 111 -rect 128 86 136 103 -rect 153 86 161 103 -rect 128 78 161 86 -rect 272 103 305 111 -rect 272 86 280 103 -rect 297 86 305 103 -rect 272 78 305 86 -rect 416 103 449 111 -rect 416 86 424 103 -rect 441 86 449 103 -rect 416 78 449 86 -rect 137 66 152 78 -rect 281 66 296 78 -rect 425 66 440 78 +rect 137 309 152 322 +rect 281 309 296 322 +rect 425 309 440 322 +rect 137 209 152 225 +rect 281 209 296 225 +rect 425 209 440 225 +rect 128 201 161 209 +rect 128 184 136 201 +rect 153 184 161 201 +rect 128 176 161 184 +rect 272 201 305 209 +rect 272 184 280 201 +rect 297 184 305 201 +rect 272 176 305 184 +rect 416 201 449 209 +rect 416 184 424 201 +rect 441 184 449 201 +rect 416 176 449 184 +rect 128 108 161 116 +rect 128 91 136 108 +rect 153 91 161 108 +rect 128 83 161 91 +rect 272 108 305 116 +rect 272 91 280 108 +rect 297 91 305 108 +rect 272 83 305 91 +rect 416 108 449 116 +rect 416 91 424 108 +rect 441 91 449 108 +rect 416 83 449 91 +rect 137 66 152 83 +rect 281 66 296 83 +rect 425 66 440 83 rect 137 11 152 24 rect 281 11 296 24 rect 425 11 440 24 << polycont >> -rect 136 181 153 198 -rect 280 181 297 198 -rect 424 181 441 198 -rect 136 86 153 103 -rect 280 86 297 103 -rect 424 86 441 103 +rect 136 184 153 201 +rect 280 184 297 201 +rect 424 184 441 201 +rect 136 91 153 108 +rect 280 91 297 108 +rect 424 91 441 108 << locali >> -rect 176 306 209 314 -rect 176 289 184 306 -rect 201 289 209 306 -rect 176 281 209 289 -rect 464 306 497 314 -rect 464 289 472 306 -rect 489 289 497 306 -rect 464 281 497 289 -rect 56 238 89 246 -rect 56 221 64 238 -rect 81 221 89 238 -rect 56 213 89 221 -rect 320 238 353 246 -rect 320 221 328 238 -rect 345 221 353 238 -rect 320 213 353 221 -rect 128 198 161 206 -rect 128 181 136 198 -rect 153 181 161 198 -rect 128 173 161 181 -rect 272 198 303 206 -rect 272 181 280 198 -rect 297 196 303 198 -rect 416 198 449 206 -rect 297 181 305 196 -rect 272 173 305 181 -rect 416 181 424 198 -rect 441 181 449 198 -rect 416 173 449 181 -rect 128 103 161 111 -rect 128 86 136 103 -rect 153 86 161 103 -rect 128 78 161 86 -rect 272 103 305 111 -rect 272 86 280 103 -rect 297 86 305 103 -rect 272 78 305 86 -rect 416 103 449 111 -rect 416 86 424 103 -rect 441 86 449 103 -rect 416 78 449 86 -rect 56 63 89 71 -rect 56 46 64 63 -rect 81 46 89 63 -rect 56 38 89 46 -rect 464 36 497 44 -rect 464 19 472 36 -rect 489 19 497 36 -rect 464 11 497 19 +rect 176 301 209 309 +rect 176 284 184 301 +rect 201 284 209 301 +rect 176 276 209 284 +rect 464 301 497 309 +rect 464 284 472 301 +rect 489 284 497 301 +rect 464 276 497 284 +rect 56 243 89 251 +rect 56 226 64 243 +rect 81 226 89 243 +rect 56 218 89 226 +rect 320 243 353 251 +rect 320 226 328 243 +rect 345 226 353 243 +rect 320 218 353 226 +rect 128 201 161 209 +rect 128 184 136 201 +rect 153 184 161 201 +rect 128 176 161 184 +rect 272 201 303 209 +rect 416 201 449 209 +rect 272 184 280 201 +rect 297 184 305 201 +rect 272 176 305 184 +rect 416 184 424 201 +rect 441 184 449 201 +rect 416 176 449 184 +rect 128 108 161 116 +rect 128 91 136 108 +rect 153 91 161 108 +rect 128 83 161 91 +rect 272 108 305 116 +rect 272 91 280 108 +rect 297 91 305 108 +rect 272 83 305 91 +rect 416 108 449 116 +rect 416 91 424 108 +rect 441 91 449 108 +rect 416 83 449 91 +rect 56 67 89 75 +rect 56 50 64 67 +rect 81 50 89 67 +rect 56 42 89 50 +rect 464 49 497 57 +rect 464 32 472 49 +rect 489 32 497 49 +rect 464 24 497 32 << viali >> -rect 184 289 201 306 -rect 472 289 489 306 -rect 64 221 81 238 -rect 328 221 345 238 -rect 136 181 153 198 -rect 280 181 297 198 -rect 424 181 441 198 -rect 136 86 153 103 -rect 280 86 297 103 -rect 424 86 441 103 -rect 64 46 81 63 -rect 472 19 489 36 +rect 184 284 201 301 +rect 472 284 489 301 +rect 64 226 81 243 +rect 328 226 345 243 +rect 136 184 153 201 +rect 280 184 297 201 +rect 424 184 441 201 +rect 136 91 153 108 +rect 280 91 297 108 +rect 424 91 441 108 +rect 64 50 81 67 +rect 472 32 489 49 << metal1 >> rect 0 309 576 357 -rect 178 306 207 309 -rect 178 289 184 306 -rect 201 289 207 306 -rect 178 283 207 289 -rect 466 306 495 309 -rect 466 289 472 306 -rect 489 289 495 306 -rect 466 283 495 289 -rect 58 238 87 244 -rect 58 221 64 238 -rect 81 237 87 238 -rect 322 238 351 244 -rect 322 237 328 238 -rect 81 223 328 237 -rect 81 221 87 223 -rect 58 215 87 221 -rect 322 221 328 223 -rect 345 221 351 238 -rect 322 215 351 221 -rect 65 69 79 215 -rect 130 198 159 204 -rect 130 181 136 198 -rect 153 181 159 198 -rect 130 175 159 181 -rect 274 198 303 204 -rect 274 181 280 198 -rect 297 181 303 198 -rect 274 175 303 181 -rect 418 198 447 204 -rect 418 181 424 198 -rect 441 181 447 198 -rect 418 175 447 181 -rect 137 109 151 175 -rect 281 109 295 175 -rect 425 109 439 175 -rect 130 103 159 109 -rect 130 86 136 103 -rect 153 86 159 103 -rect 130 80 159 86 -rect 274 103 303 109 -rect 274 86 280 103 -rect 297 86 303 103 -rect 274 80 303 86 -rect 418 103 447 109 -rect 418 86 424 103 -rect 441 86 447 103 -rect 418 80 447 86 -rect 58 63 87 69 -rect 58 46 64 63 -rect 81 46 87 63 -rect 58 40 87 46 -rect 466 36 495 42 -rect 466 24 472 36 -rect 0 19 472 24 -rect 489 24 495 36 -rect 489 19 576 24 -rect 0 -24 576 19 +rect 178 301 207 309 +rect 178 284 184 301 +rect 201 284 207 301 +rect 178 278 207 284 +rect 466 301 495 309 +rect 466 284 472 301 +rect 489 284 495 301 +rect 466 278 495 284 +rect 58 243 87 249 +rect 58 226 64 243 +rect 81 241 87 243 +rect 322 243 351 249 +rect 322 241 328 243 +rect 81 227 328 241 +rect 81 226 87 227 +rect 58 220 87 226 +rect 322 226 328 227 +rect 345 226 351 243 +rect 322 220 351 226 +rect 65 73 79 220 +rect 130 201 159 207 +rect 130 184 136 201 +rect 153 184 159 201 +rect 130 178 159 184 +rect 274 201 303 207 +rect 274 184 280 201 +rect 297 184 303 201 +rect 274 178 303 184 +rect 418 201 447 207 +rect 418 184 424 201 +rect 441 184 447 201 +rect 418 178 447 184 +rect 137 114 151 178 +rect 281 114 295 178 +rect 425 114 439 178 +rect 130 108 159 114 +rect 130 91 136 108 +rect 153 91 159 108 +rect 130 85 159 91 +rect 274 108 303 114 +rect 274 91 280 108 +rect 297 91 303 108 +rect 274 85 303 91 +rect 418 108 447 114 +rect 418 91 424 108 +rect 441 91 447 108 +rect 418 85 447 91 +rect 58 67 87 73 +rect 58 50 64 67 +rect 81 50 87 67 +rect 58 44 87 50 +rect 466 49 495 55 +rect 466 32 472 49 +rect 489 32 495 49 +rect 466 24 495 32 +rect 0 -24 576 24 << labels >> rlabel metal1 0 309 576 357 0 VDD port 1 se rlabel metal1 0 -24 576 24 0 GND port 2 se -rlabel metal1 58 40 87 69 0 Y +rlabel metal1 58 44 87 73 0 Y port 3 se -rlabel metal1 65 69 79 215 0 Y +rlabel metal1 65 73 79 220 0 Y port 4 se -rlabel metal1 58 215 87 223 0 Y +rlabel metal1 58 220 87 227 0 Y port 5 se -rlabel metal1 322 215 351 223 0 Y +rlabel metal1 322 220 351 227 0 Y port 6 se -rlabel metal1 58 223 351 237 0 Y +rlabel metal1 58 227 351 241 0 Y port 7 se -rlabel metal1 58 237 87 244 0 Y +rlabel metal1 58 241 87 249 0 Y port 8 se -rlabel metal1 322 237 351 244 0 Y +rlabel metal1 322 241 351 249 0 Y port 9 se -rlabel metal1 418 80 447 109 0 A +rlabel metal1 130 85 159 114 0 C port 10 se -rlabel metal1 425 109 439 175 0 A +rlabel metal1 137 114 151 178 0 C port 11 se -rlabel metal1 418 175 447 204 0 A +rlabel metal1 130 178 159 207 0 C port 12 se -rlabel metal1 130 80 159 109 0 C +rlabel metal1 274 85 303 114 0 B port 13 se -rlabel metal1 137 109 151 175 0 C +rlabel metal1 281 114 295 178 0 B port 14 se -rlabel metal1 130 175 159 204 0 C +rlabel metal1 274 178 303 207 0 B port 15 se -rlabel metal1 274 80 303 109 0 B +rlabel metal1 418 85 447 114 0 A port 16 se -rlabel metal1 281 109 295 175 0 B +rlabel metal1 425 114 439 178 0 A port 17 se -rlabel metal1 274 175 303 204 0 B +rlabel metal1 418 178 447 207 0 A port 18 se << properties >> string FIXED_BBOX 0 0 576 333
diff --git a/cells/mag/NOR2X1.mag b/cells/mag/NOR2X1.mag index 9b9e078..6b90ae7 100644 --- a/cells/mag/NOR2X1.mag +++ b/cells/mag/NOR2X1.mag
@@ -1,6 +1,6 @@ magic tech sky130A -timestamp 1623602988 +timestamp 1624066728 << nwell >> rect 0 179 432 333 << nmos >> @@ -10,197 +10,197 @@ rect 137 225 152 309 rect 281 225 296 309 << ndiff >> -rect 82 66 111 69 -rect 322 66 351 69 -rect 58 63 137 66 -rect 58 46 88 63 -rect 105 46 137 63 -rect 58 24 137 46 -rect 152 36 281 66 -rect 152 24 184 36 -rect 178 19 184 24 -rect 201 24 281 36 -rect 296 63 375 66 -rect 296 46 328 63 -rect 345 46 375 63 -rect 296 24 375 46 -rect 201 19 207 24 -rect 178 13 207 19 +rect 82 67 111 73 +rect 82 66 88 67 +rect 58 50 88 66 +rect 105 66 111 67 +rect 322 67 351 73 +rect 322 66 328 67 +rect 105 50 137 66 +rect 58 24 137 50 +rect 152 49 281 66 +rect 152 32 184 49 +rect 201 32 281 49 +rect 152 24 281 32 +rect 296 50 328 66 +rect 345 66 351 67 +rect 345 50 375 66 +rect 296 24 375 50 << pdiff >> -rect 58 309 87 312 -rect 58 306 137 309 -rect 58 289 64 306 -rect 81 289 137 306 -rect 58 225 137 289 +rect 58 301 137 309 +rect 58 284 64 301 +rect 81 284 137 301 +rect 58 225 137 284 rect 152 225 281 309 -rect 296 238 375 309 -rect 296 225 328 238 -rect 322 221 328 225 -rect 345 225 375 238 -rect 345 221 351 225 -rect 322 215 351 221 +rect 296 243 375 309 +rect 296 226 328 243 +rect 345 226 375 243 +rect 296 225 375 226 +rect 322 220 351 225 << ndiffc >> -rect 88 46 105 63 -rect 184 19 201 36 -rect 328 46 345 63 +rect 88 50 105 67 +rect 184 32 201 49 +rect 328 50 345 67 << pdiffc >> -rect 64 289 81 306 -rect 328 221 345 238 +rect 64 284 81 301 +rect 328 226 345 243 << poly >> -rect 137 309 152 330 -rect 281 309 296 330 -rect 137 206 152 225 -rect 281 206 296 225 -rect 128 198 161 206 -rect 128 181 136 198 -rect 153 181 161 198 -rect 128 173 161 181 -rect 272 198 305 206 -rect 272 181 280 198 -rect 297 181 305 198 -rect 272 173 305 181 -rect 128 103 161 111 -rect 128 86 136 103 -rect 153 86 161 103 -rect 128 78 161 86 -rect 272 103 305 111 -rect 272 86 280 103 -rect 297 86 305 103 -rect 272 78 305 86 -rect 137 66 152 78 -rect 281 66 296 78 +rect 137 309 152 322 +rect 281 309 296 322 +rect 137 209 152 225 +rect 281 209 296 225 +rect 128 201 161 209 +rect 128 184 136 201 +rect 153 184 161 201 +rect 128 176 161 184 +rect 272 201 305 209 +rect 272 184 280 201 +rect 297 184 305 201 +rect 272 176 305 184 +rect 128 108 161 116 +rect 128 91 136 108 +rect 153 91 161 108 +rect 128 83 161 91 +rect 272 108 305 116 +rect 272 91 280 108 +rect 297 91 305 108 +rect 272 83 305 91 +rect 137 66 152 83 +rect 281 66 296 83 rect 137 11 152 24 rect 281 11 296 24 << polycont >> -rect 136 181 153 198 -rect 280 181 297 198 -rect 136 86 153 103 -rect 280 86 297 103 +rect 136 184 153 201 +rect 280 184 297 201 +rect 136 91 153 108 +rect 280 91 297 108 << locali >> -rect 56 306 89 314 -rect 56 289 64 306 -rect 81 289 89 306 -rect 56 281 89 289 -rect 320 238 353 246 -rect 320 221 328 238 -rect 345 221 353 238 -rect 320 213 353 221 -rect 128 198 161 206 -rect 128 181 136 198 -rect 153 181 161 198 -rect 128 173 161 181 -rect 272 198 303 206 -rect 272 181 280 198 -rect 297 196 303 198 -rect 297 181 305 196 -rect 272 173 305 181 -rect 128 103 161 111 -rect 128 86 136 103 -rect 153 86 161 103 -rect 128 78 161 86 -rect 272 103 305 111 -rect 272 86 280 103 -rect 297 88 305 103 -rect 297 86 303 88 -rect 272 78 303 86 -rect 80 63 111 71 -rect 80 46 88 63 -rect 105 61 111 63 -rect 320 63 353 71 -rect 105 46 113 61 -rect 80 38 113 46 -rect 320 46 328 63 -rect 345 46 353 63 -rect 176 36 209 44 -rect 320 38 353 46 -rect 176 11 184 36 -rect 201 11 209 36 +rect 56 301 89 309 +rect 56 284 64 301 +rect 81 284 89 301 +rect 56 276 89 284 +rect 320 243 353 251 +rect 320 226 328 243 +rect 345 226 353 243 +rect 320 218 353 226 +rect 128 201 161 209 +rect 128 184 136 201 +rect 153 184 161 201 +rect 128 176 161 184 +rect 272 201 303 209 +rect 272 184 280 201 +rect 297 184 305 201 +rect 272 176 305 184 +rect 128 108 161 116 +rect 128 91 136 108 +rect 153 91 161 108 +rect 128 83 161 91 +rect 272 108 305 116 +rect 272 91 280 108 +rect 297 92 305 108 +rect 297 91 303 92 +rect 272 83 303 91 +rect 80 67 111 75 +rect 80 50 88 67 +rect 105 66 111 67 +rect 320 67 353 75 +rect 105 50 113 66 +rect 80 42 113 50 +rect 176 49 209 57 +rect 176 32 184 49 +rect 201 32 209 49 +rect 320 50 328 67 +rect 345 50 353 67 +rect 320 42 353 50 +rect 176 27 209 32 +rect 176 24 184 27 +rect 201 24 209 27 << viali >> -rect 64 289 81 306 -rect 328 221 345 238 -rect 136 181 153 198 -rect 280 181 297 198 -rect 136 86 153 103 -rect 280 86 297 103 -rect 88 46 105 63 -rect 328 46 345 63 -rect 184 19 201 22 -rect 184 5 201 19 +rect 64 284 81 301 +rect 328 226 345 243 +rect 136 184 153 201 +rect 280 184 297 201 +rect 136 91 153 108 +rect 280 91 297 108 +rect 88 50 105 67 +rect 328 50 345 67 +rect 184 10 201 27 << metal1 >> rect 0 309 432 357 -rect 58 306 87 309 -rect 58 289 64 306 -rect 81 289 87 306 -rect 58 283 87 289 -rect 322 238 351 244 -rect 322 221 328 238 -rect 345 221 351 238 -rect 322 215 351 221 -rect 130 198 159 204 -rect 130 181 136 198 -rect 153 181 159 198 -rect 130 175 159 181 -rect 274 198 303 204 -rect 274 181 280 198 -rect 297 181 303 198 -rect 274 175 303 181 -rect 137 109 151 175 -rect 281 109 295 175 -rect 130 103 159 109 -rect 130 86 136 103 -rect 153 86 159 103 -rect 130 80 159 86 -rect 274 103 303 109 -rect 274 86 280 103 -rect 297 86 303 103 -rect 274 80 303 86 -rect 329 69 343 215 -rect 82 63 111 69 -rect 82 46 88 63 -rect 105 61 111 63 -rect 322 63 351 69 -rect 322 61 328 63 -rect 105 47 328 61 -rect 105 46 111 47 -rect 82 40 111 46 -rect 322 46 328 47 -rect 345 46 351 63 -rect 322 40 351 46 -rect 178 24 207 28 -rect 0 22 432 24 -rect 0 5 184 22 -rect 201 5 432 22 -rect 0 -24 432 5 +rect 58 301 87 309 +rect 58 284 64 301 +rect 81 284 87 301 +rect 58 278 87 284 +rect 322 243 351 249 +rect 322 226 328 243 +rect 345 226 351 243 +rect 322 220 351 226 +rect 130 201 159 207 +rect 130 184 136 201 +rect 153 184 159 201 +rect 130 178 159 184 +rect 274 201 303 207 +rect 274 184 280 201 +rect 297 184 303 201 +rect 274 178 303 184 +rect 137 114 151 178 +rect 281 114 295 178 +rect 130 108 159 114 +rect 130 91 136 108 +rect 153 91 159 108 +rect 130 85 159 91 +rect 274 108 303 114 +rect 274 91 280 108 +rect 297 91 303 108 +rect 274 85 303 91 +rect 329 73 343 220 +rect 82 67 111 73 +rect 82 50 88 67 +rect 105 66 111 67 +rect 322 67 351 73 +rect 322 66 328 67 +rect 105 52 328 66 +rect 105 50 111 52 +rect 82 44 111 50 +rect 322 50 328 52 +rect 345 50 351 67 +rect 322 44 351 50 +rect 178 27 207 33 +rect 178 24 184 27 +rect 0 10 184 24 +rect 201 24 207 27 +rect 201 10 432 24 +rect 0 -24 432 10 << labels >> rlabel metal1 0 309 432 357 0 VDD port 1 se rlabel metal1 0 -24 432 24 0 GND port 2 se -rlabel metal1 82 40 111 47 0 Y +rlabel metal1 82 44 111 52 0 Y port 3 se -rlabel metal1 322 40 351 47 0 Y +rlabel metal1 322 44 351 52 0 Y port 4 se -rlabel metal1 82 47 351 61 0 Y +rlabel metal1 82 52 351 66 0 Y port 5 se -rlabel metal1 82 61 111 69 0 Y +rlabel metal1 82 66 111 73 0 Y port 6 se -rlabel metal1 322 61 351 69 0 Y +rlabel metal1 322 66 351 73 0 Y port 7 se -rlabel metal1 329 69 343 215 0 Y +rlabel metal1 329 73 343 220 0 Y port 8 se -rlabel metal1 322 215 351 244 0 Y +rlabel metal1 322 220 351 249 0 Y port 9 se -rlabel metal1 130 80 159 109 0 A +rlabel metal1 274 85 303 114 0 B port 10 se -rlabel metal1 137 109 151 175 0 A +rlabel metal1 281 114 295 178 0 B port 11 se -rlabel metal1 130 175 159 204 0 A +rlabel metal1 274 178 303 207 0 B port 12 se -rlabel metal1 274 80 303 109 0 B +rlabel metal1 130 85 159 114 0 A port 13 se -rlabel metal1 281 109 295 175 0 B +rlabel metal1 137 114 151 178 0 A port 14 se -rlabel metal1 274 175 303 204 0 B +rlabel metal1 130 178 159 207 0 A port 15 se << properties >> string FIXED_BBOX 0 0 432 333
diff --git a/cells/mag/OAI21X1.mag b/cells/mag/OAI21X1.mag index 2fb5398..c501b9c 100644 --- a/cells/mag/OAI21X1.mag +++ b/cells/mag/OAI21X1.mag
@@ -1,6 +1,6 @@ magic tech sky130A -timestamp 1623602995 +timestamp 1624067079 << nwell >> rect 0 179 576 333 << nmos >> @@ -12,269 +12,269 @@ rect 281 225 296 309 rect 425 225 440 309 << ndiff >> -rect 58 66 87 69 -rect 226 66 255 69 -rect 466 66 495 69 -rect 58 63 137 66 -rect 58 46 64 63 -rect 81 46 137 63 -rect 58 24 137 46 -rect 152 63 281 66 -rect 152 46 232 63 -rect 249 46 281 63 -rect 152 24 281 46 -rect 296 36 425 66 -rect 296 24 328 36 -rect 322 19 328 24 -rect 345 24 425 36 -rect 440 63 519 66 -rect 440 46 472 63 -rect 489 46 519 63 -rect 440 24 519 46 -rect 345 19 351 24 -rect 322 13 351 19 +rect 58 67 87 73 +rect 58 50 64 67 +rect 81 66 87 67 +rect 226 67 255 73 +rect 226 66 232 67 +rect 81 50 137 66 +rect 58 24 137 50 +rect 152 50 232 66 +rect 249 66 255 67 +rect 466 67 495 73 +rect 466 66 472 67 +rect 249 50 281 66 +rect 152 24 281 50 +rect 296 49 425 66 +rect 296 32 328 49 +rect 345 32 425 49 +rect 296 24 425 32 +rect 440 50 472 66 +rect 489 66 495 67 +rect 489 50 519 66 +rect 440 24 519 50 << pdiff >> -rect 178 309 207 312 -rect 58 238 137 309 -rect 58 221 64 238 -rect 81 225 137 238 -rect 152 306 281 309 -rect 152 289 184 306 -rect 201 289 281 306 -rect 152 225 281 289 +rect 58 243 137 309 +rect 58 226 64 243 +rect 81 226 137 243 +rect 58 225 137 226 +rect 152 301 281 309 +rect 152 284 184 301 +rect 201 284 281 301 +rect 152 225 281 284 rect 296 225 425 309 -rect 440 238 519 309 -rect 440 225 472 238 -rect 81 221 87 225 -rect 58 215 87 221 -rect 466 221 472 225 -rect 489 225 519 238 -rect 489 221 495 225 -rect 466 215 495 221 +rect 440 243 519 309 +rect 440 226 472 243 +rect 489 226 519 243 +rect 440 225 519 226 +rect 58 220 87 225 +rect 466 220 495 225 << ndiffc >> -rect 64 46 81 63 -rect 232 46 249 63 -rect 328 19 345 36 -rect 472 46 489 63 +rect 64 50 81 67 +rect 232 50 249 67 +rect 328 32 345 49 +rect 472 50 489 67 << pdiffc >> -rect 64 221 81 238 -rect 184 289 201 306 -rect 472 221 489 238 +rect 64 226 81 243 +rect 184 284 201 301 +rect 472 226 489 243 << poly >> -rect 137 309 152 330 -rect 281 309 296 330 -rect 425 309 440 330 -rect 137 206 152 225 -rect 281 206 296 225 -rect 425 206 440 225 -rect 128 198 161 206 -rect 128 181 136 198 -rect 153 181 161 198 -rect 128 173 161 181 -rect 272 198 305 206 -rect 272 181 280 198 -rect 297 181 305 198 -rect 272 173 305 181 -rect 416 198 449 206 -rect 416 181 424 198 -rect 441 181 449 198 -rect 416 173 449 181 -rect 128 103 161 111 -rect 128 86 136 103 -rect 153 86 161 103 -rect 128 78 161 86 -rect 272 103 305 111 -rect 272 86 280 103 -rect 297 86 305 103 -rect 272 78 305 86 -rect 416 103 449 111 -rect 416 86 424 103 -rect 441 86 449 103 -rect 416 78 449 86 -rect 137 66 152 78 -rect 281 66 296 78 -rect 425 66 440 78 +rect 137 309 152 322 +rect 281 309 296 322 +rect 425 309 440 322 +rect 137 209 152 225 +rect 281 209 296 225 +rect 425 209 440 225 +rect 128 201 161 209 +rect 128 184 136 201 +rect 153 184 161 201 +rect 128 176 161 184 +rect 272 201 305 209 +rect 272 184 280 201 +rect 297 184 305 201 +rect 272 176 305 184 +rect 416 201 449 209 +rect 416 184 424 201 +rect 441 184 449 201 +rect 416 176 449 184 +rect 128 108 161 116 +rect 128 91 136 108 +rect 153 91 161 108 +rect 128 83 161 91 +rect 272 108 305 116 +rect 272 91 280 108 +rect 297 91 305 108 +rect 272 83 305 91 +rect 416 108 449 116 +rect 416 91 424 108 +rect 441 91 449 108 +rect 416 83 449 91 +rect 137 66 152 83 +rect 281 66 296 83 +rect 425 66 440 83 rect 137 11 152 24 rect 281 11 296 24 rect 425 11 440 24 << polycont >> -rect 136 181 153 198 -rect 280 181 297 198 -rect 424 181 441 198 -rect 136 86 153 103 -rect 280 86 297 103 -rect 424 86 441 103 +rect 136 184 153 201 +rect 280 184 297 201 +rect 424 184 441 201 +rect 136 91 153 108 +rect 280 91 297 108 +rect 424 91 441 108 << locali >> -rect 176 306 209 314 -rect 176 289 184 306 -rect 201 289 209 306 -rect 176 281 209 289 -rect 56 238 89 246 -rect 56 221 64 238 -rect 81 221 89 238 -rect 56 213 89 221 -rect 464 238 497 246 -rect 464 221 472 238 -rect 489 221 497 238 -rect 464 213 497 221 -rect 128 198 161 206 -rect 128 181 136 198 -rect 153 181 161 198 -rect 128 173 161 181 -rect 272 198 305 206 -rect 272 181 280 198 -rect 297 181 305 198 -rect 272 173 305 181 -rect 416 198 447 206 -rect 416 181 424 198 -rect 441 196 447 198 -rect 441 181 449 196 -rect 416 173 449 181 -rect 128 103 161 111 -rect 128 86 136 103 -rect 153 86 161 103 -rect 128 78 161 86 -rect 272 103 305 111 -rect 272 86 280 103 -rect 297 86 305 103 -rect 272 78 305 86 -rect 416 103 449 111 -rect 416 86 424 103 -rect 441 88 449 103 -rect 441 86 447 88 -rect 416 78 447 86 -rect 56 63 89 71 -rect 56 46 64 63 -rect 81 46 89 63 -rect 56 38 89 46 -rect 224 63 255 71 -rect 224 46 232 63 -rect 249 61 255 63 -rect 464 63 497 71 -rect 249 46 257 61 -rect 224 38 257 46 -rect 464 46 472 63 -rect 489 46 497 63 -rect 320 36 353 44 -rect 464 38 497 46 -rect 320 11 328 36 -rect 345 11 353 36 +rect 176 301 209 309 +rect 176 284 184 301 +rect 201 284 209 301 +rect 176 276 209 284 +rect 56 243 89 251 +rect 56 226 64 243 +rect 81 226 89 243 +rect 56 218 89 226 +rect 464 243 497 251 +rect 464 226 472 243 +rect 489 226 497 243 +rect 464 218 497 226 +rect 128 201 161 209 +rect 128 184 136 201 +rect 153 184 161 201 +rect 128 176 161 184 +rect 272 201 305 209 +rect 272 184 280 201 +rect 297 184 305 201 +rect 272 176 305 184 +rect 416 201 447 209 +rect 416 184 424 201 +rect 441 184 449 201 +rect 416 176 449 184 +rect 128 108 161 116 +rect 128 91 136 108 +rect 153 91 161 108 +rect 128 83 161 91 +rect 272 108 305 116 +rect 272 91 280 108 +rect 297 91 305 108 +rect 272 83 305 91 +rect 416 108 449 116 +rect 416 91 424 108 +rect 441 92 449 108 +rect 441 91 447 92 +rect 416 83 447 91 +rect 56 67 89 75 +rect 56 50 64 67 +rect 81 50 89 67 +rect 56 42 89 50 +rect 224 67 255 75 +rect 224 50 232 67 +rect 249 66 255 67 +rect 464 67 497 75 +rect 249 50 257 66 +rect 224 42 257 50 +rect 320 49 353 57 +rect 320 32 328 49 +rect 345 32 353 49 +rect 464 50 472 67 +rect 489 50 497 67 +rect 464 42 497 50 +rect 320 27 353 32 +rect 320 24 328 27 +rect 345 24 353 27 << viali >> -rect 184 289 201 306 -rect 64 221 81 238 -rect 472 221 489 238 -rect 136 181 153 198 -rect 280 181 297 198 -rect 424 181 441 198 -rect 136 86 153 103 -rect 280 86 297 103 -rect 424 86 441 103 -rect 64 46 81 63 -rect 232 46 249 63 -rect 472 46 489 63 -rect 328 19 345 22 -rect 328 5 345 19 +rect 184 284 201 301 +rect 64 226 81 243 +rect 472 226 489 243 +rect 136 184 153 201 +rect 280 184 297 201 +rect 424 184 441 201 +rect 136 91 153 108 +rect 280 91 297 108 +rect 424 91 441 108 +rect 64 50 81 67 +rect 232 50 249 67 +rect 472 50 489 67 +rect 328 10 345 27 << metal1 >> rect 0 309 576 357 -rect 178 306 207 309 -rect 178 289 184 306 -rect 201 289 207 306 -rect 178 283 207 289 -rect 58 238 87 244 -rect 58 221 64 238 -rect 81 237 87 238 -rect 466 238 495 244 -rect 466 237 472 238 -rect 81 223 472 237 -rect 81 221 87 223 -rect 58 215 87 221 -rect 466 221 472 223 -rect 489 221 495 238 -rect 466 215 495 221 -rect 65 69 79 215 -rect 130 198 159 204 -rect 130 181 136 198 -rect 153 181 159 198 -rect 130 175 159 181 -rect 274 198 303 204 -rect 274 181 280 198 -rect 297 181 303 198 -rect 274 175 303 181 -rect 418 198 447 204 -rect 418 181 424 198 -rect 441 181 447 198 -rect 418 175 447 181 -rect 137 109 151 175 -rect 281 109 295 175 -rect 425 109 439 175 -rect 130 103 159 109 -rect 130 86 136 103 -rect 153 86 159 103 -rect 130 80 159 86 -rect 274 103 303 109 -rect 274 86 280 103 -rect 297 86 303 103 -rect 274 80 303 86 -rect 418 103 447 109 -rect 418 86 424 103 -rect 441 86 447 103 -rect 418 80 447 86 -rect 58 63 87 69 -rect 58 46 64 63 -rect 81 46 87 63 -rect 58 40 87 46 -rect 226 63 255 69 -rect 226 46 232 63 -rect 249 61 255 63 -rect 466 63 495 69 -rect 466 61 472 63 -rect 249 47 472 61 -rect 249 46 255 47 -rect 226 40 255 46 -rect 466 46 472 47 -rect 489 46 495 63 -rect 466 40 495 46 -rect 322 24 351 28 -rect 0 22 576 24 -rect 0 5 328 22 -rect 345 5 576 22 -rect 0 -24 576 5 +rect 178 301 207 309 +rect 178 284 184 301 +rect 201 284 207 301 +rect 178 278 207 284 +rect 58 243 87 249 +rect 58 226 64 243 +rect 81 241 87 243 +rect 466 243 495 249 +rect 466 241 472 243 +rect 81 227 472 241 +rect 81 226 87 227 +rect 58 220 87 226 +rect 466 226 472 227 +rect 489 226 495 243 +rect 466 220 495 226 +rect 65 73 79 220 +rect 130 201 159 207 +rect 130 184 136 201 +rect 153 184 159 201 +rect 130 178 159 184 +rect 274 201 303 207 +rect 274 184 280 201 +rect 297 184 303 201 +rect 274 178 303 184 +rect 418 201 447 207 +rect 418 184 424 201 +rect 441 184 447 201 +rect 418 178 447 184 +rect 137 114 151 178 +rect 281 114 295 178 +rect 425 114 439 178 +rect 130 108 159 114 +rect 130 91 136 108 +rect 153 91 159 108 +rect 130 85 159 91 +rect 274 108 303 114 +rect 274 91 280 108 +rect 297 91 303 108 +rect 274 85 303 91 +rect 418 108 447 114 +rect 418 91 424 108 +rect 441 91 447 108 +rect 418 85 447 91 +rect 58 67 87 73 +rect 58 50 64 67 +rect 81 50 87 67 +rect 58 44 87 50 +rect 226 67 255 73 +rect 226 50 232 67 +rect 249 66 255 67 +rect 466 67 495 73 +rect 466 66 472 67 +rect 249 52 472 66 +rect 249 50 255 52 +rect 226 44 255 50 +rect 466 50 472 52 +rect 489 50 495 67 +rect 466 44 495 50 +rect 322 27 351 33 +rect 322 24 328 27 +rect 0 10 328 24 +rect 345 24 351 27 +rect 345 10 576 24 +rect 0 -24 576 10 << labels >> rlabel metal1 0 309 576 357 0 VDD port 1 se rlabel metal1 0 -24 576 24 0 GND port 2 se -rlabel metal1 58 40 87 69 0 Y +rlabel metal1 58 44 87 73 0 Y port 3 se -rlabel metal1 65 69 79 215 0 Y +rlabel metal1 65 73 79 220 0 Y port 4 se -rlabel metal1 58 215 87 223 0 Y +rlabel metal1 58 220 87 227 0 Y port 5 se -rlabel metal1 466 215 495 223 0 Y +rlabel metal1 466 220 495 227 0 Y port 6 se -rlabel metal1 58 223 495 237 0 Y +rlabel metal1 58 227 495 241 0 Y port 7 se -rlabel metal1 58 237 87 244 0 Y +rlabel metal1 58 241 87 249 0 Y port 8 se -rlabel metal1 466 237 495 244 0 Y +rlabel metal1 466 241 495 249 0 Y port 9 se -rlabel metal1 274 80 303 109 0 A +rlabel metal1 274 85 303 114 0 A port 10 se -rlabel metal1 281 109 295 175 0 A +rlabel metal1 281 114 295 178 0 A port 11 se -rlabel metal1 274 175 303 204 0 A +rlabel metal1 274 178 303 207 0 A port 12 se -rlabel metal1 130 80 159 109 0 C +rlabel metal1 418 85 447 114 0 B port 13 se -rlabel metal1 137 109 151 175 0 C +rlabel metal1 425 114 439 178 0 B port 14 se -rlabel metal1 130 175 159 204 0 C +rlabel metal1 418 178 447 207 0 B port 15 se -rlabel metal1 418 80 447 109 0 B +rlabel metal1 130 85 159 114 0 C port 16 se -rlabel metal1 425 109 439 175 0 B +rlabel metal1 137 114 151 178 0 C port 17 se -rlabel metal1 418 175 447 204 0 B +rlabel metal1 130 178 159 207 0 C port 18 se << properties >> string FIXED_BBOX 0 0 576 333
diff --git a/cells/mag/OAI22X1.mag b/cells/mag/OAI22X1.mag index 2a3d094..5940a56 100644 --- a/cells/mag/OAI22X1.mag +++ b/cells/mag/OAI22X1.mag
@@ -1,6 +1,6 @@ magic tech sky130A -timestamp 1623602999 +timestamp 1624067235 << nwell >> rect 0 179 720 333 << nmos >> @@ -14,332 +14,332 @@ rect 425 225 440 309 rect 569 225 584 309 << ndiff >> -rect 82 66 111 69 -rect 370 66 399 69 -rect 514 66 543 69 -rect 610 66 639 69 -rect 58 63 137 66 -rect 58 46 88 63 -rect 105 46 137 63 -rect 58 24 137 46 -rect 152 36 281 66 -rect 152 24 184 36 -rect 178 19 184 24 -rect 201 24 281 36 -rect 296 63 425 66 -rect 296 46 376 63 -rect 393 46 425 63 -rect 296 24 425 46 -rect 440 63 569 66 -rect 440 46 520 63 -rect 537 46 569 63 -rect 440 24 569 46 -rect 584 63 663 66 -rect 584 46 616 63 -rect 633 46 663 63 -rect 584 24 663 46 -rect 201 19 207 24 -rect 178 13 207 19 +rect 82 67 111 73 +rect 82 66 88 67 +rect 58 50 88 66 +rect 105 66 111 67 +rect 322 67 351 73 +rect 322 66 328 67 +rect 105 50 137 66 +rect 58 24 137 50 +rect 152 49 281 66 +rect 152 32 184 49 +rect 201 32 281 49 +rect 152 24 281 32 +rect 296 50 328 66 +rect 345 66 351 67 +rect 514 67 543 73 +rect 514 66 520 67 +rect 345 50 425 66 +rect 296 24 425 50 +rect 440 50 520 66 +rect 537 66 543 67 +rect 610 67 639 73 +rect 610 66 616 67 +rect 537 50 569 66 +rect 440 24 569 50 +rect 584 50 616 66 +rect 633 66 639 67 +rect 633 50 663 66 +rect 584 24 663 50 << pdiff >> -rect 322 309 351 312 -rect 58 238 137 309 -rect 58 225 88 238 -rect 82 221 88 225 -rect 105 225 137 238 +rect 58 243 137 309 +rect 58 226 88 243 +rect 105 226 137 243 +rect 58 225 137 226 rect 152 225 281 309 -rect 296 306 425 309 -rect 296 289 328 306 -rect 345 289 425 306 -rect 296 225 425 289 +rect 296 301 425 309 +rect 296 284 328 301 +rect 345 284 425 301 +rect 296 225 425 284 rect 440 225 569 309 -rect 584 238 663 309 -rect 584 225 616 238 -rect 105 221 111 225 -rect 82 215 111 221 -rect 610 221 616 225 -rect 633 225 663 238 -rect 633 221 639 225 -rect 610 215 639 221 +rect 584 243 663 309 +rect 584 226 616 243 +rect 633 226 663 243 +rect 584 225 663 226 +rect 82 220 111 225 +rect 610 220 639 225 << ndiffc >> -rect 88 46 105 63 -rect 184 19 201 36 -rect 376 46 393 63 -rect 520 46 537 63 -rect 616 46 633 63 +rect 88 50 105 67 +rect 184 32 201 49 +rect 328 50 345 67 +rect 520 50 537 67 +rect 616 50 633 67 << pdiffc >> -rect 88 221 105 238 -rect 328 289 345 306 -rect 616 221 633 238 +rect 88 226 105 243 +rect 328 284 345 301 +rect 616 226 633 243 << poly >> -rect 137 309 152 330 -rect 281 309 296 330 -rect 425 309 440 330 -rect 569 309 584 330 -rect 137 206 152 225 -rect 281 206 296 225 -rect 425 206 440 225 -rect 569 206 584 225 -rect 128 198 161 206 -rect 128 181 136 198 -rect 153 181 161 198 -rect 128 173 161 181 -rect 272 198 305 206 -rect 272 181 280 198 -rect 297 181 305 198 -rect 272 173 305 181 -rect 416 198 449 206 -rect 416 181 424 198 -rect 441 181 449 198 -rect 416 173 449 181 -rect 560 198 593 206 -rect 560 181 568 198 -rect 585 181 593 198 -rect 560 173 593 181 -rect 128 103 161 111 -rect 128 86 136 103 -rect 153 86 161 103 -rect 128 78 161 86 -rect 272 103 305 111 -rect 272 86 280 103 -rect 297 86 305 103 -rect 272 78 305 86 -rect 416 103 449 111 -rect 416 86 424 103 -rect 441 86 449 103 -rect 416 78 449 86 -rect 560 103 593 111 -rect 560 86 568 103 -rect 585 86 593 103 -rect 560 78 593 86 -rect 137 66 152 78 -rect 281 66 296 78 -rect 425 66 440 78 -rect 569 66 584 78 +rect 137 309 152 322 +rect 281 309 296 322 +rect 425 309 440 322 +rect 569 309 584 322 +rect 137 209 152 225 +rect 281 209 296 225 +rect 425 209 440 225 +rect 569 209 584 225 +rect 128 201 161 209 +rect 128 184 136 201 +rect 153 184 161 201 +rect 128 176 161 184 +rect 272 201 305 209 +rect 272 184 280 201 +rect 297 184 305 201 +rect 272 176 305 184 +rect 416 201 449 209 +rect 416 184 424 201 +rect 441 184 449 201 +rect 416 176 449 184 +rect 560 201 593 209 +rect 560 184 568 201 +rect 585 184 593 201 +rect 560 176 593 184 +rect 128 108 161 116 +rect 128 91 136 108 +rect 153 91 161 108 +rect 128 83 161 91 +rect 272 108 305 116 +rect 272 91 280 108 +rect 297 91 305 108 +rect 272 83 305 91 +rect 416 108 449 116 +rect 416 91 424 108 +rect 441 91 449 108 +rect 416 83 449 91 +rect 560 108 593 116 +rect 560 91 568 108 +rect 585 91 593 108 +rect 560 83 593 91 +rect 137 66 152 83 +rect 281 66 296 83 +rect 425 66 440 83 +rect 569 66 584 83 rect 137 11 152 24 rect 281 11 296 24 rect 425 11 440 24 rect 569 11 584 24 << polycont >> -rect 136 181 153 198 -rect 280 181 297 198 -rect 424 181 441 198 -rect 568 181 585 198 -rect 136 86 153 103 -rect 280 86 297 103 -rect 424 86 441 103 -rect 568 86 585 103 +rect 136 184 153 201 +rect 280 184 297 201 +rect 424 184 441 201 +rect 568 184 585 201 +rect 136 91 153 108 +rect 280 91 297 108 +rect 424 91 441 108 +rect 568 91 585 108 << locali >> -rect 320 306 353 314 -rect 320 289 328 306 -rect 345 289 353 306 -rect 320 281 353 289 -rect 80 238 113 246 -rect 80 221 88 238 -rect 105 223 113 238 -rect 608 238 641 246 -rect 608 223 616 238 -rect 105 221 111 223 -rect 80 213 111 221 -rect 610 221 616 223 -rect 633 221 641 238 -rect 610 213 641 221 -rect 128 198 161 206 -rect 128 181 136 198 -rect 153 181 161 198 -rect 128 173 161 181 -rect 272 198 305 206 -rect 272 181 280 198 -rect 297 181 305 198 -rect 272 173 305 181 -rect 416 198 449 206 -rect 416 181 424 198 -rect 441 181 449 198 -rect 416 173 449 181 -rect 560 198 593 206 -rect 560 181 568 198 -rect 585 181 593 198 -rect 560 173 593 181 -rect 128 103 161 111 -rect 128 88 136 103 -rect 130 86 136 88 -rect 153 86 161 103 -rect 130 78 161 86 -rect 272 103 305 111 -rect 272 86 280 103 -rect 297 86 305 103 -rect 272 78 305 86 -rect 416 103 449 111 -rect 560 103 593 111 -rect 416 86 424 103 -rect 441 86 449 103 -rect 416 78 449 86 -rect 560 88 568 103 -rect 520 71 537 86 -rect 562 86 568 88 -rect 585 86 593 103 -rect 562 78 593 86 -rect 80 63 113 71 -rect 80 46 88 63 -rect 105 46 113 63 -rect 80 38 113 46 -rect 368 63 399 71 -rect 368 46 376 63 -rect 393 61 399 63 -rect 512 63 545 71 -rect 393 46 401 61 -rect 176 36 209 44 -rect 368 38 401 46 -rect 512 46 520 63 -rect 537 46 545 63 -rect 610 63 641 71 -rect 610 61 616 63 -rect 512 38 545 46 -rect 608 46 616 61 -rect 633 46 641 63 -rect 608 38 641 46 -rect 176 11 184 36 -rect 201 11 209 36 +rect 320 301 353 309 +rect 320 284 328 301 +rect 345 284 353 301 +rect 320 276 353 284 +rect 80 243 113 251 +rect 80 226 88 243 +rect 105 226 113 243 +rect 608 243 641 251 +rect 608 226 616 243 +rect 633 226 641 243 +rect 80 218 111 226 +rect 610 218 641 226 +rect 128 201 161 209 +rect 128 184 136 201 +rect 153 184 161 201 +rect 128 176 161 184 +rect 272 201 305 209 +rect 272 184 280 201 +rect 297 184 305 201 +rect 272 176 305 184 +rect 416 201 449 209 +rect 416 184 424 201 +rect 441 184 449 201 +rect 416 176 449 184 +rect 560 201 593 209 +rect 560 184 568 201 +rect 585 184 593 201 +rect 560 176 593 184 +rect 128 108 161 116 +rect 128 92 136 108 +rect 130 91 136 92 +rect 153 91 161 108 +rect 130 83 161 91 +rect 272 108 305 116 +rect 272 91 280 108 +rect 297 91 305 108 +rect 272 83 305 91 +rect 416 108 449 116 +rect 560 108 593 116 +rect 416 91 424 108 +rect 441 91 449 108 +rect 416 83 449 91 +rect 560 92 568 108 +rect 520 75 537 91 +rect 562 91 568 92 +rect 585 91 593 108 +rect 562 83 593 91 +rect 80 67 113 75 +rect 80 50 88 67 +rect 105 50 113 67 +rect 322 67 353 75 +rect 322 66 328 67 +rect 80 42 113 50 +rect 176 49 209 57 +rect 176 32 184 49 +rect 201 32 209 49 +rect 320 50 328 66 +rect 345 50 353 67 +rect 320 42 353 50 +rect 512 67 545 75 +rect 512 50 520 67 +rect 537 50 545 67 +rect 610 67 641 75 +rect 610 66 616 67 +rect 512 42 545 50 +rect 608 50 616 66 +rect 633 50 641 67 +rect 608 42 641 50 +rect 176 27 209 32 +rect 176 24 184 27 +rect 201 24 209 27 << viali >> -rect 328 289 345 306 -rect 88 221 105 238 -rect 616 221 633 238 -rect 136 181 153 198 -rect 280 181 297 198 -rect 424 181 441 198 -rect 568 181 585 198 -rect 136 86 153 103 -rect 280 86 297 103 -rect 424 86 441 103 -rect 520 86 537 103 -rect 568 86 585 103 -rect 88 46 105 63 -rect 376 46 393 63 -rect 616 46 633 63 -rect 184 19 201 22 -rect 184 5 201 19 +rect 328 284 345 301 +rect 88 226 105 243 +rect 616 226 633 243 +rect 136 184 153 201 +rect 280 184 297 201 +rect 424 184 441 201 +rect 568 184 585 201 +rect 136 91 153 108 +rect 280 91 297 108 +rect 424 91 441 108 +rect 520 91 537 108 +rect 568 91 585 108 +rect 88 50 105 67 +rect 328 50 345 67 +rect 616 50 633 67 +rect 184 10 201 27 << metal1 >> rect 0 309 720 357 -rect 322 306 351 309 -rect 322 289 328 306 -rect 345 289 351 306 -rect 322 283 351 289 -rect 82 238 111 244 -rect 82 221 88 238 -rect 105 237 111 238 -rect 610 238 639 244 -rect 610 237 616 238 -rect 105 223 616 237 -rect 105 221 111 223 -rect 82 215 111 221 -rect 130 198 159 204 -rect 130 181 136 198 -rect 153 181 159 198 -rect 130 175 159 181 -rect 274 198 303 204 -rect 274 181 280 198 -rect 297 181 303 198 -rect 274 175 303 181 -rect 418 198 447 204 -rect 418 181 424 198 -rect 441 181 447 198 -rect 418 175 447 181 -rect 137 109 151 175 -rect 281 109 295 175 -rect 425 109 439 175 -rect 521 109 535 223 -rect 610 221 616 223 -rect 633 221 639 238 -rect 610 215 639 221 -rect 562 198 591 204 -rect 562 181 568 198 -rect 585 181 591 198 -rect 562 175 591 181 -rect 569 109 583 175 -rect 130 103 159 109 -rect 130 86 136 103 -rect 153 86 159 103 -rect 130 80 159 86 -rect 274 103 303 109 -rect 274 86 280 103 -rect 297 86 303 103 -rect 274 80 303 86 -rect 418 103 447 109 -rect 418 86 424 103 -rect 441 86 447 103 -rect 418 80 447 86 -rect 514 103 543 109 -rect 514 86 520 103 -rect 537 86 543 103 -rect 514 80 543 86 -rect 562 103 591 109 -rect 562 86 568 103 -rect 585 86 591 103 -rect 562 80 591 86 -rect 82 63 111 69 -rect 82 46 88 63 -rect 105 61 111 63 -rect 370 63 399 69 -rect 370 61 376 63 -rect 105 47 376 61 -rect 105 46 111 47 -rect 82 40 111 46 -rect 370 46 376 47 -rect 393 61 399 63 -rect 610 63 639 69 -rect 610 61 616 63 -rect 393 47 616 61 -rect 393 46 399 47 -rect 370 40 399 46 -rect 610 46 616 47 -rect 633 46 639 63 -rect 610 40 639 46 -rect 178 24 207 28 -rect 0 22 720 24 -rect 0 5 184 22 -rect 201 5 720 22 -rect 0 -24 720 5 +rect 322 301 351 309 +rect 322 284 328 301 +rect 345 284 351 301 +rect 322 278 351 284 +rect 82 243 111 249 +rect 82 226 88 243 +rect 105 241 111 243 +rect 610 243 639 249 +rect 610 241 616 243 +rect 105 227 616 241 +rect 105 226 111 227 +rect 82 220 111 226 +rect 130 201 159 207 +rect 130 184 136 201 +rect 153 184 159 201 +rect 130 178 159 184 +rect 274 201 303 207 +rect 274 184 280 201 +rect 297 184 303 201 +rect 274 178 303 184 +rect 418 201 447 207 +rect 418 184 424 201 +rect 441 184 447 201 +rect 418 178 447 184 +rect 137 114 151 178 +rect 281 114 295 178 +rect 425 114 439 178 +rect 521 114 535 227 +rect 610 226 616 227 +rect 633 226 639 243 +rect 610 220 639 226 +rect 562 201 591 207 +rect 562 184 568 201 +rect 585 184 591 201 +rect 562 178 591 184 +rect 569 114 583 178 +rect 130 108 159 114 +rect 130 91 136 108 +rect 153 91 159 108 +rect 130 85 159 91 +rect 274 108 303 114 +rect 274 91 280 108 +rect 297 91 303 108 +rect 274 85 303 91 +rect 418 108 447 114 +rect 418 91 424 108 +rect 441 91 447 108 +rect 418 85 447 91 +rect 514 108 543 114 +rect 514 91 520 108 +rect 537 91 543 108 +rect 514 85 543 91 +rect 562 108 591 114 +rect 562 91 568 108 +rect 585 91 591 108 +rect 562 85 591 91 +rect 82 67 111 73 +rect 82 50 88 67 +rect 105 66 111 67 +rect 322 67 351 73 +rect 322 66 328 67 +rect 105 52 328 66 +rect 105 50 111 52 +rect 82 44 111 50 +rect 322 50 328 52 +rect 345 66 351 67 +rect 610 67 639 73 +rect 610 66 616 67 +rect 345 52 616 66 +rect 345 50 351 52 +rect 322 44 351 50 +rect 610 50 616 52 +rect 633 50 639 67 +rect 610 44 639 50 +rect 178 27 207 33 +rect 178 24 184 27 +rect 0 10 184 24 +rect 201 24 207 27 +rect 201 10 720 24 +rect 0 -24 720 10 << labels >> rlabel metal1 0 309 720 357 0 VDD port 1 se rlabel metal1 0 -24 720 24 0 GND port 2 se -rlabel metal1 514 80 543 109 0 Y +rlabel metal1 514 85 543 114 0 Y port 3 se -rlabel metal1 82 215 111 223 0 Y +rlabel metal1 82 220 111 227 0 Y port 4 se -rlabel metal1 521 109 535 223 0 Y +rlabel metal1 521 114 535 227 0 Y port 5 se -rlabel metal1 610 215 639 223 0 Y +rlabel metal1 610 220 639 227 0 Y port 6 se -rlabel metal1 82 223 639 237 0 Y +rlabel metal1 82 227 639 241 0 Y port 7 se -rlabel metal1 82 237 111 244 0 Y +rlabel metal1 82 241 111 249 0 Y port 8 se -rlabel metal1 610 237 639 244 0 Y +rlabel metal1 610 241 639 249 0 Y port 9 se -rlabel metal1 130 80 159 109 0 B +rlabel metal1 130 85 159 114 0 B port 10 se -rlabel metal1 137 109 151 175 0 B +rlabel metal1 137 114 151 178 0 B port 11 se -rlabel metal1 130 175 159 204 0 B +rlabel metal1 130 178 159 207 0 B port 12 se -rlabel metal1 562 80 591 109 0 D +rlabel metal1 418 85 447 114 0 C port 13 se -rlabel metal1 569 109 583 175 0 D +rlabel metal1 425 114 439 178 0 C port 14 se -rlabel metal1 562 175 591 204 0 D +rlabel metal1 418 178 447 207 0 C port 15 se -rlabel metal1 418 80 447 109 0 C +rlabel metal1 562 85 591 114 0 D port 16 se -rlabel metal1 425 109 439 175 0 C +rlabel metal1 569 114 583 178 0 D port 17 se -rlabel metal1 418 175 447 204 0 C +rlabel metal1 562 178 591 207 0 D port 18 se -rlabel metal1 274 80 303 109 0 A +rlabel metal1 274 85 303 114 0 A port 19 se -rlabel metal1 281 109 295 175 0 A +rlabel metal1 281 114 295 178 0 A port 20 se -rlabel metal1 274 175 303 204 0 A +rlabel metal1 274 178 303 207 0 A port 21 se << properties >> string FIXED_BBOX 0 0 720 333
diff --git a/cells/mag/OR2X1.mag b/cells/mag/OR2X1.mag index c258f6e..5985e05 100644 --- a/cells/mag/OR2X1.mag +++ b/cells/mag/OR2X1.mag
@@ -1,6 +1,6 @@ magic tech sky130A -timestamp 1623603004 +timestamp 1624067387 << nwell >> rect 0 179 576 333 << nmos >> @@ -12,250 +12,252 @@ rect 281 225 296 309 rect 425 225 440 309 << ndiff >> -rect 226 66 255 69 -rect 466 66 495 69 -rect 58 36 137 66 -rect 58 19 64 36 -rect 81 24 137 36 -rect 152 63 281 66 -rect 152 46 232 63 -rect 249 46 281 63 -rect 152 24 281 46 -rect 296 36 425 66 -rect 296 24 328 36 -rect 81 19 87 24 -rect 58 13 87 19 -rect 322 19 328 24 -rect 345 24 425 36 -rect 440 63 519 66 -rect 440 46 472 63 -rect 489 46 519 63 -rect 440 24 519 46 -rect 345 19 351 24 -rect 322 13 351 19 +rect 226 67 255 73 +rect 226 66 232 67 +rect 58 49 137 66 +rect 58 32 64 49 +rect 81 32 137 49 +rect 58 24 137 32 +rect 152 50 232 66 +rect 249 66 255 67 +rect 466 67 495 73 +rect 466 66 472 67 +rect 249 50 281 66 +rect 152 24 281 50 +rect 296 49 425 66 +rect 296 32 328 49 +rect 345 32 425 49 +rect 296 24 425 32 +rect 440 50 472 66 +rect 489 66 495 67 +rect 489 50 519 66 +rect 440 24 519 50 << pdiff >> -rect 322 309 351 312 -rect 58 238 137 309 -rect 58 225 88 238 -rect 82 221 88 225 -rect 105 225 137 238 +rect 58 243 137 309 +rect 58 226 88 243 +rect 105 226 137 243 +rect 58 225 137 226 rect 152 225 281 309 -rect 296 306 425 309 -rect 296 289 328 306 -rect 345 289 425 306 -rect 296 225 425 289 -rect 440 238 519 309 -rect 440 225 472 238 -rect 105 221 111 225 -rect 82 215 111 221 -rect 466 221 472 225 -rect 489 225 519 238 -rect 489 221 495 225 -rect 466 215 495 221 +rect 296 301 425 309 +rect 296 284 328 301 +rect 345 284 425 301 +rect 296 225 425 284 +rect 440 243 519 309 +rect 440 226 472 243 +rect 489 226 519 243 +rect 440 225 519 226 +rect 82 220 111 225 +rect 466 220 495 225 << ndiffc >> -rect 64 19 81 36 -rect 232 46 249 63 -rect 328 19 345 36 -rect 472 46 489 63 +rect 64 32 81 49 +rect 232 50 249 67 +rect 328 32 345 49 +rect 472 50 489 67 << pdiffc >> -rect 88 221 105 238 -rect 328 289 345 306 -rect 472 221 489 238 +rect 88 226 105 243 +rect 328 284 345 301 +rect 472 226 489 243 << poly >> -rect 137 309 152 330 -rect 281 309 296 330 -rect 425 309 440 330 -rect 137 206 152 225 -rect 281 206 296 225 -rect 425 206 440 225 -rect 128 198 161 206 -rect 128 181 136 198 -rect 153 181 161 198 -rect 128 173 161 181 -rect 272 198 305 206 -rect 272 181 280 198 -rect 297 181 305 198 -rect 272 173 305 181 -rect 416 198 449 206 -rect 416 181 424 198 -rect 441 181 449 198 -rect 416 173 449 181 -rect 128 103 161 111 -rect 128 86 136 103 -rect 153 86 161 103 -rect 128 78 161 86 -rect 272 103 305 111 -rect 272 86 280 103 -rect 297 86 305 103 -rect 272 78 305 86 -rect 416 103 449 111 -rect 416 86 424 103 -rect 441 86 449 103 -rect 416 78 449 86 -rect 137 66 152 78 -rect 281 66 296 78 -rect 425 66 440 78 +rect 137 309 152 322 +rect 281 309 296 322 +rect 425 309 440 322 +rect 137 209 152 225 +rect 281 209 296 225 +rect 425 209 440 225 +rect 128 201 161 209 +rect 128 184 136 201 +rect 153 184 161 201 +rect 128 176 161 184 +rect 272 201 305 209 +rect 272 184 280 201 +rect 297 184 305 201 +rect 272 176 305 184 +rect 416 201 449 209 +rect 416 184 424 201 +rect 441 184 449 201 +rect 416 176 449 184 +rect 128 108 161 116 +rect 128 91 136 108 +rect 153 91 161 108 +rect 128 83 161 91 +rect 272 108 305 116 +rect 272 91 280 108 +rect 297 91 305 108 +rect 272 83 305 91 +rect 416 108 449 116 +rect 416 91 424 108 +rect 441 91 449 108 +rect 416 83 449 91 +rect 137 66 152 83 +rect 281 66 296 83 +rect 425 66 440 83 rect 137 11 152 24 rect 281 11 296 24 rect 425 11 440 24 << polycont >> -rect 136 181 153 198 -rect 280 181 297 198 -rect 424 181 441 198 -rect 136 86 153 103 -rect 280 86 297 103 -rect 424 86 441 103 +rect 136 184 153 201 +rect 280 184 297 201 +rect 424 184 441 201 +rect 136 91 153 108 +rect 280 91 297 108 +rect 424 91 441 108 << locali >> -rect 320 306 353 314 -rect 320 289 328 306 -rect 345 289 353 306 -rect 320 281 353 289 -rect 80 238 113 246 -rect 80 221 88 238 -rect 105 223 113 238 -rect 464 238 497 246 -rect 464 223 472 238 -rect 105 221 111 223 -rect 80 213 111 221 -rect 466 221 472 223 -rect 489 221 497 238 -rect 466 213 497 221 -rect 128 198 161 206 -rect 128 181 136 198 -rect 153 181 161 198 -rect 128 173 161 181 -rect 272 198 305 206 -rect 272 181 280 198 -rect 297 181 305 198 -rect 272 173 305 181 -rect 416 198 449 206 -rect 416 181 424 198 -rect 441 181 449 198 -rect 416 173 449 181 -rect 280 111 297 173 -rect 128 103 161 111 -rect 128 86 136 103 -rect 153 86 161 103 -rect 272 103 305 111 -rect 272 88 280 103 -rect 128 78 161 86 -rect 274 86 280 88 -rect 297 86 305 103 -rect 274 78 305 86 -rect 416 103 449 111 -rect 416 86 424 103 -rect 441 86 449 103 -rect 416 78 449 86 -rect 224 63 257 71 -rect 224 46 232 63 -rect 249 46 257 63 -rect 466 63 497 71 -rect 466 61 472 63 -rect 56 36 89 44 -rect 224 38 257 46 -rect 464 46 472 61 -rect 489 46 497 63 -rect 56 19 64 36 -rect 81 19 89 36 -rect 56 11 89 19 -rect 320 36 353 44 -rect 464 38 497 46 -rect 320 19 328 36 -rect 345 19 353 36 -rect 320 11 353 19 +rect 320 301 353 309 +rect 320 284 328 301 +rect 345 284 353 301 +rect 320 276 353 284 +rect 80 243 113 251 +rect 80 226 88 243 +rect 105 226 113 243 +rect 464 243 497 251 +rect 464 226 472 243 +rect 489 226 497 243 +rect 80 218 111 226 +rect 466 218 497 226 +rect 128 201 161 209 +rect 128 184 136 201 +rect 153 184 161 201 +rect 128 176 161 184 +rect 272 201 305 209 +rect 272 184 280 201 +rect 297 184 305 201 +rect 272 176 305 184 +rect 416 201 449 209 +rect 416 184 424 201 +rect 441 184 449 201 +rect 416 176 449 184 +rect 136 116 153 131 +rect 280 116 297 131 +rect 128 108 161 116 +rect 128 91 136 108 +rect 153 91 161 108 +rect 272 108 305 116 +rect 272 92 280 108 +rect 128 83 161 91 +rect 274 91 280 92 +rect 297 91 305 108 +rect 274 83 305 91 +rect 416 108 449 116 +rect 416 91 424 108 +rect 441 91 449 108 +rect 416 83 449 91 +rect 224 67 257 75 +rect 56 49 89 57 +rect 56 32 64 49 +rect 81 32 89 49 +rect 224 50 232 67 +rect 249 50 257 67 +rect 466 67 497 75 +rect 466 66 472 67 +rect 224 42 257 50 +rect 320 49 353 57 +rect 56 24 89 32 +rect 320 32 328 49 +rect 345 32 353 49 +rect 464 50 472 66 +rect 489 50 497 67 +rect 464 42 497 50 +rect 320 24 353 32 << viali >> -rect 328 289 345 306 -rect 88 221 105 238 -rect 472 221 489 238 -rect 136 181 153 198 -rect 280 181 297 198 -rect 424 181 441 198 -rect 136 86 153 103 -rect 424 86 441 103 -rect 232 46 249 63 -rect 472 46 489 63 -rect 64 19 81 36 -rect 328 19 345 36 +rect 328 284 345 301 +rect 88 226 105 243 +rect 472 226 489 243 +rect 136 184 153 201 +rect 280 184 297 201 +rect 424 184 441 201 +rect 136 131 153 148 +rect 280 131 297 148 +rect 424 91 441 108 +rect 64 32 81 49 +rect 232 50 249 67 +rect 328 32 345 49 +rect 472 50 489 67 << metal1 >> rect 0 309 576 357 -rect 322 306 351 309 -rect 322 289 328 306 -rect 345 289 351 306 -rect 322 283 351 289 -rect 82 238 111 244 -rect 82 221 88 238 -rect 105 237 111 238 -rect 466 238 495 244 -rect 105 223 247 237 -rect 105 221 111 223 -rect 82 215 111 221 -rect 130 198 159 204 -rect 130 181 136 198 -rect 153 181 159 198 -rect 130 175 159 181 -rect 137 109 151 175 -rect 130 103 159 109 -rect 130 86 136 103 -rect 153 86 159 103 -rect 130 80 159 86 -rect 233 102 247 223 -rect 466 221 472 238 -rect 489 221 495 238 -rect 466 215 495 221 -rect 274 198 303 204 -rect 274 181 280 198 -rect 297 181 303 198 -rect 274 175 303 181 -rect 418 198 447 204 -rect 418 181 424 198 -rect 441 181 447 198 -rect 418 175 447 181 -rect 425 109 439 175 -rect 418 103 447 109 -rect 418 102 424 103 -rect 233 88 424 102 -rect 233 69 247 88 -rect 418 86 424 88 -rect 441 86 447 103 -rect 418 80 447 86 -rect 473 69 487 215 -rect 226 63 255 69 -rect 226 46 232 63 -rect 249 46 255 63 -rect 58 36 87 42 -rect 226 40 255 46 -rect 466 63 495 69 -rect 466 46 472 63 -rect 489 46 495 63 -rect 58 24 64 36 -rect 0 19 64 24 -rect 81 24 87 36 -rect 322 36 351 42 -rect 466 40 495 46 -rect 322 24 328 36 -rect 81 19 328 24 -rect 345 24 351 36 -rect 345 19 576 24 -rect 0 -24 576 19 +rect 322 301 351 309 +rect 322 284 328 301 +rect 345 284 351 301 +rect 322 278 351 284 +rect 82 243 111 249 +rect 82 226 88 243 +rect 105 226 111 243 +rect 82 220 111 226 +rect 466 243 495 249 +rect 466 226 472 243 +rect 489 226 495 243 +rect 466 220 495 226 +rect 89 106 103 220 +rect 130 201 159 207 +rect 130 184 136 201 +rect 153 184 159 201 +rect 130 178 159 184 +rect 274 201 303 207 +rect 274 184 280 201 +rect 297 184 303 201 +rect 274 178 303 184 +rect 418 201 447 207 +rect 418 184 424 201 +rect 441 184 447 201 +rect 418 178 447 184 +rect 137 154 151 178 +rect 281 154 295 178 +rect 130 148 159 154 +rect 130 131 136 148 +rect 153 131 159 148 +rect 130 125 159 131 +rect 274 148 303 154 +rect 274 131 280 148 +rect 297 131 303 148 +rect 274 125 303 131 +rect 425 114 439 178 +rect 418 108 447 114 +rect 418 106 424 108 +rect 89 92 424 106 +rect 233 73 247 92 +rect 418 91 424 92 +rect 441 91 447 108 +rect 418 85 447 91 +rect 473 73 487 220 +rect 226 67 255 73 +rect 58 49 87 55 +rect 58 32 64 49 +rect 81 32 87 49 +rect 226 50 232 67 +rect 249 50 255 67 +rect 466 67 495 73 +rect 226 44 255 50 +rect 322 49 351 55 +rect 58 24 87 32 +rect 322 32 328 49 +rect 345 32 351 49 +rect 466 50 472 67 +rect 489 50 495 67 +rect 466 44 495 50 +rect 322 24 351 32 +rect 0 -24 576 24 << labels >> rlabel metal1 0 309 576 357 0 VDD port 1 se rlabel metal1 0 -24 576 24 0 GND port 2 se -rlabel metal1 466 40 495 69 0 Y +rlabel metal1 466 44 495 73 0 Y port 3 se -rlabel metal1 473 69 487 215 0 Y +rlabel metal1 473 73 487 220 0 Y port 4 se -rlabel metal1 466 215 495 244 0 Y +rlabel metal1 466 220 495 249 0 Y port 5 se -rlabel metal1 274 175 303 204 0 B +rlabel metal1 130 125 159 154 0 A port 6 se -rlabel metal1 130 80 159 109 0 A +rlabel metal1 137 154 151 178 0 A port 7 se -rlabel metal1 137 109 151 175 0 A +rlabel metal1 130 178 159 207 0 A port 8 se -rlabel metal1 130 175 159 204 0 A +rlabel metal1 274 125 303 154 0 B port 9 se +rlabel metal1 281 154 295 178 0 B +port 10 se +rlabel metal1 274 178 303 207 0 B +port 11 se << properties >> string FIXED_BBOX 0 0 576 333 << end >>
diff --git a/cells/mag/XNOR2X1.mag b/cells/mag/XNOR2X1.mag deleted file mode 100644 index e2af6ad..0000000 --- a/cells/mag/XNOR2X1.mag +++ /dev/null
@@ -1,472 +0,0 @@ -magic -tech sky130A -timestamp 1623603012 -<< nwell >> -rect 0 179 1008 333 -<< nmos >> -rect 137 24 152 66 -rect 281 24 296 66 -rect 425 24 440 66 -rect 569 24 584 66 -rect 713 24 728 66 -rect 857 24 872 66 -<< pmos >> -rect 137 225 152 309 -rect 281 225 296 309 -rect 425 225 440 309 -rect 569 225 584 309 -rect 713 225 728 309 -rect 857 225 872 309 -<< ndiff >> -rect 58 66 87 69 -rect 466 66 495 69 -rect 898 66 927 69 -rect 58 63 137 66 -rect 58 46 64 63 -rect 81 46 137 63 -rect 58 24 137 46 -rect 152 36 281 66 -rect 152 24 184 36 -rect 178 19 184 24 -rect 201 24 281 36 -rect 296 24 425 66 -rect 440 63 569 66 -rect 440 46 472 63 -rect 489 46 569 63 -rect 440 24 569 46 -rect 584 24 713 66 -rect 728 36 857 66 -rect 728 24 760 36 -rect 201 19 207 24 -rect 178 13 207 19 -rect 754 19 760 24 -rect 777 24 857 36 -rect 872 63 951 66 -rect 872 46 904 63 -rect 921 46 951 63 -rect 872 24 951 46 -rect 777 19 783 24 -rect 754 13 783 19 -<< pdiff >> -rect 178 309 207 312 -rect 754 309 783 312 -rect 58 238 137 309 -rect 58 221 64 238 -rect 81 225 137 238 -rect 152 306 281 309 -rect 152 289 184 306 -rect 201 289 281 306 -rect 152 225 281 289 -rect 296 225 425 309 -rect 440 238 569 309 -rect 440 225 472 238 -rect 81 221 87 225 -rect 58 215 87 221 -rect 466 221 472 225 -rect 489 225 569 238 -rect 584 225 713 309 -rect 728 306 857 309 -rect 728 289 760 306 -rect 777 289 857 306 -rect 728 225 857 289 -rect 872 238 951 309 -rect 872 225 904 238 -rect 489 221 495 225 -rect 466 215 495 221 -rect 898 221 904 225 -rect 921 225 951 238 -rect 921 221 927 225 -rect 898 215 927 221 -<< ndiffc >> -rect 64 46 81 63 -rect 184 19 201 36 -rect 472 46 489 63 -rect 760 19 777 36 -rect 904 46 921 63 -<< pdiffc >> -rect 64 221 81 238 -rect 184 289 201 306 -rect 472 221 489 238 -rect 760 289 777 306 -rect 904 221 921 238 -<< poly >> -rect 137 309 152 330 -rect 281 309 296 330 -rect 425 309 440 330 -rect 569 309 584 330 -rect 713 309 728 330 -rect 857 309 872 330 -rect 137 206 152 225 -rect 281 206 296 225 -rect 425 206 440 225 -rect 569 206 584 225 -rect 713 206 728 225 -rect 857 206 872 225 -rect 128 198 161 206 -rect 128 181 136 198 -rect 153 181 161 198 -rect 128 173 161 181 -rect 272 198 305 206 -rect 272 181 280 198 -rect 297 181 305 198 -rect 272 173 305 181 -rect 416 198 449 206 -rect 416 181 424 198 -rect 441 181 449 198 -rect 416 173 449 181 -rect 560 198 593 206 -rect 560 181 568 198 -rect 585 181 593 198 -rect 560 173 593 181 -rect 704 198 737 206 -rect 704 181 712 198 -rect 729 181 737 198 -rect 704 173 737 181 -rect 848 198 881 206 -rect 848 181 856 198 -rect 873 181 881 198 -rect 848 173 881 181 -rect 128 103 161 111 -rect 128 86 136 103 -rect 153 86 161 103 -rect 128 78 161 86 -rect 272 103 305 111 -rect 272 86 280 103 -rect 297 86 305 103 -rect 272 78 305 86 -rect 416 103 449 111 -rect 416 86 424 103 -rect 441 86 449 103 -rect 416 78 449 86 -rect 560 103 593 111 -rect 560 86 568 103 -rect 585 86 593 103 -rect 560 78 593 86 -rect 704 103 737 111 -rect 704 86 712 103 -rect 729 86 737 103 -rect 704 78 737 86 -rect 848 103 881 111 -rect 848 86 856 103 -rect 873 86 881 103 -rect 848 78 881 86 -rect 137 66 152 78 -rect 281 66 296 78 -rect 425 66 440 78 -rect 569 66 584 78 -rect 713 66 728 78 -rect 857 66 872 78 -rect 137 11 152 24 -rect 281 11 296 24 -rect 425 11 440 24 -rect 569 11 584 24 -rect 713 11 728 24 -rect 857 11 872 24 -<< polycont >> -rect 136 181 153 198 -rect 280 181 297 198 -rect 424 181 441 198 -rect 568 181 585 198 -rect 712 181 729 198 -rect 856 181 873 198 -rect 136 86 153 103 -rect 280 86 297 103 -rect 424 86 441 103 -rect 568 86 585 103 -rect 712 86 729 103 -rect 856 86 873 103 -<< locali >> -rect 176 306 209 314 -rect 176 289 184 306 -rect 201 289 209 306 -rect 176 281 209 289 -rect 752 306 785 314 -rect 752 289 760 306 -rect 777 289 785 306 -rect 752 281 785 289 -rect 56 238 89 246 -rect 56 221 64 238 -rect 81 221 89 238 -rect 56 213 89 221 -rect 464 238 497 246 -rect 464 221 472 238 -rect 489 221 497 238 -rect 896 238 929 246 -rect 896 223 904 238 -rect 464 218 497 221 -rect 473 215 497 218 -rect 898 221 904 223 -rect 921 221 929 238 -rect 898 213 929 221 -rect 128 198 161 206 -rect 128 181 136 198 -rect 153 181 161 198 -rect 128 173 161 181 -rect 272 198 305 206 -rect 272 181 280 198 -rect 297 181 305 198 -rect 272 173 305 181 -rect 416 201 447 206 -rect 416 198 449 201 -rect 560 198 593 206 -rect 416 181 424 198 -rect 441 181 449 198 -rect 416 174 449 181 -rect 136 111 153 127 -rect 280 111 297 173 -rect 128 103 161 111 -rect 128 86 136 103 -rect 153 86 161 103 -rect 128 78 161 86 -rect 272 103 305 111 -rect 272 86 280 103 -rect 297 86 305 103 -rect 272 78 305 86 -rect 56 63 89 71 -rect 56 46 64 63 -rect 81 46 89 63 -rect 376 63 393 127 -rect 424 111 441 140 -rect 416 103 449 111 -rect 416 86 424 103 -rect 441 88 449 103 -rect 441 86 447 88 -rect 416 78 447 86 -rect 472 71 489 181 -rect 560 181 568 198 -rect 585 181 593 198 -rect 560 173 593 181 -rect 704 198 737 206 -rect 704 181 712 198 -rect 729 181 737 198 -rect 704 173 737 181 -rect 848 198 881 206 -rect 848 181 856 198 -rect 873 181 881 198 -rect 848 173 881 181 -rect 560 103 593 111 -rect 560 86 568 103 -rect 585 86 593 103 -rect 560 78 593 86 -rect 704 103 737 111 -rect 704 86 712 103 -rect 729 86 737 103 -rect 704 78 737 86 -rect 848 103 881 111 -rect 848 86 856 103 -rect 873 86 881 103 -rect 848 78 881 86 -rect 464 63 497 71 -rect 464 46 472 63 -rect 489 46 497 63 -rect 568 63 585 78 -rect 898 63 929 71 -rect 898 61 904 63 -rect 896 46 904 61 -rect 921 46 929 63 -rect 56 38 89 46 -rect 176 36 209 44 -rect 464 38 497 46 -rect 176 19 184 36 -rect 201 19 209 36 -rect 176 11 209 19 -rect 752 36 785 44 -rect 896 38 929 46 -rect 752 11 760 36 -rect 777 11 785 36 -<< viali >> -rect 184 289 201 306 -rect 760 289 777 306 -rect 64 221 81 238 -rect 472 221 489 238 -rect 904 221 921 238 -rect 136 181 153 198 -rect 280 181 297 198 -rect 424 181 441 198 -rect 472 181 489 198 -rect 136 127 153 144 -rect 376 127 393 144 -rect 64 46 81 63 -rect 424 140 441 157 -rect 568 181 585 198 -rect 712 181 729 198 -rect 856 181 873 198 -rect 712 86 729 103 -rect 856 86 873 103 -rect 376 46 393 63 -rect 568 46 585 63 -rect 904 46 921 63 -rect 184 19 201 36 -rect 760 19 777 22 -rect 760 5 777 19 -<< metal1 >> -rect 0 309 1008 357 -rect 178 306 207 309 -rect 178 289 184 306 -rect 201 289 207 306 -rect 178 283 207 289 -rect 754 306 783 309 -rect 754 289 760 306 -rect 777 289 783 306 -rect 754 283 783 289 -rect 58 238 87 244 -rect 58 221 64 238 -rect 81 221 87 238 -rect 58 215 87 221 -rect 466 238 495 244 -rect 466 221 472 238 -rect 489 221 495 238 -rect 898 238 927 244 -rect 898 237 904 238 -rect 466 218 495 221 -rect 569 223 904 237 -rect 466 215 487 218 -rect 65 102 79 215 -rect 473 204 487 215 -rect 569 204 583 223 -rect 898 221 904 223 -rect 921 221 927 238 -rect 898 215 927 221 -rect 130 198 159 204 -rect 130 181 136 198 -rect 153 196 159 198 -rect 274 198 303 204 -rect 274 196 280 198 -rect 153 182 280 196 -rect 153 181 159 182 -rect 130 175 159 181 -rect 274 181 280 182 -rect 297 181 303 198 -rect 418 198 447 204 -rect 473 201 495 204 -rect 418 196 424 198 -rect 274 175 303 181 -rect 377 182 424 196 -rect 137 150 151 175 -rect 377 150 391 182 -rect 418 181 424 182 -rect 441 181 447 198 -rect 418 177 447 181 -rect 466 198 495 201 -rect 466 181 472 198 -rect 489 181 495 198 -rect 466 175 495 181 -rect 562 198 591 204 -rect 562 181 568 198 -rect 585 181 591 198 -rect 562 175 591 181 -rect 706 198 735 204 -rect 706 181 712 198 -rect 729 181 735 198 -rect 706 175 735 181 -rect 850 198 879 204 -rect 850 181 856 198 -rect 873 181 879 198 -rect 850 175 879 181 -rect 418 157 447 163 -rect 130 144 159 150 -rect 130 127 136 144 -rect 153 127 159 144 -rect 130 121 159 127 -rect 370 144 399 150 -rect 370 127 376 144 -rect 393 127 399 144 -rect 418 140 424 157 -rect 441 156 447 157 -rect 569 156 583 175 -rect 441 142 583 156 -rect 441 140 447 142 -rect 418 134 447 140 -rect 370 121 399 127 -rect 713 109 727 175 -rect 857 109 871 175 -rect 706 103 735 109 -rect 706 102 712 103 -rect 65 88 712 102 -rect 65 69 79 88 -rect 706 86 712 88 -rect 729 86 735 103 -rect 706 80 735 86 -rect 850 103 879 109 -rect 850 86 856 103 -rect 873 86 879 103 -rect 850 80 879 86 -rect 58 63 87 69 -rect 58 46 64 63 -rect 81 46 87 63 -rect 58 40 87 46 -rect 370 63 399 69 -rect 370 46 376 63 -rect 393 61 399 63 -rect 562 63 591 69 -rect 562 61 568 63 -rect 393 47 568 61 -rect 393 46 399 47 -rect 178 36 207 42 -rect 370 40 399 46 -rect 562 46 568 47 -rect 585 61 591 63 -rect 857 61 871 80 -rect 905 69 919 215 -rect 585 47 871 61 -rect 898 63 927 69 -rect 585 46 591 47 -rect 562 40 591 46 -rect 898 46 904 63 -rect 921 46 927 63 -rect 898 40 927 46 -rect 178 24 184 36 -rect 0 19 184 24 -rect 201 24 207 36 -rect 754 24 783 28 -rect 201 22 1008 24 -rect 201 19 760 22 -rect 0 5 760 19 -rect 777 5 1008 22 -rect 0 -24 1008 5 -<< labels >> -rlabel metal1 0 309 1008 357 0 VDD -port 1 se -rlabel metal1 0 -24 1008 24 0 GND -port 2 se -rlabel space 466 175 495 204 0 Y -port 3 se -rlabel metal1 473 204 487 215 0 Y -port 4 se -rlabel nwell 466 215 495 244 0 Y -port 5 se -rlabel metal1 370 40 399 47 0 A -port 6 se -rlabel metal1 562 40 591 47 0 A -port 7 se -rlabel metal1 370 47 871 61 0 A -port 8 se -rlabel metal1 370 61 399 69 0 A -port 9 se -rlabel metal1 562 61 591 69 0 A -port 10 se -rlabel metal1 857 61 871 80 0 A -port 11 se -rlabel metal1 850 80 879 109 0 A -port 12 se -rlabel metal1 857 109 871 175 0 A -port 13 se -rlabel metal1 850 175 879 204 0 A -port 14 se -rlabel metal1 130 121 159 150 0 B -port 15 se -rlabel metal1 137 150 151 175 0 B -port 16 se -rlabel metal1 130 175 159 182 0 B -port 17 se -rlabel metal1 274 175 303 182 0 B -port 18 se -rlabel metal1 130 182 303 196 0 B -port 19 se -rlabel metal1 130 196 159 204 0 B -port 20 se -rlabel metal1 274 196 303 204 0 B -port 21 se -<< properties >> -string FIXED_BBOX 0 0 1008 333 -<< end >>