Sign in

username:

password:



Not a member?

Search Comp.Arch.FPGA



Search tips

fpga by Keywords

Altera | ASIC | CPLD | Cyclone | DCM | DDR | DSP | Ethernet | ISE | JTAG | Linux | LVDS | Microblaze | ML310 | Modelsim | NIOS | OPB | PCI | Quartus | RocketIO | SDRAM | Spartan | Spartan3 | SRAM | Stratix | Verilog | VHDL | Virtex | Virtex-4 | Virtex-II | Xilinx | XST

Ads

See Also

DSPEmbedded SystemsElectronics

Comp.Arch.FPGA | How is FIFO implemented in FPGA and ASIC?

There are 17 messages in this thread.

You are currently looking at messages 0 to 10.

How is FIFO implemented in FPGA and ASIC? - Wei Wang - 2008-01-18 08:48:00

Hi,

Could anyone explain why FIFO is difficult to implement in FPGA and
ASIC? and how is FIFO implemented in FPGA and ASIC.

Thanks,
Wei



Re: How is FIFO implemented in FPGA and ASIC? - 2008-01-18 08:54:00

>Could anyone explain why FIFO is difficult to
implement in FPGA and
>ASIC? and how is FIFO implemented in FPGA and ASIC.

Where did you read that a FIFO is difficult to implement?

Re: How is FIFO implemented in FPGA and ASIC? - Symon - 2008-01-18 08:59:00

"Wei Wang" <c...@gmail.com>
wrote in message 
news:c...@e6g2000prf.googlegroups.com...
> Hi,
>
> Could anyone explain why FIFO is difficult to implement in FPGA and
> ASIC? and how is FIFO implemented in FPGA and ASIC.
>
> Thanks,
> Wei

Wei,

According to WHOIS, you're posting from Advanced RISC Machines Ltd. I bet 
there are several people in your office who can answer that for you.

Perhaps no one in the office will talk to you? Googling fifo+fpga returns 
400k hits. Adding I'm+a+little+teapot to the search gets you down to 7.

HTH., Syms.

p.s. http://catb.org/~esr/faqs/smart-questions.html

p.p.s. http://en.wikipedia.org/wiki/Eternal_September 


______________________________
Join the blogging team on FPGARelated.com and earn rewards! Details Here.

Re: How is FIFO implemented in FPGA and ASIC? - glen herrmannsfeldt - 2008-01-18 09:46:00

Wei Wang wrote:

> Could anyone explain why FIFO is difficult to implement in FPGA and
> ASIC? and how is FIFO implemented in FPGA and ASIC.

With dual port memory, like many FPGAs and ASICs have
it isn't difficult to implement.  It isn't for beginners,
but it isn't that hard, either.

In FPGA they are implemented with dual port memory and
two counters.  Also, logic to compare the counters to
generate the full and empty status lines.

-- glen

______________________________
Join the blogging team on FPGARelated.com and earn rewards! Details Here.

Re: How is FIFO implemented in FPGA and ASIC? - Eli Bendersky - 2008-01-18 10:09:00

On Jan 18, 3:54 pm,
MikeShepherd...@btinternet.com wrote:
> >Could anyone explain why FIFO is difficult to implement in FPGA and
> >ASIC? and how is FIFO implemented in FPGA and ASIC.
>
> Where did you read that a FIFO is difficult to implement?

"FIFO" is a broad term and can be either simple or complicated. For
starters, a synchronous (single clock), small FIFO should be easy to
understand and implement. See, for example:
http://www.asic-world.com/examples/vhdl/syn_fifo.html

FIFOs get more complex than that. They can have different clocks for
read and write, they can be large and require a dual port memory
block, etc.

Start with the simple, advance to the more sophisticated when you
need.

Eli

Re: How is FIFO implemented in FPGA and ASIC? - Symon - 2008-01-18 10:39:00

