主分类
A 农业
B 作业;运输
C 化学;冶金
D 纺织;造纸
E 固定建筑物
F 机械工程、照明、加热
G 物理
H 电学
专利下载VIP
公布日期
2020-11-17 公布专利
2020-11-13 公布专利
2020-11-10 公布专利
2020-11-06 公布专利
2020-11-03 公布专利
2020-10-30 公布专利
2020-10-27 公布专利
2020-10-23 公布专利
2020-10-20 公布专利
2020-10-16 公布专利
更多 »
专利权人
国家电网公司
华为技术有限公司
浙江大学
中兴通讯股份有限公司
三星电子株式会社
中国石油化工股份有限公司
清华大学
鸿海精密工业股份有限公司
松下电器产业株式会社
上海交通大学
更多 »

[发明专利]一种实现预读式FIFO的方法和预读式FIFO有效

技术领域

发明涉及存储器技术,特别涉及一种实现预读式FIFO的方法和预读式FIFO。

背景技术

在现场可编程门阵列(FPGA)设计中,先入先出寄存器(FIFO)是最常用的功能模块之一,按照对接口时序要求的不同,FIFO可以分为预读式FIFO和非预读式FIFO两种,其中,预读式FIFO能够提高后级模块的处理效率,因此在高速设计中经常使用。

预读式FIFO与非预读式FIFO的区别主要在于:预读式FIFO中,在有数据的情况下,数据已经准备在总线上,即用户在发起读请求之前数据已经有效,当用户发起读请求后,能够在当前时钟周期读出数据,而非预读式FIFO需要在下一时钟周期读出数据。其中,预读式FIFO的读时序图如图1所示,其中,rdclk为读时钟,empty为FIFO空信号,rd为用户读请求的读信号,rdata为FIFO读出的数据。从时序图可以看出,在FIFO有数据的情况下,数据已经准备在总线上;当用户发起读请求后,能够在当前时钟周期立即读出数据0,并在后续时钟周期依次读出数据1和数据2。

为了更清楚地说明预读式FIFO,参见图2所示的预读式FIFO的逻辑结构,主要包括FIFO控制器、输入寄存器和随机存储器(RAM),其中,输入寄存器和RAM同属于RAM硬核中的存储资源。FIFO控制器用于完成对读地址(rd_addr)、写地址(wr_addr)、空信号(empty)和满信号(full)的管理。FIFO控制器通过输入寄存器设置RAM的rd_addr指向当前数据的地址(非预读式FIFO中rd_addr指向读取的上一数据的地址),也就是说,当RAM内有数据时,输出FIFO控制器将RAM的读地址预先加1,将数据准备好。当接收到用户的读请求,即读信号(rd)有效时,能够立即在当前时钟周期从RAM读取当前数据,即rdata输出当前数据。

然而,在上述过程中,RAM的输出到后续用户逻辑单元在一个时钟周期内执行,这显然对RAM的逻辑时序影响较大,其中,RAM输出所带来的时延影响较为突出,特别是在诸如时钟频率较高、逻辑利用率较高或者后级组合逻辑处理复杂等对时序要求较高的场合,现有预读式FIFO往往不能满足时序要求。

发明内容

有鉴于此,本发明提供了一种实现预读式FIFO的方法和预读式FIFO,以便于使预读式FIFO更好的满足时序要求。

一种预读式先入先出寄存器FIFO,该FIFO包括FIFO控制器、输入寄存器和随机存储器RAM;还包括:输出寄存器和使能控制器,且所述输出寄存器、输入寄存器和RAM均属于RAM硬核中的存储资源;

所述使能控制器,用于确定所述RAM为非空状态且所述输出寄存器为空状态,或者接收到读请求时,使输入所述FIFO控制器的读信号有效,并使能所述输出寄存器输出数据;否则,使输入所述FIFO控制器的读信号无效,并锁存所述输出寄存器;

所述FIFO控制器,用于没有收到有效的读信号时,通过所述输入寄存器设置所述RAM的读地址指向RAM中当前待读取的数据;收到有效的读信号时,通过所述输入寄存器设置所述RAM的读地址指向RAM中下一待读取的数据;

所述RAM,用于按照读时钟和被设置的读地址,以先入先出的方式输出被写入的数据给所述输出寄存器;

所述输出寄存器,用于在被使能时,按照读时钟输出寄存的数据。

一种实现预读式FIFO的方法,在包含FIFO控制器、输入寄存器和RAM的FIFO中增设输出寄存器和使能控制器,其中,所述输出寄存器、输入寄存器和RAM均属于RAM硬核中的存储资源;

所述使能控制器确定所述RAM为非空状态且所述输出寄存器为空状态,或者接收到读请求时,使输入所述FIFO控制器的读信号有效,并使能所述输出寄存器输出数据;否则,使输出所述FIFO控制器的读信号无效,并锁存所述输出寄存器;

所述FIFO控制器在没有收到有效的读信号时,通过所述输入寄存器设置所述RAM的读地址指向RAM中当前待读取的数据;收到有效的读信号时,通过所述输入寄存器设置所述RAM的读地址指向RAM中下一待读取的数据;

所述RAM按照读时钟和被设置的读地址,以先入先出的方式输出被写入的数据给所述输出寄存器;

所述输出寄存器在被使能时,按照读时钟输出寄存的数据。

