Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
tapasco
tapasco
Commits
da6b13be
Commit
da6b13be
authored
Jun 28, 2021
by
Carsten Heinz
Browse files
Use statuscore block ram in standalone mode to fix init problems
parent
7ea31b78
Changes
1
Hide whitespace changes
Inline
Side-by-side
toolflow/vivado/common/ip.tcl
View file @
da6b13be
...
...
@@ -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,23 +465,33 @@ 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
}
\
CONFIG.MEMORY_TYPE
{
Single_Port_ROM
}
\
CONFIG.MEMORY_INIT_FILE $outfile
\
CONFIG.READ_DATA_WIDTH_A
{
64
}
\
CONFIG.READ_LATENCY_A
{
1
}
\
CONFIG.ENABLE_32BIT_ADDRESS
{
true
}
\
CONFIG.MEMORY_OPTIMIZATION
{
optimize_memory
}
\
]
[
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
{
Single_Port_ROM
}
\
CONFIG.Load_Init_File
{
true
}
\
CONFIG.EN_SAFETY_CKT
{
false
}
\
CONFIG.Coe_File $outfile
]
[
get_bd_cells -filter
"NAME ==
${name}
_base"
]
}
set_property -dict
[
list CONFIG.Memory_Type $mem_type
\
CONFIG.Load_Init_File
{
true
}
\
CONFIG.EN_SAFETY_CKT
{
false
}
\
CONFIG.Coe_File $outfile
]
[
get_bd_cells -filter
"NAME ==
${name}
_base"
]
}
set debugable_pes
[
list
]
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment