Merge branch 'main' of https://github.com/lakshmi-sathi/Analog-Neural-Network into main
diff --git a/checks/full_log.log b/checks/full_log.log
index 1d29f01..157a858 100644
--- a/checks/full_log.log
+++ b/checks/full_log.log
@@ -27,7 +27,7 @@
 Step 5 done without fatal errors.
  Executing Step 6 of 8: KLayout DRC Violations Check
  Running Klayout DRC Checks...
- Klayout DRC Checks on GDS Failed, Reason: Total # of DRC violations is 9 Please check /home/lss/Documents/AnalogNeuron/Analog-Neural-Network/checks/user_analog_project_wrapper_klayout_drc.xmlFor more details
+ Klayout DRC Checks on GDS Failed, Reason: Total # of DRC violations is 8 Please check /home/lss/Documents/AnalogNeuron/Analog-Neural-Network/checks/user_analog_project_wrapper_klayout_drc.xmlFor more details
 TEST FAILED AT STEP 6
  Executing Klayout offgrid check.
  Klayout offgrid Checks on User Project GDS Passed!
diff --git a/checks/klayout_drc.log b/checks/klayout_drc.log
index ef4df46..7cb1f84 100644
--- a/checks/klayout_drc.log
+++ b/checks/klayout_drc.log
@@ -11,11 +11,11 @@
 "_input" in: sky130A_mr.lydrc:93
 Elapsed: 0.000s
 "_input" in: sky130A_mr.lydrc:94
-Elapsed: 0.020s
-"_input" in: sky130A_mr.lydrc:95
-Elapsed: 0.000s
-"_input" in: sky130A_mr.lydrc:96
 Elapsed: 0.010s
+"_input" in: sky130A_mr.lydrc:95
+Elapsed: 0.010s
+"_input" in: sky130A_mr.lydrc:96
+Elapsed: 0.000s
 "_input" in: sky130A_mr.lydrc:97
 Elapsed: 0.010s
 "_input" in: sky130A_mr.lydrc:98
@@ -33,95 +33,95 @@
 "_input" in: sky130A_mr.lydrc:104
 Elapsed: 0.010s
 "_input" in: sky130A_mr.lydrc:105
-Elapsed: 0.000s
-"_input" in: sky130A_mr.lydrc:106
 Elapsed: 0.010s
+"_input" in: sky130A_mr.lydrc:106
+Elapsed: 0.000s
 "_input" in: sky130A_mr.lydrc:107
 Elapsed: 0.010s
 "_input" in: sky130A_mr.lydrc:108
 Elapsed: 0.010s
 "_input" in: sky130A_mr.lydrc:110
-Elapsed: 0.000s
-"_input" in: sky130A_mr.lydrc:111
 Elapsed: 0.010s
+"_input" in: sky130A_mr.lydrc:111
+Elapsed: 0.000s
 "_input" in: sky130A_mr.lydrc:113
 Elapsed: 0.010s
 "_input" in: sky130A_mr.lydrc:114
 Elapsed: 0.010s
 "_input" in: sky130A_mr.lydrc:116
-Elapsed: 0.000s
-"_input" in: sky130A_mr.lydrc:117
 Elapsed: 0.010s
+"_input" in: sky130A_mr.lydrc:117
+Elapsed: 0.000s
 "_input" in: sky130A_mr.lydrc:119
 Elapsed: 0.010s
 "_input" in: sky130A_mr.lydrc:120
 Elapsed: 0.010s
 "_input" in: sky130A_mr.lydrc:122
-Elapsed: 0.000s
-"_input" in: sky130A_mr.lydrc:123
 Elapsed: 0.010s
+"_input" in: sky130A_mr.lydrc:123
+Elapsed: 0.000s
 "_input" in: sky130A_mr.lydrc:125
 Elapsed: 0.010s
 "_input" in: sky130A_mr.lydrc:127
-Elapsed: 0.000s
-"_input" in: sky130A_mr.lydrc:128
 Elapsed: 0.010s
+"_input" in: sky130A_mr.lydrc:128
+Elapsed: 0.000s
 "_input" in: sky130A_mr.lydrc:129
 Elapsed: 0.010s
 "_input" in: sky130A_mr.lydrc:130
