2025-01-17 04:06:10 +08:00
|
|
|
set(SOURCES
|
|
|
|
cells.cc
|
|
|
|
constids.inc
|
|
|
|
extra_data.h
|
|
|
|
fasm.cc
|
|
|
|
pack_carry.cc
|
|
|
|
pack.cc
|
|
|
|
pack_clocking.cc
|
|
|
|
pack_dram.cc
|
|
|
|
pack_dsp_xc7.cc
|
|
|
|
pack.h
|
|
|
|
pack_io.cc
|
|
|
|
pins.cc
|
|
|
|
pins.h
|
|
|
|
xdc.cc
|
|
|
|
xilinx.cc
|
|
|
|
xilinx.h
|
|
|
|
xilinx_place.cc
|
|
|
|
)
|
|
|
|
|
|
|
|
add_nextpnr_himbaechel_microarchitecture(${uarch}
|
|
|
|
CORE_SOURCES ${SOURCES}
|
|
|
|
)
|
|
|
|
|
2023-10-16 20:06:41 +08:00
|
|
|
set(HIMBAECHEL_PRJXRAY_DB "" CACHE STRING
|
|
|
|
"Path to a project x-ray database")
|
2025-01-16 00:20:21 +08:00
|
|
|
if (NOT HIMBAECHEL_PRJXRAY_DB)
|
|
|
|
message(FATAL_ERROR "HIMBAECHEL_PRJXRAY_DB must be set to a prjxray database checkout")
|
|
|
|
endif()
|
2023-10-16 20:06:41 +08:00
|
|
|
|
2025-01-16 00:20:21 +08:00
|
|
|
set(HIMBAECHEL_XILINX_DEVICES "" CACHE STRING
|
|
|
|
"Include support for these Xilinx devices")
|
|
|
|
message(STATUS "Enabled Himbaechel-Xilinx devices: ${HIMBAECHEL_XILINX_DEVICES}")
|
2023-10-16 20:06:41 +08:00
|
|
|
|
2025-01-15 17:22:03 +08:00
|
|
|
foreach (device ${HIMBAECHEL_XILINX_DEVICES})
|
2025-01-16 00:20:21 +08:00
|
|
|
add_bba_produce_command(
|
|
|
|
COMMAND /usr/bin/pypy3 ${CMAKE_CURRENT_SOURCE_DIR}/gen/xilinx_gen.py
|
|
|
|
--xray ${HIMBAECHEL_PRJXRAY_DB}/artix7
|
|
|
|
--device ${device}
|
|
|
|
--bba ${CMAKE_CURRENT_BINARY_DIR}/chipdb-${device}.bba.new
|
|
|
|
OUTPUT
|
|
|
|
${CMAKE_CURRENT_BINARY_DIR}/chipdb-${device}.bba
|
|
|
|
INPUTS
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/gen/xilinx_gen.py
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/constids.inc
|
|
|
|
)
|
2023-10-16 20:06:41 +08:00
|
|
|
|
2025-01-16 00:20:21 +08:00
|
|
|
add_bba_compile_command(
|
2025-01-17 04:06:10 +08:00
|
|
|
TARGET nextpnr-himbaechel-xilinx-chipdb
|
|
|
|
OUTPUT himbaechel/xilinx/chipdb-${device}.bin
|
2025-01-16 00:20:21 +08:00
|
|
|
INPUT ${CMAKE_CURRENT_BINARY_DIR}/chipdb-${device}.bba
|
|
|
|
MODE binary
|
|
|
|
)
|
2023-10-16 20:06:41 +08:00
|
|
|
endforeach()
|