mirror of
https://github.com/YosysHQ/yosys
synced 2025-04-24 01:25:33 +00:00
CMake: add pmgen
This commit is contained in:
parent
e594e90293
commit
3a4d609060
4 changed files with 85 additions and 3 deletions
69
passes/pmgen/CMakeLists.txt
Normal file
69
passes/pmgen/CMakeLists.txt
Normal file
|
@ -0,0 +1,69 @@
|
|||
add_library(yosys_passes_pmgen INTERFACE)
|
||||
|
||||
function(pmgen_command _name)
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_name}_pm.h
|
||||
COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/pmgen.py -o ${CMAKE_CURRENT_BINARY_DIR}/${_name}_pm.h -p ${_name} ${CMAKE_CURRENT_SOURCE_DIR}/${_name}.pmg
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/pmgen.py ${CMAKE_CURRENT_SOURCE_DIR}/${_name}.pmg
|
||||
COMMENT "Generating passes/pmgen/${_name}_pm.h..."
|
||||
)
|
||||
endfunction()
|
||||
|
||||
pmgen_command(test_pmgen)
|
||||
pmgen_command(ice40_dsp)
|
||||
pmgen_command(ice40_wrapcarry)
|
||||
pmgen_command(xilinx_dsp)
|
||||
pmgen_command(xilinx_dsp48a)
|
||||
pmgen_command(xilinx_dsp_CREG)
|
||||
pmgen_command(xilinx_dsp_cascade)
|
||||
pmgen_command(microchip_dsp)
|
||||
pmgen_command(microchip_dsp_CREG)
|
||||
pmgen_command(microchip_dsp_cascade)
|
||||
pmgen_command(xilinx_srl)
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/peepopt_pm.h
|
||||
COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/pmgen.py -o ${CMAKE_CURRENT_BINARY_DIR}/peepopt_pm.h -p peepopt
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/peepopt_shiftmul_right.pmg
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/peepopt_shiftmul_left.pmg
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/peepopt_shiftadd.pmg
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/peepopt_muldiv.pmg
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/peepopt_formal_clockgateff.pmg
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/pmgen.py
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/peepopt_shiftmul_right.pmg
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/peepopt_shiftmul_left.pmg
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/peepopt_shiftadd.pmg
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/peepopt_muldiv.pmg
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/peepopt_formal_clockgateff.pmg
|
||||
COMMENT "Generating passes/pmgen/peepopt_pm.h..."
|
||||
)
|
||||
|
||||
target_sources(yosys_passes_pmgen INTERFACE
|
||||
test_pmgen.cc
|
||||
ice40_dsp.cc
|
||||
ice40_wrapcarry.cc
|
||||
xilinx_dsp.cc
|
||||
microchip_dsp.cc
|
||||
peepopt.cc
|
||||
xilinx_srl.cc
|
||||
)
|
||||
|
||||
target_sources(yosys_passes_pmgen PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/test_pmgen_pm.h)
|
||||
|
||||
target_sources(yosys_passes_pmgen PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/ice40_dsp_pm.h)
|
||||
target_sources(yosys_passes_pmgen PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/ice40_wrapcarry_pm.h)
|
||||
|
||||
target_sources(yosys_passes_pmgen PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/xilinx_dsp_pm.h)
|
||||
target_sources(yosys_passes_pmgen PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/xilinx_dsp48a_pm.h)
|
||||
target_sources(yosys_passes_pmgen PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/xilinx_dsp_CREG_pm.h)
|
||||
target_sources(yosys_passes_pmgen PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/xilinx_dsp_cascade_pm.h)
|
||||
|
||||
target_sources(yosys_passes_pmgen PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/microchip_dsp_pm.h)
|
||||
target_sources(yosys_passes_pmgen PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/microchip_dsp_CREG_pm.h)
|
||||
target_sources(yosys_passes_pmgen PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/microchip_dsp_cascade_pm.h)
|
||||
|
||||
target_sources(yosys_passes_pmgen PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/peepopt_pm.h)
|
||||
|
||||
target_sources(yosys_passes_pmgen PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/xilinx_srl_pm.h)
|
||||
|
||||
target_link_libraries(yosys PRIVATE yosys_passes_pmgen)
|
Loading…
Add table
Add a link
Reference in a new issue