-Elapsed: 0.000s
+Elapsed: 0.010s
 "_input" in: sky130A_mr.lydrc:131
 Elapsed: 0.010s
 "_input" in: sky130A_mr.lydrc:132
-Elapsed: 0.010s
-"_input" in: sky130A_mr.lydrc:133
 Elapsed: 0.000s
+"_input" in: sky130A_mr.lydrc:133
+Elapsed: 0.010s
 "_input" in: sky130A_mr.lydrc:134
 Elapsed: 0.010s
 "_input" in: sky130A_mr.lydrc:135
-Elapsed: 0.010s
-"_input" in: sky130A_mr.lydrc:136
 Elapsed: 0.000s
+"_input" in: sky130A_mr.lydrc:136
+Elapsed: 0.010s
 "_input" in: sky130A_mr.lydrc:137
 Elapsed: 0.010s
 "_input" in: sky130A_mr.lydrc:138
-Elapsed: 0.010s
-"_input" in: sky130A_mr.lydrc:139
 Elapsed: 0.000s
+"_input" in: sky130A_mr.lydrc:139
+Elapsed: 0.010s
 "_input" in: sky130A_mr.lydrc:140
 Elapsed: 0.010s
 "_input" in: sky130A_mr.lydrc:141
 Elapsed: 0.010s
 "_input" in: sky130A_mr.lydrc:142
-Elapsed: 0.010s
-"_input" in: sky130A_mr.lydrc:143
 Elapsed: 0.000s
+"_input" in: sky130A_mr.lydrc:143
+Elapsed: 0.010s
 "_input" in: sky130A_mr.lydrc:144
 Elapsed: 0.010s
 "_input" in: sky130A_mr.lydrc:145
-Elapsed: 0.010s
-"_input" in: sky130A_mr.lydrc:146
 Elapsed: 0.000s
+"_input" in: sky130A_mr.lydrc:146
+Elapsed: 0.010s
 "_input" in: sky130A_mr.lydrc:147
 Elapsed: 0.010s
 "_input" in: sky130A_mr.lydrc:148
-Elapsed: 0.010s
-"_input" in: sky130A_mr.lydrc:149
 Elapsed: 0.000s
+"_input" in: sky130A_mr.lydrc:149
+Elapsed: 0.010s
 "_input" in: sky130A_mr.lydrc:150
 Elapsed: 0.010s
 "_input" in: sky130A_mr.lydrc:151
 Elapsed: 0.010s
 "_input" in: sky130A_mr.lydrc:152
-Elapsed: 0.010s
-"_input" in: sky130A_mr.lydrc:153
 Elapsed: 0.000s
+"_input" in: sky130A_mr.lydrc:153
+Elapsed: 0.010s
 "_input" in: sky130A_mr.lydrc:154
 Elapsed: 0.010s
 "_input" in: sky130A_mr.lydrc:155
-Elapsed: 0.010s
-"_input" in: sky130A_mr.lydrc:156
 Elapsed: 0.000s
+"_input" in: sky130A_mr.lydrc:156
+Elapsed: 0.010s
 "_input" in: sky130A_mr.lydrc:157
 Elapsed: 0.010s
 "_input" in: sky130A_mr.lydrc:158
@@ -131,25 +131,25 @@
 "_input" in: sky130A_mr.lydrc:160
 Elapsed: 0.010s
 "_input" in: sky130A_mr.lydrc:161
-Elapsed: 0.000s
-"_input" in: sky130A_mr.lydrc:162
 Elapsed: 0.010s
+"_input" in: sky130A_mr.lydrc:162
+Elapsed: 0.000s
 "_input" in: sky130A_mr.lydrc:163
 Elapsed: 0.010s
 "_input" in: sky130A_mr.lydrc:164
-Elapsed: 0.000s
+Elapsed: 0.010s
 "_input" in: sky130A_mr.lydrc:165
 Elapsed: 0.010s
 "_input" in: sky130A_mr.lydrc:166
