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

MIG v3.4 Spartan-6 Traffic Generator - 128-bit Bi-Directional Port Example Design does not work in hardware

Description

An issue exists with the generation of the mcb_wr_full flag used within the MIG v3.4 Spartan-6 FPGA Traffic Generator for the 128-bit Bi-Directional port configuration. The Traffic Generator is provided with the MIG output Example Design. If the User Design or any other port configuration is used, this issue will not exist.

The issue is seen in hardware where calibration completes but the MCB appears to hang when the Traffic Generator should start transferring data. This behavior may not always occur. Calibration may complete and the Traffic Generator issue no errors during one run and then the next run the issue occurs.

Manual modification to the Traffic Generator is required to work around this issue. This issue affects only the 128-bit Bi-Directional port configuration for the MIG v3.4 Example Design output (including designs targeted to the SP601/SP605 development boards). The issue will be resolved in MIG v3.5 which will be available with ISE 12.2 software.

Solution

To work around this issue:

1. Open the mcb_traffic_gen.v/.vhd module provided in the "example_design/rtl/traffic_gen" directory.

2. Locate the following code (starting on line 317)

    MIG 3.4 Code:

    reg mcb_rd_empty;
    always @ (mcb_rd_empty_i, mcb_rd_empty_r)
    if ( FAMILY == "SPARTAN6")
    mcb_rd_empty = mcb_rd_empty_r;
    else
    mcb_rd_empty = mcb_rd_empty_i;

    reg mcb_wr_full;
    always @ (mcb_wr_full_i, mcb_wr_full_r1)
    if ( FAMILY == "SPARTAN6")
    mcb_wr_full = mcb_wr_full_r1;
    else
    mcb_wr_full = mcb_wr_full_i;

    3. Comment out this code and replace with:
    Workaround Code:

    wire mcb_rd_empty;
    assign mcb_rd_empty = mcb_rd_empty_i;

    wire mcb_wr_full;
    assign mcb_wr_full = mcb_wr_full_i;


    Linked Answer Records

    Master Answer Records

    Answer Number Answer Title Version Found Version Resolved
    34587 MIG v3.4 - Release Notes and Known Issues for ISE Design Suite 12.1 N/A N/A
    AR# 35499
    Date Created 05/06/2010
    Last Updated 12/15/2012
    Status Active
    Type General Article
    Devices
    • Spartan-6 LX
    • Spartan-6 LXT
    IP
    • MIG