
Magic 8.3 revision 294 - Compiled on Tue Apr 26 18:00:48 UTC 2022.
Starting magic under Tcl interpreter
Using the terminal as the console.
Using NULL graphics device.
Processing system .magicrc file
Sourcing design .magicrc for technology sky130A ...
2 Magic internal units = 1 Lambda
Input style sky130(vendor): scaleFactor=2, multiplier=2
The following types are not handled by extraction and will be treated as non-electrical types:
    ubm 
Scaled tech values by 2 / 1 to match internal grid scaling
Loading sky130A Device Generator Menu ...
Loading "/opt/scripts/generate_fill_final.tcl" from command line.
CIF output style is now "wafflefill(tiled)"
Scaled magic input cell caravel_00055e13_fill_pattern_1_6 geometry by factor of 2
Scaled magic input cell caravel_00055e13_fill_pattern_2_6 geometry by factor of 2
Scaled magic input cell caravel_00055e13_fill_pattern_3_6 geometry by factor of 2
Writing final GDS
   Generating output for cell caravel_00055e13_fill_pattern_0_0
Reading "caravel_00055e13_fill_pattern_0_0".
   Generating output for cell caravel_00055e13_fill_pattern_1_0
Reading "caravel_00055e13_fill_pattern_1_0".
   Generating output for cell caravel_00055e13_fill_pattern_0_1
Reading "caravel_00055e13_fill_pattern_0_1".
   Generating output for cell caravel_00055e13_fill_pattern_1_1
Reading "caravel_00055e13_fill_pattern_1_1".
   Generating output for cell caravel_00055e13_fill_pattern_2_0
Reading "caravel_00055e13_fill_pattern_2_0".
   Generating output for cell caravel_00055e13_fill_pattern_2_1
Reading "caravel_00055e13_fill_pattern_2_1".
   Generating output for cell caravel_00055e13_fill_pattern_3_0
Reading "caravel_00055e13_fill_pattern_3_0".
   Generating output for cell caravel_00055e13_fill_pattern_3_1
Reading "caravel_00055e13_fill_pattern_3_1".
   Generating output for cell caravel_00055e13_fill_pattern_4_0
Reading "caravel_00055e13_fill_pattern_4_0".
   Generating output for cell caravel_00055e13_fill_pattern_4_1
Reading "caravel_00055e13_fill_pattern_4_1".
   Generating output for cell caravel_00055e13_fill_pattern_5_0
Reading "caravel_00055e13_fill_pattern_5_0".
   Generating output for cell caravel_00055e13_fill_pattern_5_1
Reading "caravel_00055e13_fill_pattern_5_1".
   Generating output for cell caravel_00055e13_fill_pattern_0_2
Reading "caravel_00055e13_fill_pattern_0_2".
   Generating output for cell caravel_00055e13_fill_pattern_1_2
Reading "caravel_00055e13_fill_pattern_1_2".
   Generating output for cell caravel_00055e13_fill_pattern_2_2
Reading "caravel_00055e13_fill_pattern_2_2".
   Generating output for cell caravel_00055e13_fill_pattern_3_2
Reading "caravel_00055e13_fill_pattern_3_2".
   Generating output for cell caravel_00055e13_fill_pattern_4_2
Reading "caravel_00055e13_fill_pattern_4_2".
   Generating output for cell caravel_00055e13_fill_pattern_5_2
Reading "caravel_00055e13_fill_pattern_5_2".
   Generating output for cell caravel_00055e13_fill_pattern_0_3
Reading "caravel_00055e13_fill_pattern_0_3".
   Generating output for cell caravel_00055e13_fill_pattern_1_3
Reading "caravel_00055e13_fill_pattern_1_3".
   Generating output for cell caravel_00055e13_fill_pattern_2_3
Reading "caravel_00055e13_fill_pattern_2_3".
   Generating output for cell caravel_00055e13_fill_pattern_3_3
Reading "caravel_00055e13_fill_pattern_3_3".
   Generating output for cell caravel_00055e13_fill_pattern_4_3
Reading "caravel_00055e13_fill_pattern_4_3".
   Generating output for cell caravel_00055e13_fill_pattern_5_3
Reading "caravel_00055e13_fill_pattern_5_3".
   Generating output for cell caravel_00055e13_fill_pattern_0_4
Reading "caravel_00055e13_fill_pattern_0_4".
   Generating output for cell caravel_00055e13_fill_pattern_1_4
Reading "caravel_00055e13_fill_pattern_1_4".
   Generating output for cell caravel_00055e13_fill_pattern_2_4
Reading "caravel_00055e13_fill_pattern_2_4".
   Generating output for cell caravel_00055e13_fill_pattern_3_4
Reading "caravel_00055e13_fill_pattern_3_4".
   Generating output for cell caravel_00055e13_fill_pattern_4_4
Reading "caravel_00055e13_fill_pattern_4_4".
   Generating output for cell caravel_00055e13_fill_pattern_5_4
Reading "caravel_00055e13_fill_pattern_5_4".
   Generating output for cell caravel_00055e13_fill_pattern_0_5
Reading "caravel_00055e13_fill_pattern_0_5".
   Generating output for cell caravel_00055e13_fill_pattern_1_5
Reading "caravel_00055e13_fill_pattern_1_5".
   Generating output for cell caravel_00055e13_fill_pattern_2_5
Reading "caravel_00055e13_fill_pattern_2_5".
   Generating output for cell caravel_00055e13_fill_pattern_3_5
Reading "caravel_00055e13_fill_pattern_3_5".
   Generating output for cell caravel_00055e13_fill_pattern_4_5
Reading "caravel_00055e13_fill_pattern_4_5".
   Generating output for cell caravel_00055e13_fill_pattern_5_5
Reading "caravel_00055e13_fill_pattern_5_5".
   Generating output for cell caravel_00055e13_fill_pattern_0_6
Reading "caravel_00055e13_fill_pattern_0_6".
   Generating output for cell caravel_00055e13_fill_pattern_1_6
Reading "caravel_00055e13_fill_pattern_1_6".
   Generating output for cell caravel_00055e13_fill_pattern_2_6
Reading "caravel_00055e13_fill_pattern_2_6".
   Generating output for cell caravel_00055e13_fill_pattern_3_6
Reading "caravel_00055e13_fill_pattern_3_6".
   Generating output for cell caravel_00055e13_fill_pattern_4_6
Reading "caravel_00055e13_fill_pattern_4_6".
   Generating output for cell caravel_00055e13_fill_pattern_5_6
Reading "caravel_00055e13_fill_pattern_5_6".
   Generating output for cell caravel_00055e13_fill_pattern_0_7
Reading "caravel_00055e13_fill_pattern_0_7".
   Generating output for cell caravel_00055e13_fill_pattern_1_7
Reading "caravel_00055e13_fill_pattern_1_7".
   Generating output for cell caravel_00055e13_fill_pattern_2_7
Reading "caravel_00055e13_fill_pattern_2_7".
   Generating output for cell caravel_00055e13_fill_pattern_3_7
Reading "caravel_00055e13_fill_pattern_3_7".
   Generating output for cell caravel_00055e13_fill_pattern_4_7
Reading "caravel_00055e13_fill_pattern_4_7".
   Generating output for cell caravel_00055e13_fill_pattern_5_7
Reading "caravel_00055e13_fill_pattern_5_7".
   Generating output for cell caravel_00055e13_fill_pattern
Ended: 04/27/2022 23:04:08