-Elapsed: 0.010s
-"_input" in: sky130A_mr.lydrc:167
 Elapsed: 0.000s
+"_input" in: sky130A_mr.lydrc:167
+Elapsed: 0.010s
 "_input" in: sky130A_mr.lydrc:168
 Elapsed: 0.010s
 "_input" in: sky130A_mr.lydrc:169
-Elapsed: 0.010s
-"_input" in: sky130A_mr.lydrc:170
 Elapsed: 0.000s
+"_input" in: sky130A_mr.lydrc:170
+Elapsed: 0.010s
 "_input" in: sky130A_mr.lydrc:171
 Elapsed: 0.010s
 "_input" in: sky130A_mr.lydrc:172
@@ -157,35 +157,35 @@
 "_input" in: sky130A_mr.lydrc:173
 Elapsed: 0.000s
 "_input" in: sky130A_mr.lydrc:174
-Elapsed: 0.000s
+Elapsed: 0.010s
 "_input" in: sky130A_mr.lydrc:175
 Elapsed: 0.010s
 "_input" in: sky130A_mr.lydrc:176
-Elapsed: 0.010s
-"_input" in: sky130A_mr.lydrc:177
 Elapsed: 0.000s
+"_input" in: sky130A_mr.lydrc:177
+Elapsed: 0.010s
 "_input" in: sky130A_mr.lydrc:178
 Elapsed: 0.010s
 "_input" in: sky130A_mr.lydrc:179
-Elapsed: 0.010s
+Elapsed: 0.000s
 DRC section
 FEOL section
 "&" in: sky130A_mr.lydrc:203
-Elapsed: 0.010s
+Elapsed: 0.020s
 dnwell
 "width_check" in: sky130A_mr.lydrc:207
-Elapsed: 0.010s
+Elapsed: 0.000s
 "_output" in: sky130A_mr.lydrc:207
 Elapsed: 0.010s
 nwell
 "width_check" in: sky130A_mr.lydrc:215
-Elapsed: 0.000s
+Elapsed: 0.010s
 "_output" in: sky130A_mr.lydrc:215
 Elapsed: 0.010s
 "isolated_check" in: sky130A_mr.lydrc:216
 Elapsed: 0.010s
 "_output" in: sky130A_mr.lydrc:216
-Elapsed: 0.010s
+Elapsed: 0.000s
 hvtp
 "width_check" in: sky130A_mr.lydrc:235
 Elapsed: 0.010s
@@ -194,16 +194,16 @@
 "isolated_check" in: sky130A_mr.lydrc:236
 Elapsed: 0.010s
 "_output" in: sky130A_mr.lydrc:236
-Elapsed: 0.010s
+Elapsed: 0.000s
 htvr
 "width_check" in: sky130A_mr.lydrc:243
-Elapsed: 0.000s
+Elapsed: 0.010s
 "_output" in: sky130A_mr.lydrc:243
 Elapsed: 0.010s
 "isolated_check" in: sky130A_mr.lydrc:244
 Elapsed: 0.010s
 "_output" in: sky130A_mr.lydrc:244
-Elapsed: 0.010s
+Elapsed: 0.000s
 lvtn
 "isolated_check" in: sky130A_mr.lydrc:249
 Elapsed: 0.010s
@@ -211,32 +211,32 @@
 Elapsed: 0.010s
 ncm
 "width_check" in: sky130A_mr.lydrc:261
-Elapsed: 0.000s
-"_output" in: sky130A_mr.lydrc:261
 Elapsed: 0.010s
+"_output" in: sky130A_mr.lydrc:261
+Elapsed: 0.000s
 diff-tap
 "+" in: sky130A_mr.lydrc:270
 Elapsed: 0.010s
 "isolated_check" in: sky130A_mr.lydrc:280
-Elapsed: 0.000s
-"_output" in: sky130A_mr.lydrc:280
 Elapsed: 0.010s
+"_output" in: sky130A_mr.lydrc:280
+Elapsed: 0.020s
 tunm
 "width_check" in: sky130A_mr.lydrc:293
-Elapsed: 0.010s
+Elapsed: 0.000s
 "_output" in: sky130A_mr.lydrc:293
