URL
https://opencores.org/ocsvn/s80186/s80186/trunk
[/] [s80186/] [trunk/] [CMake/] [Quartus.cmake] - Blame information for rev 2
Details |
Compare with Previous |
View Log
Line No. |
Rev |
Author |
Line |
1 |
2 |
jamieiles |
function(add_fpga)
|
2 |
|
|
set(options "")
|
3 |
|
|
set(oneValueArgs PROJECT FAMILY PART)
|
4 |
|
|
set(multiValueArgs SOURCES DEPENDS)
|
5 |
|
|
cmake_parse_arguments(add_fpga "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
|
6 |
|
|
|
7 |
|
|
foreach(source ${add_fpga_SOURCES})
|
8 |
|
|
list(APPEND SOURCE_ARGS --source=${source})
|
9 |
|
|
get_source_file_property(res ${source} COMPILE_FLAGS)
|
10 |
|
|
if(NOT res STREQUAL "NOTFOUND")
|
11 |
|
|
list(APPEND extra_compile_flags ${res})
|
12 |
|
|
endif()
|
13 |
|
|
endforeach(source)
|
14 |
|
|
|
15 |
|
|
# Use a relative path for the SDC file otherwise Quartus will add it in a
|
16 |
|
|
# second time as a relative path and then that causes delays to be added
|
17 |
|
|
# twice
|
18 |
|
|
file(RELATIVE_PATH sdc_file ${CMAKE_CURRENT_BINARY_DIR}
|
19 |
|
|
${CMAKE_CURRENT_SOURCE_DIR}/${add_fpga_PROJECT}.sdc)
|
20 |
|
|
|
21 |
|
|
add_custom_command(OUTPUT ${add_fpga_PROJECT}.qpf
|
22 |
|
|
COMMAND ${QUARTUS_SH_EXECUTABLE} --prepare -f ${add_fpga_FAMILY} -t ${add_fpga_PROJECT} ${add_fpga_PROJECT}
|
23 |
|
|
DEPENDS ${add_fpga_PROJECT}.qsf)
|
24 |
|
|
add_custom_command(OUTPUT ${add_fpga_PROJECT}.map.rpt
|
25 |
|
|
COMMAND ${QUARTUS_MAP_EXECUTABLE} ${SOURCE_ARGS} ${extra_compile_flags} --family ${add_fpga_FAMILY} --optimize=speed ${add_fpga_PROJECT}
|
26 |
|
|
DEPENDS ${add_fpga_DEPENDS} ${add_fpga_SOURCES} ${add_fpga_PROJECT}.qpf ${add_fpga_PROJECT}.qsf)
|
27 |
|
|
add_custom_command(OUTPUT ${add_fpga_PROJECT}.fit.rpt
|
28 |
|
|
COMMAND ${QUARTUS_FIT_EXECUTABLE} --part=${add_fpga_PART} --read_settings_file=on --set=SDC_FILE=${sdc_file} ${add_fpga_PROJECT}
|
29 |
|
|
DEPENDS ${add_fpga_PROJECT}.map.rpt ${add_fpga_PROJECT}.sdc)
|
30 |
|
|
add_custom_command(OUTPUT ${add_fpga_PROJECT}.asm.rpt
|
31 |
|
|
COMMAND ${QUARTUS_ASM_EXECUTABLE} ${add_fpga_PROJECT}
|
32 |
|
|
DEPENDS ${add_fpga_PROJECT}.fit.rpt)
|
33 |
|
|
add_custom_command(OUTPUT ${add_fpga_PROJECT}.sta.rpt ${add_fpga_PROJECT}.sof
|
34 |
|
|
COMMAND ${QUARTUS_STA_EXECUTABLE} ${add_fpga_PROJECT}
|
35 |
|
|
DEPENDS ${add_fpga_PROJECT}.asm.rpt)
|
36 |
|
|
endfunction()
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.