AR# 11930: 3.1i CORE Generator - "ERROR: Some initial values do not match either the Memory Initialization Radix or Data Width"
3.1i CORE Generator - "ERROR: Some initial values do not match either the Memory Initialization Radix or Data Width"
Keywords: Distributed Memory, Dual Port Block Memory, Single Port Block Memory
General Description: COE files with decimal data and line feeds are not parsed properly for some cores; as a result, you may see the following error when loading a .coe file where the memory initialization values are being specified using a radix of 10, and the data are broken up into separate lines:
"ERROR: Some initial values do not match either the Memory Initialization Radix or Data Width. Press the Show Values button to view them."
There is a problem parsing linefeeds when the radix is 10. This issue occurs in the following cores:
Distributed Memory v4.1 Dual Port Block Memory v3.1 Single Port Block Memory v3.1
For the Distributed Memory core, if you click on "Show Coefficients" (not "Show Values" as indicated by the message), you will see that the last value in each line of data is concatenated with the first number in the next line. This leads to a corrupted value (75237) that exceeds the data width of 16.
To work around this problem, merge all data values in the memory_initialization_vector line into a single line.