-Elapsed: 0.000s
+Elapsed: 0.010s
 "isolated_check" in: sky130A_mr.lydrc:294
-Elapsed: 0.000s
+Elapsed: 0.010s
 "_output" in: sky130A_mr.lydrc:294
 Elapsed: 0.010s
 poly
 "width_check" in: sky130A_mr.lydrc:303
 Elapsed: 0.010s
 "_output" in: sky130A_mr.lydrc:303
-Elapsed: 0.010s
-"-" in: sky130A_mr.lydrc:308
 Elapsed: 0.000s
+"-" in: sky130A_mr.lydrc:308
+Elapsed: 0.010s
 "isolated_check" in: sky130A_mr.lydrc:308
 Elapsed: 0.020s
 "_output" in: sky130A_mr.lydrc:308
@@ -249,14 +249,14 @@
 "isolated_check" in: sky130A_mr.lydrc:327
 Elapsed: 0.010s
 "_output" in: sky130A_mr.lydrc:327
-Elapsed: 0.000s
+Elapsed: 0.010s
 npc
 "width_check" in: sky130A_mr.lydrc:360
 Elapsed: 0.010s
 "_output" in: sky130A_mr.lydrc:360
 Elapsed: 0.010s
 "isolated_check" in: sky130A_mr.lydrc:361
-Elapsed: 0.010s
+Elapsed: 0.000s
 "_output" in: sky130A_mr.lydrc:361
 Elapsed: 0.010s
 licon
@@ -265,31 +265,31 @@
 "&" in: sky130A_mr.lydrc:382
 Elapsed: 0.010s
 "-" in: sky130A_mr.lydrc:382
-Elapsed: 0.010s
+Elapsed: 0.020s
 "edges" in: sky130A_mr.lydrc:382
 Elapsed: 0.020s
 "with_length" in: sky130A_mr.lydrc:382
 Elapsed: 0.010s
 "_output" in: sky130A_mr.lydrc:382
-Elapsed: 0.010s
-"interacting" in: sky130A_mr.lydrc:383
-Elapsed: 0.020s
-"&" in: sky130A_mr.lydrc:383
-Elapsed: 0.010s
-"&" in: sky130A_mr.lydrc:383
-Elapsed: 0.010s
-"interacting" in: sky130A_mr.lydrc:383
-Elapsed: 0.010s
-"&" in: sky130A_mr.lydrc:383
-Elapsed: 0.010s
-"&" in: sky130A_mr.lydrc:383
-Elapsed: 0.020s
-"edges" in: sky130A_mr.lydrc:383
 Elapsed: 0.000s
+"interacting" in: sky130A_mr.lydrc:383
+Elapsed: 0.010s
+"&" in: sky130A_mr.lydrc:383
+Elapsed: 0.020s
+"&" in: sky130A_mr.lydrc:383
+Elapsed: 0.010s
+"interacting" in: sky130A_mr.lydrc:383
+Elapsed: 0.000s
+"&" in: sky130A_mr.lydrc:383
+Elapsed: 0.010s
+"&" in: sky130A_mr.lydrc:383
+Elapsed: 0.010s
+"edges" in: sky130A_mr.lydrc:383
+Elapsed: 0.010s
 "with_length" in: sky130A_mr.lydrc:383
 Elapsed: 0.010s
 "interacting" in: sky130A_mr.lydrc:383
-Elapsed: 0.010s
+Elapsed: 0.020s
 "&" in: sky130A_mr.lydrc:383
 Elapsed: 0.010s
 "&" in: sky130A_mr.lydrc:383
@@ -305,19 +305,19 @@
 "_output" in: sky130A_mr.lydrc:383
 Elapsed: 0.010s
 "|" in: sky130A_mr.lydrc:411
-Elapsed: 0.010s
+Elapsed: 0.000s
 "&" in: sky130A_mr.lydrc:411
-Elapsed: 0.010s
+Elapsed: 0.020s
 "separation_check" in: sky130A_mr.lydrc:411
 Elapsed: 0.010s
 "_output" in: sky130A_mr.lydrc:411
