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

Spartan-6 9K block RAM work-around - The solution in Answer Record 39999 does not work when using an XPS core as a submodule

Description

The Spartan-6 9K block RAM work-around in (Xilinx Answer 39999) does not work when using an XPS core as a submodule.

(Xilinx Answer 39999) explains how the XST switch "-infer_ramb8 NO" should be set to block the inference of 9K block RAM in XST.

The work-around of applying the three switches to XST, MAP and BITGENdescribed in (Xilinx Answer 39999) works correctly when using the ISE flow only.

However, for designs which contain XPS cores in the ISE project, the required XST switch is not passed to the EDK XST options.

Solution

To work around this issue, follow these steps:

  1. Ensure all the required switches are set as described in (Xilinx Answer 39999).
  2. Open XPS project and generate netlist.
  3. Open the synthesis directory that was created in the EDK project directory.
  4. Edit the top-level .scr file to include the XST switch: "-infer_ramb8 No".
  5. Run XST from the command line using the following command:xst -ifn "<project name>_xst.scr".
  6. Add the newly created .ngc file as a source in the ISE project.
  7. Add the UCF from the EDK project and make sure that the correct hierarchy is applied to the nets.
  8. Run through the ISE flow again.

Linked Answer Records

Associated Answer Records

Answer Number Answer Title Version Found Version Resolved
39999 Design Advisory for Spartan-6 FPGA - 9K Block RAM Initialization Support N/A N/A
AR# 46338
Date Created 05/02/2012
Last Updated 12/15/2012
Status Active
Type General Article
Devices
  • Spartan-6 LX
  • Spartan-6 LXT
Tools
  • EDK - 13.4
  • EDK - 14.1