caravel_fix
diff --git a/gds/caravel_0001000d_b.gds.gz b/gds/caravel_0001000d_b.gds.gz
index 51a5b39..51a560e 100644
--- a/gds/caravel_0001000d_b.gds.gz
+++ b/gds/caravel_0001000d_b.gds.gz
Binary files differ
diff --git a/signoff/caravel_fix b/signoff/caravel_fix
index 6941724..88c2612 100644
--- a/signoff/caravel_fix
+++ b/signoff/caravel_fix
@@ -1 +1 @@
-80d10f072a90c2bed20ec1033ec7d5281f3f34e9  ./gds/caravel_0001000d_b.gds
+bf9bfb16a5e344ca9caf93512a6ae004f90c910e  ./gds/caravel_0001000d_b.gds
diff --git a/signoff/caravel_fix_xor.out b/signoff/caravel_fix_xor.out
index accecfd..7b0f888 100644
--- a/signoff/caravel_fix_xor.out
+++ b/signoff/caravel_fix_xor.out
@@ -2,1237 +2,4 @@
 Second Layout: ./gds/caravel_0001000d_b.gds
 Design Name: caravel_0001000d
 Output GDS will be: ./gds/caravel_0001000d_fix_xor.gds
-Reading ./gds/caravel_0001000d.gds ..
-Reading ./gds/caravel_0001000d_b.gds ..
---- Running XOR for 105/52 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 10
-"_output" in: xor.drc:41
-Elapsed: 0.020s
---- Running XOR for 107/24 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 10
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 11/0 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 112/4 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.010s
-XOR differences: 10
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 122/16 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 281867
-"_output" in: xor.drc:41
-Elapsed: 0.240s
---- Running XOR for 125/20 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.010s
-XOR differences: 109
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 125/44 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 5945
-"_output" in: xor.drc:41
-Elapsed: 0.020s
---- Running XOR for 20/0 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 21/0 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 22/0 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.010s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 22/21 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 238680
-"_output" in: xor.drc:41
-Elapsed: 0.080s
---- Running XOR for 22/22 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 0.330s
-XOR differences: 68640
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 22/24 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 4
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 23/0 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 23/28 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 2.460s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 235/0 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 102960
-"_output" in: xor.drc:41
-Elapsed: 0.060s
---- Running XOR for 235/4 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 2.670s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 236/0 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 233833
-"_output" in: xor.drc:41
-Elapsed: 0.200s
---- Running XOR for 25/0 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.010s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 27/0 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 28/0 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 28/28 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 20.380s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 30/0 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.010s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 32/0 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 33/42 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 823680
-"_output" in: xor.drc:41
-Elapsed: 0.350s
---- Running XOR for 33/43 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.010s
-XOR differences: 1020240
-"_output" in: xor.drc:41
-Elapsed: 0.310s
---- Running XOR for 34/0 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 34/28 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 28.960s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 35/0 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.010s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 36/0 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 36/28 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 69.980s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 37/0 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.010s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 39/0 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 40/0 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 41/0 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.010s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 41/28 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 58.570s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 43/0 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 44/0 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.010s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 46/0 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 48/0 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 49/0 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.010s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 50/0 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 51/0 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 51/28 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 23.550s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 56/0 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 56/28 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 6.580s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 58/0 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 59/0 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 59/28 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 1.420s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 61/20 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 62/24 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.010s
-XOR differences: 10
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 64/16 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 281867
-"_output" in: xor.drc:41
-Elapsed: 0.230s
---- Running XOR for 64/18 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 533
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 64/20 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 428664
-"_output" in: xor.drc:41
-Elapsed: 0.370s
---- Running XOR for 64/5 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.010s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.330s
---- Running XOR for 64/59 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.010s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.330s
---- Running XOR for 65/13 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.010s
-XOR differences: 109
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 65/14 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.010s
-XOR differences: 75
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 65/16 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.010s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.030s
---- Running XOR for 65/20 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 6.120s
-XOR differences: 601229
-"_output" in: xor.drc:41
-Elapsed: 0.100s
---- Running XOR for 65/44 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 146099
-"_output" in: xor.drc:41
-Elapsed: 0.190s
---- Running XOR for 66/13 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 3279
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 66/14 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.010s
-XOR differences: 1900
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 66/15 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 1536
-"_output" in: xor.drc:41
-Elapsed: 0.040s
---- Running XOR for 66/16 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.010s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.050s
---- Running XOR for 66/20 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.010s
-XOR differences: 1338180
-"_output" in: xor.drc:41
-Elapsed: 1.020s
---- Running XOR for 66/44 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 8114439
-"_output" in: xor.drc:41
-Elapsed: 1.810s
---- Running XOR for 66/83 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.010s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.190s
---- Running XOR for 66/9 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 92
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 67/15 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 182
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 67/16 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 737028
-"_output" in: xor.drc:41
-Elapsed: 0.270s
---- Running XOR for 67/20 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.010s
-XOR differences: 2575185
-"_output" in: xor.drc:41
-Elapsed: 1.560s
---- Running XOR for 67/44 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.010s
-XOR differences: 6699294
-"_output" in: xor.drc:41
-Elapsed: 1.490s
---- Running XOR for 67/5 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.440s
---- Running XOR for 68/15 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 6122
-"_output" in: xor.drc:41
-Elapsed: 0.020s
---- Running XOR for 68/16 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 758798
-"_output" in: xor.drc:41
-Elapsed: 0.440s
---- Running XOR for 68/20 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 20.750s
-XOR differences: 387506
-"_output" in: xor.drc:41
-Elapsed: 0.070s
---- Running XOR for 68/44 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 5.490s
-XOR differences: 1402793
-"_output" in: xor.drc:41
-Elapsed: 0.240s
---- Running XOR for 68/5 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 45
-"_output" in: xor.drc:41
-Elapsed: 0.670s
---- Running XOR for 69/15 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 3510
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 69/16 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.440s
-XOR differences: 70129
-"_output" in: xor.drc:41
-Elapsed: 0.020s
---- Running XOR for 69/20 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 11.660s
-XOR differences: 219892
-"_output" in: xor.drc:41
-Elapsed: 0.040s
---- Running XOR for 69/44 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 3.260s
-XOR differences: 937156
-"_output" in: xor.drc:41
-Elapsed: 0.140s
---- Running XOR for 69/5 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 5751
-"_output" in: xor.drc:41
-Elapsed: 0.150s
---- Running XOR for 70/15 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.010s
-XOR differences: 88
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 70/16 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 0.100s
-XOR differences: 342
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 70/20 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 2.600s
-XOR differences: 62028
-"_output" in: xor.drc:41
-Elapsed: 0.020s
---- Running XOR for 70/44 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 4.790s
-XOR differences: 1116714
-"_output" in: xor.drc:41
-Elapsed: 0.200s
---- Running XOR for 70/5 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.010s
-XOR differences: 1943
-"_output" in: xor.drc:41
-Elapsed: 0.130s
---- Running XOR for 71/15 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 88
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 71/16 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 8726
-"_output" in: xor.drc:41
-Elapsed: 0.030s
---- Running XOR for 71/20 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 2.510s
-XOR differences: 4948
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 71/44 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 1.030s
-XOR differences: 186763
-"_output" in: xor.drc:41
-Elapsed: 0.040s
---- Running XOR for 71/5 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 25722
-"_output" in: xor.drc:41
-Elapsed: 0.080s
---- Running XOR for 72/15 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.010s
-XOR differences: 18
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 72/16 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 0.010s
-XOR differences: 1805
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 72/20 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 0.200s
-XOR differences: 923
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 72/5 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.010s
-XOR differences: 21658
-"_output" in: xor.drc:41
-Elapsed: 0.050s
---- Running XOR for 75/20 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 53374
-"_output" in: xor.drc:41
-Elapsed: 0.070s
---- Running XOR for 76/20 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.010s
-XOR differences: 107
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 78/44 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.010s
-XOR differences: 319996
-"_output" in: xor.drc:41
-Elapsed: 0.290s
---- Running XOR for 79/20 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.010s
-XOR differences: 1
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 81/1 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 81/14 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.100s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 81/19 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 981
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 81/2 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 17680
-"_output" in: xor.drc:41
-Elapsed: 0.050s
---- Running XOR for 81/20 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.010s
-XOR differences: 107
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 81/23 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 24060
-"_output" in: xor.drc:41
-Elapsed: 0.050s
---- Running XOR for 81/4 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 668900
-"_output" in: xor.drc:41
-Elapsed: 0.530s
---- Running XOR for 81/51 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.010s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 81/52 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 81/6 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.010s
-XOR differences: 3799
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 81/8 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 2520
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 83/44 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.010s
-XOR differences: 48
-"_output" in: xor.drc:41
-Elapsed: 0.710s
---- Running XOR for 88/0 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 89/44 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.010s
-XOR differences: 1
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 93/44 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 574760
-"_output" in: xor.drc:41
-Elapsed: 0.430s
---- Running XOR for 94/20 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 513318
-"_output" in: xor.drc:41
-Elapsed: 0.400s
---- Running XOR for 95/20 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 361396
-"_output" in: xor.drc:41
-Elapsed: 0.360s
---- Running XOR for 96/0 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 97/0 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.010s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 97/44 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 0.000s
-XOR differences: 1
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 98/0 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.010s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.000s
-Writing layout file: ./gds/caravel_0001000d_fix_xor.gds ..
-Total run time: 339.720s
+ERROR: Unable to open file: /mnt/share/open_mpw/sak/tapeout/klayout/xor.drc (errno=2)
diff --git a/signoff/run_metal_fix.out b/signoff/run_metal_fix.out
index 63f0e6e..454dd4f 100644
--- a/signoff/run_metal_fix.out
+++ b/signoff/run_metal_fix.out
@@ -13,8 +13,53 @@
 Prefixing caravel subcells in the user GDS
 Running:  /usr/share/pdk/bin/change_gds_string.py user_id_textblock vB_user_id_textblock copyright_block vB_copyright_block open_source vB_open_source storage vB_storage sky130_fd_sc_hvl__lsbufhv2lv_1_wrapped vB_sky130_fd_sc_hvl__lsbufhv2lv_1_wrapped user_id_programming vB_user_id_programming simple_por vB_simple_por gpio_control_block vB_gpio_control_block mgmt_core vB_mgmt_core mgmt_protect vB_mgmt_protect chip_io vB_chip_io user_project_wrapper vB_user_project_wrapper ./gds/caravel_0001000d_b.gds -debug -verbatim
 Original data length = 2715803200
