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# 35146

11.4 EDK, MPMC v5.04.a - "ERROR:NgdBuild:765 - "mpmc_0_wrapper.ucf" Line 30: A parsing error has occurred..."

Description

When I generate the MPMC core for a Spartan-6 FPGA, the following errors occur on the ZIO pin constraint:

ERROR:NgdBuild:765 - "mpmc_0_wrapper.ucf" Line 30: A parsing error has occurred while reading the constraint file.
The value ';' at column 35 is invalid.
ERROR:NgdBuild:31 - Errors found while parsing .ucf file "mpmc_0_wrapper.ucf". Please check for syntax errors in the UCF file.
For more information on legal UCF constraints, please see the Constraints Guide for more information on this attribute.

How do I resolve this error?

Solution

This error occurs because the IOSTANDARD of ZIO is not set in the core level UCF.

The generated constraints for ZIO is as follows:

NET "zio" LOC = R7 | IOSTANDARD = ;

To resolve this issue, edit the "mpmc_v2_1_0.tcl" file found in the following directory:

$XILINX_EDK\hw\XilinxProcessorIPLib\pcores\mpmc_v5_04_a\data

Navigate to line 2546 and change the lines of code as follows:

Change the line from:

    set mem_type         [xget_hw_parameter_value $mhsinst "C_MEM_TYPE"]
    if {[string match -nocase {lpddr} $mem_type]} {
        set list_iostandards {"MOBILE_DDR" "MOBILE_DDR" "MOBILE_DDR" "MOBILE_DDR"
                              "MOBILE_DDR" "MOBILE_DDR" "DIFF_MOBILE_DDR" "DIFF_MOBILE_DDR"
                              "MOBILE_DDR" "MOBILE_DDR" "MOBILE_DDR" "MOBILE_DDR"
                              "MOBILE_DDR" "MOBILE_DDR" "MOBILE_DDR" "MOBILE_DDR"
                              "MOBILE_DDR" "MOBILE_DDR"}

Change the line to:

    set mem_type         [xget_hw_parameter_value $mhsinst "C_MEM_TYPE"]
    if {[string match -nocase {lpddr} $mem_type]} {
        set list_iostandards {"MOBILE_DDR" "MOBILE_DDR" "MOBILE_DDR" "MOBILE_DDR"
                              "MOBILE_DDR" "MOBILE_DDR" "DIFF_MOBILE_DDR" "DIFF_MOBILE_DDR"
                              "MOBILE_DDR" "MOBILE_DDR" "MOBILE_DDR" "MOBILE_DDR"
                              "MOBILE_DDR" "MOBILE_DDR" "MOBILE_DDR" "MOBILE_DDR"
                              "MOBILE_DDR" "MOBILE_DDR" "MOBILE_DDR"}

Clean the netlist and regenerate the design netlists, and this error should no longer occur.

This issue is resolved starting with MPMC v6.00.a, to be released in EDK 12.1.

AR# 35146
Date Created 04/08/2010
Last Updated 10/30/2015
Status Active
Type Error Message
Devices
  • Spartan-6 LX
  • Spartan-6 LXT
Tools
  • EDK - 11.2
  • EDK - 11.3
  • EDK - 11.4
  • EDK - 11.5
IP
  • Multi-Port Memory Controller (MPMC)