应用混合路由算法实现片上网络知识产权保护的方法转让专利

申请号 : CN201310596077.5

文献号 : CN103593589B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘强冀文青

申请人 : 天津大学

摘要 :

本发明公开了一种应用混合路由算法实现片上网络知识产权保护的方法,可以应用于片上网络、片上系统的知识产权保护。该混合路由算法由两种具有不同数据传输路径的路由算法组成,可以将其中一种选定为工作路由算法,另外一种选定为验证路由算法,两种路由算法可以实现同时工作。网络上有两种数据包:工作包、验证包。数据包可以记录路径信息。工作包按照工作路由算法进行传输,验证包则按照验证路由算法进行传输。由于混合路由算法的实现具有自主性,可以用实现过程中的数据包特殊位和路径信息以及验证包源节点、典型工作包源节点、验证点、参考点个数与位置等信息保护片上网络的知识产权。

权利要求 :

1.一种应用混合路由算法实现片上网络知识产权保护的方法,其特征在于,所述方法应用于片上网络、基于片上网络实现片上系统集成电路的知识产权保护,所述方法包括以下步骤:(1)基于一个片上网络,构成混合路由算法;

(2)设置验证包源节点、验证点、典型工作包源节点、参考点;

(3)修改数据包结构;

(4)提取版权信息;

其中,所述混合路由算法构成的操作具体为:

第一种混合路由算法:由两种路由路径不同的已存在路由算法构成,一种作为工作路由算法,另一种作为验证路由算法;

第二种混合路由算法:用一种已存在路由算法作为工作路由,用回旋路由算法作为验证路由组成,该回旋路由算法为:由网络上一角的节点出发沿着逆时针方向回旋的路线,要求至少回旋一次到达网络上的中心节点,路线上的每个节点只经过一次,至少回旋一次是指路线刚开始所选择的方向必须在路线走向上出现第二次。

2.根据权利要求1所述的一种应用混合路由算法实现片上网络知识产权保护的方法,其特征在于,给定一个片上网络,该网络中每个节点由一个Router和一个PE组成,PE负责数据的处理,Router负责数据的传输,PE和Router之间、节点与节点之间都由网络互连线相连接,每个节点同与之相邻的各个方向的节点进行通信,在整个网络上实现任意节点间的通信。

3.根据权利要求1所述的一种应用混合路由算法实现片上网络知识产权保护的方法,其特征在于,所述验证包源节点、验证点、典型工作包源节点、参考点的设置的操作具体为:针对第一种混合路由算法:将验证包目标节点称为验证点,验证包源节点任意选择,验证点只要与源节点不同行且不同列即可,数目与源节点相同;

针对第二种混合路由算法:将验证包目标节点称为验证点,验证包源节点选择在回旋路径上,验证点要求在回旋路径上且必须在源节点之后至少一次回旋的位置;

针对两种混合路由算法,典型工作包源节点、参考点的设置方式相同,任选若干工作包源节点,将其作为典型工作包源节点,将选中的工作包源节点所对应的目标节点,作为典型工作包目标节点并将此目标节点称为参考点;典型工作包源节点和参考点的设置要求不同行不同列,两者数目相同且一一对应;验证包源节点定时向验证点发送验证包,典型工作包源节点定时向参考点发送验证包。

4.根据权利要求1所述的一种应用混合路由算法实现片上网络知识产权保护的方法,其特征在于,所述数据包结构的修改的操作具体为:发送数据包的节点处PE在数据包中加一个特殊位,特殊位为0是工作包,特殊位为1是验证包;其次,数据包中预留一部分空间用于记录路径信息;

每经过一个Router,Router根据数据包的源节点、目标节点以及当前节点的位置,遵循工作路由算法或验证路由算法决定数据的传输方向,同时将数据的传输方向写入数据包的路径信息中,路径信息就是从源节点到目标节点的一系列方向。

5.根据权利要求4所述的一种应用混合路由算法实现片上网络知识产权保护的方法,其特征在于,所述路径信息由一串多位二进制数构成,一个多位二进制数表示一个方向,用于记录路径信息。

