Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Can I increase the size of RAM, as I need some BRAM?

Status
Not open for further replies.

sameem_shabbir

Advanced Member level 4
Joined
Jan 5, 2008
Messages
104
Helped
5
Reputation
10
Reaction score
2
Trophy points
1,298
Location
Pakistan
Activity points
1,946
Hi all
I am using Spartan3 1000k FPGA. I am trying to use Block RAM in my code
My address is 16 bits wise. At 16 bit addr the BLock RAM utilizaation is 54%

Now if i increase the addr bits to 17
XST gives the info message
"Cannot implement as BRAM It will be modled as Distributed RAM"
And then It starts processing and keep processing


Is there any possibility that i can increase the size of my RAM.
I don't care if synthesis take whole night but can it be done???????????
Because i need some more BRAM for my Project.
Thnx
 

RAM Utilization

You can modify some Block RAM to Distributed RAM in Core Generator.
 

RAM Utilization

Are you using a modern version of ISE? Older versions of XST would infer only up to 16 bits, and not the full 18 bits (and probably not 17 bits either, but I've never tried 17). Recent versions of XST are smarter.
 

Re: RAM Utilization

Yes I am using ISE 9.2i

Do you mean that recent versions of ISE can model beyond 16 bits by making a part as a BRAM and a part as distributed RAM
 

RAM Utilization

Oops! When you said you increased the addr to 17 bits, I misread that as increasing the data to 17 bits. Sorry for the confusion! Please disregard my previous message.

How wide is your data bus?

The Spartan-3 data sheet says the XC3S1000 contains 432 kilobits of Block RAM and up to 120 kilobits of Distributed RAM. Remember that Distributed RAM is built from logic fabric, so if you use all 120 kilobits, then you won't have any room for other logic.

In case anyone's interested, here's where my previous answer was heading . . .
Each FPGA Block RAM primitive has configurable data bus width: 1, 2, 4, 9, 18, or 36 bits, and various address depths. If your HDL creates 18-bit RAM (and up to 1K words), then ISE XST should infer 18-bit Block RAM. However, older versions of ISE would infer a 16-bit and a 2-bit Block RAM. That's wasteful, consuming twice as many Block RAM primitives as necessary. Newer versions of XST are smarter.
 

Re: RAM Utilization

Hi echo
Right now i am using 3*65 kilo of RAM (If i increas Addr bits by 1 it excceds available resources)

now I WANT TO INCREASE IT
Can i do like this
That XST models a part of RAM as BRAM and a part as distributed RAM
If YES
Then HOW
If NO
....................
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top