UPGRADE YOUR BROWSER

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

Description

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
"1100110011001100110011001100110011001100110011001100110011001100
0100010001001000100010001000100010001000100010001000100010001001
0001000100100010001000100100010001000100010001000100010001000000
0000000000000000000000000000000000000000000000000000000000000",
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)."

Solution

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