[发明专利]一种基于FPGA的网络节点内数据缓冲的组织方法有效
| 申请号: | 201510887894.5 | 申请日: | 2015-12-07 |
| 公开(公告)号: | CN105512090B | 公开(公告)日: | 2018-09-21 |
| 发明(设计)人: | 蒲恺;李大鹏;李玉发;田园;季雷;武华 | 申请(专利权)人: | 中国航空工业集团公司西安航空计算技术研究所 |
| 主分类号: | G06F15/78 | 分类号: | G06F15/78 |
| 代理公司: | 西安智邦专利商标代理有限公司 61211 | 代理人: | 苏蓓 |
| 地址: | 710065 *** | 国省代码: | 陕西;61 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | 本发明提出了基于FPGA的网络节点内数据缓冲的组织方法,通过将单个数据缓冲分割为两部分,一部分完全利用BRAM,不浪费存储资源,而另一部分通过组合后,可以将存储资源的浪费降到最低,相比于每个缓冲单独使用BRAM,该方法不仅可以保持使用的便利性,而且可以减少存储资源的浪费,降低功耗,尤其在缓冲数量较多时效果非常明显,通过组合使用存储资源来匹配任意大小的数据缓冲,从而达到减少存储资源浪费和降低器件功耗的目的。 | ||
| 搜索关键词: | 一种 基于 fpga 网络 节点 数据 缓冲 组织 方法 | ||
【主权项】:
1.一种基于FPGA的网络节点内数据缓冲的组织方法,其特征在于:包括以下步骤:1)将数据缓冲单元划分为第一缓冲和第二缓冲两部分,第一缓冲的大小为a1;a1是2的整数幂,并能被B整除且不大于A;其中,B为单个BRAM的大小,A为需求数据缓冲单元的大小;2)确定单个BRAM能够实现的第一缓冲的个数b,b等于 B除以a1;3)确定用于实现第一缓冲的BRAM1的数量M,M等于 K除以b,K为需求数据缓冲单元的数量;4)确定用于实现第二缓冲的BRAM2的数量N;N 等于 ((A‑a1) 乘以 K) 除以 B 后向上取整的值;5)确定第二缓冲的大小a2;a2等于N乘以B后再除以K,K为需求数据缓冲单元的数量;6)译码单元将外部访问地址分解为数据缓冲单元序号和数据缓冲单元地址,数据缓冲单元序号表示该次访问命中第几个数据缓冲单元,数据缓冲单元地址表示命中数据缓冲单元中的哪个地址;7)译码单元根据数据缓冲单元地址判断访问的是第一缓冲还是第二缓冲,若数据缓冲单元地址小于a1,则访问第一缓冲,否则访问第二缓冲;8)若访问第一缓冲,译码单元将数据缓冲单元序号除以b、并对结果进行下取整,确定出命中的BRAM1序号,并向该BRAM1产生相应的读使能或写使能信号;确定新数据缓冲单元序号和新数据缓冲单元地址;新数据缓冲单元序号等于数据缓冲单元序号减去b的差值乘以命中的BRAM1序号;新数据缓冲单元地址等于数据缓冲单元地址的低X位,X等于以2为底的a1的对数;若访问第二缓冲,译码单元将数据缓冲单元序号除以c、并对结果进行下取整,确定出命中的BRAM2序号,并向该BRAM2产生相应的读使能或写使能信号;其中,c为单个BRAM2包含的第二缓冲数量,c等于B除以a2;确定新数据缓冲单元序号和新数据缓冲单元地址;新数据缓冲单元序号等于数据缓冲单元序号减去a2的差值乘以命中的BRAM2序号;新数据缓冲地址等于数据缓冲单元地址减去a1后的值的低Y位,Y等于以2为底的a3的对数;9)将确定的新数据缓冲单元序号和新数据缓冲单元地址组成内部访问地址,并将该内部访问地址送入命中的BRAM1或BRAM2;10)将外部的数据信号与命中的BRAM1或BRAM2的数据信号连接。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国航空工业集团公司西安航空计算技术研究所,未经中国航空工业集团公司西安航空计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201510887894.5/,转载请声明来源钻瓜专利网。





