Saptarshi Ghosh
06/14/2024, 11:23 PMpython via.py
2024-06-14 23:20:54.164 | WARNING | gdsfactory.pdk:get_active_pdk:733 - No active PDK. Activating generic PDK.
2024-06-14 23:20:54.393 | INFO | gdsfactory.technology.layer_views:__init__:790 - Importing LayerViews from YAML file: '/usr/bin/miniconda3/lib/python3.10/site-packages/gdsfactory/generic_tech/layer_views.yaml'.
2024-06-14 23:20:54.393 | INFO | gdsfactory.pdk:activate:337 - 'generic' PDK is now active
Loaded /tmp/gdsfactory/via.gds
2024-06-14 23:20:54.434 | INFO | gdsfactory.klive:show:55 - Message from klive: {"version": "0.3.2", "type": "open", "file": "/tmp/gdsfactory/via.gds"}
Saptarshi Ghosh
06/14/2024, 11:27 PM--/blocks/VIA/via.py
folder)Sakib Pathen
06/15/2024, 2:13 AMSaptarshi Ghosh
06/15/2024, 8:03 AMpython via.py
2024-06-15 08:01:27.780 | WARNING | gdsfactory.pdk:get_active_pdk:733 - No active PDK. Activating generic PDK.
2024-06-15 08:01:28.024 | INFO | gdsfactory.technology.layer_views:__init__:790 - Importing LayerViews from YAML file: '/usr/bin/miniconda3/lib/python3.10/site-packages/gdsfactory/generic_tech/layer_views.yaml'.
2024-06-15 08:01:28.025 | INFO | gdsfactory.pdk:activate:337 - 'generic' PDK is now active
Loaded /tmp/gdsfactory/via_example.gds
2024-06-15 08:01:28.072 | INFO | gdsfactory.klive:show:55 - Message from klive: {"version": "0.3.2", "type": "open", "file": "/tmp/gdsfactory/via_example.gds"}
And the new code that I am usingSaptarshi Ghosh
06/15/2024, 8:04 AMSaptarshi Ghosh
06/15/2024, 8:09 AMSakib Pathen
06/15/2024, 9:08 AMSaptarshi Ghosh
06/15/2024, 9:25 AMthe ayer names change in klayout
?Sakib Pathen
06/15/2024, 2:45 PMfrom glayout.flow.pdk.sky130_mapped import sky130_mapped_pdk
from glayout.flow.pdk.mappedpdk import MappedPDK
from gdsfactory import Component
from gdsfactory.components import rectangle
# import os, sys
# sys.path.append(os.path.join(os.path.dirname(__file__), "..", "..", "..", ".."))
def via(PDK: MappedPDK):
via_dimension = PDK.get_grule('via1')['width']
metal1_dimension = via_dimension + 2*PDK.get_grule('via1', 'met1')['min_enclosure']
metal2_dimension = via_dimension + 2*PDK.get_grule('via1', 'met2')['min_enclosure']
via_layer = PDK.get_glayer('via1')
metal1_layer = PDK.get_glayer('met1')
metal2_layer = PDK.get_glayer('met2')
top_level = Component(name="via")
top_level << rectangle(size=(via_dimension, via_dimension), layer=via_layer, centered=True)
top_level << rectangle(size=(metal1_dimension, metal1_dimension), layer=metal1_layer, centered=True)
top_level << rectangle(size=(metal2_dimension, metal2_dimension), layer=metal2_layer, centered=True)
return top_level
via_component = via(PDK=sky130_mapped_pdk)
via_component.show()
Sakib Pathen
06/15/2024, 2:46 PMSaptarshi Ghosh
06/16/2024, 12:37 AM