piel.integration.hdl21_gdsfactory
=================================

.. py:module:: piel.integration.hdl21_gdsfactory


Submodules
----------

.. toctree::
   :maxdepth: 1

   /autoapi/piel/integration/hdl21_gdsfactory/netlist/index
   /autoapi/piel/integration/hdl21_gdsfactory/sky130/index


Attributes
----------

.. autoapisummary::

   piel.integration.hdl21_gdsfactory.ParsedProtoVLSIR


Functions
---------

.. autoapisummary::

   piel.integration.hdl21_gdsfactory.generate_raw_netlist_dict_from_module
   piel.integration.hdl21_gdsfactory.generate_raw_yaml_from_module
   piel.integration.hdl21_gdsfactory.filter_port
   piel.integration.hdl21_gdsfactory.find_most_relevant_gds
   piel.integration.hdl21_gdsfactory.hdl21_module_to_schematic_editor


Package Contents
----------------

.. py:data:: ParsedProtoVLSIR

.. py:function:: generate_raw_netlist_dict_from_module(module: piel.types.AnalogueModule)

   Generate a raw netlist dictionary from a hdl21 module object.
   This just gives us a raw structure of the hdl21 modules, we cannot use this json equivalently to a gdsfactory netlist.


.. py:function:: generate_raw_yaml_from_module(module: piel.types.AnalogueModule)

   Generate a raw netlist yaml from a hdl21 module object which could be manually edited for specific instances
   related to the corresponding SPICE.


.. py:function:: filter_port(port)

   Filter the port name to match spice declaration to gds port name, specifically focused on the SKY130nm technology.


.. py:function:: find_most_relevant_gds(component_name, component_dict=None, custom_mapping=None)

.. py:function:: hdl21_module_to_schematic_editor(module: piel.types.AnalogueModule, yaml_schematic_file_name: str, spice_gds_mapping_method: Callable | None = find_most_relevant_gds, port_filter_method: Callable = filter_port)

   Constructs a SchematicEditor instance from a hdl21 module object.

   :param module: The hdl21 module object.
   :type module: h.module
   :param yaml_schematic_file_name: The yaml schematic file name.
   :type yaml_schematic_file_name: str
   :param spice_gds_mapping_method: The method to map the spice instance name to the component name.
   :type spice_gds_mapping_method: Callable
   :param port_filter_method: The method to filter the port name.
   :type port_filter_method: Callable