-Traceback (most recent call last):
-  File "/usr/share/pdk/bin/change_gds_string.py", line 122, in <module>
-    before = gdsdata[0:dataptr]
-MemoryError
+Replaced b'open_source\x00' with b'vB_open_source'
+Replaced b'user_id_textblock\x00' with b'vB_user_id_textblock'
+Replaced b'copyright_block\x00' with b'vB_copyright_block'
+Replaced b'storage\x00' with b'vB_storage'
+Replaced b'sky130_fd_sc_hvl__lsbufhv2lv_1_wrapped' with b'vB_sky130_fd_sc_hvl__lsbufhv2lv_1_wrapped\x00'
+Replaced b'user_id_programming\x00' with b'vB_user_id_programming'
+Replaced b'simple_por' with b'vB_simple_por\x00'
+Replaced b'gpio_control_block' with b'vB_gpio_control_block\x00'
+Replaced b'gpio_control_block' with b'vB_gpio_control_block\x00'
+Replaced b'mgmt_core\x00' with b'vB_mgmt_core'
+Replaced b'gpio_control_block' with b'vB_gpio_control_block\x00'
+Replaced b'gpio_control_block' with b'vB_gpio_control_block\x00'
+Replaced b'mgmt_protect' with b'vB_mgmt_protect\x00'
+Replaced b'gpio_control_block' with b'vB_gpio_control_block\x00'
+Replaced b'gpio_control_block' with b'vB_gpio_control_block\x00'
+Replaced b'gpio_control_block' with b'vB_gpio_control_block\x00'
+Replaced b'gpio_control_block' with b'vB_gpio_control_block\x00'
+Replaced b'gpio_control_block' with b'vB_gpio_control_block\x00'
+Replaced b'gpio_control_block' with b'vB_gpio_control_block\x00'
+Replaced b'gpio_control_block' with b'vB_gpio_control_block\x00'
+Replaced b'gpio_control_block' with b'vB_gpio_control_block\x00'
+Replaced b'gpio_control_block' with b'vB_gpio_control_block\x00'
+Replaced b'gpio_control_block' with b'vB_gpio_control_block\x00'
+Replaced b'gpio_control_block' with b'vB_gpio_control_block\x00'
+Replaced b'gpio_control_block' with b'vB_gpio_control_block\x00'
+Replaced b'gpio_control_block' with b'vB_gpio_control_block\x00'
+Replaced b'gpio_control_block' with b'vB_gpio_control_block\x00'
+Replaced b'gpio_control_block' with b'vB_gpio_control_block\x00'
+Replaced b'gpio_control_block' with b'vB_gpio_control_block\x00'
+Replaced b'gpio_control_block' with b'vB_gpio_control_block\x00'
+Replaced b'gpio_control_block' with b'vB_gpio_control_block\x00'
+Replaced b'gpio_control_block' with b'vB_gpio_control_block\x00'
+Replaced b'gpio_control_block' with b'vB_gpio_control_block\x00'
+Replaced b'gpio_control_block' with b'vB_gpio_control_block\x00'
+Replaced b'gpio_control_block' with b'vB_gpio_control_block\x00'
+Replaced b'gpio_control_block' with b'vB_gpio_control_block\x00'
+Replaced b'gpio_control_block' with b'vB_gpio_control_block\x00'
+Replaced b'gpio_control_block' with b'vB_gpio_control_block\x00'
+Replaced b'gpio_control_block' with b'vB_gpio_control_block\x00'
+Replaced b'gpio_control_block' with b'vB_gpio_control_block\x00'
+Replaced b'gpio_control_block' with b'vB_gpio_control_block\x00'
+Replaced b'gpio_control_block' with b'vB_gpio_control_block\x00'
+Replaced b'gpio_control_block' with b'vB_gpio_control_block\x00'
+Replaced b'gpio_control_block' with b'vB_gpio_control_block\x00'
+Replaced b'gpio_control_block' with b'vB_gpio_control_block\x00'
+Replaced b'gpio_control_block' with b'vB_gpio_control_block\x00'
+Replaced b'gpio_control_block' with b'vB_gpio_control_block\x00'
+Replaced b'chip_io\x00' with b'vB_chip_io'
+Replaced b'user_project_wrapper' with b'vB_user_project_wrapper\x00'
 Finished.