caravel_fix_pins
diff --git a/gds/caravel_00010010.gds.gz b/gds/caravel_00010010.gds.gz
index 14ec83c..9eb12f8 100644
--- a/gds/caravel_00010010.gds.gz
+++ b/gds/caravel_00010010.gds.gz
Binary files differ
diff --git a/gds/caravel_00010010_c.gds.gz b/gds/caravel_00010010_c.gds.gz
deleted file mode 100644
index 0fa2021..0000000
--- a/gds/caravel_00010010_c.gds.gz
+++ /dev/null
Binary files differ
diff --git a/signoff/caravel_fix b/signoff/caravel_fix
index e27fe3b..e69de29 100644
--- a/signoff/caravel_fix
+++ b/signoff/caravel_fix
@@ -1 +0,0 @@
-b7fcd487427971fc130db6d8d3dd1a84690a0e49 ./gds/caravel_00010010_c.gds
diff --git a/signoff/caravel_fix_xor.out b/signoff/caravel_fix_xor.out
index b9d159f..6c98964 100644
--- a/signoff/caravel_fix_xor.out
+++ b/signoff/caravel_fix_xor.out
@@ -4,1245 +4,7 @@
Output GDS will be: ./gds/caravel_00010010_fix_xor.gds
Reading ./gds/caravel_00010010.gds ..
Reading ./gds/caravel_00010010_c.gds ..
---- Running XOR for 105/52 ---
-"_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 107/24 ---
-"_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 11/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 112/4 ---
-"_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 122/16 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 2.230s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 125/20 ---
-"_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.010s
---- Running XOR for 125/44 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 0.110s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- 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.000s
---- 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: 1.570s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 22/22 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.540s
-XOR differences: 0
-"_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.000s
-"^" in: xor.drc:38
-Elapsed: 0.010s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 23/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 23/28 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 2.610s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 235/0 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.950s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- 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: 5.220s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- 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: 2.210s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- 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: 21.350s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- 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.000s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- 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: 8.580s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 33/43 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 8.510s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- 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.000s
---- Running XOR for 34/28 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 22.000s
-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: 72.190s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 37/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 39/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 40/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 41/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/28 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 57.330s
-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.000s
---- Running XOR for 44/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 46/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 48/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 49/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 50/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 51/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/28 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 19.350s
-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.960s
-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.000s
-"^" in: xor.drc:38
-Elapsed: 0.010s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 59/28 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 1.570s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 61/20 ---
-"_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 62/24 ---
-"_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 64/16 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 2.210s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- 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.020s
-XOR differences: 0
-"_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: 6.950s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 64/5 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 0.880s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 64/59 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 0.870s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- 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: 0
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- 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: 0
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 65/16 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 0.160s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 65/20 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 9.830s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 65/44 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 1.520s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 66/13 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.050s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- 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.030s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- 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.180s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- 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.210s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- 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: 20.220s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 66/44 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 54.720s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- 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.320s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 66/9 ---
-"_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 67/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: 0
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 67/16 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 4.160s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 67/20 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 41.820s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- 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: 40.150s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 67/5 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.720s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 68/15 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.080s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 68/16 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 5.360s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 68/20 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 41.080s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 68/44 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 8.110s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 68/5 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 1.190s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 69/15 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.040s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 69/16 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 0.750s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- 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: 17.800s
-XOR differences: 2
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- 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: 4.540s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 69/5 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.220s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- 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.000s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 70/16 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.200s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 70/20 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 4.800s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- 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: 7.020s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 70/5 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.190s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 71/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: 0
-"_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.010s
-"^" in: xor.drc:38
-Elapsed: 0.200s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- 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: 4.710s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 71/44 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 1.560s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 71/5 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.320s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 72/15 ---
-"_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 72/16 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.030s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 72/20 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.430s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- 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.260s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- 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: 1.550s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 76/20 ---
-"_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 78/44 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 2.940s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 79/20 ---
-"_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 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.000s
---- Running XOR for 81/14 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.160s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 81/19 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.020s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- 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.390s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- 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: 0
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 81/23 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 0.310s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 81/4 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 8.050s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 81/51 ---
-"_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 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.030s
-XOR differences: 0
-"_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.010s
-"^" in: xor.drc:38
-Elapsed: 0.020s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 82/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: 0
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 83/44 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 1.710s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 88/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 89/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: 0
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 93/44 ---
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 7.310s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- Running XOR for 94/20 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.010s
-"^" in: xor.drc:38
-Elapsed: 7.000s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.000s
---- Running XOR for 95/20 ---
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"_input" in: xor.drc:38
-Elapsed: 0.000s
-"^" in: xor.drc:38
-Elapsed: 4.140s
-XOR differences: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- 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.000s
---- Running XOR for 97/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.000s
---- Running XOR for 97/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: 0
-"_output" in: xor.drc:41
-Elapsed: 0.010s
---- 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_00010010_fix_xor.gds ..
-Total run time: 572.210s
+ERROR: In /mnt/share/open_mpw/sak/klayout/xor.drc: Unable to open file: ./gds/caravel_00010010_c.gds (errno=2) in Layout::read
+ERROR: Unable to open file: ./gds/caravel_00010010_c.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'
diff --git a/signoff/cdrc.log b/signoff/cdrc.log
index da69c89..0e8a431 100644
--- a/signoff/cdrc.log
+++ b/signoff/cdrc.log
@@ -1 +1 @@
-caldrc-put: caravel_00010010.gds a7b792f2b0611242ee9fcecf28d93599234547f1 2021-08-15.14:57:43.UTC md5=d30b149cba980585e3229813045fd584 /mnt/share/open_mpw/mpw-one/slot-016/caravel_amsat_txrx_ic/gds/caravel_00010010.gds.gz [no-git-push]
+caldrc-put: caravel_00010010.gds 146397743a9a9e4d444a33d2cd7f74783f6162e5 2021-08-15.18:11:18.UTC md5=3cb029916c9bb926ac5b2b44f7402ce4 /mnt/share/open_mpw/mpw-one/slot-016/caravel_amsat_txrx_ic/gds/caravel_00010010.gds.gz [no-git-push]
diff --git a/signoff/run_metal_fix.out b/signoff/run_metal_fix.out
index 3a6b2eb..52a1294 100644
--- a/signoff/run_metal_fix.out
+++ b/signoff/run_metal_fix.out
@@ -5,61 +5,14 @@
Cell caravel found at position 235669746
Cell caravel ends at position 247680056
Reading GDS file for original source ./gds/caravel_00010010.gds
-Cell caravel found at position 2516739966
-Cell caravel ends at position 2528749818
-Cell caravel checksum is 12009824
-Info: Structure caravel matches checksum 12009824
-Info: Structure caravel at 2516739966 to 2528749818 will be replaced by alternate data.
+Cell caravel found at position 2515993382
+Cell caravel ends at position 2528003096
+Cell caravel checksum is 12009686
+Info: Structure caravel at 2515993382 to 2528003096 has checksum 12009686 != 12009824 (checksum failure)
Prefixing caravel subcells in the user GDS
Running: /usr/share/pdk/bin/change_gds_string.py user_id_textblock TJ_user_id_textblock copyright_block TJ_copyright_block open_source TJ_open_source storage TJ_storage sky130_fd_sc_hvl__lsbufhv2lv_1_wrapped TJ_sky130_fd_sc_hvl__lsbufhv2lv_1_wrapped user_id_programming TJ_user_id_programming simple_por TJ_simple_por gpio_control_block TJ_gpio_control_block mgmt_core TJ_mgmt_core mgmt_protect TJ_mgmt_protect chip_io TJ_chip_io user_project_wrapper TJ_user_project_wrapper ./gds/caravel_00010010_c.gds -debug -verbatim
-Original data length = 2528750540
-Replaced b'open_source\x00' with b'TJ_open_source'
-Replaced b'user_id_textblock\x00' with b'TJ_user_id_textblock'
-Replaced b'copyright_block\x00' with b'TJ_copyright_block'
-Replaced b'storage\x00' with b'TJ_storage'
-Replaced b'sky130_fd_sc_hvl__lsbufhv2lv_1_wrapped' with b'TJ_sky130_fd_sc_hvl__lsbufhv2lv_1_wrapped\x00'
-Replaced b'user_id_programming\x00' with b'TJ_user_id_programming'
-Replaced b'simple_por' with b'TJ_simple_por\x00'
-Replaced b'gpio_control_block' with b'TJ_gpio_control_block\x00'
-Replaced b'gpio_control_block' with b'TJ_gpio_control_block\x00'
-Replaced b'mgmt_core\x00' with b'TJ_mgmt_core'
-Replaced b'gpio_control_block' with b'TJ_gpio_control_block\x00'
-Replaced b'gpio_control_block' with b'TJ_gpio_control_block\x00'
-Replaced b'mgmt_protect' with b'TJ_mgmt_protect\x00'
-Replaced b'gpio_control_block' with b'TJ_gpio_control_block\x00'
-Replaced b'gpio_control_block' with b'TJ_gpio_control_block\x00'
-Replaced b'gpio_control_block' with b'TJ_gpio_control_block\x00'
-Replaced b'gpio_control_block' with b'TJ_gpio_control_block\x00'
-Replaced b'gpio_control_block' with b'TJ_gpio_control_block\x00'
-Replaced b'gpio_control_block' with b'TJ_gpio_control_block\x00'
-Replaced b'gpio_control_block' with b'TJ_gpio_control_block\x00'
-Replaced b'gpio_control_block' with b'TJ_gpio_control_block\x00'
-Replaced b'gpio_control_block' with b'TJ_gpio_control_block\x00'
-Replaced b'gpio_control_block' with b'TJ_gpio_control_block\x00'
-Replaced b'gpio_control_block' with b'TJ_gpio_control_block\x00'
-Replaced b'gpio_control_block' with b'TJ_gpio_control_block\x00'
-Replaced b'gpio_control_block' with b'TJ_gpio_control_block\x00'
-Replaced b'gpio_control_block' with b'TJ_gpio_control_block\x00'
-Replaced b'gpio_control_block' with b'TJ_gpio_control_block\x00'
-Replaced b'gpio_control_block' with b'TJ_gpio_control_block\x00'
-Replaced b'gpio_control_block' with b'TJ_gpio_control_block\x00'
-Replaced b'gpio_control_block' with b'TJ_gpio_control_block\x00'
-Replaced b'gpio_control_block' with b'TJ_gpio_control_block\x00'
-Replaced b'gpio_control_block' with b'TJ_gpio_control_block\x00'
-Replaced b'gpio_control_block' with b'TJ_gpio_control_block\x00'
-Replaced b'gpio_control_block' with b'TJ_gpio_control_block\x00'
-Replaced b'gpio_control_block' with b'TJ_gpio_control_block\x00'
-Replaced b'gpio_control_block' with b'TJ_gpio_control_block\x00'
-Replaced b'gpio_control_block' with b'TJ_gpio_control_block\x00'
-Replaced b'gpio_control_block' with b'TJ_gpio_control_block\x00'
-Replaced b'gpio_control_block' with b'TJ_gpio_control_block\x00'
-Replaced b'gpio_control_block' with b'TJ_gpio_control_block\x00'
-Replaced b'gpio_control_block' with b'TJ_gpio_control_block\x00'
-Replaced b'gpio_control_block' with b'TJ_gpio_control_block\x00'
-Replaced b'gpio_control_block' with b'TJ_gpio_control_block\x00'
-Replaced b'gpio_control_block' with b'TJ_gpio_control_block\x00'
-Replaced b'gpio_control_block' with b'TJ_gpio_control_block\x00'
-Replaced b'gpio_control_block' with b'TJ_gpio_control_block\x00'
-Replaced b'chip_io\x00' with b'TJ_chip_io'
-Replaced b'user_project_wrapper' with b'TJ_user_project_wrapper\x00'
+Traceback (most recent call last):
+ File "/usr/share/pdk/bin/change_gds_string.py", line 72, in <module>
+ with open(source, 'rb') as ifile:
+FileNotFoundError: [Errno 2] No such file or directory: './gds/caravel_00010010_c.gds'
Finished.