15.7.6.3 Aligning RAM I/O with Placement

Before placing your memory blocks, review your design and understand how data is flowing into and out of them. Determine what logic blocks are driving the memory inputs (for example, address line, control signals) and what logic is driven by the memory outputs (for example, databus lines). Follow these guidelines:

  • Place pins that drive or are driven by your memory blocks close to where your memory blocks are placed.
  • Create an empty region next to your memory block to free up local routing resources that may need to be used to connect to the memory blocks.
  • If you are driving high fan-in memory inputs such as read/write clocks or read/write enables, try using low-skew routing resources such as global nets or clock spines to connect them. Make sure your clock spine assignments are aligned with your RAM placement.