From 658dadaa70746940003f01ac37a65e64a0b0584d Mon Sep 17 00:00:00 2001 From: Alessandro Comodi Date: Thu, 18 Mar 2021 20:37:51 +0100 Subject: fpga_interchange: use higher java heap space Signed-off-by: Alessandro Comodi --- fpga_interchange/examples/tests.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'fpga_interchange/examples/tests.cmake') diff --git a/fpga_interchange/examples/tests.cmake b/fpga_interchange/examples/tests.cmake index 9df19903..5b776dc7 100644 --- a/fpga_interchange/examples/tests.cmake +++ b/fpga_interchange/examples/tests.cmake @@ -251,7 +251,7 @@ function(add_interchange_test) OUTPUT ${dcp} COMMAND RAPIDWRIGHT_PATH=${RAPIDWRIGHT_PATH} - ${INVOKE_RAPIDWRIGHT} + ${INVOKE_RAPIDWRIGHT} ${JAVA_HEAP_SPACE} com.xilinx.rapidwright.interchange.PhysicalNetlistToDcp ${netlist} ${phys} ${xdc} ${dcp} DEPENDS -- cgit v1.2.3 From 15e945aa1c83d5408f93e6375b38ec81deb4f874 Mon Sep 17 00:00:00 2001 From: Alessandro Comodi Date: Tue, 23 Mar 2021 20:35:53 +0100 Subject: interchange: added boards and group testing across multiple boards Signed-off-by: Alessandro Comodi --- fpga_interchange/examples/tests.cmake | 71 +++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) (limited to 'fpga_interchange/examples/tests.cmake') diff --git a/fpga_interchange/examples/tests.cmake b/fpga_interchange/examples/tests.cmake index 5b776dc7..34d7f3f1 100644 --- a/fpga_interchange/examples/tests.cmake +++ b/fpga_interchange/examples/tests.cmake @@ -263,3 +263,74 @@ function(add_interchange_test) add_custom_target(test-${family}-${name}-dcp DEPENDS ${dcp}) add_dependencies(all-${family}-tests test-${family}-${name}-dcp) endfunction() + +function(add_interchange_group_test) + # ~~~ + # add_interchange_group_test( + # name + # family + # board_list + # xdc_list + # tcl + # sources + # [top ] + # [techmap ] + # ) + # + # Generates targets to run desired tests over multiple devices. + # + # Arguments: + # - name: base test name. The real test name will be _ + # - family: nextpnr architecture family (e.g. fpga_interchange) + # - board_list: list of boards, one for each test + # - tcl: tcl script used for synthesis + # - sources: list of HDL sources + # - top (optional): name of the top level module. + # If not provided, "top" is assigned as top level module + # - techmap (optional): techmap file used during synthesis + # + # This function internally calls add_interchange_test to generate the various tests. + # + # Note: it is assumed that there exists an XDC file for each board, with the following naming + # convention: .xdc + + set(options) + set(oneValueArgs name family tcl top techmap) + set(multiValueArgs sources board_list) + + cmake_parse_arguments( + add_interchange_group_test + "${options}" + "${oneValueArgs}" + "${multiValueArgs}" + ${ARGN} + ) + + set(name ${add_interchange_group_test_name}) + set(family ${add_interchange_group_test_family}) + set(top ${add_interchange_group_test_top}) + set(tcl ${add_interchange_group_test_tcl}) + set(techmap ${add_interchange_group_test_techmap}) + set(sources ${add_interchange_group_test_sources}) + + if (NOT DEFINED top) + # Setting default top value + set(top "top") + endif() + + foreach(board ${add_interchange_group_test_board_list}) + get_property(device TARGET board-${board} PROPERTY DEVICE) + get_property(package TARGET board-${board} PROPERTY PACKAGE) + + add_interchange_test( + name ${name}_${board} + family ${family} + device ${device} + package ${package} + tcl ${tcl} + xdc ${board}.xdc + sources ${sources} + top ${top} + ) + endforeach() +endfunction() -- cgit v1.2.3 From 9f28fa4e75e30eb8329e737081a97189b05f013e Mon Sep 17 00:00:00 2001 From: Alessandro Comodi Date: Wed, 24 Mar 2021 11:11:29 +0100 Subject: gh-actions: interchange: multiple jobs, one for each device Signed-off-by: Alessandro Comodi --- fpga_interchange/examples/tests.cmake | 1 + 1 file changed, 1 insertion(+) (limited to 'fpga_interchange/examples/tests.cmake') diff --git a/fpga_interchange/examples/tests.cmake b/fpga_interchange/examples/tests.cmake index 34d7f3f1..115b4a36 100644 --- a/fpga_interchange/examples/tests.cmake +++ b/fpga_interchange/examples/tests.cmake @@ -262,6 +262,7 @@ function(add_interchange_test) add_custom_target(test-${family}-${name}-dcp DEPENDS ${dcp}) add_dependencies(all-${family}-tests test-${family}-${name}-dcp) + add_dependencies(all-${device}-tests test-${family}-${name}-dcp) endfunction() function(add_interchange_group_test) -- cgit v1.2.3