-Elapsed: 0.010s
+Elapsed: 0.000s
 vpp
 capm
 "width_check" in: sky130A_mr.lydrc:445
 Elapsed: 0.010s
 "_output" in: sky130A_mr.lydrc:445
-Elapsed: 0.000s
+Elapsed: 0.010s
 "isolated_check" in: sky130A_mr.lydrc:446
 Elapsed: 0.010s
 "_output" in: sky130A_mr.lydrc:446
@@ -333,9 +333,9 @@
 "_output" in: sky130A_mr.lydrc:448
 Elapsed: 0.010s
 "enclosing_check" in: sky130A_mr.lydrc:449
-Elapsed: 0.010s
-"_output" in: sky130A_mr.lydrc:449
 Elapsed: 0.000s
+"_output" in: sky130A_mr.lydrc:449
+Elapsed: 0.010s
 "separation_check" in: sky130A_mr.lydrc:450
 Elapsed: 0.010s
 "_output" in: sky130A_mr.lydrc:450
@@ -343,17 +343,17 @@
 FEOL section
 hvi
 "width_check" in: sky130A_mr.lydrc:766
-Elapsed: 0.010s
+Elapsed: 0.000s
 "_output" in: sky130A_mr.lydrc:766
 Elapsed: 0.010s
 hvntm
 "width_check" in: sky130A_mr.lydrc:792
 Elapsed: 0.010s
 "_output" in: sky130A_mr.lydrc:792
-Elapsed: 0.000s
+Elapsed: 0.010s
 "isolated_check" in: sky130A_mr.lydrc:793
 Elapsed: 0.010s
 "_output" in: sky130A_mr.lydrc:793
-Elapsed: 0.010s
+Elapsed: 0.000s
 Writing report database: /home/lss/Documents/AnalogNeuron/Analog-Neural-Network/checks/user_analog_project_wrapper_klayout_drc.xml ..
-Total run time: 1.370s
+Total run time: 1.380s
diff --git a/checks/klayout_drc_total.txt b/checks/klayout_drc_total.txt
index f11c82a..301160a 100644
--- a/checks/klayout_drc_total.txt
+++ b/checks/klayout_drc_total.txt
@@ -1 +1 @@
-9
\ No newline at end of file
+8
\ No newline at end of file
diff --git a/checks/met_min_ca_density_check.log b/checks/met_min_ca_density_check.log
index d9dc432..d82fef5 100644
--- a/checks/met_min_ca_density_check.log
+++ b/checks/met_min_ca_density_check.log
@@ -1,5 +1,5 @@
 li1_ca_density is 0.9999715325391112
-m1_ca_density is 0.9999389613242333
+m1_ca_density is 0.9999389441523
 m2_ca_density is 0.9997191108149128
 m3_ca_density is 0.9890867026020587
 m4_ca_density is 0.9985556218477584
diff --git a/checks/user_analog_project_wrapper_klayout_drc.xml b/checks/user_analog_project_wrapper_klayout_drc.xml
index f0fe3ba..cad10a5 100644
--- a/checks/user_analog_project_wrapper_klayout_drc.xml
+++ b/checks/user_analog_project_wrapper_klayout_drc.xml
@@ -206,16 +206,6 @@
    </references>
   </cell>
   <cell>
-   <name>aninv_</name>
-   <variant/>
-   <references>
-    <ref>
-     <parent>user_analog_project_wrapper</parent>
-     <trans>r180 *1 2472.16,3382.575</trans>
-    </ref>
-   </references>
-  </cell>
-  <cell>
    <name>analogneuron_invopamp_re_15kfeedbck</name>
    <variant/>
    <references>
@@ -239,17 +229,6 @@
  <items>
   <item>
    <tags/>
-   <category>'rpm.1a'</category>
-   <cell>aninv_</cell>
-   <visited>false</visited>
-   <multiplicity>1</multiplicity>
-   <image/>
-   <values>
-    <value>edge-pair: (6.407,0.88;7.96,0.88)/(8.743,-0.12;7.19,-0.12)</value>
-   </values>
-  </item>
-  <item>
-   <tags/>
    <category>'licon.1'</category>
    <cell>sky130_fd_pr__res_xhigh_po_0p35_NMF79C</cell>
    <visited>false</visited>
