From b6b89593971bcddc874b3839dc5d107f975f1404 Mon Sep 17 00:00:00 2001 From: gatecat Date: Wed, 24 Mar 2021 13:17:12 +0000 Subject: [PATCH] interchange: Add Nexus to CI Signed-off-by: gatecat --- .github/ci/build_interchange.sh | 8 ++++++++ .github/workflows/interchange_ci.yml | 3 ++- fpga_interchange/examples/chipdb.cmake | 2 +- fpga_interchange/examples/devices/LIFCL-17/test_data.yaml | 8 ++++++++ fpga_interchange/family.cmake | 2 ++ 5 files changed, 21 insertions(+), 2 deletions(-) create mode 100644 fpga_interchange/examples/devices/LIFCL-17/test_data.yaml diff --git a/.github/ci/build_interchange.sh b/.github/ci/build_interchange.sh index 1d2ee9dc..dedc01e2 100755 --- a/.github/ci/build_interchange.sh +++ b/.github/ci/build_interchange.sh @@ -40,6 +40,14 @@ function get_dependencies { pushd ${RAPIDWRIGHT_PATH} make update_jars popd + + # Install prjoxide + curl --proto '=https' -sSf https://sh.rustup.rs | sh -s -- -y + git clone --recursive https://github.com/gatecat/prjoxide.git + pushd prjoxide/libprjoxide + PATH=$PATH:$HOME/.cargo/bin cargo install --path prjoxide --all-features + popd + } function build_nextpnr { diff --git a/.github/workflows/interchange_ci.yml b/.github/workflows/interchange_ci.yml index 4639b261..71727fe3 100644 --- a/.github/workflows/interchange_ci.yml +++ b/.github/workflows/interchange_ci.yml @@ -106,7 +106,8 @@ jobs: RAPIDWRIGHT_PATH: ${{ github.workspace }}/RapidWright INTERCHANGE_SCHEMA_PATH: ${{ github.workspace }}/3rdparty/fpga-interchange-schema/interchange PYTHON_INTERCHANGE_PATH: ${{ github.workspace }}/python-fpga-interchange - PYTHON_INTERCHANGE_TAG: v0.0.4 + PYTHON_INTERCHANGE_TAG: v0.0.6 + run: | export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" source ./.github/ci/build_interchange.sh diff --git a/fpga_interchange/examples/chipdb.cmake b/fpga_interchange/examples/chipdb.cmake index 753bb257..5ac0ce78 100644 --- a/fpga_interchange/examples/chipdb.cmake +++ b/fpga_interchange/examples/chipdb.cmake @@ -104,7 +104,7 @@ function(create_prjoxide_device_db) add_custom_command( OUTPUT ${prjoxide_device_db} COMMAND - prjoxide + ${PRJOXIDE_PREFIX}/bin/prjoxide interchange-export ${device} ${prjoxide_device_db} diff --git a/fpga_interchange/examples/devices/LIFCL-17/test_data.yaml b/fpga_interchange/examples/devices/LIFCL-17/test_data.yaml new file mode 100644 index 00000000..c4787eba --- /dev/null +++ b/fpga_interchange/examples/devices/LIFCL-17/test_data.yaml @@ -0,0 +1,8 @@ +pip_test: + - src_wire: R3C3_PLC.PLC/JDI0_SLICEA + dst_wire: R3C3/JF0 +bel_pin_test: + - bel: R7C3_PLC.PLC/SLICEA_LUT0 + pin: D + wire: R7C3_PLC.PLC/JD0_SLICEA + diff --git a/fpga_interchange/family.cmake b/fpga_interchange/family.cmake index 139914ef..fdfa7004 100644 --- a/fpga_interchange/family.cmake +++ b/fpga_interchange/family.cmake @@ -8,6 +8,8 @@ find_package(ZLIB REQUIRED) set(RAPIDWRIGHT_PATH $ENV{HOME}/RapidWright CACHE PATH "Path to RapidWright") set(INVOKE_RAPIDWRIGHT "${RAPIDWRIGHT_PATH}/scripts/invoke_rapidwright.sh" CACHE PATH "Path to RapidWright invocation script") set(JAVA_HEAP_SPACE "-Xmx8g" CACHE STRING "Heap space reserved for Java") +set(PRJOXIDE_PREFIX $ENV{HOME}/.cargo CACHE PATH "prjoxide install prefix") + # FIXME: Make patch data available in the python package and remove this cached var set(PYTHON_INTERCHANGE_PATH $ENV{HOME}/python-fpga-interchange CACHE PATH "Path to the FPGA interchange python library") set(INTERCHANGE_SCHEMA_PATH ${PROJECT_SOURCE_DIR}/3rdparty/fpga-interchange-schema/interchange CACHE PATH "Path to the FPGA interchange schema dir")