[发明专利]一种可配置FIFO深度的装置及方法在审
| 申请号: | 202111189599.4 | 申请日: | 2021-10-13 |
| 公开(公告)号: | CN113821191A | 公开(公告)日: | 2021-12-21 |
| 发明(设计)人: | 朱修利 | 申请(专利权)人: | 芯河半导体科技(无锡)有限公司 |
| 主分类号: | G06F5/10 | 分类号: | G06F5/10;G06F12/06 |
| 代理公司: | 北京神州信德知识产权代理事务所(普通合伙) 11814 | 代理人: | 朱俊杰 |
| 地址: | 214135 江苏省无锡市新吴区菱*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 配置 fifo 深度 装置 方法 | ||
1.一种可配置FIFO深度的装置,其特征在于:RAM划分成若干个block块,用0~N-1标记每个block,并建立一个初始链表;每路FIFO通过链表调度装置(1)共享RAM,多路FIF O中实际使用的FIFO平分RAM。
2.根据权利要求1所述的一种可配置FIFO深度的装置,其特征在于:链表调度装置(1)包括分发MUX模块,空闲头指针和空闲尾指针;空闲头指针指向block0,空闲尾指针指向blockN-1。
3.根据权利要求1所述的一种可配置FIFO深度的装置,其特征在于:FIFO包括FIFO控制子系统;其维护一个FIFO头指针寄存器和FIFO尾指针寄存器;FIFO头指针寄存器记录FIFO的当前读地址寄存器,FIFO尾指针寄存器记录FIFO的当前写地址寄存器。
4.一种可配置FIFO深度的方法,其特征在于:包括如下步骤:
1)根据RAM空间的大小,按照32字节或64字节把RAM空间划分成若干等份,用0~N-1标记每个block,并建立一个初始链表,空闲头指针设置为0,空闲尾指针设置为N-1,标记RAM中每个block的链表值供多路FIFO申请使用;
2)链表调度装置(1)接收多路FIFO的其中一路FIFO读RAM和其中一路FIFO写RAM操作,经过分发MUX模块,向RAM发起读和写;
3)FIFO控制子系统给每路FIFO分配可使用RAM份数上限阈值,当某路FIFO写入的数据量超过上限阈值时,向前一级调度模块反压,告知调度模块不要再转发数据过来,当前FIFO将满;FIFO控制子系统维护该路FIFO自己的头指针和尾指针,链表的头指针作为FIFO读地址,链表的尾指针作为FIFO的写地址,当写的数据超过一个块block大小后,新申请一个空闲头链表,即新的block块,当读完一个RAM份数,则回收该block对应的标记号到链表尾部;
4)每路FIFO控制子系统记录已写入FIFO的block次数,当写次数超过可读阈值时,告知下一级出口输出模块可读。
5.根据权利要求4所述的一种可配置FIFO深度的方法,其特征在于:当有数据写请求时,若是第一次写,则用链表调度装置(1)送来的空闲头指针更新到该路FIFO控制子系统的头指针寄存器和FIFO尾指针寄存器;若之前已有写入,则把FIFO尾指针寄存器作为写地址,空闲头指针作为数据,写入到链表调度装置(1),完成该路FIFO的建链过程;链表调度装置(1)在更新链表同时,接收该路FIFO控制子系统发来的写指令,经过分发MUX模块把报文数据写入到RAM对应的block缓存中;FIFO控制子系统记录写入FIFO中的次数,当达到一定可读阈值时告知下级模块,当前FIFO数据可以读。
6.根据权利要求5所述的一种可配置FIFO深度的方法,其特征在于:当每路FIFO存入一定数据量阈值时,告知下级出口模块,已存入一定数据,下级模块可以读一定burst数量的数据;下一级出口模块发起读数据请求,该装置的FIFO控制子系统根据FIFO内部维护的头指针寄存器向链表调度装置(1)发起RAM的block数据读取;链表调度装置(1)接收该路FIFO控制子系统发来的读指令,经过分发MUX模块向RAM特定block发起读;当该路FIFO的读地址是block块的最后一次,则把该block指向的下一个block地址更新到该路FIFO的头指针寄存器,并通过本链表调度装置(1)维护的空闲尾指针回收该blcok对应的标记号,更新空闲尾指针为该block的标记号。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于芯河半导体科技(无锡)有限公司,未经芯河半导体科技(无锡)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111189599.4/1.html,转载请声明来源钻瓜专利网。





