FPGA中FIFO的配置

今天我们来讨论一下通过Quartus2中的Mega-plugin来配置一个FIFO,这是偏

软件的,但是今天我把归为硬件来讲,因为其中有许多是硬件相关联的。

首先我们TOOLS进入配置界面,选择"creat a custome megafuction variation",进入第2页然后在左面点开“memory compiler",然后选择FIFO,同时在右边填入自命名的器件名字。点下一步,在这一步中要设置FIFO的数据宽度,FIFO的深度,FIFO的类型(同步FIFO还是异步FIFO,他们的区别后面会说到),这要根据你的实际系统来设置,需要注意的是输出数据与输入数据宽度可以不一样,但是他们的宽度不能随便设置,另外FIFO的深度是2的幂,这里你选择同步FIFO与异步FIFO下一步的设置将不一样,点下一步,如果你前面选择了同步FIFO,那么这一步你需要设置FIFO的握手信号与状态信号有full(满),empty(空),almostfull(几乎满),almostempty(几乎空),Asynchronous clear(异步清零),如果你选择了异步FIFO,那么在读与写两边就要单独设置,读写两边均有 full, empty, usedwide(使用深度)3个信号,你可以根据你的实际系统来决定需要哪些信号。点下一步设置两个内容,一个是FIFO的输出的两种形式,一种是传统的同步方式,即你在有readreq='1'的一个周期后才能读取数取,另一种为show ahead,即为你在readreq='0'时,数据口就一直有一个数据,在读取数据时不用等待一个周期。第二个设置就是综合出FIFO是用一般逻辑单元,还是使用专用的M4K块(当然这需要在该器件有M4K块才可以)。点下一步重要是选择速度优先还是面积优先。然后就可以点FINISH了。你的FIFO就配置完成了,你可以到.bdf文件中去调用FIFO模块,也可以在程序中实例化该模块。这样你就成功的在你的系统中应用了FIFO!!!

FPGA中FIFO的配置_第1张图片

FPGA中FIFO的配置_第2张图片

FPGA中FIFO的配置_第3张图片

FPGA中FIFO的配置_第4张图片

FPGA中FIFO的配置_第5张图片

FPGA中FIFO的配置_第6张图片

FPGA中FIFO的配置_第7张图片

设置速度与面积优化

FPGA中FIFO的配置_第8张图片

系统中应用FIFO

FPGA中FIFO的配置_第9张图片

异步FIFO工作波形图

你可能感兴趣的:(FIFO)