ปัญหาสำคัญ
ปัญหานี้มีผลต่อผลิตภัณฑ์ DDR3
หากคุณระบุค่าที่ไม่ใช่ศูนย์สําหรับฟิลด์ RC8–RC15 ใดๆ ของคําควบคุม DDR3 RDIMM รุ่น IP ล้มเหลวตามต่อไปนี้ ข้อ ผิด พลาด:
Error: integer value too large to represent.
วิธีแก้ไขปัญหาสําหรับปัญหานี้คือการปรับเปลี่ยนรหัสใน uniphy_gen.tcl
ไฟล์
ทําตามขั้นตอนเหล่านี้:
- ใน
ip/altera/alt_mem_if/alt_mem_if_tcl_packages/gen/�
ไดเรกทอรี เปิดuniphy_gen.tcl
ไฟล์ในผู้แก้ไข - ใน
uniphy_gen.tcl
ไฟล์ ให้ค้นหา ข้อความต่อไปนี้แสดงความคิดเห็น:
# Need to split the 64-bit RDIMM configuration word into
2 32-bit words for the sake of C-code�
- ในตําแหน่งของข้อคิดเห็นข้อความ ให้แทนที่สิ่งต่อไปนี้ รหัสที่มีอยู่:
if {([string compare -nocase "DDR3"] == 0)
&& } {
# Need to split the 64-bit RDIMM configuration word into 2 32-bit words
for the sake of C-code
set rdimm_config_dec [ expr 0x[get_parameter_value RDIMM_CONFIG]
]
set rdimm_config_high [ format "0x%X" [ expr >>
32 ] ]
set rdimm_config_low [ format "0x%X" [ expr & 0xFFFFFFFF
] ]
append sw_macros " -DRDIMM_CONFIG_WORD_LOW="
append sw_macros " -DRDIMM_CONFIG_WORD_HIGH="
}
ด้วยรหัสใหม่ต่อไปนี้:
if {([string compare -nocase "DDR3"] == 0)
&& } {
# Need to split the 64-bit RDIMM configuration word into 2 32-bit words
for the sake of C-code
set rdimm_config_str [ get_parameter_value RDIMM_CONFIG ]
set rdimm_config_low "0x[ string range end-7 end
]"
# Handle two halves of 16-byte string independently
if {([string length ] > 8)} {
set rdimm_config_high "0x[ string range end-15
end-8 ]"
} else {
set rdimm_config_high "0x0"
}
append sw_macros " -DRDIMM_CONFIG_WORD_LOW="
append sw_macros " -DRDIMM_CONFIG_WORD_HIGH="
}
ปัญหานี้จะได้รับการแก้ไขในเวอร์ชันในอนาคต