AR# 7063: Synplify 6.0/NGDBuild 3.1i - "ERROR:NgdHelpers:312 - logical block "up_address[0].L1" of type "SLDPE_1" is unexpanded"
AR# 7063
|
Synplify 6.0/NGDBuild 3.1i - "ERROR:NgdHelpers:312 - logical block "up_address[0].L1" of type "SLDPE_1" is unexpanded"
Description
Keywords: Synplify, unexpanded, latch, infer
Urgency: Standard
General Description: The Synplify netlist produces the following error in NGDBuild:
"ERROR:NgdHelpers:312 - logical block "up_address[0].L1" of type "SLDPE_1" is unexpanded."
Latches were inferred in the design, but no latches were instantiated.
Solution
1
The warning message from Synplify is unclear.
The SLDPE_1 is a correct component. The warning message regarding inferring latches should instruct you to copy the corresponding netlist for the latch from the Synplify directory. The SLDPE_1 is a latch that corresponds to the Xilinx LDPE_1 primitive.
The netlist, SLDPE_1.XNF, is located in the /synplify/lib/xilinx directory and should be copied to the design directory for implementation.
Latches are only primitive components in certain Xilinx Families, specifically Spartan-XL, 4000XL,XLA, and Virtex devices. Therefore, Synplicity has created its own latch components for families that do not have this LDPE_1 primitive.
Alternatively, you may change the code so that latches are not inferred.
2
Synplify 6.0 currently writes out SLDPE_1 for designs in Spartan-XL when a latch is inferred. SLDPE_1 should not be inferred because Spartan-XL has primitive latches.
This is a known Synplify bug (#12286). The current work-around is to edit the EDIF netlist, replacing SLDPE_1 with LDPE_1.