6.根据权利要求1所述的一种应用混合路由算法实现片上网络知识产权保护的方法,其特征在于,所述版权信息的提取的操作具体为:目标节点接收到数据包后,提取数据包中的特殊位和路径信息,根据特殊位判断是工作包还是验证包,其相应的路径信息通过PE输出到外端设备读取,通过在参考点和验证点处分别提取工作包和验证包的路径信息得知网络是否使用了混合路由算法;读取路径信息完毕之后去除特殊位和路径信息,将数据包还原,以供连接在网络上的其他单元使用。

说明书 :

应用混合路由算法实现片上网络知识产权保护的方法

技术领域

[0001] 本发明涉及集成电路领域,特别涉及一种应用混合路由算法实现片上网络知识产权保护的方法。

背景技术

[0002] 随着集成电路发展进入SoC(片上系统)时代,IP(Intellectual Property)核的复用技术得到广泛应用,设计者可以获取越来越多的IP核并将它们集成在同一芯片上,IP核的知识产权保护问题以及多个IP核在片上的通信问题日益引起人们的关注。
[0003] 目前,在VLSI(超大规模集成电路)设计中,水印技术被广泛应用于IP核的知识产权保护,水印代表了芯片的版权信息,设计者可以根据实际需要,将水印嵌入到电路设计的多个抽象层次。目前已提出的水印嵌入方式大致有DSP(数字信号处理)算法级、寄存器传输级、有限状态机行为描述级、物理布局级和芯片级等。同时根据水印的特征可以分为静态水印和动态水印两类。一个有效的知识产权保护方法应具有以下特征,例如:稳定性、易于实现、低开销和易于验证。
[0004] 针对多个IP核在片上的通信问题,NoC(片上网络)提供了有效的解决办法。它是多核技术的主要组成部分。NoC方法带来了一种全新的片上通信方法,显著优于传统总线式系统的性能。由于其同时具有高带宽,高扩展性,越来越多的SoC设计采用了NoC架构。由于NoC的应用日益广泛,针对该类产品的侵权现象也相应出现,例如:非法团队利用反向工艺抄袭产品设计方案,消费者将产品非法转移给第三方等等。这样一系列的侵权现象是对人类智慧与劳动结晶极大的不尊重,同时对NoC设计方、生产方的经济利益造成了极大的损害。为了避免这样的损失,在NoC设计生产与传播中一定要有相应的保护措施,NoC的知识产权保护是一个亟待解决的问题。
[0005] 由于NoC是一个新兴的领域,目前已经存在的IP核的保护技术还没有适合于NoC层面的,因此本发明提出了一种保护NoC知识产权的方法。随着NoC的应用增多,NoC在保护集成电路知识产权方面所具有的潜在作用也将日益凸显。

发明内容

