CN102724115B - 一种适用于片上网络系统的链路层容错电路设计 - Google Patents
一种适用于片上网络系统的链路层容错电路设计 Download PDFInfo
- Publication number
- CN102724115B CN102724115B CN201210179489.4A CN201210179489A CN102724115B CN 102724115 B CN102724115 B CN 102724115B CN 201210179489 A CN201210179489 A CN 201210179489A CN 102724115 B CN102724115 B CN 102724115B
- Authority
- CN
- China
- Prior art keywords
- data
- link
- selector
- receiving terminal
- register
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明属于集成电路设计技术领域,具体为一种适用于片上网络系统的链路层容错电路设计。该片上网络采用mesh拓扑结构,简单有效;路由算法采用XY固定路由算法,从而有效避免死锁的发生;流控采用虫孔方法,可以有效降低包的延迟时间。每个节点有东、西、南、北、本地5个方向,由数据链路接收端link_rx、输入buffer缓冲器、路由计算部件、仲裁器、交叉开关、数据链路发送端link_tx及本地节点接收lp_buf缓冲器组成。在不增加冗余连线的情况下,通过重组包/恢复包的方法进行低延迟的分离传输。通过这种方式可以提高片上网络系统的可靠性,提高链路层的利用率。本发明能够较好地应用于片上网络系统。
Description
技术领域
本发明属于集成电路设计技术领域,具体涉及到一种适用于片上网络系统的链路层容错电路设计。
背景技术
随着半导体工艺的不断发展和SoC(system-on-chip)技术的不断完善,SoC中所包含的IP核数目不断增加。基于共享总线互连机制的传统SoC通信体系结构将遇到无法逾越的障碍,主要表现在以下几方面:可扩展性差、平均通信效率低、单一时钟同步。因此,现有的SoC总线正在被NoC片上网络结构所取代。但是随着特征尺寸的越来越小,工艺偏差及材料缺陷将变得越来越明显,加上芯片使用年限,链路层的连线经常出现不可恢复的永久性失效,从而导致整个芯片失效。处理这种问题的常用方法是容错路由和冗余连线。容错路由完全丢弃失效的链路,在其他路径上重组路由数据包,这将不可避免地引起网络拥塞以及增加包的延时。冗余连线方法简单,但需要增加连线的数量。本设计提出了在不增加冗余连线的情况下对数据包进行重组,进行分离传输,提高链路层的利用率。
发明内容
本发明的目的在于提供一种适用于片上网络系统的链路层容错电路,从而提高系统的可靠性。
本发明提供的适用于片上网络系统的链路层容错电路,其基本框图如图2所示,每个节点分为东、西、南、北及本地共5个方向。东、西、南、北4个方向上,数据链路的主要部件包括:数据链路接收端link_rx、输入端buffer缓冲器 、路由计算部件rc、仲裁器、数据链路发送端link_tx;本地方向的数据链路包括:数据链路接收端link_rx、本地节点接收lp_buf(localprocessor_buffer)缓冲器、路由计算部件rc、仲裁器、数据链路发送端link_tx 。
该系统的工作过程如下:数据链路接收端link_rx接收链路的数据,存进输入端的buffer缓冲器,经过路由计算部件rc计算,确定路由方向,在输出端口各发送数据经过仲裁器仲裁,依次经mux选择器输出,通过链路发送端link_tx发送到链路中;若路由目的地为本地节点,则数据链路接收端link_rx接收链路的数据后,将此数据存入本地节点lp_buf缓冲器中。
本发明的链路层容错电路设计,在输入端及本地节点接收端引入了专门的buffer缓冲器,在链路两端引入了发送和接收电路。即数据链路接收端link_rx,发送端link_tx,输入端buffer缓冲器,本地节点lp_buf缓冲器。
很多容错设计在链路层数据连线出现永久性错误时将整个链路丢弃,将数据包进行“绕道”,不可避免地引起其它链路的拥塞,而且可能会产生死锁效应。本发明的优点是充分利用了系统链路中有效的数据连线,尽可能地提高系统链路的利用率。
附图说明
图1 数据帧头格式。
图2 片上网络系统的基本框图。
图3 接收端buffer缓冲器结构图。
图4 本地节点接收端lp_buf缓冲器结构图。
图5 接收端buffer缓冲器工作示意图。
图6 本地节点接收端lp_buf工作示意图。
图7 链路发送端/接收端结构图。
图8 链路发送端/接收端工作示意图。
具体实施方式
数据帧头格式如图1所示,[31:26]位表示数据包的长度;[26:21]和[20:15]位分别表示目的节点和源节点的yx坐标,其中高3位表示y坐标,低3位表示x坐标;[14]位为0表示正常传输,数据帧宽度为32位,[14]位为1表示分离传输,数据包重组,数据帧宽度为28位。
在使用芯片前先测试有没有链路出现失效,若无失效的话则按照确定的xy路由算法对包进行发送、接收,数据包先沿x方向传输,再沿y方向传输;若出现失效的话则将相应链路失效的标志写入路由器相应的标志寄存器中,数据包传输到此失效链路前对包进行重组。
接收端buffer缓冲器结构如图3所示,在数据宽度为32,单个链路失效连线数目小于4条的情况下,由深度为7字长为32的先入先出缓冲器FIFO、7个4位宽的D寄存器和1个2选1选择器mux组成,写入的32位数据除连接至FIFO外其低4位连接至第一个4位宽D寄存器,其寄存器输出连接至第二个D寄存器,依此类推,7个4位宽D寄存器组成的28位宽数据与从FIFO读出的32位宽数据在信号split_counter的选择下进行输出。接收数据时除了将数据缓冲进FIFO外,数据的低4位送入DFF寄存器,7个DFF寄存器按照流水的方式将数据依次往前发送,如此7个DFF寄存器将前7个数据帧的低4位保存下来,形成新的数据帧。路由节点接收到数据帧头后路由计算部件rc计算出下个链路出口,若相应的链路失效标志为1,则对数据包进行重组,将数据帧的宽度由32位减成28位,7进制计数器split_counter开始计数,计数到7时将DFF保存的前7个数据帧的低4位组成的新的7×4=28位的数据帧添加到数据包中,工作示意图如图5所示。
本地节点接收端缓冲器结构如图4所示,由深度为7字长为32的先入先出缓冲器FIFO、7个4位宽的D寄存器和8个2选1选择器mux组成。写入的32位数据除连接至FIFO外其高28位每4位为一组,每组连接至1个2选1选择器mux输入端,2选1选择器的另外一个输入端连接前一个D寄存器的输出(除第一个2选1选择器的另外一个输入端连接4比特0外),而选择器的输出连接至后一个D寄存器。在输出端FIFO读出的数据高28位直接输出,而数据低4位与最后一个D寄存器的输出连接至2选1选择器,在信号split_couter的选择下进行输出。工作情况是重组数据包工作的逆过程。有数据包到达时,检测数据帧头的第14比特,为0则正常接收,为1则表明此数据包已经过重组,数据帧的宽度为28位,每8个数据帧中,前7个存入FIFO,第8个数据帧的各比特存入相应的DFF寄存器中,然后依次将完整的数据帧读出,工作示意图如图6所示。
链路发送端和接收端结构如图7所示,链路发送端由2个2选1选择器,2个3选1选择器及26个4选1选择器组成,发送数据w_data[0]直接连接至链路data_link[0],w_data[1]和w_data[4]在控制信号t_sel_link1的选择下连接至链路data_link[1], w_data[2]、w_data[4]和w_data[5]在控制信号t_sel_link2的选择下连接至链路data_link[2],w_data[i]、w_data[i+1]、w_data[i+2]和w_data[i+3]在t_sel_linki的选择下连接至链路data_link[i](其中i>=3且i<=28), w_data[29]、w_data[30]和w_data[31]在t_sel_link29的选择下连接至data_link[29], w_data[30]和w_data[31]在t_sel_link30的选择下连接至data_link[30],w_data[31]直接连接至data_link[31]。链路接收端的结构较简单,由28个4选1mux选择器组成,接收端的低4位数据直接连接至链路低4位,接收端的其它位数据均通过4选1选择器输出,data_link[i-3]、data_link[i-2]、data_link[i-1]和data_link[i]连接至4选1选择器(其中i>=4且i<=31),在信号r_sel_linki的选择下连接数据的第i比特位。通过配置相应的mux选择端信号,在链路失效时仍然可以将数据进行传输,工作情况如图8所示。在链路完全完好时,发送端和接收端的sel控制信号为"0",链路正常工作;在数据链路29号和31号线出现失效时,发送端和接收端的w_data[31]数据的sel控制信号为"01",w_data[31]经由链路31号线传输;发送端和接收端的w_data[30]数据的sel控制信号为"10",w_data[30]经由链路28号线传输;数据w_data[29]到w_data[4]依此类推,数据帧宽度变为28位。
此容错设计在smic13_tt工艺下单个路由节点的面积约为28530个与非门,延时约为2.13ns,能够较好地满足系统要求。
Claims (3)
1.一种适用于片上网络系统的链路层容错电路,其特征在于:节点分为东、西、南、北及本地共5个方向;在东、西、南、北4个方向上,数据链路部件包括:数据链路接收端link_rx、输入端buffer缓冲器 、路由计算部件rc、仲裁器、数据链路发送端link_tx;本地方向的数据链路包括:数据链路接收端link_rx、本地节点接收lp_buf缓冲器、路由计算部件rc、仲裁器、数据链路发送端link_tx ;
其中,对于东、西、南、北4个方向上,数据链路接收端link_rx接收链路的数据,存进输入端的buffer缓冲器,经过路由计算部件rc计算,确定路由方向,在输出端口各发送数据经过仲裁器仲裁,依次经mux选择器输出,通过链路发送端link_tx发送到链路中;若路由目的地为本地节点,数据链路接收端link_rx接收链路的数据后,将此数据存入本地节点lp_buf缓冲器中;其中:
所述接收端buffer缓冲器,由深度为7字长为32的先入先出缓冲器FIFO、7个4位宽的D寄存器和1个2选1选择器mux组成;写入的32位数据除连接至FIFO外,其低4位连接至第一个4位宽D寄存器,该寄存器输出连接至第二个D寄存器,依此类推,7个4位宽的D寄存器组成的28位宽数据与从FIFO读出的32位宽数据在信号split_counter的选择下进行输出;接收数据时除了将数据缓冲进FIFO外,数据的低4位送入DFF寄存器,7个DFF寄存器按照流水的方式将数据依次往前发送,如此7个DFF寄存器将前7个数据帧的低4位保存下来,形成新的数据帧;路由节点接收到数据帧头后路由计算部件rc计算出下个链路出口,若相应的链路失效标志为1,则对数据包进行重组,将数据帧的宽度由32位减成28位,7进制计数器split_counter开始计数,计数到7时将DFF保存的前7个数据帧的低4位组成的新的7×4=28位的数据帧添加到数据包中。
2.根据权利要求1所述的适用于片上网络系统的链路层容错电路,其特征在于:所述本地节点接收端缓冲器,由深度为7字长为32的先入先出缓冲器FIFO、7个4位宽的D寄存器和8个2选1选择器mux组成;写入的32位数据除连接至FIFO外,其高28位每4位为一组,每组连接至1个2选1选择器mux输入端,2选1选择器的另外一个输入端连接前一个D寄存器的输出,除第一个2选1选择器的另外一个输入端连接4比特0外;而选该择器的输出连接至后一个D寄存器;在输出端FIFO读出的数据高28位直接输出,而数据低4位与最后一个D寄存器的输出连接至2选1选择器,在信号split_couter的选择下进行输出;工作状况,有数据包到达时,检测数据帧头的第14比特,为0则正常接收,为1则表明此数据包已经过重组,数据帧的宽度为28位,每8个数据帧中,前7个存入FIFO,第8个数据帧的各比特存入相应的DFF寄存器中,然后依次将完整的数据帧读出。
3.根据权利要求1所述的适用于片上网络系统的链路层容错电路,其特征在于:所述链路发送端和接收端结构如下:
链路发送端由2个2选1选择器,2个3选1选择器及26个4选1选择器组成;发送数据w_data[0]直接连接至链路data_link[0],w_data[1]和w_data[4]在控制信号t_sel_link1的选择下连接至链路data_link[1], w_data[2]、w_data[4]和w_data[5]在控制信号t_sel_link2的选择下连接至链路data_link[2],w_data[i]、w_data[i+1]、w_data[i+2]和w_data[i+3]在t_sel_linki的选择下连接至链路data_link[i],其中i>=3且i<=28, w_data[29]、w_data[30]和w_data[31]在t_sel_link29的选择下连接至data_link[29], w_data[30]和w_data[31]在t_sel_link30的选择下连接至data_link[30],w_data[31]直接连接至data_link[31];
链路接收端由28个4选1mux选择器组成,接收端的低4位数据直接连接至链路低4位,接收端的其它位数据均通过4选1选择器输出,data_link[i-3]、data_link[i-2]、data_link[i-1]和data_link[i]连接至4选1选择器,其中i>=4且i<=31,在信号r_sel_linki的选择下连接数据的第i比特位;通过配置相应的mux选择端信号,在链路失效时仍然可以将数据进行传输;工作情况下,在链路完全完好时,发送端和接收端的sel控制信号为"0",链路正常工作;在数据链路29号和31号线出现失效时,发送端和接收端的w_data[31]数据的sel控制信号为"01",w_data[31]经由链路31号线传输;发送端和接收端的w_data[30]数据的sel控制信号为"10",w_data[30]经由链路28号线传输;数据w_data[29]到w_data[4]依此类推,数据帧宽度变为28位。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210179489.4A CN102724115B (zh) | 2012-06-04 | 2012-06-04 | 一种适用于片上网络系统的链路层容错电路设计 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210179489.4A CN102724115B (zh) | 2012-06-04 | 2012-06-04 | 一种适用于片上网络系统的链路层容错电路设计 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102724115A CN102724115A (zh) | 2012-10-10 |
CN102724115B true CN102724115B (zh) | 2015-05-13 |
Family
ID=46949780
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210179489.4A Active CN102724115B (zh) | 2012-06-04 | 2012-06-04 | 一种适用于片上网络系统的链路层容错电路设计 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102724115B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105187313B (zh) * | 2015-09-25 | 2018-05-01 | 东北大学 | 一种片上网络拓扑结构及其自适应路由方法 |
JP6710142B2 (ja) * | 2016-10-26 | 2020-06-17 | 株式会社日立製作所 | 制御システム |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101414489A (zh) * | 2007-10-19 | 2009-04-22 | 中国科学院计算技术研究所 | 一种容错存储器及其纠错容错方法 |
-
2012
- 2012-06-04 CN CN201210179489.4A patent/CN102724115B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101414489A (zh) * | 2007-10-19 | 2009-04-22 | 中国科学院计算技术研究所 | 一种容错存储器及其纠错容错方法 |
Non-Patent Citations (1)
Title |
---|
基于FPGA的可容错片上网络设计方法;倪晋照;《万方数据》;20110920;第4.1.1,4.1.3节 * |
Also Published As
Publication number | Publication date |
---|---|
CN102724115A (zh) | 2012-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Galles | Spider: A high-speed network interconnect | |
CN109376118B (zh) | 具有片上集成网络的可编程逻辑器件 | |
CN103973482A (zh) | 具有全局通信事务管理能力的容错片上网络系统及方法 | |
CN101753388B (zh) | 适用于多核处理器片上和片间扩展的路由及接口装置 | |
CN102780637B (zh) | 空间容迟容断网络中数据传输的路由方法 | |
US20140115218A1 (en) | ASYMMETRIC MESH NoC TOPOLOGIES | |
CN100421424C (zh) | 一种基于PCI Express总线的集中式路由器 | |
CN102629912B (zh) | 面向无缓冲片上网络的容错偏转路由方法及装置 | |
CN101834789B (zh) | 面向包-电路交换片上路由器的回退转向路由算法及所用路由器 | |
CN107040326A (zh) | 百亿亿次级结构时间同步 | |
US8340112B2 (en) | Implementing enhanced link bandwidth in a headless interconnect chip | |
CN105357147B (zh) | 一种高速高可靠的片上网络适配单元 | |
CN104579951B (zh) | 片上网络中新颖的故障与拥塞模型下的容错方法 | |
CN106603420B (zh) | 一种具有实时和容错特性的片上网络路由器 | |
Murali et al. | A Method for Routing Packets Across Multiple Paths in NoCs with In‐Order Delivery and Fault‐Tolerance Gaurantees | |
CN104919763A (zh) | 通信装置、具有通信装置的路由器、总线系统以及具有总线系统的半导体电路的电路基板 | |
CN109587048A (zh) | 一种带有均衡策略的无虚通道容错路由算法 | |
CN104320341A (zh) | 路由自适应异步2D-Torus片上网络及其设计方法 | |
CN100421423C (zh) | 一种基于Serial RapidIO总线的集中式路由器 | |
CN104065570A (zh) | 异步可容错片上网络路由器设计方法 | |
CN117785783A (zh) | 宇航高可靠高速互联芯粒 | |
CN102724115B (zh) | 一种适用于片上网络系统的链路层容错电路设计 | |
CN109582622A (zh) | 基于三维Mesh片上网络的双链路互连架构 | |
Ouyang et al. | Fault-tolerant design for data efficient retransmission in WiNoC | |
CN103152275A (zh) | 一种适用于片上网络的可配置交换机制的路由器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |