Merge pull request #5 from proppy/info-yaml

add support for info.yaml
diff --git a/.github/workflows/user_project_ci.yml b/.github/workflows/user_project_ci.yml
index 52d7f3f..12d29e9 100644
--- a/.github/workflows/user_project_ci.yml
+++ b/.github/workflows/user_project_ci.yml
@@ -47,6 +47,11 @@
       name: restore setup
       run: |
         docker load < openlane.tar
+        
+    - name: debug
+      run: |
+        find $OPENLANE_ROOT/
+        find $PDK_ROOT/
 
     - name: setup python
       uses: actions/setup-python@v4
@@ -224,8 +229,7 @@
         git push origin main
 
   layout:
-    needs:
-    - gds
+    needs: gds
     runs-on: ubuntu-latest
     steps:
     - name: setup python
@@ -248,23 +252,26 @@
           spi/
           verilog/
         key: ${{ runner.os }}-gds-${{ github.run_id }}
-    - name: install klayout
+    - name: create tiny_user_project svg
       run: |
-        curl -O https://www.klayout.org/downloads/Ubuntu-18/klayout_0.27.12-1_amd64.deb
-        dpkg -i klayout_0.27.12-1_amd64.deb
-        sudo apt-get -f install
-        sudo apt-get install -yq xvfb
-    - name: save layout image
+        python -m pip install gdstk
+        python << EOF
+        import gdstk
+        library = gdstk.read_gds('gds/tiny_user_project.gds')
+        top_cells = library.top_level()
+        top_cells[0].write_svg('tiny_user_project.svg')
+        EOF
+    - name: convert to png
       run: |
-       cat << EOF > save_image.rb
-       mw = RBA::Application::instance.main_window
-       mw.current_view.save_image("#{$image_path}", 1000, 1000)
-       EOF
-       xvfb-run klayout -d 10 -z -n ${{ env.PDK }} -nn ${{ env.PDK_ROOT }}/${{ env.PDK }}/libs.tech/klayout/tech/${{ env.PDK_TECH }}.lyt -l ${{ env.PDK_ROOT }}/${{ env.PDK }}/libs.tech/klayout/tech/${{ env.PDK_TECH }}.lyp -r save_image.rb -rd image_path=user_project_wrapper.png user_project_wrapper.gds
+        python -m pip install cairosvg
+        python << EOF
+        import cairosvg
+        cairosvg.svg2png(url='tiny_user_project.svg', write_to='tiny_user_project.png')
+        EOF
     - name: populate img cache
       uses: actions/cache@v3
       with:
-        path: 'user_project_wrapper.png'
+        path: 'tiny_user_project.png'
         key: ${{ runner.os }}-img-${{ github.run_id }}
 
   pages:
@@ -281,7 +288,7 @@
     - name: restore img cache
       uses: actions/cache@v3
       with:
-        path: 'user_project_wrapper.png'
+        path: 'tiny_user_project.png'
         key: ${{ runner.os }}-img-${{ github.run_id }}
     - name: setup pages
       uses: actions/configure-pages@v2
@@ -303,5 +310,5 @@
         PAGE_URL=$(echo "$PAGE_URL" | sed -e 's/\/$//')
         cat << EOF >> $GITHUB_STEP_SUMMARY
         # layout
-        ![layout]($PAGE_URL/user_project_wrapper.png)
+        ![layout]($PAGE_URL/tiny_user_project.png)
         EOF
diff --git a/gds/tiny_user_project.gds b/gds/tiny_user_project.gds
index ea8d4eb..b23676a 100644
--- a/gds/tiny_user_project.gds
+++ b/gds/tiny_user_project.gds
Binary files differ
diff --git a/gds/user_project_wrapper.gds b/gds/user_project_wrapper.gds
index 2a6dc6c..0d8a783 100644
--- a/gds/user_project_wrapper.gds
+++ b/gds/user_project_wrapper.gds
Binary files differ
diff --git a/mag/tiny_user_project.mag b/mag/tiny_user_project.mag
index 874b93a..16a0874 100644
--- a/mag/tiny_user_project.mag
+++ b/mag/tiny_user_project.mag
@@ -1,7 +1,7 @@
 magic
 tech gf180mcuC
 magscale 1 10
-timestamp 1668856529
+timestamp 1669063275
 << metal1 >>
 rect 32274 46398 32286 46450
 rect 32338 46447 32350 46450
diff --git a/mag/user_project_wrapper.mag b/mag/user_project_wrapper.mag
index 48f053c..1132cba 100644
--- a/mag/user_project_wrapper.mag
+++ b/mag/user_project_wrapper.mag
@@ -1,7 +1,7 @@
 magic
 tech gf180mcuC
 magscale 1 5
