[发明专利]用于写入任意字节数据的FIFO的写入数据处理装置有效
申请号: | 201110288030.3 | 申请日: | 2011-09-26 |
公开(公告)号: | CN102508631A | 公开(公告)日: | 2012-06-20 |
发明(设计)人: | 王瑶宝 | 申请(专利权)人: | 福建星网锐捷网络有限公司 |
主分类号: | G06F5/01 | 分类号: | G06F5/01 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 刘芳 |
地址: | 350002 福建省福州市仓*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 写入 任意 字节 数据 fifo 数据处理 装置 | ||
技术领域
本发明涉及数据存储技术,尤其涉及一种用于写入任意字节数据的先进先出(First Input First Output,FIFO)的写入数据处理装置、用于写入任意字节数据的FIFO的写入数据处理方法、从FIFO读出任意字节数据的读数据处理装置及方法。
背景技术
先入先出(First Input First Output,FIFO)是一种先进先出的数据缓存器,主要接口有写数据(wr_data),写使能(wr_en),读数据(rd_data),读使能(rd_en),FIFO的存储状况(data_cnt)即空满标志。FIFO与普通存储器的区别是没有外部读写地址线。数据都是顺序写入FIFO,从FIFO顺序地读出数据。
进出FIFO的数据位宽可变,如A时刻,一个时钟可以向FIFO写入8个字节,B时刻可以向FIFO中写入1个字节。同样,在输出接口,C时刻一个时钟可以读2个字节,D时刻可以读8个字节等。
对于某些应用领域,如在FPGA(Field Programmable Gate Array,现场可编程门阵列)操作PCIE中,由于跨4K边界和非4字节对齐,及外设部件互连标准扩展(Peripheral Component Interconnect Express,PCIE)上事务层包(Transaction Lay Packet,TLP)帧的帧长限制,会出现一个整帧数据由很多完成帧组成,且非最后的完成帧也会出现长度非8字节对齐,这样如果采用一个标准的FIFO(即8字节同时存,8字节同时取),就会导致帧中间有气泡。同样,FPGA向PCIE送数据,由于地址的跨4k边界,地址的非4字节对齐等,会导致每次从FIFO中取出的数据为非8字节整数长度数据,若采用标准FIFO,会多读数据,只有做一系列复杂的处理,才能保证数据的不丢失。其中,FPGA是一种集成度很高的新型高性能可编程芯片,其内部电路功能是可编程的(Programmable),可以通过硬件描述语言(HardwareDescription Language,HDL)和专用设计工具,在其内部灵活地实现极其复杂的电路功能,适用于高速、高密度的高端数字逻辑电路设计领域。
现有针对PCIE上帧中间有气泡或是取任意字节长度的问题,采用的解决方法是采用多个标准9位宽FIFO,每个FIFO存储64位总线的一个字节,根据数据的有效状况和需要读取的字节数,将输入总线和输出总线在FIFO间灵活的映射。但是,这种方法导致FPGA内部RAM资源的损耗较大。
发明内容
本发明提出一种用于写入任意字节数据的FIFO的写入数据处理装置、用于写入任意字节数据的FIFO的写入数据处理方法、从FIFO读出任意字节数据的读数据处理装置及方法,以在避免FIFO存储的数据帧中有气泡的同时,降低内部RAM资源的损耗。
本发明提供了一种用于写入任意字节数据的先进先出FIFO的写入数据处理装置,包括:
写入数据引脚,用于接收待写入数据;
数据有效标识引脚,用于接收用于标识所述写入数据引脚接收的待写入数据有效的有效标识;
有效字节数引脚,用于接收所述写入数据引脚接收的待写入数据的有效字节数;
加法器,第一输入端与所述有效字节数引脚相连;
第一延迟寄存器,输入端与所述加法器的输出端相连;
残余字节数存储器,输入端与所述第一延迟寄存器输出端的低p位相连,输出端与所述加法器的第二输入端相连,p为自然数;
移位模块,控制端与所述残余字节数存储器的输出端相连,输入端与所述写入数据引脚相连,用于在所述残余字节数存储器中存储的残余字节数的控制下,将当前时钟下所述写入数据引脚接收的待写入数据中从最低位开始的n个有效字节移位到残余寄存器中,n等于q减去在所述残余字节数存储器中存储的残余字节数,q=2p;
所述残余寄存器,输入端与所述移位模块的输出端相连;
拼接模块,第一输入端与所述写入数据引脚相连,第二输入端与所述残余寄存器的输出端相连,控制端与所述残余字节数存储器的输出端相连,用于在所述残余字节数存储器中存储的残余字节数的控制下,将所述写入数据引脚接收的当前数据的最高位开始的有效字节移位到所述残余寄存器存储的上一时钟数据拼接后残余的有效字节后续的低位部分,拼接为一个至少q字节的数据,并将所述拼接得到的数据与拼接得到的数据的有效字节数绑定写入FIFO;
与门,第一输入端与所述数据有效标识引脚反相相连,第二输入端与所述残余字节数存储器的输出端相连;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建星网锐捷网络有限公司,未经福建星网锐捷网络有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110288030.3/2.html,转载请声明来源钻瓜专利网。