Commit da6b13be authored by Carsten Heinz's avatar Carsten Heinz
Browse files

Use statuscore block ram in standalone mode to fix init problems

parent 7ea31b78
......@@ -447,7 +447,7 @@ namespace eval ::tapasco::ip {
return $axi
# Generate Infrastructure as JSON file and generate COE file as BRAM source
# Generate Infrastructure as JSON file and generate COE/MEM file as BRAM source
proc update_tapasco_status_base {name} {
puts " sourcing JSON lib ..."
source -notrace "$::env(TAPASCO_HOME_TCL)/common/json_write.tcl"
......@@ -465,24 +465,34 @@ namespace eval ::tapasco::ip {
close $f
set outfile "[get_property DIRECTORY [current_project]]/statuscore.coe"
set fileending [expr [tapasco::is_versal]?"mem":"coe"]
set outfile "[get_property DIRECTORY [current_project]]/statuscore.${fileending}"
if {[catch {exec -ignorestderr json_to_status $json_file $outfile | tee ${json_file}.log >@stdout 2>@1}]} {
puts stderr "Building TaPaSCO status core failed, see ${json_file}.log:"
puts stderr [read [open ${json_file}.log r]]
error "Could not build status core."
puts "Wrote COE file to ${outfile}"
puts "Wrote ${fileending} file to ${outfile}"
if {[tapasco::is_versal]} {
set mem_type {Single_Port_RAM}
# use standalone mode, otherwise init file is resetted during validation
set_property -dict [list CONFIG.USE_MEMORY_BLOCK {Stand_Alone} \
] [get_bd_cells -filter "NAME == ${name}_base"]
puts [get_property CONFIG.MEMORY_INIT_FILE [get_bd_cells -filter "NAME == ${name}_base"]]
} else {
set mem_type {Single_Port_ROM}
set_property -dict [list CONFIG.Memory_Type $mem_type \
set_property -dict [list CONFIG.Memory_Type {Single_Port_ROM} \
CONFIG.Load_Init_File {true} \
CONFIG.Coe_File $outfile] [get_bd_cells -filter "NAME == ${name}_base"]
set debugable_pes [list]
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment