发明名称 一种基于二维网格片上网络的双接入结构
摘要 本发明公开了一种基于二维网格的片上网络的双接入结构,其特征是:任意一个路由节点可以连接两个资源节点,任意一个路由节点可以同时传输两路数据到达与其相连接的两个资源节点,同时任意一个资源节连接两个路由节点,可以同时通过两个路由节点传输两路数据至片上网络,这两路数据通过片上网路中的路由节点最终传输至目的资源节点。本发明能让每个资源节点同时接收或发送两路数据,大幅度提升片上网络吞吐量,减少资源节点间数据传输时间,同时使得每个资源节点可以在流模式下进行双目运算,减少资源节点的运算时间,达到提高片上资源节点运算效率的目的。
申请公布号 CN104486221A 申请公布日期 2015.04.01
申请号 CN201410768220.9 申请日期 2014.12.12
申请人 合肥工业大学 发明人 张多利;李世元;宋宇鲲;杜高明
分类号 H04L12/725(2013.01)I 主分类号 H04L12/725(2013.01)I
代理机构 安徽省合肥新安专利代理有限责任公司 34101 代理人 陆丽莉;何梅生
主权项 一种基于二维网格的片上网络的双接入结构,其特征是,所述片上网络包括:若干个路由节点、若干个资源节点和若干条路由通道;任意一个资源节点能通过所述路由通道连接在两个相邻的路由节点上,一个路由节点能通过所述路由通道同时与两个不同的资源节点相连;任意两个相邻的路由节点通过所述路由通道相邻接;由所述邻接的路由节点形成二维网格;并在每个路由节点上挂接第一资源节点和第二资源节点,且所述资源节点所连接的两个路由节点在同一维度上;以所述二维网格任一顶点上的路由节点为原点O,与所述顶点上的路由节点相通连的两条路由通道分别X轴和Y轴,建立坐标系OXY;并以X轴的正方向为E方向,以X轴的负方向为W方向,以Y轴的正方向为N方向,以Y轴的负方向为S方向;当任意两个路由节点进行通信时,定义发送路由包的资源节点为请求方节点,接收所述路由包的资源节点为目的方节点;所述路由包沿着所经过的路由节点的顺序,定义所经过的任意一个路由节点均是以上一个路由节点为上游节点,以下一个路由节点为下游节点的当前路由节点;所述路由节点的组成包括:输入状态机模块,优先级编码器模块,地址译码器模块,仲裁器模块,交叉开关模块和输出状态机模块;所述输入状态机模块包括地址寄存器;所述输入状态机模块的工作状态包括:空闲状态IDLE、请求状态REQ、半锁定状态PRELOCK、锁定状态LOCK和失败状态FAIL;所述输入状态机的初始状态为所述空闲状态IDLE;当请求方节点向目的方节点发送路由请求时,所述路由请求包括请求路由stb信号,数据Pcc_data信号和数据有效Fwd信号,并通过所述数据Pcc_data信号发送包含目的地址(x,y)的路由包;所述路由请求依次经过连接所述请求方节点和目的方节点的各路由节点;若在所述路由通道上所经过的当前路由节点的输入状态机接收到上游节点发送的请求路由stb信号为高电平,则所述当前路由节点的输入状态机模块的工作状态由初始的空闲状态IDLE变为请求状态REQ并将所述路由包中包含的目的地址(x,y)存入所述地址寄存器中;在请求状态REQ下,所述输入状态机模块向所述优先级编码器模块转发请求路由stb信号;并将所述目的地址(x,y)发送给所述地址译码器模块;若所述当前路由节点的输入状态机模块接收到所述仲裁器模块返回的无法分配Deny信号,则所述输入状态机模块的工作状态由请求状态REQ变为失败状态FAIL并向上游节点的输出状态机模块发送路由失败Fail信号;所述上游节点接收到所述路由失败fail信号后将所述请求路由stb信号变为低电平,从而取消路由请求,所述当前路由节点的输入状态机由失败状态FAIL变为空闲状态IDLE;若所述当前路由节点的输入状态机模块接收到所述当前路由节点的仲裁器模块返回的已分配Grant信号,则所述当前路由节点的输入状态机模块的工作状态由请求状态REQ变为半锁定状态PRELOCK并等待下游节点返回的路由成功Pack信号;若所述当前路由节点的输入状态机模块接收到当前路由节点的交叉开关模块返回的路由成功Pack信号;则所述当前路由节点的输入状态机模块的工作状态由半锁定状态PRELOCK变为锁定状态LOCK并向上游节点转发所述路由成功Pack信号;所述上游节点接收并依次传递所述路由成功Pack信至请求方节点,由此建立一条通过各路由节点连接所述请求方节点和目的方节点的通讯链路,当所述请求方接收到所述路由成功Pack信号后,将所述数据有效Fwd信号变为高电平,并利用所述数据Pcc_data信号通过所述通讯链路将数据包发送至目的方节点;所述目的方节点接收完所述数据包后,通过所述通讯链路返回取消链路Cancel信号至请求方节点;所述当前路由节点通过自身的输出状态机模块接收到所述取消链路Cancel信号时,所述当前路由节点的输入状态机模块的工作状态由锁定状态LOCK变为空闲状态IDLE;所述请求方节点接收到所述取消链路Cancel信号后,将所述请求路由stb信号变为低电平以及数据有效Fwd信号变为低电平,从而取消所述通讯链路;所述当前路由节点的优先级编码器接收上游节点的路由请求以及与所述当前路由节点相连的第一资源节点和第二资源节点的路由请求时,则根据所定义的优先级顺序获得路由权,所述优先级顺序为:定义第一资源节点没有优先级,则所述第一资源节点在请求时能立即获得路由权,定义第二资源节点的优先级高于上游节点,且所述上游节点的优先级不同;所述路由权以六位的选择select信号表示,并通过所述优先级编码器传输至所述当前路由节点的地址译码器模块;所述六位选择select信号的每一位通过“1”和“0”分别表示所述上游节点的路由请求和资源节点的路由请求是否获得路由权;所述当前路由节点的地址译码器模块包含第一地址和第二地址、有优先级译码模块和无优先级译码模块;所述第一地址和第二地址分别为与所述当前路由节点相连的第一资源节点的位置坐标(x1,y1)和第二资源节点的位置坐标(x2,y2);所述第一资源节点相对于所述当前路由节点的方向为L1方向,所述第二资源节点相对于所述当前路由方向为L2方向;所述地址译码器模块将所接收的选择select信号转发至所述当前路由节点的仲裁器模块,当选择select信号中表示所述第二资源节点的路由请求或上游节点的路由请求获得路由权时,则所述有优先级地址译码器模块寄存所述第二资源节点的路由包中的目的地址(x,y)或上游节点的路由包中的目的地址(x,y)并对所述目的地址(x,y)进行译码,获得的译码结果以六位的有优先级目的方向Dest1信号表示并传递给所述当前路由节点的仲裁器模块进行仲裁;当选择select信号中表示所述第一资源节点的路由请求获得路有权时,则所述无优先级地址译码器模块寄存所述第一资源节点的路由包中的目的地址(x,y)并对所述目的地址进行译码,获得的译码结果以六位的无优先级目的方向Dest2信号表示并传递给所述当前路由节点的仲裁器模块进行仲裁;所述六位的有优先级目的方向Dest1信号和六位的无优先级目的方向Dest2信号的每一位分别表示目的地址相对于所述当前路由节点为L1方向、L2方向、E方向、N方向、W方向和S方向;所述地址译码器模块根据所述第一地址的位置坐标(x1,y1)和第二地址的位置坐标(x2,y2)对目的地址(x,y)根据情况一或情况二进行译码;所述当前路由节点的仲裁器模块接收所述选择select信号、有优先级目的方向Dest1信号和无优先级目的方向Dest2信号;并根据XY优先级顺序对目标地址进行路由通道分配,分配的结果用36位的连接connection信号表示;所述连接connection信号以每隔六位分别表示目的地址(X,Y)相对所述当前路由节点的方向为L1方向、L2方向、E方向、N方向、W方向和S方向;所述每隔六位中的每一位表示上游节点和第一资源节点和第二资源节点相对于所述当前路由节点的方向为L1方向、L2方向、E方向、N方向、W方向和S方向;当所述连接connection信号有一位变为高电平,则表示变为高电平的一位所代表方向上的路由通道被占据,并以六位的占据occupied信号表示;所述六位占据occupied信号的每一位通过“1”和“0”分别表示所述目的地址(X,Y)相对于所述当前路由节点方向的路由通道是否被占据;所述当前路由节点的仲裁器模块将所述占据occupied信号传递给所述当前路由节点的输出状态机模块;当所述路由通道分配结束后,所述当前路由节点的仲裁器模块将所述连接connection信号传输至所述当前路由节点的交叉开关模块,并将所述占据occupied信号送入所述当前路由节点的输出状态机模块;所述当前路由节点的仲裁器模块在进行路由通道分配前,将所述选择select信号通过一级缓存获得仲裁选择select_r信号,所述选择select信号表示所述当前路由节点的仲裁器模块在进行路由通道分配时的路由权,所述仲裁选择select_r表示所述当前路由节点的仲裁器模块在进行上一次路由通道分配时的路由权;若所述选择select信号中表示所述第一资源节点的当前路由权与所述仲裁选择select_r信号中表示第一资源节点的上一次路由权不同时,用无优先级路由权变化select_change0信号表示;若所述选择select信号中表示第二资源节点或上游节点的当前路由权与所述仲裁选择select_r信号中表示第二资源节或上游节点的上一次路由权不同时,用有优先级路由权变化select_change1信号表示;若所述无优先级路由权变化select_change0信号和所述有优先级路由权变化select_change1信号同时变为高电平时,则用路由权同时变化select_change2信号表示;所述仲裁器模块根据所述无优先级路由权变化select_change0信号、有优先级路由权变化select_change1信号和路由权同时变化select_change2信号,对获得路有权的上游节点或资源节点的请求按方式a或方式b进行路由通道的分配;用6位的已分配grant信号和未分配deny信号表示是否分配了通道,所述已分配grant信号和未分配deny信号中每一位对应所述当前路由节点上游节点和资源节点的方向;通道分配结束后向被授权仲裁且成功分配通道的请求方向的输入状态机反馈已分配grant信号,向被授权仲裁但没有分配通道的请求方向的输入状态机反馈未分配deny信号;如果所述仲裁器模块接受到下游节点返回的失败fail信号或者取消cancel信号,则将所述connection信号中代表所述下游节点方向的6位信号全部拉低;同时接受到失败fail信号时,根据connection信号向上游节点和资源节点返回deny信号;所述交叉开关模块包含3个的交叉开关分别为交叉开关0,交叉开关1,交叉开关2,所述3个交叉开关均接6个所述输入状态机模块和6个所述输出状态机,所述交叉开关0根据所述connection信号将6个所述输入状态机模块各自的数据Pcc_data信号传输至6个所述输出状态机模块;所述交叉开关1根据所述connection信号将6个所述输入状态机模块各自的数据有效fwd信号传输至6个所述输出状态机模块;所述交叉开关2根据所述connection信号将6个所述输出状态机模块各自的路由成功Pack信号和取消链路Cancel信号传输至6个所述输入状态机模块;所述输出状态机模块的工作状态包括:空闲态IDLE,锁定态LOCK;所述输出状态机的初始状态为所述空闲态IDLE;当所述输出状态机模块所对应的所述占据occupied信号被拉高时,表示所述输出状态机已经被分配为一个路由请求的输出端口,所述输出状态机模块的工作状态由初始的空闲态IDLE变为锁定态LOCK;当所述输出状态机模块的工作状态为锁定态LOCK时,则拉高请求路由stb信号;同时将所述交叉开关模块传输过来的数据Pcc_data信号和数据有效fwd信号传输至与其相连接的下游节点或第一资源节点或第二资源节点的输入状态机模块;所述输出状态机接收到下游节点的输入状态机模块传输的取消链路Cancel信号或路由失败Fail信号时,工作状态由锁定态LOCK变为空闲态IDLE;并将下游节点的输入状态机返回的路由成功pack信号和取消链路Cancel信号传输至所述交叉开关模块;所述输出状态机模块还将下游节点返回的取消链路Cancel信号和路由失败Fail信号传输至所述仲裁器模块用于释放通讯链路。
地址 230009 安徽省合肥市包河区屯溪路193号