caravel_fix
diff --git a/gds/caravel_00010004.gds.gz b/gds/caravel_00010004.gds.gz
index c00e0f8..eccdbf6 100644
--- a/gds/caravel_00010004.gds.gz
+++ b/gds/caravel_00010004.gds.gz
Binary files differ
diff --git a/gds/caravel_00010004_b.gds.gz b/gds/caravel_00010004_b.gds.gz
new file mode 100644
index 0000000..bce56a2
--- /dev/null
+++ b/gds/caravel_00010004_b.gds.gz
Binary files differ
diff --git a/signoff/caravel_fix b/signoff/caravel_fix
index e69de29..51e21e8 100644
--- a/signoff/caravel_fix
+++ b/signoff/caravel_fix
@@ -0,0 +1 @@
+89d5e2856b5b5d1d6654e342579ff7ef944721f3  -
diff --git a/signoff/caravel_fix_xor.out b/signoff/caravel_fix_xor.out
index 73ac0d2..a8d8f2d 100644
--- a/signoff/caravel_fix_xor.out
+++ b/signoff/caravel_fix_xor.out
@@ -4,7 +4,345 @@
 Output GDS will be: ./gds/caravel_00010004_fix_xor.gds
 Reading ./gds/caravel_00010004.gds ..
 Reading ./gds/caravel_00010004_b.gds ..
