├── .github ├── check_license.sh ├── check_python_scripts.sh └── workflows │ ├── ci.yml │ ├── format.sh │ ├── test.sh │ └── testarch_device.sh ├── .gitignore ├── LICENSE ├── Makefile ├── Makefile.rapidwright ├── README.md ├── fpga_interchange ├── __init__.py ├── add_prim_lib.py ├── annotations.py ├── capnp_utils.py ├── chip_info.py ├── chip_info_utils.py ├── compare.py ├── compare_timings.py ├── constraint_generator.py ├── constraints │ ├── __init__.py │ ├── model.py │ ├── placement_oracle.py │ ├── sat.py │ └── tool.py ├── convert.py ├── converters.py ├── device_resources.py ├── device_timing_patching.py ├── fasm_generator.py ├── fasm_generators │ ├── __init__.py │ ├── generic.py │ ├── luts.py │ ├── nexus │ │ ├── __init__.py │ │ └── nexus.py │ ├── utils.py │ └── xc7 │ │ ├── __init__.py │ │ ├── xc7.py │ │ ├── xc7_cmt.py │ │ └── xc7_iobs.py ├── field_cache.py ├── interchange_capnp.py ├── json_support.py ├── logical_netlist.py ├── nextpnr.py ├── nextpnr_emit.py ├── parameter_definitions.py ├── patch.py ├── physical_netlist.py ├── populate_chip_info.py ├── prjxray_db_reader.py ├── rapidyaml_support.py ├── route_stitching.py ├── static_timing_analysis.py ├── testarch_generators │ ├── __init__.py │ ├── device_resources_builder.py │ └── generate_testarch.py ├── yaml_support.py └── yosys_json.py ├── requirements.txt ├── setup.py ├── test_data ├── ecp5_constraints.yaml ├── gen_device_config.yaml ├── nexus_device_config.yaml ├── series7_constraints.yaml ├── series7_device_config.yaml ├── series7_luts.yaml ├── xcup_constraints.yaml ├── xcup_device_config.yaml └── xcup_luts.yaml └── tests ├── bram_constraint_test.py ├── example_netlist.py ├── test_basics.py ├── test_constraints.py ├── test_converters.py └── test_exclusive_set.py /.github/check_license.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/.github/check_license.sh -------------------------------------------------------------------------------- /.github/check_python_scripts.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/.github/check_python_scripts.sh -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.github/workflows/format.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/.github/workflows/format.sh -------------------------------------------------------------------------------- /.github/workflows/test.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/.github/workflows/test.sh -------------------------------------------------------------------------------- /.github/workflows/testarch_device.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/.github/workflows/testarch_device.sh -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/Makefile -------------------------------------------------------------------------------- /Makefile.rapidwright: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/Makefile.rapidwright -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/README.md -------------------------------------------------------------------------------- /fpga_interchange/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/fpga_interchange/__init__.py -------------------------------------------------------------------------------- /fpga_interchange/add_prim_lib.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/fpga_interchange/add_prim_lib.py -------------------------------------------------------------------------------- /fpga_interchange/annotations.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/fpga_interchange/annotations.py -------------------------------------------------------------------------------- /fpga_interchange/capnp_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/fpga_interchange/capnp_utils.py -------------------------------------------------------------------------------- /fpga_interchange/chip_info.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/fpga_interchange/chip_info.py -------------------------------------------------------------------------------- /fpga_interchange/chip_info_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/fpga_interchange/chip_info_utils.py -------------------------------------------------------------------------------- /fpga_interchange/compare.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/fpga_interchange/compare.py -------------------------------------------------------------------------------- /fpga_interchange/compare_timings.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/fpga_interchange/compare_timings.py -------------------------------------------------------------------------------- /fpga_interchange/constraint_generator.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/fpga_interchange/constraint_generator.py -------------------------------------------------------------------------------- /fpga_interchange/constraints/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /fpga_interchange/constraints/model.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/fpga_interchange/constraints/model.py -------------------------------------------------------------------------------- /fpga_interchange/constraints/placement_oracle.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/fpga_interchange/constraints/placement_oracle.py -------------------------------------------------------------------------------- /fpga_interchange/constraints/sat.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/fpga_interchange/constraints/sat.py -------------------------------------------------------------------------------- /fpga_interchange/constraints/tool.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/fpga_interchange/constraints/tool.py -------------------------------------------------------------------------------- /fpga_interchange/convert.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/fpga_interchange/convert.py -------------------------------------------------------------------------------- /fpga_interchange/converters.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/fpga_interchange/converters.py -------------------------------------------------------------------------------- /fpga_interchange/device_resources.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/fpga_interchange/device_resources.py -------------------------------------------------------------------------------- /fpga_interchange/device_timing_patching.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/fpga_interchange/device_timing_patching.py -------------------------------------------------------------------------------- /fpga_interchange/fasm_generator.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/fpga_interchange/fasm_generator.py -------------------------------------------------------------------------------- /fpga_interchange/fasm_generators/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /fpga_interchange/fasm_generators/generic.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/fpga_interchange/fasm_generators/generic.py -------------------------------------------------------------------------------- /fpga_interchange/fasm_generators/luts.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/fpga_interchange/fasm_generators/luts.py -------------------------------------------------------------------------------- /fpga_interchange/fasm_generators/nexus/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/fpga_interchange/fasm_generators/nexus/__init__.py -------------------------------------------------------------------------------- /fpga_interchange/fasm_generators/nexus/nexus.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/fpga_interchange/fasm_generators/nexus/nexus.py -------------------------------------------------------------------------------- /fpga_interchange/fasm_generators/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/fpga_interchange/fasm_generators/utils.py -------------------------------------------------------------------------------- /fpga_interchange/fasm_generators/xc7/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/fpga_interchange/fasm_generators/xc7/__init__.py -------------------------------------------------------------------------------- /fpga_interchange/fasm_generators/xc7/xc7.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/fpga_interchange/fasm_generators/xc7/xc7.py -------------------------------------------------------------------------------- /fpga_interchange/fasm_generators/xc7/xc7_cmt.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/fpga_interchange/fasm_generators/xc7/xc7_cmt.py -------------------------------------------------------------------------------- /fpga_interchange/fasm_generators/xc7/xc7_iobs.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/fpga_interchange/fasm_generators/xc7/xc7_iobs.py -------------------------------------------------------------------------------- /fpga_interchange/field_cache.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/fpga_interchange/field_cache.py -------------------------------------------------------------------------------- /fpga_interchange/interchange_capnp.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/fpga_interchange/interchange_capnp.py -------------------------------------------------------------------------------- /fpga_interchange/json_support.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/fpga_interchange/json_support.py -------------------------------------------------------------------------------- /fpga_interchange/logical_netlist.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/fpga_interchange/logical_netlist.py -------------------------------------------------------------------------------- /fpga_interchange/nextpnr.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/fpga_interchange/nextpnr.py -------------------------------------------------------------------------------- /fpga_interchange/nextpnr_emit.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/fpga_interchange/nextpnr_emit.py -------------------------------------------------------------------------------- /fpga_interchange/parameter_definitions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/fpga_interchange/parameter_definitions.py -------------------------------------------------------------------------------- /fpga_interchange/patch.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/fpga_interchange/patch.py -------------------------------------------------------------------------------- /fpga_interchange/physical_netlist.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/fpga_interchange/physical_netlist.py -------------------------------------------------------------------------------- /fpga_interchange/populate_chip_info.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/fpga_interchange/populate_chip_info.py -------------------------------------------------------------------------------- /fpga_interchange/prjxray_db_reader.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/fpga_interchange/prjxray_db_reader.py -------------------------------------------------------------------------------- /fpga_interchange/rapidyaml_support.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/fpga_interchange/rapidyaml_support.py -------------------------------------------------------------------------------- /fpga_interchange/route_stitching.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/fpga_interchange/route_stitching.py -------------------------------------------------------------------------------- /fpga_interchange/static_timing_analysis.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/fpga_interchange/static_timing_analysis.py -------------------------------------------------------------------------------- /fpga_interchange/testarch_generators/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /fpga_interchange/testarch_generators/device_resources_builder.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/fpga_interchange/testarch_generators/device_resources_builder.py -------------------------------------------------------------------------------- /fpga_interchange/testarch_generators/generate_testarch.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/fpga_interchange/testarch_generators/generate_testarch.py -------------------------------------------------------------------------------- /fpga_interchange/yaml_support.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/fpga_interchange/yaml_support.py -------------------------------------------------------------------------------- /fpga_interchange/yosys_json.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/fpga_interchange/yosys_json.py -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/requirements.txt -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/setup.py -------------------------------------------------------------------------------- /test_data/ecp5_constraints.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/test_data/ecp5_constraints.yaml -------------------------------------------------------------------------------- /test_data/gen_device_config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/test_data/gen_device_config.yaml -------------------------------------------------------------------------------- /test_data/nexus_device_config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/test_data/nexus_device_config.yaml -------------------------------------------------------------------------------- /test_data/series7_constraints.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/test_data/series7_constraints.yaml -------------------------------------------------------------------------------- /test_data/series7_device_config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/test_data/series7_device_config.yaml -------------------------------------------------------------------------------- /test_data/series7_luts.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/test_data/series7_luts.yaml -------------------------------------------------------------------------------- /test_data/xcup_constraints.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/test_data/xcup_constraints.yaml -------------------------------------------------------------------------------- /test_data/xcup_device_config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/test_data/xcup_device_config.yaml -------------------------------------------------------------------------------- /test_data/xcup_luts.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/test_data/xcup_luts.yaml -------------------------------------------------------------------------------- /tests/bram_constraint_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/tests/bram_constraint_test.py -------------------------------------------------------------------------------- /tests/example_netlist.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/tests/example_netlist.py -------------------------------------------------------------------------------- /tests/test_basics.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/tests/test_basics.py -------------------------------------------------------------------------------- /tests/test_constraints.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/tests/test_constraints.py -------------------------------------------------------------------------------- /tests/test_converters.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/tests/test_converters.py -------------------------------------------------------------------------------- /tests/test_exclusive_set.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chipsalliance/python-fpga-interchange/HEAD/tests/test_exclusive_set.py --------------------------------------------------------------------------------