diff --git a/gds/user_analog_project_wrapper.gds.gz b/gds/user_analog_project_wrapper.gds.gz
index ceb4b00..04e5b68 100644
--- a/gds/user_analog_project_wrapper.gds.gz
+++ b/gds/user_analog_project_wrapper.gds.gz
Binary files differ
diff --git a/mag/aninv_.mag b/mag/aninv_.mag
index ccc40e9..930c4e5 100644
--- a/mag/aninv_.mag
+++ b/mag/aninv_.mag
@@ -1,7 +1,7 @@
 magic
 tech sky130A
 magscale 1 2
-timestamp 1628375762
+timestamp 1628408178
 << poly >>
 rect 1196 371 1226 429
 rect 1143 367 1226 371
@@ -37,18 +37,19 @@
 rect 1120 442 1130 782
 rect 1196 442 1206 782
 rect 1425 386 1548 1332
-rect 1660 684 1952 1006
+rect 1722 684 2014 1006
 rect 506 340 1548 386
 rect 324 140 334 208
 rect 766 140 776 208
 rect 1425 153 1548 340
-rect 1425 152 1705 153
+rect 1425 152 1820 153
 rect 334 20 762 140
-rect 1425 90 1798 152
-rect 974 74 1798 90
-rect 974 14 1796 74
-rect 1396 8 1796 14
-rect 1486 6 1666 8
+rect 1425 90 1860 152
+rect 974 74 1860 90
+rect 974 14 1858 74
+rect 1396 8 1858 14
+rect 1486 6 1626 8
+rect 1688 6 1728 8
 rect 244 -294 296 -230
 rect 448 -242 458 -190
 rect 776 -242 786 -190
@@ -157,29 +158,29 @@
 rect 1272 -340 1282 -280
 rect 944 -345 1282 -340
 rect 954 -346 1210 -345
-use sky130_fd_pr__res_high_po_0p35_4HD3S6  sky130_fd_pr__res_high_po_0p35_4HD3S6_0
-timestamp 1628375762
-transform 0 1 866 -1 0 49
-box -37 -532 37 532
-use sky130_fd_pr__nfet_01v8_XG2GE7  sky130_fd_pr__nfet_01v8_XG2GE7_0
-timestamp 1628080314
-transform 0 1 838 -1 0 -309
-box -263 -720 263 720
+use sky130_fd_pr__res_high_po_0p69_7JPRER  sky130_fd_pr__res_high_po_0p69_7JPRER_0
+timestamp 1628069922
+transform 1 0 1781 0 1 543
+box -71 -527 71 527
 use sky130_fd_pr__pfet_01v8_396TWK  sky130_fd_pr__pfet_01v8_396TWK_0
 timestamp 1628080314
 transform 1 0 875 0 1 859
 box -551 -649 551 649
-use sky130_fd_pr__res_high_po_0p69_7JPRER  sky130_fd_pr__res_high_po_0p69_7JPRER_0
-timestamp 1628069922
-transform 1 0 1719 0 1 543
-box -71 -527 71 527
+use sky130_fd_pr__nfet_01v8_XG2GE7  sky130_fd_pr__nfet_01v8_XG2GE7_0
+timestamp 1628080314
+transform 0 1 838 -1 0 -309
+box -263 -720 263 720
+use sky130_fd_pr__res_high_po_0p35_4HD3S6  sky130_fd_pr__res_high_po_0p35_4HD3S6_0
+timestamp 1628375762
+transform 0 1 866 -1 0 49
+box -37 -532 37 532
 << labels >>
 rlabel metal2 -63 -721 1811 -597 1 GND
 port 2 n
 rlabel metal3 38 142 182 222 1 Out
 port 6 n
-rlabel metal1 1810 692 1948 1002 1 In
-port 5 n
 rlabel metal2 -52 1480 1818 1584 1 VDD
 port 1 n
+rlabel metal1 1872 692 2010 1002 1 In
+port 5 n
 << end >>