Problem initializing a RAM

G

Giox

Guest
Hello everybody, I use FPGA Advantage 7 and Ise Xilinx 7.1 service pack
4.
When I try to perform the place and route task I receive the following
error:

ERROR:NgdBuild:514 - The INIT_01 value of
"1111111100011110101010111100010011111111111111111111111111111111101010111000
01110001110011011110011000011000001101101010111011111111111111111111111111111
11111110001001000110100010101100111100010010001001100001001101011101111111100
01111111110010111101000011", on the RAMB4_S16_S16 symbol
"RAMB4_HIGH_S16_S16_n", contains more data than is appropriate. For a
RAMB4_S16_S16 symbol, the INIT_01 value should not exceed 64
hexadecimal digit(s).

However the RAM is initialized as follows:

defparam RAMB4_HIGH_S16_S16_n.INIT_01 =
256'hff1eabc4_ffffffff_ab871cde_61836aef_ffffffff_12345678_91309aef_f1ff2f43;

I read on the book "A Guide To Digital Design And Synthesis" that the
number before the 'h is the number of bit, so INIT_01 is initialized
with 256 bit => 64 Hex symbols.
Where is my error?
Any help will be appreciated
 
This looks like a incompatibility issue between FPGA Advantage 7 and
ngdbuild. ngdbuild pretty much treats everything as strings, so the
INIT strings have to be hex or 64-characters long when they are passed
to ngdbuild.

You can ask FPGA Advantage support guys to fix the problem in the tool
by not to convert hex to bin when dealing with RAM init strings.

As a workaround, you can specify the init strings in the UCF.

HTH,
Jim
 

Welcome to EDABoard.com

Sponsor

Back
Top