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

Vivado Synthesis - Loose timing constraints results in LUTRAM instead of block RAM


Setting loose timing constraints causes Vivado Synthesis to choose LUTRAMs instead of block RAM.

For example, setting false paths to ignore timing between READ and WRITE clocks causes synthesis to choose LUTRAMs over block RAM.

How can I work around this issue?


As it is an early stage of the entire flow, the Synthesis view of timing and constraints is not accurate enough to make all of the expected timing driven inference.

You can use Synthesis attributes to change the Synthesis behavior.

To work around the problem, specify the ram_style='block" in the HDL code for the memory that needs to be inferred into a block RAM.

AR# 57983
Date 04/07/2015
Status Active
Type Known Issues
  • Vivado Design Suite