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

14.7 MAP - Why and when would I use the "-bp" MAP option ("map slice logic to block RAM")?

Description

The "-bp" MAP option maps slice logic to block RAM.

How does this option work, and when should I use it?

Solution


The "-bp" option allows MAP to pack a combination of LUT-FF logic into unused block RAM components.

You can use this feature in designs that are slightly over-mapped and might benefit from increased logic utilization available in the block RAM.

All block RAMs have synchronous registered outputs.

MAP packs a register into the block RAM output along with whatever LUT logic is driving it.

A register will not be packed into block RAM without LUT logic, and vice versa. 
 
This feature also supports user-control of the block RAM packing using a file that lists FF output net names.

This functionality is triggered by the environment variable "XIL_MAP_BRAM_FILE", which should be set to the applicable file name.

Only the LUT-FF logic associated with the specified nets is packed into block RAM. 
 
PC: 

set XIL_MAP_BRAM_FILE=file_name

 
Workstation: 

setenv XIL_MAP_BRAM_FILE file_name


The current implementation of this feature packs only LUTs and a FF into a single-output, single-ported block RAM.

The default block RAM packing behavior will select only LUT logic cones with at least six inputs to avoid performance degradation.

The list-driven block RAM packer will pack smaller LUT logic cones if specified. 
 
For general information about setting ISE environment variables, see (Xilinx Answer 11630).
AR# 15888
Date Created 09/03/2007
Last Updated 02/17/2015
Status Active
Type General Article
Devices
  • FPGA Device Families
Tools
  • ISE Design Suite