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

MIG v3.7 Spartan-6 MCB - Multi-controller example designs might not connect up all user logic clocks

Description

For MIG 3.7, an issue exists for the Verilog version of the example design when a multi-controller Spartan-6 FPGA design is generated with any two MCBs of the design placed on the same side of the FPGA.

One of the controller's user interface clocks is not connected which results in simulation and hardware failing, even though the example design might still compile.

This issue affects only the Verilog version of the MIG example design and does not affect user designs.

Solution

For designs with multiple MCBs per side, MIG generates an implementation that has the MCBs sharing the same clock resources.

For more information on this requirement, see the "Clocking" section in the Spartan-6 FPGA Memory Controller User Guide (UG388)

However, in the MIG 3.7 Verilog example design, different clocks are mapped to the user interface of the two controllers. 

While one of them is coming from the nearby PLL, the other one is not connected resulting in a non-functional user interface. 

To work around the issue, see the instructions below.

Work-around for any two MCBs on the left side of the FPGA:

The two MCBs on the left side of a Spartan-6 device are referred to as C3 and C4. 

MIG generates clocking resources with the prefix C3 when both the controllers on the left side are enabled. 

Therefore, the user interface clock on the left side is c3_clk0 and the following code should be added to the example_top module:

wire c4_clk0;
assign c4_clk0 = c3_clk0;

Work-around for any two MCBs on the right side of the FPGA:

The two MCBs on the right side of a Spartan-6 device are referred to as C1 and C5. 

MIG generates clocking resources with the prefix C5 when both the controllers on the left side are enabled. 

Therefore, the user interface clock on the left side is c5_clk0 and the following code should be added to the example_top module:

wire c1_clk0;
assign c1_clk0 = c5_clk0;

Work-around for all four MCBs being used in the FPGA:

The following code should be added to the example_top module:

wire c4_clk0;
wire c1_clk0;
assign c4_clk0 = c3_clk0;
assign c1_clk0 = c5_clk0;

This issue is fixed in ISE Design Suite 13.2.

Linked Answer Records

Associated Answer Records

Answer Number Answer Title Version Found Version Resolved
39128 MIG Virtex-6 and Spartan-6 v3.7 - Release Notes and Known Issues for ISE Design Suite 13.1 N/A N/A
AR# 40557
Date Created 02/11/2011
Last Updated 08/27/2014
Status Active
Type Known Issues
Devices
  • Spartan-6 LX
  • Spartan-6 LXT
  • Spartan-6Q
IP
  • MIG