We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 13705

5.1i NGDBuild - Block RAM "ERROR:NgdBuild:514 - The INIT_3C value... should not exceed 64 hexadecimal digit(s)" is reported for a netlist generated by LeonardoSpectrum


Keywords: NGDBuild, blockRAM, RAM, init, init_00, initialize, memory, binary, hexadecimal, format, attribute, netlist, Leonardo, Spectrum, 2001, 2002, 4.1i, 5.1i

Urgency: Standard

General Description:
I am attempting to run NGDBuild 4.1i on a design netlist generated by LeonardoSpectrum 2001 or 2002.a. My design contains a RAM memory element that is initialized within the HDL code. The following error message occurs:

"ERROR:NgdBuild:514 - The INIT_3C value of
on the RAMB16_S4_S4 symbol "blockram_inst/blkram", contains more data than is appropriate. For a RAMB16_S4_S4 symbol, the INIT_3C value should not exceed 64 hexadecimal digit(s)."


The error message is correct -- the INIT value should contain only 64 hexadecimal values. The problem is that Leonardo is incorrectly interpreting the INIT values as decimal and assigning a binary value to represent the initialization values.

There are two ways to work around this problem:
- Instead of initializing within the HDL code, specify the initial RAM contents in your UCF.
- Manually edit the netlist, converting the binary values back into hexadecimal values.

NOTE: This was fixed in the 5.1i time frame by Leonardo.
AR# 13705
Date Created 01/25/2002
Last Updated 03/06/2005
Status Archive
Type General Article