JCLL
JCLL

Reputation: 5545

Where to force xilinx ISE to use block-rams?

I synthesized a small device to test the block-ram inference.

I got a message from XST :

The small RAM will be implemented on LUTs in order to maximize performance and save block RAM resources. If you want to force its implementation on block, use option/constraint ram_style.

However, I don't know where to find this option/constraint either in ISE (11.1 in my case) or in constraint files...

I don't want to use VHDL attributes directly in my code.

Upvotes: 3

Views: 6159

Answers (2)

Saar Drimer
Saar Drimer

Reputation: 1191

In your project directory, you'll find a file called "your-design.xst". You can add the following at the end of the list (or anywhere after "run"):

-ram_style block # ( | auto | distributed )
-rom_style block # ( | auto | distributed )

These should make sure you're going to get BRAM mapping instead of distributed RAM (which means LUT-based memory).

This option could also come in handy:

-auto_bram_packing yes # ( | no )

Remember that each of those must be on a line of their own, and that you'll need to remove the "#" and whatever comes after that.

If you're using the ISE GUI, go to

Synthesis -> Process Properties -> HDL options

and choose the above options there.

Upvotes: 5

JCLL
JCLL

Reputation: 5545

run -ram_style BLOCK can do the trick in command line.

Upvotes: 2

Related Questions