[发明专利]FPGA片间互连的Crossbar交换单元设计方法有效
申请号: | 201910584573.6 | 申请日: | 2019-07-01 |
公开(公告)号: | CN110290074B | 公开(公告)日: | 2022-04-19 |
发明(设计)人: | 邱智亮;李熙华;张式琪;张沁;潘伟涛;高宇飞;董勐 | 申请(专利权)人: | 西安电子科技大学 |
主分类号: | H04L47/50 | 分类号: | H04L47/50;H04L47/6275 |
代理公司: | 陕西电子工业专利中心 61205 | 代理人: | 王品华 |
地址: | 710071 陕*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | fpga 互连 crossbar 交换 单元 设计 方法 | ||
1.一种FPGA片间互连的Crossbar交换单元设计方法,其特征在于,包括如下:
(1)确定数据帧要去往的交叉节点位置:
(1a)根据公平轮询调度算法轮询4个输出端口,选择状态指示为1的输出端口;具体是先设当前输出端口号为n,下次再从输出端口号为n+1的输出端口开始轮询,输出端口号依次加1,当输出端口号加到4时,将输出端口号值赋为1,以此循环,直到从中找到一个状态指示为1的输出端口;
(1b)根据绝对优先级调度算法轮询所选输出端口下包含的8个优先级队列,从中选择一个非空队列;具体是每次都从优先级为7的队列开始轮询,优先级依次减1,当优先级减到0时,将优先级值赋为7,以此循环,直到从中找到一个非空队列;
(1c)判断非空队列对应的交叉节点缓存是否空闲:若空闲,则出队调度成功,并将调度信息写入对应优先级的出队调度信息FIFO中;否则,等待直到该节点空闲;
(1d)根据绝对优先级调度算法轮询8个优先级的出队调度信息FIFO,从中选择一个非空出队调度信息FIFO,对其进行读取并解析,获得目的端口号;
(1e)根据目的端口号,确定数据帧要去往的交叉节点的位置:
若目的端口号为1、2中的任意一个,则数据帧要去往的交叉节点在第一个FPGA中;
若目的端口号为3、4中的任意一个,则数据帧要去往的交叉节点在第二个FPGA中;
(2)获取要添加的6个帧信息参数:单/多播标志位、优先级、帧长、交叉节点比特码表、总线比特码表参数、输出端口比特码表;
(3)对数据帧添加获取的6个帧信息参数:
(3a)设交换单元基于两个FPGA芯片,共4个端口,每个FPGA芯片都包括一个用于添加帧信息的内帧成帧模块及一个用于解析帧信息的内帧拆帧模块;
(3b)建立端口与总线的对应关系:
设置4条总线用来传输数据,将端口号为1的端口数据用第一条总线传输,将端口号为2的端口数据用第二条总线传输,将端口号为3的端口数据用第三条总线上进行传输,将端口号为4的端口数据用第四条总线传输;
(3c)将从端口进来要去往另一个FPGA交叉节点的数据帧送至芯片上的内帧成帧模块,内帧成帧模块在该数据帧前添加(2)获取的6个帧信息参数,生成新的数据帧;
(4)将新的数据帧送至另一个FPGA由另一个FPGA上的内帧拆帧模块解析帧头信息,获取(3)添加的6个帧信息参数;
(5)根据(4)中获取的6个帧信息参数中的总线比特码表参数,确定数据帧对应的总线,即将总线比特码表参数中为1的比特位确定为数据帧对应的总线;
(6)根据(4)中获取的6个帧信息参数中的交叉节点比特码表参数,确定数据帧对应的交叉节点,即将比特码表参数中为1的比特位确定为数据帧对应的交叉节点,并将数据帧搬移至(5)所确定总线上的对应交叉节点;
(7)根据(4)中获取的6个帧信息参数中的输出端口比特码表参数,确定数据帧对应的输出端口,即将输出端口比特码表参数中为1的比特位确定为数据帧对应的输出端口,并将交叉节点处的数据帧搬移至对应输出端口。
2.根据权利要求1所述的方法,其特征在于,(1d)中根据绝对优先级调度算法轮询8个优先级的出队调度信息FIFO,是每次都从优先级为7的出队调度信息FIFO开始轮询,优先级依次减1,当优先级减到0时,将优先级值赋为7,以此循环,直到从中找到一个非空的出队调度信息FIFO。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910584573.6/1.html,转载请声明来源钻瓜专利网。