[0006] 本发明提供了一种应用混合路由算法实现片上网络知识产权保护的方法,本发明可应用于片上网络、基于片上网络实现片上系统等集成电路的知识产权保护,详见下文描述:
[0007] 一种应用混合路由算法实现片上网络知识产权保护的方法,所述方法包括以下步骤:
[0008] (1)基于一个片上网络,构成混合路由算法;
[0009] (2)设置验证包源节点、验证点、典型工作包源节点、参考点;
[0010] (3)修改数据包结构;
[0011] (4)提取版权信息;
[0012] 所述混合路由算法构成的操作具体为:
[0013] 第一种混合路由算法:由两种路由路径不同的现有路由算法构成,一种作为工作路由算法,另一种作为验证路由算法;
[0014] 第二种混合路由算法:用一种现有路由算法作为工作路由,用本发明设计的回旋路由算法作为验证路由组成;该回旋路由算法为:由网络上一角的节点出发沿着逆时针方向回旋的路线,要求至少回旋一次到达网络上的中心节点,路线上的每个节点只经过一次,至少回旋一次是指路线刚开始所选择的方向必须在路线走向上出现第二次。
[0015] 其中,所述给定的片上网络中,每个节点由一个Router和一个PE组成,PE负责数据的处理,Router负责数据的的传输,PE和Router之间、节点与节点之间都由网络互连线相连接,每个节点同与之相邻的各个方向的节点进行通信,在整个网络上实现任意节点间的通信。
[0016] 所述验证包源节点、验证点、典型工作包源节点、参考点的设置的操作具体为:
[0017] 针对第一种混合路由算法:将验证包目标节点称为验证点,验证包源节点任意选择,验证点只要与源节点不同行且不同列即可,数目与源节点相同;或,
[0018] 针对第二种混合路由算法:验证包源节点选择在回旋路径上,数验证点要求在回旋路径上且必须在源节点之后至少一次回旋的位置;
[0019] 针对两种混合路由算法,典型工作包源节点、参考点的设置方式相同,任选若干工作包源节点,将其作为典型工作包源节点,将选中的工作包源节点所对应的目标节点,作为典型工作包目标节点并将此目标节点称为参考点;典型工作包源节点和参考点的设置要求不同行不同列,两者数目相同且一一对应;验证包源节点定时向验证点发送验证包,典型工作包源节点定时向参考点发送验证包。
[0020] 所述数据包结构的修改的操作具体为:
[0021] 发送数据包的节点处PE在数据包中加一个特殊位,特殊位为0是工作包,特殊位为1是验证包;其次,数据包中预留一部分空间用于记录路径信息;
[0022] 每经过一个Router,Router根据数据包的源节点、目标节点以及当前节点的位置,遵循工作路由算法或验证路由算法决定数据的传输方向,同时将数据的传输方向写入数据包的路径信息中,路径信息就是从源节点到目标节点的一系列的方向。
[0023] 所述记录路径信息的方法具体为:用一串多位二进制数表示路径信息,一个多位二进制数表示一个方向,每经过一个Router,就记录下该Router决定的方向所对应的多位二进制数。
[0024] 所述版权信息的提取的操作具体为:
[0025] 目标节点接收到数据包后,提取数据包中的特殊位和路径信息,根据特殊位判断是工作包还是验证包,其相应的路径信息通过PE输出到外端设备读取,通过在参考点和验证点出分别提取工作包和验证包的路径信息得知网络是否使用了混合路由算法;读取路径信息完毕之后去除特殊位和路径信息,将数据包还原,以供连接在网络上的其他单元使用。
[0026] 本发明提供的技术方案的有益效果是:
[0027] 1、本方法易于实现,依赖NoC本身特质,具有可扩展性的结构,只需要在NoC的Router和PE中添加特定的算法即可实现版权信息的嵌入;
[0028] 2、本方法中版权信息容易提取和验证,数据包会按照路由算法到达指定目标节点,在设置的验证点和参考点提取数据特殊位和路径信息即可完成提取、验证;
[0029] 3、本方法中版权信息不易被窥探或移除。设计方法是基于算法级的,属于在最高层次嵌入版权信息,一旦嵌入,在低级的工艺流程中是很难窥探或移除的;可能的破坏方法包括移除NoC上的节点,但这样做的损失太大,导致整个网络无法正常工作;路径信息是以数据包为载体,完成探测后会自动清除,不给窥探者任何机会;混合路由算法的设计具有自主性,设计者可以根据实际需要适当的选择两种路由进行混合;验证点和参考点的位置也可以根据设计者的需要设定。为了防止非法团体利用旁道分析获取路由信息,可以将路径信息以特殊的方式进行存储。

附图说明

[0030] 图1为2D-mesh网络结构图;
[0031] 图2为2D-mesh网络中节点的坐标表示示意图;
[0032] 图3为5*5NoC上XY+YX混合路由算法示例示意图;
[0033] 图4为5*5NoC上回旋路由算法示意图;
[0034] 图5为数据结构修改示意图;
[0035] 图6为混合路由算法算法流程图;
[0036] 图7为PE和Router示意图。

具体实施方式