-timestamp 1668856588
+timestamp 1669063331
 << metal2 >>
 rect 4900 299796 5012 300480
 rect 4900 299760 5026 299796
diff --git a/maglef/tiny_user_project.mag b/maglef/tiny_user_project.mag
index 0a2c686..cd05389 100644
--- a/maglef/tiny_user_project.mag
+++ b/maglef/tiny_user_project.mag
@@ -1,7 +1,7 @@
 magic
 tech gf180mcuC
 magscale 1 5
-timestamp 1668856530
+timestamp 1669063276
 << obsm1 >>
 rect 672 855 24304 23225
 << metal2 >>
@@ -562,7 +562,7 @@
 string LEFclass BLOCK
 string LEFview TRUE
 string GDS_END 318490
-string GDS_FILE /home/runner/work/tiny_user_project/tiny_user_project/openlane/tiny_user_project/runs/22_11_19_11_14/results/signoff/tiny_user_project.magic.gds
+string GDS_FILE /home/runner/work/tiny_user_project/tiny_user_project/openlane/tiny_user_project/runs/22_11_21_20_40/results/signoff/tiny_user_project.magic.gds
 string GDS_START 48106
 << end >>
 
diff --git a/maglef/user_project_wrapper.mag b/maglef/user_project_wrapper.mag
index cdebace..78961d4 100644
--- a/maglef/user_project_wrapper.mag
+++ b/maglef/user_project_wrapper.mag
@@ -1,7 +1,7 @@
 magic
 tech gf180mcuC
 magscale 1 5
-timestamp 1668856592
+timestamp 1669063334
 << obsm1 >>
 rect 69422 69605 93054 91975
 << metal2 >>
@@ -3099,7 +3099,7 @@
 string LEFclass BLOCK
 string LEFview TRUE
 string GDS_END 3465908
-string GDS_FILE /home/runner/work/tiny_user_project/tiny_user_project/openlane/user_project_wrapper/runs/22_11_19_11_15/results/signoff/user_project_wrapper.magic.gds
+string GDS_FILE /home/runner/work/tiny_user_project/tiny_user_project/openlane/user_project_wrapper/runs/22_11_21_20_41/results/signoff/user_project_wrapper.magic.gds
 string GDS_START 318544
 << end >>
 
diff --git a/sdc/tiny_user_project.sdc b/sdc/tiny_user_project.sdc
index c11bd25..9481866 100644
--- a/sdc/tiny_user_project.sdc
+++ b/sdc/tiny_user_project.sdc
@@ -1,6 +1,6 @@
 ###############################################################################
 # Created by write_sdc
-# Sat Nov 19 11:15:17 2022
+# Mon Nov 21 20:41:03 2022
 ###############################################################################
 current_design tiny_user_project
 ###############################################################################
diff --git a/sdc/user_project_wrapper.sdc b/sdc/user_project_wrapper.sdc
index bf6ffcc..8d2e1dd 100644
--- a/sdc/user_project_wrapper.sdc
+++ b/sdc/user_project_wrapper.sdc
@@ -1,6 +1,6 @@
 ###############################################################################
 # Created by write_sdc
-# Sat Nov 19 11:15:56 2022
+# Mon Nov 21 20:41:41 2022
 ###############################################################################
 current_design user_project_wrapper
 ###############################################################################