由以上技术方案可以看出,在本发明中,为了减小RAM的时延,在包含FIFO控制器、输入寄存器和RAM的FIFO中增设输出寄存器和使能控制器,其中,输出寄存器的设置使得原来由RAM输出和后续用户逻辑单元的操作构成的关键路径被打破,输出通过单独的寄存器完成,输出延迟减小,从而使预读式FIFO更好地满足时序要求,解决时序紧张的问题。另外,使能控制器在确定RAM为非空状态且输出寄存器为空状态,或者接收到读请求时,使输入FIFO控制器的读信号有效,并使能输出寄存器输出数据;否则,使输出FIFO控制器的读信号无效,并锁存输出寄存器,通过该方式,使能控制器能够保证在增加一级寄存器的基础上,仍能够保证预读方式的准确实现。并且,输出寄存器充分使用了RAM硬核中已有的寄存器资源,从而节约了FPGA的寄存器资源。

附图说明

图1为预读式FIFO的读时序图;

图2为预读式FIFO的逻辑结构示意图;

图3为本发明提供的预读式FIFO的逻辑结构示意图;

图4为输出寄存器采用的寄存器示意图;

图5为RAM和输出寄存器在RAM实例化模块中的结构示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。

图3为本发明提供的预读式FIFO的逻辑结构示意图,如图3所示,该预读式FIFO可以包括:FIFO控制器、输入寄存器、RAM、使能控制器和输出寄存器。其中,FIFO控制器、输入寄存器和RAM是现有单元,而使能控制器和输出寄存器是增设的单元。输出寄存器也是RAM硬核上已有的寄存器资源,现有技术中没有被预读式FIFO加以利用,而在本发明中采用。

其中,使能控制器,用于确定RAM为非空状态且输出寄存器为空状态,或者接收到读请求时,使输入FIFO控制器的读信号有效,并使能输出寄存器输出数据;否则,使输入FIFO控制器的读信号无效,并锁存输出寄存器。

FIFO控制器,用于没有收到有效的读信号时,通过输入寄存器设置RAM的读地址指向RAM中当前待读取的数据;收到有效的读信号时,通过输入寄存器设置RAM的读地址指向RAM中下一待读取的数据。

RAM,用于按照读时钟和被设置的读地址,以先入先出的方式输出被写入的数据给输出寄存器。

输出寄存器,用于在被使能时,按照读时钟输出寄存的数据。

在该预读式FIFO结构中,利用了RAM硬核内部寄存器资源的锁存功能,即输出寄存器的锁存功能。通常,寄存器的结构可以如图4所示,当寄存器的时钟使能(EN)端无效时,寄存器被锁存,其数据输出(Q)端保持数据不变;当寄存器的EN端有效时,寄存器被使能从Q端正常输出数据。图中的D端为数据输入端。

由于单纯增加一个输出寄存器会使得FIFO输出的数据晚一个读时钟周期,这样就无法达到预读的功能要求,为此,上述预读式FIFO中额外增加了使能控制器。使能控制器控制对输出寄存器的锁存和使能输出,主要包括以下三种情况:

当使能控制器没有收到读请求(图3中的rd),且RAM和输出寄存器都处于非空状态或都处于空状态时,使能控制器使输入FIFO控制器的读信号(图3中的rd_buf)无效,且通过时钟使能信号(图3中的oe_en)锁定输出寄存器。使得输出寄存器保持上一输出数据的状态,不输出新的数据。

当使能控制器没有读请求(图3中的rd),RAM为非空状态且输出寄存器为空状态时,使输入FIFO控制器的读信号(图3中的rd_buf)有效,并通过时钟使能信号(图3中的oe_en)使能输出寄存器输出数据。也就是说,只要RAM中有数据,就预先向输出寄存器输出数据,保证在RAM中有数据的情况下输出寄存器非空。这种情况下,如果当前待发送的数据地址为rdata0,则如果没有收到读信号且RAM中有数据,则FIFO控制器设置RAM的读地址为rdata0+1,RAM输出rdata0给输出寄存器。

当使能控制器接收到读请求时,同样使能输入FIFO控制器的读信号有效,并使能输出寄存器输出数据;FIFO控制器在读信号有效时,更新RAM的读地址为rdata0+2,RAM在当前读时钟周期输出地址为rdata0+1的数据给输出寄存器,输出寄存器在当前读时钟周期输出地址为rdata0的数据。

通过上述三种情况可见,通过使能控制器对FIFO控制器的读信号和输出寄存器的时钟使能信号的控制,可以同样完成FIFO的预读功能。

申请号: 201010001523.X 申请日: 2010-01-04
公开/公告号: CN102117193A 公开/公告日: 2011-07-06
申请/专利权人: 杭州华三通信技术有限公司
发明/设计人: 林晖
主分类号: G06F5/10
分类号: G06F5/10
搜索关键词: 一种 实现 预读式 fifo 方法
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
我不想注册,点击直接下载立即登录,下载文献升级会员,免费下载
地址: 310053 浙江省杭州市高新技术产业*** 国省代码: 浙江;33
代理公司: 北京德琦知识产权代理有限公司 11018 代理人: 谢安昆;宋志强

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州华三通信技术有限公司,未经杭州华三通信技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:https://www.vipzhuanli.com/patent/201010001523.X/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

400-8765-105周一至周五 9:00-18:00

tel code back_top