Tools & Structure#
piel aims to provide an integrated workflow to co-design photonics and electronics. It does not aim to replace the individual functionality of each design tool, but rather provide a glue to easily connect them all together and extract the system performance.
This package provides interconnection functions to easily co-design microelectronics through the functionality of multiple electronic and photonic design tools.
Project Structure#
A general overview of the piel python package structure:
Contents:
- Dependency Bindings
- Methodology
- Relevant Electronic Projects
- Electronic Experimental Setups Reviews
gdsfactoryopenlane- v1/v2 Migration
- piel.tools.openlane
- Submodules
- piel.tools.openlane.defaults
- piel.tools.openlane.migrate
- piel.tools.openlane.parse
- Submodules
- piel.tools.openlane.parse.run_output
- piel.tools.openlane.parse.sta_rpt
- Functions
- Module Contents
calculate_max_frame_amount()calculate_propagation_delay_from_timing_data()calculate_propagation_delay_from_file()configure_timing_data_rows()configure_frame_id()filter_timing_data_by_net_name_and_type()get_frame_meta_data()get_frame_lines_data()get_frame_timing_data()get_all_timing_data_from_file()read_sta_rpt_fwf_file()
- piel.tools.openlane.parse.utils
- Functions
- Package Contents
filter_timing_sta_files()filter_power_sta_files()get_all_timing_sta_files()get_all_power_sta_files()calculate_max_frame_amount()calculate_propagation_delay_from_file()calculate_propagation_delay_from_timing_data()configure_timing_data_rows()configure_frame_id()filter_timing_data_by_net_name_and_type()get_frame_meta_data()get_frame_lines_data()get_frame_timing_data()get_all_timing_data_from_file()read_sta_rpt_fwf_file()contains_in_lines()create_file_lines_dataframe()get_file_line_by_keyword()read_file_lines()
- Submodules
- piel.tools.openlane.utils
- piel.tools.openlane.v1
- Functions
- Module Contents
check_config_json_exists_openlane_v1()check_design_exists_openlane_v1()configure_and_run_design_openlane_v1()configure_flow_script_openlane_v1()configure_parametric_designs_openlane_v1()create_parametric_designs_openlane_v1()get_latest_version_root_openlane_v1()get_design_directory_from_root_openlane_v1()read_configuration_openlane_v1()write_configuration_openlane_v1()
- piel.tools.openlane.v2
- Functions
- Package Contents
get_design_from_openlane_migration()extract_datetime_from_path()find_all_design_runs()find_latest_design_run()get_gds_path_from_design_run()get_design_run_version()sort_design_runs()check_config_json_exists_openlane_v1()check_design_exists_openlane_v1()configure_and_run_design_openlane_v1()configure_parametric_designs_openlane_v1()configure_flow_script_openlane_v1()create_parametric_designs_openlane_v1()get_design_directory_from_root_openlane_v1()get_latest_version_root_openlane_v1()read_configuration_openlane_v1()write_configuration_openlane_v1()filter_timing_sta_files()filter_power_sta_files()get_all_timing_sta_files()get_all_power_sta_files()calculate_max_frame_amount()calculate_propagation_delay_from_file()calculate_propagation_delay_from_timing_data()configure_timing_data_rows()configure_frame_id()filter_timing_data_by_net_name_and_type()get_frame_meta_data()get_frame_lines_data()get_frame_timing_data()get_all_timing_data_from_file()read_sta_rpt_fwf_file()contains_in_lines()create_file_lines_dataframe()get_file_line_by_keyword()read_file_lines()get_all_designs_metrics_openlane_v2()read_metrics_openlane_v2()run_openlane_flow()
- Submodules
- piel.tools.openlane
- v1/v2 Migration
cocotbsaxSPICE
- Integrations
- Case Study
cocotb-saxgdsfactory- SPICENetlist-VLSIRqutip-sax- Conversion Assumptions
- Quantum Information Basics
- piel.integration
- Submodules
- piel.integration.amaranth_cocotb
- piel.integration.amaranth_openlane
- piel.integration.cocotb_sax
- piel.integration.gdsfactory_hdl21
- piel.integration.gdsfactory_openlane
- piel.integration.hdl21_gdsfactory
- Submodules
- piel.integration.hdl21_gdsfactory.netlist
- Attributes
- Functions
- Module Contents
ParsedProtoVLSIR_parse_module_to_proto_dict()_parse_connections()_find_target_instance_port()_generate_top_level_connections()_find_port_connection()_extract_instance_parameters()_extract_component_name()_extract_parameter_value()_generate_raw_netlist_dict_from_proto_dict()generate_raw_netlist_dict_from_module()generate_raw_yaml_from_module()
- piel.integration.hdl21_gdsfactory.sky130
- piel.integration.hdl21_gdsfactory.netlist
- Attributes
- Functions
- Package Contents
- Submodules
- piel.integration.sax_qutip
- piel.integration.sax_thewalrus
- piel.integration.signal
- piel.integration.thewalrus_qutip
- Attributes
- Functions
- Package Contents
create_cocotb_truth_table_verification_python_script()layout_amaranth_truth_table_through_openlane()layout_truth_table_through_openlane()create_gdsfactory_component_from_openlane()gdsfactory_netlist_to_spice_string_connectivity_netlist()gdsfactory_netlist_to_spice_netlist()gdsfactory_netlist_with_hdl21_generators()get_matching_connections()get_matching_port_nets()construct_hdl21_module()convert_connections_to_tuples()filter_port()find_most_relevant_gds()hdl21_module_to_schematic_editor()generate_raw_yaml_from_module()generate_raw_netlist_dict_from_module()ParsedProtoVLSIRsax_circuit_permanent()sax_to_s_parameters_standard_matrix()sax_to_ideal_qutip_unitary()verify_sax_model_is_unitary()fock_transition_probability_amplitude()convert_to_network_transmission()
- Submodules
- piel.integration