"glen herrmannsfeldt" <g...@ugcs.caltech.edu> wrote in message 
news:r...@comcast.com...
> Wei Wang wrote:
>
>> Could anyone explain why FIFO is difficult to implement in FPGA and
>> ASIC? and how is FIFO implemented in FPGA and ASIC.
>
> With dual port memory, like many FPGAs and ASICs have
> it isn't difficult to implement.  It isn't for beginners,
> but it isn't that hard, either.
>
> In FPGA they are implemented with dual port memory and
> two counters.  Also, logic to compare the counters to
> generate the full and empty status lines.
>
> -- glen
>
Hi Glen,
My favourite FPGA FIFO design is described in XAPP291. The counters' storage 
elements are part of the dual port RAM. "Their advantage is in using only 
one clock load."
Cheers, Syms. 


______________________________
Join the blogging team on FPGARelated.com and earn rewards! Details Here.

Re: How is FIFO implemented in FPGA and ASIC? - 2008-01-18 11:07:00

On Fri, 18 Jan 2008 07:09:47 -0800 (PST), Eli
Bendersky
<e...@gmail.com> wrote:

>On Jan 18, 3:54 pm, MikeShepherd...@btinternet.com wrote:
>> >Could anyone explain why FIFO is difficult to implement in FPGA and
>> >ASIC? and how is FIFO implemented in FPGA and ASIC.
>>
>> Where did you read that a FIFO is difficult to implement?
>
>"FIFO" is a broad term and can be either simple or complicated. For
>starters, a synchronous (single clock), small FIFO should be easy to
>understand and implement. See, for example:
>http://www.asic-world.com/examples/vhdl/syn_fifo.html
>
>FIFOs get more complex than that. They can have different clocks for
>read and write, they can be large and require a dual port memory
>block, etc.
>
>Start with the simple, advance to the more sophisticated when you
>need.
>
>Eli

I'm not planning to start at all.  I was asking a question of the
original poster.
______________________________
Join the blogging team on FPGARelated.com and earn rewards! Details Here.

Re: How is FIFO implemented in FPGA and ASIC? - Nial Stewart - 2008-01-18 11:22:00

> Hi Glen,
> My favourite FPGA FIFO design is described in XAPP291. The counters' storage elements
are part of 
> the dual port RAM. "Their advantage is in using only one clock load."
> Cheers, Syms.


Pah, I'll beat that for elegance and simplicity....


process(clk,rst)
begin
    one_bit_fifo <= '0';
elsif(rising_edge(clk)) then
    if(load_fifo = '1') then
        one_bit_fifo <= one_bit_fifo_input;
    end if;
end if;
end process;

fifo_output <= one_bit_fifo;



:-)

It _is_ Friday afternoon!


Nial 



Re: How is FIFO implemented in FPGA and ASIC? - jack.harvard@googlemail.com - 2008-01-18 14:12:00

> FIFOs get more complex than that. They can
have different clocks for
> read and write, they can be large and require a dual port memory
> block, etc.

I reckon the question was about asynchronous FIFOs and possibly more
on the ASIC side, the Full and Empty signals need some care.

Re: How is FIFO implemented in FPGA and ASIC? - Peter Alfke - 2008-01-18 14:42:00

On Jan 18, 11:12=A0am,
"jack.harv...@googlemail.com"
<jack.harv...@googlemail.com> wrote:
> > FIFOs get more complex than that. They can have different clocks for
> > read and write, they can be large and require a dual port memory
> > block, etc.
>
> I reckon the question was about asynchronous FIFOs and possibly more
> on the ASIC side, the Full and Empty signals need some care.

Let me throw in my usual tutorial:
If you have a dual-ported RAM, designing a synchronous (single-clock)
FIFO is trivial.
Designing an asynchronous (two independent clocks) FIFO faces the
tricky issue of detecting Full and Empty. That means detecting the
identity of two counters, which is best done with Gray-coded counters
(which in turn makes it difficult to perform arithmetic on them).

The leading edges of Full and Empty are unproblematic, since they are
generated by the "proper" clock (Empty is generated by a read
operation, and only the read side is interested in the Empty signal)
The VERY TRICKY issues are the trailing edges of Full and Empty, since
they are caused by the "wrong" clock, and thus require
synchronization, and face the UGLY issue of metastability. Enough
problems to give you some grey hair...
Peter Alfke

______________________________
Join the blogging team on FPGARelated.com and earn rewards! Details Here.

| 1 | 2 | next