-ERROR: In /mnt/share/open_mpw/sak/klayout/xor.drc: Unable to open file: ./gds/caravel_00010004_b.gds (errno=2) in Layout::read
-ERROR: Unable to open file: ./gds/caravel_00010004_b.gds (errno=2) in Layout::read in MacroInterpreter::execute
-  /mnt/share/open_mpw/sak/klayout/xor.drc:18:in `execute_drc'
-  :/built-in-macros/drc_interpreters.lym:92:in `execute'
+--- Running XOR for 11/44 ---
+"_input" in: xor.drc:42
+Elapsed: 0.000s
+"_input" in: xor.drc:42
+Elapsed: 0.010s
+"^" in: xor.drc:42
+Elapsed: 0.000s
+XOR differences: 0
+"_output" in: xor.drc:45
+Elapsed: 0.010s
+--- Running XOR for 125/20 ---
+"_input" in: xor.drc:42
+Elapsed: 0.000s
+"_input" in: xor.drc:42
+Elapsed: 0.000s
+"^" in: xor.drc:42
+Elapsed: 0.010s
+XOR differences: 0
+"_output" in: xor.drc:45
+Elapsed: 0.010s
+--- Running XOR for 125/44 ---
+"_input" in: xor.drc:42
+Elapsed: 0.000s
+"_input" in: xor.drc:42
+Elapsed: 0.000s
+"^" in: xor.drc:42
+Elapsed: 0.110s
+XOR differences: 0
+"_output" in: xor.drc:45
+Elapsed: 0.000s
+--- Running XOR for 26/20 ---
+"_input" in: xor.drc:42
+Elapsed: 0.010s
+"_input" in: xor.drc:42
+Elapsed: 0.000s
+"^" in: xor.drc:42
+Elapsed: 0.010s
+XOR differences: 0
+"_output" in: xor.drc:45
+Elapsed: 0.000s
+--- Running XOR for 45/20 ---
+"_input" in: xor.drc:42
+Elapsed: 0.010s
+"_input" in: xor.drc:42
+Elapsed: 0.000s
+"^" in: xor.drc:42
+Elapsed: 0.000s
+XOR differences: 0
+"_output" in: xor.drc:45
+Elapsed: 0.010s
+--- Running XOR for 61/20 ---
+"_input" in: xor.drc:42
+Elapsed: 0.000s
+"_input" in: xor.drc:42
+Elapsed: 0.010s
+"^" in: xor.drc:42
+Elapsed: 0.000s
+XOR differences: 0
+"_output" in: xor.drc:45
+Elapsed: 0.000s
+--- Running XOR for 64/20 ---
+"_input" in: xor.drc:42
+Elapsed: 0.000s
+"_input" in: xor.drc:42
+Elapsed: 0.000s
+"^" in: xor.drc:42
+Elapsed: 7.200s
+XOR differences: 0
+"_output" in: xor.drc:45
+Elapsed: 0.010s
+--- Running XOR for 65/20 ---
+"_input" in: xor.drc:42
+Elapsed: 0.000s
+"_input" in: xor.drc:42
+Elapsed: 0.010s
+"^" in: xor.drc:42
+Elapsed: 9.790s
+XOR differences: 0
+"_output" in: xor.drc:45
+Elapsed: 0.010s
+--- Running XOR for 65/44 ---
+"_input" in: xor.drc:42
+Elapsed: 0.010s
+"_input" in: xor.drc:42
+Elapsed: 0.000s
+"^" in: xor.drc:42
+Elapsed: 1.510s
+XOR differences: 0
+"_output" in: xor.drc:45
+Elapsed: 0.010s
+--- Running XOR for 66/20 ---
+"_input" in: xor.drc:42
+Elapsed: 0.010s
+"_input" in: xor.drc:42
+Elapsed: 0.000s
+"^" in: xor.drc:42
+Elapsed: 20.060s
+XOR differences: 0
+"_output" in: xor.drc:45
+Elapsed: 0.010s
+--- Running XOR for 66/44 ---
+"_input" in: xor.drc:42
+Elapsed: 0.010s
+"_input" in: xor.drc:42
+Elapsed: 0.000s
+"^" in: xor.drc:42
+Elapsed: 52.160s
+XOR differences: 0
+"_output" in: xor.drc:45
+Elapsed: 0.010s
+--- Running XOR for 67/20 ---
+"_input" in: xor.drc:42
+Elapsed: 0.000s
+"_input" in: xor.drc:42
+Elapsed: 0.010s
+"^" in: xor.drc:42
+Elapsed: 41.570s
+XOR differences: 0
+"_output" in: xor.drc:45
+Elapsed: 0.000s
+--- Running XOR for 67/44 ---
+"_input" in: xor.drc:42
+Elapsed: 0.010s
+"_input" in: xor.drc:42
+Elapsed: 0.000s
+"^" in: xor.drc:42
+Elapsed: 38.330s
+XOR differences: 0
+"_output" in: xor.drc:45
+Elapsed: 0.000s
+--- Running XOR for 68/20 ---
+"_input" in: xor.drc:42
+Elapsed: 0.010s
+"_input" in: xor.drc:42
+Elapsed: 0.000s
+"^" in: xor.drc:42
+Elapsed: 40.640s
+XOR differences: 0
+"_output" in: xor.drc:45
+Elapsed: 0.010s
+--- Running XOR for 68/44 ---
+"_input" in: xor.drc:42
+Elapsed: 0.010s
+"_input" in: xor.drc:42
+Elapsed: 0.000s
+"^" in: xor.drc:42
+Elapsed: 7.720s
+XOR differences: 0
+"_output" in: xor.drc:45
+Elapsed: 0.010s
+--- Running XOR for 69/20 ---
+"_input" in: xor.drc:42
+Elapsed: 0.000s
+"_input" in: xor.drc:42
+Elapsed: 0.010s
+"^" in: xor.drc:42
+Elapsed: 17.180s
+XOR differences: 2
+"_output" in: xor.drc:45
+Elapsed: 0.010s
+--- Running XOR for 69/44 ---
+"_input" in: xor.drc:42
+Elapsed: 0.000s
+"_input" in: xor.drc:42
+Elapsed: 0.010s
+"^" in: xor.drc:42
+Elapsed: 4.470s
+XOR differences: 0
+"_output" in: xor.drc:45
+Elapsed: 0.010s
+--- Running XOR for 70/20 ---
+"_input" in: xor.drc:42
+Elapsed: 0.000s
+"_input" in: xor.drc:42
+Elapsed: 0.000s
+"^" in: xor.drc:42
+Elapsed: 4.850s
+XOR differences: 0
+"_output" in: xor.drc:45
+Elapsed: 0.000s
+--- Running XOR for 70/44 ---
+"_input" in: xor.drc:42
+Elapsed: 0.010s
+"_input" in: xor.drc:42
+Elapsed: 0.000s
+"^" in: xor.drc:42
+Elapsed: 6.510s
+XOR differences: 0
+"_output" in: xor.drc:45
+Elapsed: 0.000s
+--- Running XOR for 71/20 ---
+"_input" in: xor.drc:42
+Elapsed: 0.010s
+"_input" in: xor.drc:42
+Elapsed: 0.000s
+"^" in: xor.drc:42
+Elapsed: 4.740s
+XOR differences: 0
+"_output" in: xor.drc:45
+Elapsed: 0.000s
+--- Running XOR for 71/44 ---
+"_input" in: xor.drc:42
+Elapsed: 0.010s
+"_input" in: xor.drc:42
+Elapsed: 0.000s
+"^" in: xor.drc:42
+Elapsed: 1.550s
+XOR differences: 0
+"_output" in: xor.drc:45
+Elapsed: 0.010s
+--- Running XOR for 72/20 ---
+"_input" in: xor.drc:42
+Elapsed: 0.010s
+"_input" in: xor.drc:42
+Elapsed: 0.000s
+"^" in: xor.drc:42
+Elapsed: 0.420s
+XOR differences: 0
+"_output" in: xor.drc:45
+Elapsed: 0.010s
+--- Running XOR for 75/20 ---
+"_input" in: xor.drc:42
+Elapsed: 0.000s
+"_input" in: xor.drc:42
+Elapsed: 0.010s
+"^" in: xor.drc:42
+Elapsed: 1.570s
+XOR differences: 0
+"_output" in: xor.drc:45
+Elapsed: 0.000s
+--- Running XOR for 76/20 ---
+"_input" in: xor.drc:42
+Elapsed: 0.010s
+"_input" in: xor.drc:42
+Elapsed: 0.000s
+"^" in: xor.drc:42
+Elapsed: 0.010s
+XOR differences: 0
+"_output" in: xor.drc:45
+Elapsed: 0.000s
+--- Running XOR for 78/44 ---
+"_input" in: xor.drc:42
+Elapsed: 0.000s
+"_input" in: xor.drc:42
+Elapsed: 0.000s
+"^" in: xor.drc:42
+Elapsed: 2.910s
+XOR differences: 0
+"_output" in: xor.drc:45
+Elapsed: 0.000s
+--- Running XOR for 79/20 ---
+"_input" in: xor.drc:42
+Elapsed: 0.010s
+"_input" in: xor.drc:42
+Elapsed: 0.000s
+"^" in: xor.drc:42
+Elapsed: 0.010s
+XOR differences: 0
+"_output" in: xor.drc:45
+Elapsed: 0.000s
+--- Running XOR for 80/20 ---
+"_input" in: xor.drc:42
+Elapsed: 0.000s
+"_input" in: xor.drc:42
+Elapsed: 0.000s
+"^" in: xor.drc:42
+Elapsed: 0.000s
+XOR differences: 0
+"_output" in: xor.drc:45
+Elapsed: 0.010s
+--- Running XOR for 81/20 ---
+"_input" in: xor.drc:42
+Elapsed: 0.000s
+"_input" in: xor.drc:42
+Elapsed: 0.000s
+"^" in: xor.drc:42
+Elapsed: 0.010s
+XOR differences: 0
+"_output" in: xor.drc:45
+Elapsed: 0.010s
+--- Running XOR for 83/44 ---
+"_input" in: xor.drc:42
+Elapsed: 0.000s
+"_input" in: xor.drc:42
+Elapsed: 0.010s
+"^" in: xor.drc:42
+Elapsed: 1.660s
+XOR differences: 0
+"_output" in: xor.drc:45
+Elapsed: 0.010s
+--- Running XOR for 89/44 ---
+"_input" in: xor.drc:42
+Elapsed: 0.000s
+"_input" in: xor.drc:42
+Elapsed: 0.010s
+"^" in: xor.drc:42
+Elapsed: 0.000s
+XOR differences: 0
+"_output" in: xor.drc:45
+Elapsed: 0.010s
+--- Running XOR for 93/44 ---
+"_input" in: xor.drc:42
+Elapsed: 0.000s
+"_input" in: xor.drc:42
+Elapsed: 0.000s
+"^" in: xor.drc:42
+Elapsed: 7.310s
+XOR differences: 0
+"_output" in: xor.drc:45
+Elapsed: 0.010s
+--- Running XOR for 94/20 ---
+"_input" in: xor.drc:42
+Elapsed: 0.000s
+"_input" in: xor.drc:42
+Elapsed: 0.010s
+"^" in: xor.drc:42
+Elapsed: 6.970s
+XOR differences: 0
+"_output" in: xor.drc:45
+Elapsed: 0.010s
+--- Running XOR for 95/20 ---
+"_input" in: xor.drc:42
+Elapsed: 0.010s
+"_input" in: xor.drc:42
+Elapsed: 0.000s
+"^" in: xor.drc:42
+Elapsed: 4.110s
+XOR differences: 0
+"_output" in: xor.drc:45
+Elapsed: 0.010s
+--- Running XOR for 97/44 ---
+"_input" in: xor.drc:42
+Elapsed: 0.010s
+"_input" in: xor.drc:42
+Elapsed: 0.000s
+"^" in: xor.drc:42
+Elapsed: 0.010s
+XOR differences: 0
+"_output" in: xor.drc:45
+Elapsed: 0.000s
+Writing layout file: ./gds/caravel_00010004_fix_xor.gds ..
+Total run time: 302.140s