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
"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)."

解决方案

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
日期 03/06/2005
状态 Archive
Type 综合文章
People Also Viewed