FIFO

D

deepu_s_s

Guest
Hej Vänner,

Jag utforma en FIFO.Vänligen bekräfta om jag är rätt om FIFO.

FIFO: First i First Out.Fundera en array med 10 element.FIFO har write_pointer, read_pointer, fullastade, tomma signaler.Först två av dem inte gränsssnittsanslutning signaler.De används för internt bruk.

Inledningsvis var write_pointer och read_pointer sätts till 0, startpunkten plats i FIFO.

Om vi vill skriva in FIFO, kontrollera den fullständiga = 0
och sedan

fifo_array [write_pointer] = data_in
write_pointer = write_pointer 1.

Antag att vi införas 5 element.Sedan write_pointer = 5.

Nu får vi börja läsa de delar av den.vi kontrollerar den tomma = 0
och sedan

data_out = fifo_array [read_pointer]

Vi läser alla 5 element och nu, FIFO är tom.sedan tom = 1.
dvs tom bekräftas när read_pointer = write_pointer.

Nu full bekräftas när write_address = FIFO storlek.

Om read_pointer = write_pointer, dvs FIFO EMPTY fall vi sedan återställa värdena read_pointer = write_pointer = 0.Har jag rätt om FIFO drift?Rätta mig om jag har fel.Och även du skicka mig lite docs.Tack och Regards
Deepak

 
deepu_s_s skrev:

Hej Vänner,Nu full bekräftas när write_address = FIFO storlek.Om read_pointer = write_pointer, dvs FIFO EMPTY fall vi sedan återställa värdena read_pointer = write_pointer = 0.
 
Du kan ta en titt på ett exempel:

http://bknpk.no-ip.biz/MiscellaneousHW/MiscellaneousHW.html
Ett klockan domän register (från Flip-Flop enheter) FIFO: register FIFO.

 
Hej alexadmin,

Jag tror att jag använde korrekt logik för FIFO tomma målet.Kan u förklara för mig varför u hade tagit

(read_pointer-write_pointer) mod FIFO_size == 1.

Hälsningar
Deepak

 
deepu_s_s skrev:

Hej alexadmin,Jag tror att jag använde korrekt logik för FIFO tomma målet.
Kan u förklara för mig varför u hade tagit(read_pointer-write_pointer) mod FIFO_size == 1.Hälsningar

Deepak
 

Welcome to EDABoard.com

Sponsor

Back
Top