util_hbm_ip.tcl: Fix LENGTH_WIDTH and HBM_SEGMENTS_PER_MASTER errors

* Value 24 was wrongfully set for parameter LENGTH_WIDTH, because
  it is not among the valid values, which are 28, 29, ..., 34. Set '28'
  to be the default value
* Vivado Tcl somehow didn't accept the old expression set for
  calculating the HBM_SEGMENTS_PER_MASTER parameter, so it was changed
  accordingly to work. Dropped "expr", ".0" and "int ()" parsing and now
  it works

Signed-off-by: Iulia Moldovan <Iulia.Moldovan@analog.com>
main
Iulia Moldovan 2024-01-16 15:43:13 +02:00 committed by imoldovan
parent 40fb2c3bbb
commit 608044d124
1 changed files with 3 additions and 3 deletions

View File

@ -1,5 +1,5 @@
###############################################################################
## Copyright (C) 2022-2023 Analog Devices, Inc. All rights reserved.
## Copyright (C) 2022-2024 Analog Devices, Inc. All rights reserved.
### SPDX short identifier: ADIBSD
###############################################################################
@ -153,7 +153,7 @@ foreach dir {"SRC" "DST"} {
set_property -dict [list \
"value_validation_type" "pairs" \
"value" "24" \
"value" "28" \
"value_validation_pairs" {\
"256MB" "28" \
"512MB" "29" \
@ -209,7 +209,7 @@ set_property -dict [list \
# HBM_SEGMENTS_PER_MASTER = Storage size (MB) / 256 (MB) / number of masters
set_property -dict [list \
"enablement_value" "false" \
"value_tcl_expr" {expr int(ceil(2**($LENGTH_WIDTH-28) / ${NUM_M}.0)) } \
"value_tcl_expr" { ceil(2**($LENGTH_WIDTH-28) / ${NUM_M}) } \
] \
[ipx::get_user_parameters HBM_SEGMENTS_PER_MASTER -of_objects $cc]