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.

Problem in Xilinx core generator (FIFO)

Status
Not open for further replies.

syedahmar

Member level 1
Joined
May 26, 2005
Messages
35
Helped
2
Reputation
4
Reaction score
0
Trophy points
1,286
Activity points
1,663
xilinx core generator

Hi all!!
I am currently working on a project and i am facing a problem which i hope someone in here would solve.
In my project there are four 32 bit,1024 depth FIFO. Now the problem is of making it come in a single device. When i generate this FIFO from the core generator and then after synthesis, sometimes it sysnthesise the RAM blocks as four input BRAM and sometimes as 16 input Ram blocks. And i do not change any settings. There is no problem of area if it uses 16 BRAM blocks but with 4,it cant work. I want to know, is there any way i can make Xilinx ISE to use 16 input BRAM units.
Help plzzzzzz....
:(
 

xilinx fifo example

Depending on the device, BRAM have either 4K or 16K (plus some bits for parity).

So, if you have a device which have only 4K BRAM (Spartan-2, Virtex, and lower), if you define fifo depth of 1024, this leave only 4-bits wide data path.

Spartan-III, Virtex-II, and higher have 16K (18K with the parity bits) BRAM. Still, this leave a max of 16x1024 bits RAM.

To have 32x1024 BRAM, you'll have to use multiple BRAM in parallel. I don't know if the core generator can do this by default.

Also remember that BRAM resources are limited. In a 4K BRAM device, 4 32x1024 FIFO will consume 32 BRAM. In a 16K (18K) BRAM device, it will consume 8 BRAM.
 

xilinx fifo problem

Coregen will automatically use multiple BRAM to realize your fifo size.
For example: BRAM size is 4K in Spartan-II device.
If you define a fifo with 32bit width,1024 depth.
Coregen will use 8 BRAM to realize your fifo If your device has enough BRAM.
 

xilinx coregenerator fifo

But my problem was that the core generator does use 16 BRAM cells ..but not all the time....sometimes when i generate, it uses 4 bit BRAM and sometimes 16 bit....and i do not change any settings......what to do??
 

xilinx fifo problems

well u can try looking into the manuals of constraint editor to see how its done.

PS: If u dont know what is a constraint editor, at times when for ny reason we arent comfirtable with the device configuration being done by XST (Xilinx's synthesizer), we define constraints to restrict it to a particular configuration out of many possible to implement that logic.

Added after 4 minutes:

u can see the constraint editor guide at :

https://www.xilinx.com/support/sw_manuals/xilinx7/download/ for ISE 7

**broken link removed** for ISE 6
 

fifo core generator

What version ISE and Coregen are you using? Maybe it has a bug. I've seen Coregen forget one or two GUI settings between runs, or sometimes a checkbox doesn't stick properly. When I want to change something in my generated core, I usually delete the old core files and then regenerate the core from scratch.
 

download xilinx fifo generator

Thanks!!!!
i deletd my old core and regenerated a new one and the problem has been solved
:D...
Thanks alot to all of you....
 

generating fifo without using brams

you can use dualport ram and add some logic to generate your own fifo,

this canbe safe to use xilinx's fifo directly.




syedahmar said:
Hi all!!
I am currently working on a project and i am facing a problem which i hope someone in here would solve.
In my project there are four 32 bit,1024 depth FIFO. Now the problem is of making it come in a single device. When i generate this FIFO from the core generator and then after synthesis, sometimes it sysnthesise the RAM blocks as four input BRAM and sometimes as 16 input Ram blocks. And i do not change any settings. There is no problem of area if it uses 16 BRAM blocks but with 4,it cant work. I want to know, is there any way i can make Xilinx ISE to use 16 input BRAM units.
Help plzzzzzz....
:(
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top