异步FIFO的设计.docx

上传人:安*** 文档编号:17856121 上传时间:2022-05-26 格式:DOCX 页数:5 大小:17.62KB
返回 下载 相关 举报
异步FIFO的设计.docx_第1页
第1页 / 共5页
异步FIFO的设计.docx_第2页
第2页 / 共5页
点击查看更多>>
资源描述

《异步FIFO的设计.docx》由会员分享,可在线阅读,更多相关《异步FIFO的设计.docx(5页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、异步FIFO的设计(电子器件杂志)2014年第三期1FIFO状态判定设计11写、读指针的产生经过在FIFO的工作经过中,数据的写入和读出是按顺序进行的,一旦给其上电,写读指针都指向第1个存储单元,每当收到写读指令时,写读指针都加1,当写读指针指向存储器最后一个单元时,写读指针又回到初始位置,构成环形地址5。由于在写入前一个数据的同时要对下一个数据进行预充电,所以,在写入第1个数据时是不需要预充电的,这样写计数器输出的写地址指针要从0开场计数,在写时钟处于低电平期间进行数据写入,在写时钟上升沿时发生跳变,而读地址指针则是从1开场计数的,在读时钟的上升沿发生跳变。本设计的FIFO容量为1MB(Mb

2、yte),因而地址指针有20bit。FIFO的工作原理如下:刚开场时,FIFO是处于复位(ESET)状态的,读写地址都相等且为0,FIFO处于空状态,读信号被阻塞,只能进行写操作,每进行一次,写指针就递增1。在对FIFO进行最后一次写操作时,写指针的值由19回到0,此时读写地址指针又相等,FIFO处于满状态。此后写信号被阻塞,只能进行读操作,同理,每进行一次,读指针就递增1,直到读指针再次回到0,此时FIFO再次回到空状态。综上所述,FIFO的空满状态都是在读、写地址指针相等时才会出现,于是判定空满状态的问题就归结于怎样在读、写地址指针相等时,判定出FIFO是处于空状态还是满状态。传统的方法是

3、直接将读、写指针通过一个减法器进行运算,将运算结果与一个预设值进行比拟:若(读指针地址写地址指针=预设值)时,为满状态,相反为空状态。此法存在两个弊端。首先,采用减法器这样复杂的运算逻辑会降低FIFO的运行效率。其次,由于运算结果是和一个预设值进行比拟,会产生一个相对误差,其准确性也会降低。本设计采用为写读地址指针分别附加一位的方法来判定FIFO的状态,当写读指针遍历一次存储器地址时,则增加的这一位改其“0,“1状态,通过判定写、读指针该改变位能否相等,进而正确判定空满状态。即写逻辑产生WP,WE,WF三组指针,读逻辑产生P,E,F三组指针,如图2所示6。这里先给出结论:WF要比WP提早一个写

4、时钟周期,WE要比WF延迟半个周期,其波形示意如图3;F要比P提早半个读时钟周期,E要比P提早一个读时钟周期。其波形示意图如图4。12空满状态判定当WE20:0=E20:0时,存储器处于空状态,EF低电平有效,空状态比拟逻辑图如图5所示7。图5中,将经过寄存器输出的信号WET组地址指针和经过写地址产生模块输出的E组地址指针进行比拟。这个寄存器是由写时钟W_clk控制的,高电平有效,主要起到同步信号的作用,减少亚稳态出现的概率8。空标志EF的寄存器由读时钟_clk控制,低电平有效,当开场向存储器最后一个空间内读出数据时,那么在读时钟的下降沿触发时,空标志EF降为低电平。此后对存储器进行写入操作,

5、即在写时钟的上升沿触发时,空标志EF再次升为高电平。另外,为了避免读时钟W_clk的高电安然平静_clk的低电平同时到来的情况,EF寄存器的置位端由写时钟和其延迟后的信号产生的窄脉冲来控制9。由于EF寄存器在读时钟为低电平常将数据输出,所以E指针在读时钟的下降沿不能发生跳变,而只能在上升沿跳变,因而得出结论E比P提早一个周期。当WF19:0=F19:0,但WF20F20,即增添的附加位不相等时,存储器处于满状态,满状态比拟逻辑图如图6所示。同理,将经过寄存器输出的信号FT组地址指针和经过写地址产生模块输出的WF组地址指针进行比拟。当开场向存储器最后一个空间内写入数据时,那么在写时钟的下降沿触发

6、时,满标志FF降为低电平。此后对存储器进行读操作,即在读时钟的上升沿触发时,满标志FF再次升为高电平。由于FF寄存器在写时钟为低电平常将数据输出,所以WF指针在写时钟的下降沿不能发生跳变,而只能在上升沿跳变,因而,WF要比WP提早1个周期。如图7和图8所示为使用Verilog仿真得到的写操作经过波形图,在写时钟W_clk的某个下降沿来临时,满状态出现,此时FF变为低电平。2转发功能FIFO的转发能力是指当FIFO从一个系统接入另一个系统时,不管当前的读地址指针处于什么位置,第2个系统都能够将FIFO存储器中的数据重新读取。这样,FIFO中存入的数据能够被屡次读出。如图9所示,读地址指针T处于低

7、电平常有效,在读时钟上升沿到来时,系统重新读出存储数据。3测试结果分析芯片容量为1MB(Mbyte),数据宽度为18bit,经018mCMOS工艺流片。如表1所示,在电源电压为5V的情况下,使用J750测试系统对芯片进行测试,输出的最高电压为28V,输出的电流为20mA左右。根据测试结果,支持异步读写及转发功能,读写速度超过160MHz,其转发功能测试,状态标志位功能测试均可到达100MHz,且状态判定准确。4结束语本设计采用分别为读、写地址增添一位地址的方法,使得读写逻辑分别输出三组地址,这与原先最直接的做法相比,明显提高了FIFO的速度,提高了状态判定的准确性。转发功能的实现使得FIFO在一些特定的环境下具有很好的使用价值。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 考试试题 > 升学试题

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com