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


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.


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 12/15/2012
Status Active
Type General Article
People Also Viewed