You are on page 1of 22

FIFO l g ?

FIFO (Fist In Firt Out) l mt b nh m c bit,


trong d liu c ghi vo trc th c c ra
trc. Hot ng c, ghi d liu c iu khin bi
hai con tr ghi v c.
Write Pointer : a ch con tr
dng ghi d liu.
Read Pointer : a ch con tr dng
c d liu.
Yu cu thit k:
Thit k mt FIFO ng b gm 32 thanh ghi,
mi thanh ghi 8 bits, vi 5 c trng thi:
+ C full
+ C empty
+ C threshold
+ C overflow
+ C underflow
S khi ca thit k
S tn hiu vo ra:
S khi ca thit k
Cc tn hiu vo:
+ clk: tn hiu xung clock ca h thng
+ rst_n: tn hiu reset ng b ca h thng
+ wr: tn hiu cho php ghi
+ rd: tn hiu cho php c
+ data_in: d liu vo 8 bits
S khi ca thit k
Cc tn hiu ra:
+ data_out: d liu c c ra 8 bits.
+ fifo_full: c bo fifo y.
+ fifo_empty: c bo fifo rng.
+ fifo_threshold: c bo fifo ln hn hoc bng 16
bytes.
+ fifo_overflow: c bo fifo y nhng vn ghi.
+ fifo_underflow: c bo fifo rng nhng vn c.
c t thit k
c t thit k
Memory array:
c t thit k
Cc tn hiu vo ra ca Memory array:
+ fifo_we: in : tn hiu cho php d liu c ghi
vo memory.
+ wptr: in : a ch ghi 6 bits, cung cp a ch d
liu c ghi vo nh tng ng.
+ rptr : in : a ch c 6 bits, cung cp a ch c
d liu c c ra t nh tng ng.
+ data_in: in : d liu cn ghi vo 8 bits
+ data_out: out: d liu c c ra 8 bits.
c t thit k
S thit k Memory array mc cng:
c t thit k
Write pointer:
c t thit k
Tn hiu vo ra ca Write pointer
+ wr: in : tn hiu cho php ghi ca h thng
+ fifo_full: in: c full.
+ fifo_we: out: tn hiu cho php la cho ghi vo
memory array.
+ wptr : out : a ch ghi.
Khi c tn hiu cho php ghi v fifo khng y th tn
hiu fifo_we s tch cc v a ch ghi c a ra.
c t thit k
S thit k Write pointer mc cng:
c t thit k
Read pointer:
c t thit k
Tn hiu vo ra ca Read pointer
+ rd: in : tn hiu cho php ghi ca h thng
+ fifo_empty : in : c empty
+ fifo_rd: out : tn hiu cho php c t memory
array.
+ rptr: out : a ch c.
Khi c tn hiu cho php c v c empty khng tch
cc th fifo_rd s tch cc v a ch c c a ra.
c t thit k
S mc cng ca Read pointer
c t thit k
Status signal:
c t thit k
Cc tn hiu vo ra ca Status signal:
+ wr: in : tn hiu cho php ghi.
+ rd: in : tn hiu cho php c.
+ fifo_we: in : tn hiu cho php ghi vo memory
array, l tn hiu ra ca Write pointer.
+ fifo_rd: in : tn hiu cho php c t memory array,
l u l ca Read pointer.
+ a ch ghi/c : wptr v rptr
V 5 c bo nh yu cu thit k.
c t thit k
Thit k mc cng ca Status signal:
1/C full v empty:
c t thit k
Thit k mc cng ca Status signal:
2/ C Threshold (c ngng):
c t thit k
Thit k mc cng ca Status signal:
3/ C overflow:
c t thit k
Thit k mc cng ca Status signal:
4/ C underflow:

You might also like