Article ID: 000085067 Content Type: Troubleshooting Last Reviewed: 03/04/2013

Why does the Fitter fail to place my memory in an Arria II GZ device?

Environment

  • Quartus® II Subscription Edition
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    Description

    Due to a problem in the Quartus® II software version 10.1 and later, designs targeting Arria® II GZ EP2AGZ225 devices may fail to place memories successfully. This failure may occur for large memories with block type set to Auto. Quartus II Integrated Synthesis may incorrectly partition these memories into block sizes appropriate for M144K blocks which are unavailable in the EP2AGZ225 device. This failure is accompanied by messages such as the following:

    Error (170039): Cannot place 32 RAM cells or portions of RAM cells in the design
     Info (170038): Cannot place following RAM cells or portions of RAM cells -- a legal placement which satisfies all the RAM requirements could not be found
    Resolution

    To work around this problem, target the memory to M9K (or other memory types) by one of the following methods:

    • If the memory was created using the MegaWizard Plug-In Manager, select M9K for the option What should the memory block type be?
    • If the memory was inferred from VHDL or Verilog HDL code, use the synthesis attribute ramstyle with a value of "M9K". See the Quartus II Handbook chapter Quartus II Integrated Synthesis (PDF) for details on the ramstyle attribute.
    • To target a particular instance to M9K memory, add the following assignment to your Quartus II Settings File (.qsf):
      set_parameter -name RAM_BLOCK_TYPE M9K -to "<hierarchical instance name>"

    This problem is scheduled to be fixed in a future release of the Quartus II software

    Related Products

    This article applies to 1 products

    Arria® II GZ FPGA