Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 30 additions & 2 deletions sw/snRuntime/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -30,12 +30,30 @@ if(SPATZ_CLUSTER_CFG MATCHES "^(spatz_cluster\.(default|mempool|smallvrf)\.dram)
elseif("${SPATZ_CLUSTER_CFG}" MATCHES "^spatz_cluster.carfield\\.(l2|dram)\\.hjson$")
set(_plat_folder "cheshire")
else()
message(FATAL_ERROR
"Unknown configuration SPATZ_CLUSTER_CFG: ${SPATZ_CLUSTER_CFG} for platform assignment")
if(NOT DEFINED SPATZ_CLUSTER_PLATFORM)
message(WARNING
"Unknown configuration SPATZ_CLUSTER_CFG: ${SPATZ_CLUSTER_CFG} for platform assignment")
else()
message(STATUS
"Overwriting platform with SPATZ_CLUSTER_PLATFORM: ${SPATZ_CLUSTER_PLATFORM}")
set(_plat_folder "${SPATZ_CLUSTER_PLATFORM}")
endif()
endif()

# 3. Check for platform folder assignment and throw a FATAL_ERROR if missing
if(NOT _plat_folder)
# Check if a platform was set (either by the match above or externally)
# If no platform was set AND the platform folder is missing, throw FATAL_ERROR
message(FATAL_ERROR
"Could not determine platform folder. "
"Configuration 'SPATZ_CLUSTER_CFG' was unmatched AND "
"required variable 'SPATZ_CLUSTER_PLATFORM' is not set.")

endif()

set(PLATFORM_SOURCE_FOLDER "src/platforms/${_plat_folder}" CACHE STRING "Path to the platform-specific sources")


# Default memory regions
set(MEM_SPATZ_CLUSTER_DEFAULT_DRAM_HJSON_ORIGIN 0x80000000)
set(MEM_SPATZ_CLUSTER_DEFAULT_DRAM_HJSON_SIZE 0x80000000)
Expand All @@ -56,6 +74,16 @@ string(TOUPPER "${_key}" _key)
set(_orig_var "MEM_${_key}_ORIGIN")
set(_size_var "MEM_${_key}_SIZE")

if(NOT DEFINED ${_orig_var} AND DEFINED SPATZ_CLUSTER_MEMORY_ORIGIN)
message(STATUS "Overriding memory origin with SPATZ_CLUSTER_MEMORY_ORIGIN: ${SPATZ_CLUSTER_MEMORY_ORIGIN}")
set(_orig_var "SPATZ_CLUSTER_MEMORY_ORIGIN")
endif()

if(NOT DEFINED ${_size_var} AND DEFINED SPATZ_CLUSTER_MEMORY_SIZE)
message(STATUS "Overriding memory size with SPATZ_CLUSTER_MEMORY_SIZE: ${SPATZ_CLUSTER_MEMORY_SIZE}")
set(_size_var "SPATZ_CLUSTER_MEMORY_SIZE")
endif()

if(DEFINED ${_orig_var} AND DEFINED ${_size_var})
# perform the lookup
set(MEM_DRAM_ORIGIN "${${_orig_var}}" CACHE STRING "Base address of external memory")
Expand Down