Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   VHDL (http://www.velocityreviews.com/forums/f18-vhdl.html)
-   -   small FIFO? (http://www.velocityreviews.com/forums/t22825-small-fifo.html)

Matthias Alles 09-03-2004 04:18 PM

small FIFO?
 
Hello,

is there a smaller way to build a FIFO buffer in VHDL rather than using
a reading and a writing pointer? It should be possible to save the
reading pointer and the needed multiplexer when you read always from the
same position and ripple all data through the FIFO´s registers when
reading.

I need an as small implementation of a FIFO as possible but I need the
possibility to read and write simultaneously.

Can anyone help?

Thanks!

Kai Harrekilde-Petersen 09-03-2004 06:30 PM

Re: small FIFO?
 
Matthias Alles <alles@rhrk.uni-kl.de> writes:

> Hello,
>
> is there a smaller way to build a FIFO buffer in VHDL rather than
> using a reading and a writing pointer? It should be possible to save
> the reading pointer and the needed multiplexer when you read always
> from the same position and ripple all data through the FIFO´s
> registers when reading.


Definitely possible. However, it would burn more power than the
version with pointers.

Regards,


Kai
--
Kai Harrekilde-Petersen <khp(at)harrekilde(dot)dk>

Mike Treseler 09-05-2004 02:07 PM

Re: small FIFO?
 
Kai Harrekilde-Petersen wrote:
> Matthias Alles <alles@rhrk.uni-kl.de> writes:


>> is there a smaller way to build a FIFO buffer in VHDL rather than
>> using a reading and a writing pointer? It should be possible to save
>> the reading pointer and the needed multiplexer when you read always
>> from the same position and ripple all data through the FIFO´s
>> registers when reading.

>
> Definitely possible. However, it would burn more power than the
> version with pointers.


Try it both ways and see.
The conventional design can make use of block ram.
Actually shifting the entire data pipeline
for each read would require registers instead.
You save a read counter, but the
write counter has to increment for a push
and decrement for a pop, so I'm not sure if
this is a "smaller way".

-- Mike Treseler



Allan Herriman 09-06-2004 03:51 AM

Re: small FIFO?
 
On Sun, 05 Sep 2004 07:07:27 -0700, Mike Treseler
<mike_treseler@comcast.net> wrote:

>Kai Harrekilde-Petersen wrote:
>> Matthias Alles <alles@rhrk.uni-kl.de> writes:

>
>>> is there a smaller way to build a FIFO buffer in VHDL rather than
>>> using a reading and a writing pointer? It should be possible to save
>>> the reading pointer and the needed multiplexer when you read always
>>> from the same position and ripple all data through the FIFO´s
>>> registers when reading.

>>
>> Definitely possible. However, it would burn more power than the
>> version with pointers.

>
>Try it both ways and see.
>The conventional design can make use of block ram.
>Actually shifting the entire data pipeline
>for each read would require registers instead.
>You save a read counter, but the
>write counter has to increment for a push
>and decrement for a pop, so I'm not sure if
>this is a "smaller way".


If using Xilinx FPGAs, small FIFOs can be made using SRL shift
register primitives. The data trickles through the device, and only a
single counter / pointer is needed.

Regards,
Allan

Matthias Alles 09-06-2004 03:28 PM

Re: small FIFO?
 

> If using Xilinx FPGAs, small FIFOs can be made using SRL shift
> register primitives. The data trickles through the device, and only a
> single counter / pointer is needed.


well, I´m not using FPGAs. I synthesized the smaller FIFO in a 0.13µm
technology and saved about 750 µm² with a FIFO with 29 entries and a
bitwidth of 6! That´s quite a lot I think.


All times are GMT. The time now is 04:58 PM.

Powered by vBulletin®. Copyright ©2000 - 2013, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57