caravel_fix
diff --git a/gds/caravel_0001000f.gds.gz b/gds/caravel_0001000f.gds.gz index 37c5dad..3eb4626 100644 --- a/gds/caravel_0001000f.gds.gz +++ b/gds/caravel_0001000f.gds.gz Binary files differ
diff --git a/gds/caravel_0001000f_b.gds.gz b/gds/caravel_0001000f_b.gds.gz new file mode 100644 index 0000000..3e41be0 --- /dev/null +++ b/gds/caravel_0001000f_b.gds.gz Binary files differ
diff --git a/signoff/caravel_fix b/signoff/caravel_fix new file mode 100644 index 0000000..9e1a738 --- /dev/null +++ b/signoff/caravel_fix
@@ -0,0 +1 @@ +6cdf78c2f7cd73b6cecf74e9aa2bd69b89165904 ./gds/caravel_0001000f_b.gds
diff --git a/signoff/caravel_fix_xor.out b/signoff/caravel_fix_xor.out new file mode 100644 index 0000000..9e72e28 --- /dev/null +++ b/signoff/caravel_fix_xor.out
@@ -0,0 +1,1238 @@ +First Layout: ./gds/caravel_0001000f.gds +Second Layout: ./gds/caravel_0001000f_b.gds +Design Name: caravel_0001000f +Output GDS will be: ./gds/caravel_0001000f_fix_xor.gds +Reading ./gds/caravel_0001000f.gds .. +Reading ./gds/caravel_0001000f_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.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.010s +XOR differences: 0 +"_output" in: xor.drc:41 +Elapsed: 0.000s +--- Running XOR for 11/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 112/4 --- +"_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.000s +--- Running XOR for 122/16 --- +"_input" in: xor.drc:38 +Elapsed: 0.010s +"_input" in: xor.drc:38 +Elapsed: 0.000s +"^" in: xor.drc:38 +Elapsed: 2.430s +XOR differences: 0 +"_output" in: xor.drc:41 +Elapsed: 0.000s +--- 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: 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.000s +"^" in: xor.drc:38 +Elapsed: 0.120s +XOR differences: 0 +"_output" in: xor.drc:41 +Elapsed: 0.000s +--- Running XOR for 20/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 21/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 22/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 22/21 --- +"_input" in: xor.drc:38 +Elapsed: 0.000s +"_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 22/22 --- +"_input" in: xor.drc:38 +Elapsed: 0.010s +"_input" in: xor.drc:38 +Elapsed: 0.000s +"^" in: xor.drc:38 +Elapsed: 0.550s +XOR differences: 0 +"_output" in: xor.drc:41 +Elapsed: 0.000s +--- 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: 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.010s +XOR differences: 0 +"_output" in: xor.drc:41 +Elapsed: 0.000s +--- Running XOR for 23/28 --- +"_input" in: xor.drc:38 +Elapsed: 0.000s +"_input" in: xor.drc:38 +Elapsed: 0.010s +"^" in: xor.drc:38 +Elapsed: 2.510s +XOR differences: 0 +"_output" in: xor.drc:41 +Elapsed: 0.010s +--- Running XOR for 235/0 --- +"_input" in: xor.drc:38 +Elapsed: 0.010s +"_input" in: xor.drc:38 +Elapsed: 0.000s +"^" in: xor.drc:38 +Elapsed: 0.930s +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.260s +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.010s +"^" in: xor.drc:38 +Elapsed: 2.420s +XOR differences: 0 +"_output" in: xor.drc:41 +Elapsed: 0.000s +--- 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.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/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 28/28 --- +"_input" in: xor.drc:38 +Elapsed: 0.000s +"_input" in: xor.drc:38 +Elapsed: 0.010s +"^" in: xor.drc:38 +Elapsed: 20.780s +XOR differences: 0 +"_output" in: xor.drc:41 +Elapsed: 0.010s +--- Running XOR for 30/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 32/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 33/42 --- +"_input" in: xor.drc:38 +Elapsed: 0.000s +"_input" in: xor.drc:38 +Elapsed: 0.010s +"^" in: xor.drc:38 +Elapsed: 8.560s +XOR differences: 0 +"_output" in: xor.drc:41 +Elapsed: 0.000s +--- 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.530s +XOR differences: 0 +"_output" in: xor.drc:41 +Elapsed: 0.010s +--- Running XOR for 34/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 34/28 --- +"_input" in: xor.drc:38 +Elapsed: 0.000s +"_input" in: xor.drc:38 +Elapsed: 0.010s +"^" in: xor.drc:38 +Elapsed: 30.400s +XOR differences: 0 +"_output" in: xor.drc:41 +Elapsed: 0.010s +--- Running XOR for 35/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/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 36/28 --- +"_input" in: xor.drc:38 +Elapsed: 0.000s +"_input" in: xor.drc:38 +Elapsed: 0.010s +"^" in: xor.drc:38 +Elapsed: 71.990s +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.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 40/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/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: 60.140s +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.000s +"^" 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.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.010s +"^" in: xor.drc:38 +Elapsed: 0.000s +XOR differences: 0 +"_output" in: xor.drc:41 +Elapsed: 0.000s +--- Running XOR for 50/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/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/28 --- +"_input" in: xor.drc:38 +Elapsed: 0.000s +"_input" in: xor.drc:38 +Elapsed: 0.010s +"^" in: xor.drc:38 +Elapsed: 34.390s +XOR differences: 0 +"_output" in: xor.drc:41 +Elapsed: 0.010s +--- Running XOR for 56/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 56/28 --- +"_input" in: xor.drc:38 +Elapsed: 0.000s +"_input" in: xor.drc:38 +Elapsed: 0.000s +"^" in: xor.drc:38 +Elapsed: 7.190s +XOR differences: 0 +"_output" in: xor.drc:41 +Elapsed: 0.010s +--- Running XOR for 58/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/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/28 --- +"_input" in: xor.drc:38 +Elapsed: 0.000s +"_input" in: xor.drc:38 +Elapsed: 0.000s +"^" in: xor.drc:38 +Elapsed: 1.060s +XOR differences: 0 +"_output" in: xor.drc:41 +Elapsed: 0.000s +--- 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.010s +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.370s +XOR differences: 0 +"_output" in: xor.drc:41 +Elapsed: 0.000s +--- Running XOR for 64/18 --- +"_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.010s +--- Running XOR for 64/20 --- +"_input" in: xor.drc:38 +Elapsed: 0.000s +"_input" in: xor.drc:38 +Elapsed: 0.000s +"^" in: xor.drc:38 +Elapsed: 7.220s +XOR differences: 0 +"_output" in: xor.drc:41 +Elapsed: 0.010s +--- 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: 1.060s +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.940s +XOR differences: 0 +"_output" in: xor.drc:41 +Elapsed: 0.010s +--- 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.010s +--- Running XOR for 65/16 --- +"_input" in: xor.drc:38 +Elapsed: 0.000s +"_input" in: xor.drc:38 +Elapsed: 0.000s +"^" in: xor.drc:38 +Elapsed: 0.170s +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: 10.030s +XOR differences: 0 +"_output" in: xor.drc:41 +Elapsed: 0.010s +--- Running XOR for 65/44 --- +"_input" in: xor.drc:38 +Elapsed: 0.010s +"_input" in: xor.drc:38 +Elapsed: 0.000s +"^" in: xor.drc:38 +Elapsed: 1.540s +XOR differences: 0 +"_output" in: xor.drc:41 +Elapsed: 0.010s +--- 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.040s +XOR differences: 0 +"_output" in: xor.drc:41 +Elapsed: 0.010s +--- Running XOR for 66/14 --- +"_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 66/15 --- +"_input" in: xor.drc:38 +Elapsed: 0.010s +"_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.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.420s +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: 53.810s +XOR differences: 0 +"_output" in: xor.drc:41 +Elapsed: 0.010s +--- Running XOR for 66/83 --- +"_input" in: xor.drc:38 +Elapsed: 0.000s +"_input" in: xor.drc:38 +Elapsed: 0.010s +"^" in: xor.drc:38 +Elapsed: 0.310s +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.010s +"^" 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.010s +"_input" in: xor.drc:38 +Elapsed: 0.000s +"^" in: xor.drc:38 +Elapsed: 4.090s +XOR differences: 0 +"_output" in: xor.drc:41 +Elapsed: 0.010s +--- 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: 41.620s +XOR differences: 0 +"_output" in: xor.drc:41 +Elapsed: 0.010s +--- Running XOR for 67/44 --- +"_input" in: xor.drc:38 +Elapsed: 0.000s +"_input" in: xor.drc:38 +Elapsed: 0.010s +"^" in: xor.drc:38 +Elapsed: 41.260s +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.710s +XOR differences: 0 +"_output" in: xor.drc:41 +Elapsed: 0.010s +--- 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.080s +XOR differences: 0 +"_output" in: xor.drc:41 +Elapsed: 0.000s +--- 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.670s +XOR differences: 0 +"_output" in: xor.drc:41 +Elapsed: 0.010s +--- 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: 41.340s +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.640s +XOR differences: 0 +"_output" in: xor.drc:41 +Elapsed: 0.010s +--- Running XOR for 68/5 --- +"_input" in: xor.drc:38 +Elapsed: 0.000s +"_input" in: xor.drc:38 +Elapsed: 0.010s +"^" in: xor.drc:38 +Elapsed: 1.230s +XOR differences: 0 +"_output" in: xor.drc:41 +Elapsed: 0.010s +--- Running XOR for 69/15 --- +"_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 69/16 --- +"_input" in: xor.drc:38 +Elapsed: 0.000s +"_input" in: xor.drc:38 +Elapsed: 0.010s +"^" in: xor.drc:38 +Elapsed: 0.740s +XOR differences: 4 +"_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: 18.730s +XOR differences: 2 +"_output" in: xor.drc:41 +Elapsed: 0.000s +--- Running XOR for 69/44 --- +"_input" in: xor.drc:38 +Elapsed: 0.010s +"_input" in: xor.drc:38 +Elapsed: 0.000s +"^" in: xor.drc:38 +Elapsed: 5.190s +XOR differences: 0 +"_output" in: xor.drc:41 +Elapsed: 0.010s +--- Running XOR for 69/5 --- +"_input" in: xor.drc:38 +Elapsed: 0.000s +"_input" in: xor.drc:38 +Elapsed: 0.010s +"^" in: xor.drc:38 +Elapsed: 0.240s +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.010s +XOR differences: 0 +"_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.190s +XOR differences: 1 +"_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.890s +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.240s +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.010s +"^" 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.760s +XOR differences: 0 +"_output" in: xor.drc:41 +Elapsed: 0.010s +--- Running XOR for 71/44 --- +"_input" in: xor.drc:38 +Elapsed: 0.000s +"_input" in: xor.drc:38 +Elapsed: 0.010s +"^" in: xor.drc:38 +Elapsed: 1.580s +XOR differences: 0 +"_output" in: xor.drc:41 +Elapsed: 0.010s +--- 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.360s +XOR differences: 0 +"_output" in: xor.drc:41 +Elapsed: 0.000s +--- 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: 0 +"_output" in: xor.drc:41 +Elapsed: 0.000s +--- Running XOR for 72/16 --- +"_input" in: xor.drc:38 +Elapsed: 0.010s +"_input" in: xor.drc:38 +Elapsed: 0.000s +"^" in: xor.drc:38 +Elapsed: 0.030s +XOR differences: 58 +"_output" in: xor.drc:41 +Elapsed: 0.000s +--- 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.440s +XOR differences: 0 +"_output" in: xor.drc:41 +Elapsed: 0.010s +--- Running XOR for 72/5 --- +"_input" in: xor.drc:38 +Elapsed: 0.000s +"_input" in: xor.drc:38 +Elapsed: 0.010s +"^" in: xor.drc:38 +Elapsed: 0.250s +XOR differences: 0 +"_output" in: xor.drc:41 +Elapsed: 0.010s +--- Running XOR for 75/20 --- +"_input" in: xor.drc:38 +Elapsed: 0.010s +"_input" in: xor.drc:38 +Elapsed: 0.000s +"^" in: xor.drc:38 +Elapsed: 1.570s +XOR differences: 0 +"_output" in: xor.drc:41 +Elapsed: 0.000s +--- 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: 0 +"_output" in: xor.drc:41 +Elapsed: 0.010s +--- 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: 3.170s +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.010s +"^" in: xor.drc:38 +Elapsed: 0.000s +XOR differences: 0 +"_output" in: xor.drc:41 +Elapsed: 0.000s +--- Running XOR for 81/1 --- +"_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/14 --- +"_input" in: xor.drc:38 +Elapsed: 0.000s +"_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 81/19 --- +"_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 81/2 --- +"_input" in: xor.drc:38 +Elapsed: 0.010s +"_input" in: xor.drc:38 +Elapsed: 0.000s +"^" in: xor.drc:38 +Elapsed: 0.400s +XOR differences: 0 +"_output" in: xor.drc:41 +Elapsed: 0.010s +--- Running XOR for 81/20 --- +"_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: 0 +"_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.310s +XOR differences: 0 +"_output" in: xor.drc:41 +Elapsed: 0.010s +--- Running XOR for 81/4 --- +"_input" in: xor.drc:38 +Elapsed: 0.000s +"_input" in: xor.drc:38 +Elapsed: 0.000s +"^" in: xor.drc:38 +Elapsed: 8.290s +XOR differences: 0 +"_output" in: xor.drc:41 +Elapsed: 0.000s +--- 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.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.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.740s +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.000s +"^" in: xor.drc:38 +Elapsed: 0.010s +XOR differences: 0 +"_output" in: xor.drc:41 +Elapsed: 0.000s +--- 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.000s +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.000s +"^" in: xor.drc:38 +Elapsed: 7.590s +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.300s +XOR differences: 0 +"_output" in: xor.drc:41 +Elapsed: 0.010s +--- Running XOR for 95/20 --- +"_input" in: xor.drc:38 +Elapsed: 0.000s +"_input" in: xor.drc:38 +Elapsed: 0.010s +"^" in: xor.drc:38 +Elapsed: 4.250s +XOR differences: 0 +"_output" in: xor.drc:41 +Elapsed: 0.000s +--- Running XOR for 96/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 97/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/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: 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_0001000f_fix_xor.gds .. +Total run time: 604.760s
diff --git a/signoff/run_metal_fix.out b/signoff/run_metal_fix.out new file mode 100644 index 0000000..16af0fe --- /dev/null +++ b/signoff/run_metal_fix.out
@@ -0,0 +1,65 @@ +Finding the prefix used for caravel subcells in the user GDS. +User prefix is M2_ +Replacing cell caravel in the user GDS file. +Reading GDS file for alternate cell caravel +Cell caravel found at position 235669746 +Cell caravel ends at position 247680056 +Reading GDS file for original source ./gds/caravel_0001000f.gds +Cell caravel found at position 2840912296 +Cell caravel ends at position 2852922148 +Cell caravel checksum is 12009824 +Info: Structure caravel matches checksum 12009824 +Info: Structure caravel at 2840912296 to 2852922148 will be replaced by alternate data. +Prefixing caravel subcells in the user GDS +Running: /usr/share/pdk/bin/change_gds_string.py user_id_textblock M2_user_id_textblock copyright_block M2_copyright_block open_source M2_open_source storage M2_storage sky130_fd_sc_hvl__lsbufhv2lv_1_wrapped M2_sky130_fd_sc_hvl__lsbufhv2lv_1_wrapped user_id_programming M2_user_id_programming simple_por M2_simple_por gpio_control_block M2_gpio_control_block mgmt_core M2_mgmt_core mgmt_protect M2_mgmt_protect chip_io M2_chip_io user_project_wrapper M2_user_project_wrapper ./gds/caravel_0001000f_b.gds -debug -verbatim +Original data length = 2852922870 +Replaced b'open_source\x00' with b'M2_open_source' +Replaced b'user_id_textblock\x00' with b'M2_user_id_textblock' +Replaced b'copyright_block\x00' with b'M2_copyright_block' +Replaced b'storage\x00' with b'M2_storage' +Replaced b'sky130_fd_sc_hvl__lsbufhv2lv_1_wrapped' with b'M2_sky130_fd_sc_hvl__lsbufhv2lv_1_wrapped\x00' +Replaced b'user_id_programming\x00' with b'M2_user_id_programming' +Replaced b'simple_por' with b'M2_simple_por\x00' +Replaced b'gpio_control_block' with b'M2_gpio_control_block\x00' +Replaced b'gpio_control_block' with b'M2_gpio_control_block\x00' +Replaced b'mgmt_core\x00' with b'M2_mgmt_core' +Replaced b'gpio_control_block' with b'M2_gpio_control_block\x00' +Replaced b'gpio_control_block' with b'M2_gpio_control_block\x00' +Replaced b'mgmt_protect' with b'M2_mgmt_protect\x00' +Replaced b'gpio_control_block' with b'M2_gpio_control_block\x00' +Replaced b'gpio_control_block' with b'M2_gpio_control_block\x00' +Replaced b'gpio_control_block' with b'M2_gpio_control_block\x00' +Replaced b'gpio_control_block' with b'M2_gpio_control_block\x00' +Replaced b'gpio_control_block' with b'M2_gpio_control_block\x00' +Replaced b'gpio_control_block' with b'M2_gpio_control_block\x00' +Replaced b'gpio_control_block' with b'M2_gpio_control_block\x00' +Replaced b'gpio_control_block' with b'M2_gpio_control_block\x00' +Replaced b'gpio_control_block' with b'M2_gpio_control_block\x00' +Replaced b'gpio_control_block' with b'M2_gpio_control_block\x00' +Replaced b'gpio_control_block' with b'M2_gpio_control_block\x00' +Replaced b'gpio_control_block' with b'M2_gpio_control_block\x00' +Replaced b'gpio_control_block' with b'M2_gpio_control_block\x00' +Replaced b'gpio_control_block' with b'M2_gpio_control_block\x00' +Replaced b'gpio_control_block' with b'M2_gpio_control_block\x00' +Replaced b'gpio_control_block' with b'M2_gpio_control_block\x00' +Replaced b'gpio_control_block' with b'M2_gpio_control_block\x00' +Replaced b'gpio_control_block' with b'M2_gpio_control_block\x00' +Replaced b'gpio_control_block' with b'M2_gpio_control_block\x00' +Replaced b'gpio_control_block' with b'M2_gpio_control_block\x00' +Replaced b'gpio_control_block' with b'M2_gpio_control_block\x00' +Replaced b'gpio_control_block' with b'M2_gpio_control_block\x00' +Replaced b'gpio_control_block' with b'M2_gpio_control_block\x00' +Replaced b'gpio_control_block' with b'M2_gpio_control_block\x00' +Replaced b'gpio_control_block' with b'M2_gpio_control_block\x00' +Replaced b'gpio_control_block' with b'M2_gpio_control_block\x00' +Replaced b'gpio_control_block' with b'M2_gpio_control_block\x00' +Replaced b'gpio_control_block' with b'M2_gpio_control_block\x00' +Replaced b'gpio_control_block' with b'M2_gpio_control_block\x00' +Replaced b'gpio_control_block' with b'M2_gpio_control_block\x00' +Replaced b'gpio_control_block' with b'M2_gpio_control_block\x00' +Replaced b'gpio_control_block' with b'M2_gpio_control_block\x00' +Replaced b'gpio_control_block' with b'M2_gpio_control_block\x00' +Replaced b'gpio_control_block' with b'M2_gpio_control_block\x00' +Replaced b'chip_io\x00' with b'M2_chip_io' +Replaced b'user_project_wrapper' with b'M2_user_project_wrapper\x00' +Finished.