[0037] 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0038] 本方法是一种应用混合路由算法的片上网络知识产权保护方法,可用于多种结构的片上网络。以如图1所示2D-mesh结构为例,该图所示为一个5×5的网络,每一个网络节点都由一个Router(路由器)和一个PE(processing element处理单元)组成。混合路由算法由两种路由算法组成,一种是正常工作路由算法,另一种是验证路由算法。在选取适当数据源节点和目标节点的情况下,验证路由算法可以使数据包沿着一条在正常工作路由算法下不可能出现的路径传输。该特殊传输路径就可用来表达片上网络的所有者信息。正常工作路由算法和验证路由算法的选择具有自主性,因此混合路由的实现也具有自主性。本方法中还提出了一种特殊路径路由算法---回旋路由算法,可以在本领域发挥重要作用。
[0039] 片上网络上的数据包结构进行了修改,在数据包中加入了特殊位,标识工作包和验证包。同时,在数据包中预留了一部分空间用于记录传输路径。工作包按照工作路由算法传输,验证包按照验证路由算法传输。验证包的目标节点作为验证点,工作包的目标节点可作为参考点。在验证点和参考点处分别接收验证包和工作包,提取特殊位和路径信息进行比较验证,可判断出网络是否使用了混合路由算法。这样,特殊的混合路由算法,特殊的数据包结构,自主性的节点设置等信息结合起来可以代表片上网络的著作权。
[0040] 101:建立一个片上网络;
[0041] 本方法中的片上网络以2D-mesh网络为例进行说明;建立一个N×N的方形结构网络,X方向和Y方向分别有N个节点,每个网络节点一个Router(路由器)和一个PE(processing element)处理单元组成,PE负责数据的处理,Router负责数据的的传输,PE和Router之间、节点与节点之间都由网络互连线相连接,每个节点可以同与之相邻的四个方向的节点进行通信,整个网络上可以实现任意节点间的通信。在一个N×N的2D-mesh网络中,节点可以用直角坐标来标记,X坐标和Y坐标分别为从0到N-1,每一个节点都对应一对整数。如图2中所示为在一个5×5的网络中,节点从(0,0)到(4,4)被一一标记。每一个节点都有其独有的ID信息,相当于网络中的IP地址一样,这样的坐标标记是路由算法的实现的一个前提。
[0042] 102:混合路由算法构成;
[0043] 混合路由算法可以有以下2种实现方法:
[0044] A、由两种路由路径不同的已存在路由算法构成。目前,广泛存在的路由算法包括XY、YX、West-First、North-last、Negative-First、Odd-Even、Dyad、Fully-adaptive等(N.E.Jerger and L.-S.Peh,“On-chip networks,”Synthesis Lectures on Computer Architecture,vol.4,no.1,pp.1–141,2009)。例如,利用XY路由算法和YX路由算法构成一个混合路由算法,XY作为工作路由算法,YX作为验证路由算法。如图3所示,节点(0,0)发送一个数据包按照XY路由算法传输到节点(2,3),数据包将先沿着X方向传输到节点(2,0),然后再沿着Y方向传输到节点(2,3);节点(1,0)发送一个数据包按照YX路由算法传输到节点(3,3),数据包将先沿着Y方向传输到(3,0),然后再沿着X方向传输到节点(3,3)。这两种路由算法路径简单且区别明显,是实现混合路由的最简单、最直接的方法。用这种方法形成的路由算法对于所有节点都适用,因为网络上的任意点都可以沿着XY或YX的路径实现与其他节点的通信。
[0045] B、用一种已存在路由算法作为工作路由,用自行设计的特殊路径路由算法作为验证路由组成。本方法提出一种回旋路由算法:由网络上一角的节点出发(如图4中(0,0)或(4,0)或(4,4)或(0,4)),沿着逆时针方向回旋的路线,要求至少回旋一次到达网络上的中心节点(如图4中(2,2)),路线上的每个节点只经过一次,至少回旋一次是指路线刚开始所选择的方向必须在路线走向上出现第二次。进一步说明,逆时针方向回旋是指路径方向在(南,东,北,西)这样的顺序下循环,本方法可以根据源节点与目标节点的位置来选取开始走的方向,如选择南开始,则整个路径的走向是(南,东,北,西,南,东,北,西,南……),那么相应回旋一周最短的路径走向就是(南,东,北,西,南)。当然,本方法也可以选择以其他方向作为开始的方向。如图4,本方法用5×5的网络为例来说明回旋路由算法。由节点(0,0)发送的、目的节点为(2,2)数据包,首先沿着Y方向向南传输到节点(4,0),然后沿着X方向向东传输到(4,4),沿着Y方向向北传输到(0,4),之后沿着X方向向西传输到(0,1),这时不能再经过(0,0),而是由(0,1)向南传输到(3,1),然后向东传输到(3,3),向北传输到(1,3),向西传输到(1,2),最后向南传输到(2,2),这样由(0,0)到(2,2)的整个路径中向南的路径出现了两次,即通过回旋两次而结束,本方法称之为回旋路径1。一般路由算法设计之初具有避免死锁这一要求,因此不会出现360度的回旋路径,这一点在N.E.Jerger和L.-S.Peh,所写“On-chip networks”一书中有详细叙述,而本方法设计的回旋路由算法则使数据沿着回旋的路径传输。在图4所示的例子中,从(0,0)到(2,2),本方法的回旋路径经过了网络上的每一个节点,其实可以在遵循逆时钟回旋的规则下选择性的只走某些行与列,这样,从起点到终点的路径就不唯一了,因此回旋路径具有多样性。例如,数据包从(0,0)出发向南传输到达(3,0)后紧接着马上转而向东传输到达(3,3)点,然后向北到达(0,3)点,然后向西到达(0,1)点,然后向南到达(2,1)点,最后向东到达(2,2)点,这条路径里数据包没有经过第5行节点,也没有经过第5列节点,也没有经过(1,2)点,本方法称之为回旋路径2。当然,还有其他的路径,此处不再说明。
[0046] 特殊路径路由算法不只这一种,只要是可以实现与目前的一般路由算法不同路径的都可以当做特殊路径路由算法。需要指出的是,上述回旋路径是一条固定的、单向的路径,只有该路径上的点产生的数据包才可以沿着该路径传输,而且传输方向是单向的,例如在回旋路径1中,从(0,0)到(2,2)是一条单向路径,节点有先后的出现在路径中,只有排在路径前面的点可以给后面的点发数据,后面的点则不可以给前面的点发数据。
[0047] 103:验证包源节点、验证点、典型工作包源节点、参考点的设置;
[0048] 要检测NoC是否使用了混合路由算法,首先要实现验证路由算法的检测。验证路由的检测依赖于在验证包源节点和验证包目标节点的设置,本方法将验证包目标节点称为验证点。如果是XY+YX混合路由,验证包源节点可以任意选择,数目根据设计者需求设置,验证点只要与源节点不同行且不同列即可,数目与源节点相同。如图3所示,以S2(1,0)点作为验证包源节点,以B(3,3)点作为验证点,这样验证包就会沿着YX的路径传输。
[0049] 如果是XY+回旋路由混合路由,验证包源节点只能选择在回旋路径上,数目根据设计者需求设置,验证点要求也在回旋路径上且必须在源节点之后至少一次回旋的位置。如图4所示,以S2(1,0)点作为验证包的源节点,以B(2,2)点作为验证点,完全可以实现回旋路由检测。事实上,验证点可以选择在(0,1)点之后的路径上的任一点,只要满足一次回旋的点都可以作为验证点。
[0050] 其次是工作路由算法的检测,此处两种混合路由算法中的工作路由算法用的都是XY算法,与验证路由相对比才能体现出混合路由算法。工作路由的检测依赖于典型工作包源节点(任选一工作包源节点,将其作为典型工作包源节点)和典型工作包目标节点(将选中的工作包源节点所对应的目标节点,作为典型工作包目标节点)的设置,本方法将典型工作包目标节点称为参考点。网络上的每个节点都可以作为工作包的源节点,相应每个节点都可以作为工作包的目标节点,本方法需要在众多节点中选取设置典型的工作包源节点和目标节点,二者要求不同行不同列,这样可以产生工作路由的典型XY路径。如图4所示,以S1(0,0)作为典型工作包源节点,以A(3,3)作为参考点,数据包可以沿着XY的路径传输,而图3中的参考点是A(2,3)。
[0051] 需要强调的是,在本方法中,验证包源节点定时向验证点发送验证包,典型工作包源节点定时向参考点发送验证包。
[0052] 104:数据包结构的修改;
[0053] 混合路由算法实现后,还需要网络上具有工作包和验证包两种不同的数据包,分别调用两种路由算法。上面所提到的典型工作包指的是作为代表的工作包,在工作包中可以根据需要任意选择,其源节点和目标节点不同行不同列即可。如图5所示数据包(packet)由若干数据片(flit)组成,包含头数据片(Headflit)、体数据片(Bodyflit)、尾数据片(Tailflit),在网络上数据以flit为单位传输。在此实例中,数据结构需要进行修改。首先,发送数据包的节点处PE(Processing Element)可以在数据包中加一个特殊位,特殊位为0是工作包,特殊位为1是验证包。其次,数据包中预留一部分空间用于记录路径信息。本方法是以特殊位在包头、预留空间在包尾为例进行说明,具体实现时,本方法对特殊位的位置、预留空间的位置不做限制。
[0054] 混合算法的调用如图6所示,工作包将按照工作路由算法传输,验证包按照验证路由算法传输,直到数据包抵达目标节点。这一功能依靠Router完成,Router的结构如图7所示,有5个方向的输入输出共10个端口。每经过一个Router,Router根据数据包的源节点、目标节点以及当前节点的位置,遵循工作路由算法或验证路由算法决定数据的传输方向(即下一个节点所在的方向),同时将该方向写入数据包的路径信息中。记录信息时只需要用到4个方向(north,east,south,west),可以用2位二进制数表示他们(分别为00,01,10,11)用于记录,这样,路径信息就是从源节点到目标节点的一系列的方向。
[0055] 例如在图3中,在XY路由算法下,节点S1(0,0)的PE产生一个数据包通过本地Local-in输入到(0,0)点的Router,Router判断出目标节点位置在当前节点的东南方向后根据XY路由算法将数据从East-out端口输出,此时路径信息记录下01;向东传给(0,1)点,(0,1)点在West-in端口接收数据后根据XY路由算法将数据从East-out端口输出,路径信息记录下01;同样的方式经过(0,2)点,记录路径信息01;当数据到达(0,3)点后,根据XY路由算法,目标节点与当前节点的Y坐标相同,数据将从South-out输出,此时路径信息记录10;同样的方式通过(1,3)点,此时路径信息记录该处10;当数据到达(2,3)时,(2,3)点在North-in端口接收数据,判断出已经到达目标节点,数据将从Local-out端口输出给(2,3)点的PE单元,至此,这个数据包完成整个传输过程,整个路径信息就是:01-01-01-10-10。可以根据记录的路径信息再加上源节点和目标节点,推导出整个路径,从源节点出发经过一系列方向的选择到达目标节点,源节点和目标节点可以从每个数据包的Headflit中读取,故不需要记录在路径信息中。为了防止该方法被盗取,可以用更为复杂的编码形式来表示路径信息,这里不再多做说明,仅以2位二进制数表示。
[0056] 105:版权信息的提取;
[0057] 目标节点接收到数据包后,可以提取数据包中的特殊位和路径信息,根据特殊位判断是工作包还是验证包,其相应的路径信息通过PE输出到外端设备读取。如图5所示,一个完整的路径信息包括源节点(src ID)、目标节点(dst ID)、一系列的方向这三个不可缺少的部分(源节点和目标节点是每个数据包产生时即带有的信息,一系列的方向是上一步骤记录的信息),通过在参考点和验证点出分别提取工作包和验证包的路径信息可以得知网络是否使用了混合路由算法。读取路径信息完毕之后去除特殊位和路径信息,将数据包还原,以供连接在网络上的其他单元使用。
[0058] 综上所述,通过以上几个步骤,整个方法得以实现。版权信息主要包括混合路由算法、特殊的数据包结构、验证包源节点、典型工作包源节点、验证点和参考点的个数和位置设置以及路径信息等。该混合路由算法的设计具有自主性,设计者可以根据实际需要适当地选择两种路由进行混合,设定验证点和参考点的位置。为了防止非法团体利用旁道分析获取路由信息,可以将路径信息以特殊的方式进行存储。
[0059] 本领域技术人员可以理解附图只是一个优选实施例的示意图,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0060] 以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。