Previous in Forum: SONET vs DWDM for Metro Rings   Next in Forum: Passive electronic components
Close
Close
Close
4 comments
Rate Comments: Nested
Member

Join Date: Apr 2007
Posts: 7

FIFO FPGA implementation

04/25/2007 6:55 AM

I intend using a FIFO in my data acquisition board design however cant find suitable one from market. my target spec are 12-16 bit width and 1Meg depth, with asynchronus control.

I need information as to what would be the best solution if this FIFO is implemented using FPGA? what would be the best platform and idea of tools required.

Regards

-Salman

Register to Reply
Interested in this topic? By joining CR4 you can "subscribe" to
this discussion and receive notification when new comments are added.
Guru
Engineering Fields - Electrical Engineering - New Member

Join Date: Sep 2006
Location: El Lago, Texas, USA
Posts: 2639
Good Answers: 65
#1

Re: FIFO FPGA implementation

04/25/2007 10:05 AM

1 MEG x 16 bits? That's large for any FPGA I know of, although admittedly my work is not focused on high density. I would check out Xilinx - they make the largest FPGAs, I believe (someone correct me if necessary).

But, my advice is to use an SRAM, and use an FPGA as a controller to make the SRAM behave like a FIFO. Simply operate the SRAM at twice your data rate, so you can perform both a read and write every data "cycle". Keep track of your in and out data pointers in your FPGA.

I'm a fan of Actel FPGAs, since I design for space, and they have a nice family of radiation tolerant FPGAs. But, they also have free tools, and are easy to design with and use. You will need to get a programmer, like their Silicon Sculptor.

Register to Reply
Member

Join Date: Apr 2007
Posts: 7
#2
In reply to #1

Re: FIFO FPGA implementation

04/25/2007 10:30 AM

Thanks for your reply and your point is taken. It will be better to implement a FIFO using SRAM in conjunction with a controller. Since I am not good at FPGAs, I will look into if I can interface an MCU to SRAM, most probably operating not more then 0.5 Mhz write operations ( means theoratical throughput of 1 MSPS read+write ). The problem with this approach is the number of connections required ( 20 bit address, 8/16 bit data, 8/16 bit FIFO interface). both operations have to be Asynchronized as well.

Register to Reply
Guru

Join Date: Dec 2005
Location: Etats Unis
Posts: 1871
Good Answers: 45
#3
In reply to #2

Re: FIFO FPGA implementation

04/26/2007 12:17 AM

If you only need sequential access you can use a counter to drive the address lines to require only a reset and increment line. If you need to set the address to some particular location, you could use counters with a parallel load feature and use shift registers to set up the load value. If you are doing high-speed access you should also use counters with a synchronous clock to eliminate the propagation delay that occurs with ripple counters.

__________________
The hardest thing to overcome, is not knowing that you don't know.
Register to Reply
Member

Join Date: Apr 2007
Posts: 7
#4

Re: FIFO FPGA implementation

04/26/2007 12:26 PM

Thanks for ur feedback. i have started designing the FIFO using cacaded 8 bit counters, which apparently should resolve the addressing needs. as similar for FIFO, i would use separate read and write pointers which means I must use tri-state couneters. these counters can be reset by a Flag using last 4 bits of counter. will keep u guys posted on progress:)

Register to Reply
Register to Reply 4 comments
Copy to Clipboard

Users who posted comments:

bhankiii (1); modest (2); rcapper (1)

Previous in Forum: SONET vs DWDM for Metro Rings   Next in Forum: Passive electronic components

Advertisement