diff --git a/sdf/multicorner/nom/user_project_wrapper.ff.sdf b/sdf/multicorner/nom/user_project_wrapper.ff.sdf
index ff1b79a..0b79f2a 100644
--- a/sdf/multicorner/nom/user_project_wrapper.ff.sdf
+++ b/sdf/multicorner/nom/user_project_wrapper.ff.sdf
@@ -1,7 +1,7 @@
 (DELAYFILE
  (SDFVERSION "3.0")
  (DESIGN "user_project_wrapper")
- (DATE "Sat Nov 19 11:16:25 2022")
+ (DATE "Mon Nov 21 20:42:08 2022")
  (VENDOR "Parallax")
  (PROGRAM "STA")
  (VERSION "2.3.2")
diff --git a/sdf/multicorner/nom/user_project_wrapper.ss.sdf b/sdf/multicorner/nom/user_project_wrapper.ss.sdf
index 55a6d1f..94690ee 100644
--- a/sdf/multicorner/nom/user_project_wrapper.ss.sdf
+++ b/sdf/multicorner/nom/user_project_wrapper.ss.sdf
@@ -1,7 +1,7 @@
 (DELAYFILE
  (SDFVERSION "3.0")
  (DESIGN "user_project_wrapper")
- (DATE "Sat Nov 19 11:16:25 2022")
+ (DATE "Mon Nov 21 20:42:08 2022")
  (VENDOR "Parallax")
  (PROGRAM "STA")
  (VERSION "2.3.2")
diff --git a/sdf/multicorner/nom/user_project_wrapper.tt.sdf b/sdf/multicorner/nom/user_project_wrapper.tt.sdf
index da25ed8..2beb93d 100644
--- a/sdf/multicorner/nom/user_project_wrapper.tt.sdf
+++ b/sdf/multicorner/nom/user_project_wrapper.tt.sdf
@@ -1,7 +1,7 @@
 (DELAYFILE
  (SDFVERSION "3.0")
  (DESIGN "user_project_wrapper")
- (DATE "Sat Nov 19 11:16:25 2022")
+ (DATE "Mon Nov 21 20:42:08 2022")
  (VENDOR "Parallax")
  (PROGRAM "STA")
  (VERSION "2.3.2")
diff --git a/sdf/tiny_user_project.sdf b/sdf/tiny_user_project.sdf
index 76f1de7..0ead5ca 100644
--- a/sdf/tiny_user_project.sdf
+++ b/sdf/tiny_user_project.sdf
@@ -1,7 +1,7 @@
 (DELAYFILE
  (SDFVERSION "3.0")
  (DESIGN "tiny_user_project")
- (DATE "Sat Nov 19 11:15:29 2022")
+ (DATE "Mon Nov 21 20:41:15 2022")
  (VENDOR "Parallax")
  (PROGRAM "STA")
  (VERSION "2.3.2")
diff --git a/sdf/user_project_wrapper.sdf b/sdf/user_project_wrapper.sdf
index 6418753..430a143 100644
--- a/sdf/user_project_wrapper.sdf
+++ b/sdf/user_project_wrapper.sdf
@@ -1,7 +1,7 @@
 (DELAYFILE
  (SDFVERSION "3.0")
  (DESIGN "user_project_wrapper")
- (DATE "Sat Nov 19 11:16:27 2022")
+ (DATE "Mon Nov 21 20:42:10 2022")
  (VENDOR "Parallax")
  (PROGRAM "STA")
  (VERSION "2.3.2")
diff --git a/signoff/tiny_user_project/metrics.csv b/signoff/tiny_user_project/metrics.csv
index 94c3525..296e6aa 100644
--- a/signoff/tiny_user_project/metrics.csv
+++ b/signoff/tiny_user_project/metrics.csv
@@ -1,2 +1,2 @@
 design,design_name,config,flow_status,total_runtime,routed_runtime,(Cell/mm^2)/Core_Util,DIEAREA_mm^2,CellPer_mm^2,OpenDP_Util,Peak_Memory_Usage_MB,cell_count,tritonRoute_violations,Short_violations,MetSpc_violations,OffGrid_violations,MinHole_violations,Other_violations,Magic_violations,antenna_violations,lvs_total_errors,cvc_total_errors,klayout_violations,wire_length,vias,wns,pl_wns,optimized_wns,fastroute_wns,spef_wns,tns,pl_tns,optimized_tns,fastroute_tns,spef_tns,HPWL,routing_layer1_pct,routing_layer2_pct,routing_layer3_pct,routing_layer4_pct,routing_layer5_pct,routing_layer6_pct,wires_count,wire_bits,public_wires_count,public_wire_bits,memories_count,memory_bits,processes_count,cells_pre_abc,AND,DFF,NAND,NOR,OR,XOR,XNOR,MUX,inputs,outputs,level,EndCaps,TapCells,Diodes,Total_Physical_Cells,CoreArea_um^2,power_slowest_internal_uW,power_slowest_switching_uW,power_slowest_leakage_uW,power_typical_internal_uW,power_typical_switching_uW,power_typical_leakage_uW,power_fastest_internal_uW,power_fastest_switching_uW,power_fastest_leakage_uW,critical_path_ns,suggested_clock_period,suggested_clock_frequency,CLOCK_PERIOD,SYNTH_STRATEGY,SYNTH_MAX_FANOUT,FP_CORE_UTIL,FP_ASPECT_RATIO,FP_PDN_VPITCH,FP_PDN_HPITCH,PL_TARGET_DENSITY,GRT_ADJUSTMENT,STD_CELL_LIBRARY,DIODE_INSERTION_STRATEGY

-/home/runner/work/tiny_user_project/tiny_user_project/openlane/tiny_user_project,tiny_user_project,22_11_19_11_14,flow completed,0h1m18s0ms,0h1m3s0ms,608.0,0.25,304.0,1.35,451.73,76,0,0,0,0,0,0,0,-1,0,-1,-1,984,135,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1869935.0,0.0,0.62,0.49,0.0,-1,0.37,26,151,26,151,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,110,313,0,423,50950.592,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,10.0,100.0,10,AREA 0,4,50,1,153.6,153.18,0.55,0.3,gf180mcu_fd_sc_mcu7t5v0,4

+/home/runner/work/tiny_user_project/tiny_user_project/openlane/tiny_user_project,tiny_user_project,22_11_21_20_40,flow completed,0h1m11s0ms,0h0m56s0ms,608.0,0.25,304.0,1.35,451.69,76,0,0,0,0,0,0,0,-1,0,-1,-1,984,135,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1869935.0,0.0,0.62,0.49,0.0,-1,0.37,26,151,26,151,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,110,313,0,423,50950.592,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,10.0,100.0,10,AREA 0,4,50,1,153.6,153.18,0.55,0.3,gf180mcu_fd_sc_mcu7t5v0,4

diff --git a/signoff/user_project_wrapper/metrics.csv b/signoff/user_project_wrapper/metrics.csv
index 59ac3aa..577d0fc 100644
--- a/signoff/user_project_wrapper/metrics.csv
+++ b/signoff/user_project_wrapper/metrics.csv
@@ -1,2 +1,2 @@
 design,design_name,config,flow_status,total_runtime,routed_runtime,(Cell/mm^2)/Core_Util,DIEAREA_mm^2,CellPer_mm^2,OpenDP_Util,Peak_Memory_Usage_MB,cell_count,tritonRoute_violations,Short_violations,MetSpc_violations,OffGrid_violations,MinHole_violations,Other_violations,Magic_violations,antenna_violations,lvs_total_errors,cvc_total_errors,klayout_violations,wire_length,vias,wns,pl_wns,optimized_wns,fastroute_wns,spef_wns,tns,pl_tns,optimized_tns,fastroute_tns,spef_tns,HPWL,routing_layer1_pct,routing_layer2_pct,routing_layer3_pct,routing_layer4_pct,routing_layer5_pct,routing_layer6_pct,wires_count,wire_bits,public_wires_count,public_wire_bits,memories_count,memory_bits,processes_count,cells_pre_abc,AND,DFF,NAND,NOR,OR,XOR,XNOR,MUX,inputs,outputs,level,EndCaps,TapCells,Diodes,Total_Physical_Cells,CoreArea_um^2,power_slowest_internal_uW,power_slowest_switching_uW,power_slowest_leakage_uW,power_typical_internal_uW,power_typical_switching_uW,power_typical_leakage_uW,power_fastest_internal_uW,power_fastest_switching_uW,power_fastest_leakage_uW,critical_path_ns,suggested_clock_period,suggested_clock_frequency,CLOCK_PERIOD,SYNTH_STRATEGY,SYNTH_MAX_FANOUT,FP_CORE_UTIL,FP_ASPECT_RATIO,FP_PDN_VPITCH,FP_PDN_HPITCH,PL_TARGET_DENSITY,GRT_ADJUSTMENT,STD_CELL_LIBRARY,DIODE_INSERTION_STRATEGY

-/home/runner/work/tiny_user_project/tiny_user_project/openlane/user_project_wrapper,user_project_wrapper,22_11_19_11_15,flow completed,0h1m11s0ms,0h0m41s0ms,-2.0,-1,-1,-1,560.25,1,0,0,0,0,0,0,0,-1,0,-1,-1,295283,363,0.0,-1,0.0,0.0,0.0,0.0,-1,0.0,0.0,0.0,-1,0.0,1.37,1.64,0.04,-1,1.06,19,637,19,637,0,0,0,1,0,0,0,0,0,0,0,0,-1,-1,-1,0,0,0,0,8862200.2112,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,10.0,100.0,10,AREA 0,10,50,1,180,180,0.55,0.3,gf180mcu_fd_sc_mcu7t5v0,0

+/home/runner/work/tiny_user_project/tiny_user_project/openlane/user_project_wrapper,user_project_wrapper,22_11_21_20_41,flow completed,0h1m8s0ms,0h0m38s0ms,-2.0,-1,-1,-1,559.59,1,0,0,0,0,0,0,0,-1,0,-1,-1,295283,363,0.0,-1,0.0,0.0,0.0,0.0,-1,0.0,0.0,0.0,-1,0.0,1.37,1.64,0.04,-1,1.06,19,637,19,637,0,0,0,1,0,0,0,0,0,0,0,0,-1,-1,-1,0,0,0,0,8862200.2112,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,10.0,100.0,10,AREA 0,10,50,1,180,180,0.55,0.3,gf180mcu_fd_sc_mcu7t5v0,0