tree 6f3c415cba86b90e47360eb18fef335c68b690c1
parent 56ce29f50cd788b1e06b56053bcff3b60efe9f20
author Tim 'mithro' Ansell <me@mith.ro> 1594429809 -0700
committer Tim 'mithro' Ansell <me@mith.ro> 1605114100 -0800

Updating submodules on 2020-07-11 01:08:34 UTC

 - Updating [`sky130_fd_sc_hvl` latest](./libraries/sky130_fd_sc_hvl/latest) to v0.0.3-12-gcf1e330
 - Updating [`sky130_fd_sc_hvl` v0.0.1](./libraries/sky130_fd_sc_hvl/v0.0.1) to v0.0.1-4-g1d70761
 - Updating [`sky130_fd_sc_hvl` v0.0.2](./libraries/sky130_fd_sc_hvl/v0.0.2) to v0.0.2-8-g4703a0f
 - Updating [`sky130_fd_sc_hvl` v0.0.3](./libraries/sky130_fd_sc_hvl/v0.0.3) to v0.0.3-12-gcf1e330
 - Updating [`sky130_fd_sc_lp` latest](./libraries/sky130_fd_sc_lp/latest) to v0.0.2-10-g1d2c6cfd
 - Updating [`sky130_fd_sc_lp` v0.0.1](./libraries/sky130_fd_sc_lp/v0.0.1) to v0.0.1-5-g5e2d8e19
 - Updating [`sky130_fd_sc_lp` v0.0.2](./libraries/sky130_fd_sc_lp/v0.0.2) to v0.0.2-10-g1d2c6cfd

 * libraries/sky130_fd_sc_hvl/latest 60154b2...cf1e330 (4):
   > Adding complete technology LEF file.

 * libraries/sky130_fd_sc_hvl/v0.0.1 5f7f8e4...1d70761 (4):
   > Adding complete technology LEF file.

 * libraries/sky130_fd_sc_hvl/v0.0.2 109ebfb...4703a0f (4):
   > Adding complete technology LEF file.

 * libraries/sky130_fd_sc_hvl/v0.0.3 60154b2...cf1e330 (4):
   > Adding complete technology LEF file.

 * libraries/sky130_fd_sc_lp/latest ea82570...1d2c6cf (5):
   > Fixing the `power_gating_pin`.

 * libraries/sky130_fd_sc_lp/v0.0.1 e35e600...5e2d8e1 (5):
   > Fixing the `power_gating_pin`.

 * libraries/sky130_fd_sc_lp/v0.0.2 ea82570...1d2c6cf (5):
   > Fixing the `power_gating_pin`.

Signed-off-by: Tim 'mithro' Ansell <me@mith.ro>
