|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
FIFO,没有想象的那么简单!
. n( C7 `4 K6 s* w: Q2 J- O& A& F7 _
6 I% g/ ]5 V+ U- a3 r
根据一般的原则,FIFO这件事情啊,如果能用IP先别自己手写。可以通过FPGA厂家的的IP生成工具生成相应的FIFO。
8 |) S9 X. K# ?+ M: L& Y. H- G5 W( a5 ^( \3 _1 D
# F' D6 e8 A) Y! B( b% | Z# I3 I' ~
FIFO中的格雷码:/ S/ d/ v2 G; |
0 J% Y& h" E+ o3 X0 C9 j0 j0 v
) s1 a% w: d7 }! C6 Y5 }格雷码应用于异步FIFO的地址操作,格雷码的生成可以当做个入门练手的小模块,然后慢慢搭一个异步FIFO,把关于FPGA的时钟、复位、管教基本上都可以涉及到,绝对有帮助。
4 M! j) @$ i$ [! U5 |& h
- y6 S# M0 N, c# b5 u2 E
3 i3 H% T" N i2 e. {1 FFIFO满防溢出的问题也被讨论的挺多了,加个可编程满作为保护时应有之意。
X |& v% N7 e. Y, C- E* {9 x% W4 H9 O# s
& I9 }# x- j7 V, b+ ~
空信号就没必要搞什么即将空,一般注意读使能需要跟非空信号做个与运算,这是基本操作。6 ]6 K6 h& V+ b; Q) ~# z
4 J7 [* G8 m3 N u; ~$ U$ G5 D$ i' }- H6 \5 m+ z6 G( f8 g( o
FIFO好好做,还是很值得深入研究的。; b1 B0 p8 e! D# K; E
% V# L3 _; x9 \( u- O
5 W! g# ?: u; v6 y& K
例如:
/ `+ f- _* y! ~8 D7 [- M4 d
c: G1 G* w, P, k+ p5 ]# }* ]9 s
! W" d+ C. I# g N* C8 i5 ?( \
6 n& f0 A; u/ w* D% { r; k% }; l4 c7 `& O% T
- j9 P1 b) K! w1 r
! U T, T! s% h$ ~
1 N V0 w: [. P* s* G% s3 d7 u. ^9 s4 T+ Z( c% c7 Y$ a; x
& l& }5 }' ~4 v% P2 y
9 n+ d) j; y( R3 J1 J
* {3 G7 F% W. z1 \. H t
7 i2 f' o8 A, y- c# b: n6 f+ t |
|