一种连接信号分组方法与流程

文档序号:35848508发布日期:2023-10-25 18:26阅读:28来源:国知局
一种连接信号分组方法与流程

本发明属于集成电路,具体涉及一种连接信号分组方法。


背景技术:

1、现在用户设计电路的规模往往需要许多颗fpga(field programmable gatearray,现场可编程门阵列)才能容纳,因此用户设计电路必须由一个整体分割成多个子部分才能完成原型验证,各个子部分之间需要经过fpga之间的物理线缆(cable)进行通信,在fpga之间通信的信号叫做连接信号。每颗fpga内部可以进一步细化为几个slr(superlogic region,超逻辑区域,又称die),也就是说,fpga由若干个die以一定拓扑形状组合而成,而fpga之间的物理cable则具体体现为两颗fpga的对应die之间发生的连接。

2、由于fpga之间的cable数量有限,fpga之间的连接信号数量往往大于cable的数量,因此连接信号需要按照一定的比例进行分组,每组共享一根cable,组内信号采用时分复用依次通过cable,这个比例叫做分组比例。分组比例由用户时钟频率要求来决定。

3、通常情况下,每个连接信号只有一个驱动节点(发送节点),但可以有多个负载节点(接收节点)。现有技术的连接信号分组过程为先将连接信号进行完全拆分,即将原本为同一连接信号连接的负载节点和驱动节点,按照负载节点的数量分成不同的连接信号,拆分后的每个信号只有一个驱动节点和一个负载节点,即原来一根连接信号包括一个驱动节点和三个负载节点,拆分后变为三个连接信号。然后对所有拆分后的连接信号采用近似方法进行重新组合。

4、这种组合方法的缺点在于:将多负载节点的信号进行拆分会造成cable资源的浪费,因为当部分负载节点所处相同fpga时,这部分的负载节点理论上可以共享一根信号线,如图1所示,连接信号的负载节点a和b位于fpga2中,负载节点c位于fpga3中,则连接信号只需拆成两部分即可,在fpga1上设置两个pin脚输出,分别到达fpga2和fpga3,信号在到达fpga2后再分出一根信号线到达电路模块b,信号在fpga之间的传递速度远低于在fpga内部,同时又节省了cable资源;如果像传统做法按接收端数量悉数拆开,将会增加图1中点划线表示的信号线,消耗cable资源又增大信号延时。


技术实现思路

1、为了解决现有技术中存在的上述问题,本发明提供了一种连接信号分组方法。本发明要解决的技术问题通过以下技术方案实现:

2、本发明提供了一种连接信号分组方法,包括:

3、s1:将电路中所有fpga之间的连接信号根据fpga之间的交互作用进行两两分对,其中,每一对fpga中包括在当前对fpga之间进行交互的所有连接信号;

4、s2:根据每个连接信号的驱动节点所处fpga的位置进行连接信号的方向分类,将每一对fpga之间的所有连接信号分为不同传输方向的两类;

5、s3:利用贪婪选择法分别对每一对fpga中相同方向的连接信号进行分组,使得分组后的每一组连接信号能够共用一根物理连线。

6、在本发明的一个实施例中,所述s2包括:

7、获取每一对fpga之间所有连接信号的驱动节点的位置,在每一对fpga内部将驱动节点位于当前对fpga中第一个fpga的所有连接信号分为第一类,将驱动节点位于当前对fpga中第二个fpga的所有连接信号分为第二类。

8、在本发明的一个实施例中,所述s3包括:

9、s3.1:在一颗fpga中所有die中的驱动节点中,寻找一个驱动节点作为起始节点;

10、s3.2:从所述起始节点开始,利用广度优先搜索顺序寻找m-1个邻近节点与所述起始节点形成一组,其中,m为预先设定的每组内连接信号的数量;

11、s3.3:除去已完成分组的驱动节点,重复执行步骤s3.1至s3.2,直至将当前传输方向上的所有连接信号均完成分组;

12、s3.4:重复执行步骤s3.1-s3.3,对划分为一对的fpga中的另一个fpga上的驱动节点进行分组,进而完成对每一对fpga上不同传输方向的连接信号的分组。

13、在本发明的一个实施例中,所述s3.1包括:

14、s3.11:在当前fpga内部的所有die中,计算每个die的度值,其中,所述die的度值表示在一对fpga中,与当前die存在直接连接关系的其他die的数量;

15、s3.12:选择度值最小的die中的驱动节点作为起始节点。

16、在本发明的一个实施例中,若当前fpga内部存在度值最小且相等的多个die,则在所述多个die中选择驱动节点数量最少的die作为起始die,若仍存在多个驱动节点数量最少的die,则从多个驱动节点数量最少的die中随机选择一个die作为起始die,并在所述起始die中随机选择一个驱动节点作为起始节点。

17、在本发明的一个实施例中,所述s3.2包括:

18、s3.21:从所述起始节点开始,寻找与所述起始节点所处die具有直接信号连接关系的die,并将找到的die中的所有驱动节点并入与所述起始节点相同的组;

19、s3.22:对当前组内除所述起始节点之外的其他驱动节点,继续按照广度优先搜索顺序寻找对应最临近节点并入当前组,直至达到组内连接信号的设定数量。

20、在本发明的一个实施例中,利用广度优先搜索顺序寻找当前节点的最邻近节点时,若存在多个不同的die与当前节点所在die存在直接连接关系,则选择度值最小的、未分组驱动节点数量最少的die上的节点作为当前次的最邻近节点。

21、与现有技术相比,本发明的有益效果有:

22、1、本发明的连接信号分组方法能够针对fpga内die任意拓扑结构的场景实现连接信号的合理分组,即一颗fpga中die的数量和连接关系是任意的,目前市面上还没有针对这个场景的处理方法。

23、2、本发明的连接信号分组方法利用贪婪选择法进行信号分组,采用以边缘节点作为每次分组的起始节点,将与该节点关联的信号与处于节点距离更近的其他信号,按照优先原则不断地增加至该起始节点所在的分组内,直至组内数量到预定数量m,这样选择起始节点避免了处于fpga中的边缘节点所关联的信号被分成一个组,这样会增加该组的通信代价,因为处于边缘的节点关联的信号需要先进行汇聚再经过同一条fpga之间的物理连线发送,所经过的路由距离会更长,造成的延时更大,本发明基于贪婪选择法的分组方法,以边缘或角落的节点作为每次分组的起始节点,减少了引起的信号延时大小,改善了信号的时序性能更好,从而提高了系统验证频率。

24、以下将结合附图及实施例对本发明做进一步详细说明。



技术特征:

1.一种连接信号分组方法,其特征在于,包括:

2.根据权利要求1所述的连接信号分组方法,其特征在于,所述s2包括:

3.根据权利要求1所述的连接信号分组方法,其特征在于,所述s3包括:

4.根据权利要求3所述的连接信号分组方法,其特征在于,所述s3.1包括:

5.根据权利要求4所述的连接信号分组方法,其特征在于,在所述s3.12中,若当前fpga内部存在度值最小且相等的多个die,则在所述多个die中选择驱动节点数量最少的die作为起始die,若仍存在多个驱动节点数量最少的die,则从多个驱动节点数量最少的die中随机选择一个die作为起始die,并在所述起始die中随机选择一个驱动节点作为起始节点。

6.根据权利要求4所述的连接信号分组方法,其特征在于,所述s3.2包括:

7.根据权利要求6所述的连接信号分组方法,其特征在于,利用广度优先搜索顺序寻找当前节点的最邻近节点时,若存在多个不同的die与当前节点所在die存在直接连接关系,则选择度值最小的、未分组驱动节点数量最少的die上的节点作为当前次的最邻近节点。


技术总结
本发明公开了一种连接信号分组方法,包括:将电路中所有FPGA之间的连接信号根据FPGA之间的交互作用进行两两分对,其中,每一对FPGA中包括在当前对FPGA之间进行交互的所有连接信号;根据每个连接信号的驱动节点所处FPGA的位置进行连接信号的方向分类,将每一对FPGA之间的所有连接信号分为不同传输方向的两类;利用贪婪选择法分别对每一对FPGA中相同方向的连接信号进行分组,使得分组后的每一组连接信号能够共用一根物理连线。本发明利用贪婪选择法实现信号分组,能够针对FPGA内die的任意拓扑结构场景实现连接信号的合理分组,减少因分组引起的信号延时大小,且信号的时序性能更好。

技术研发人员:邵中尉,张吉锋,周思远
受保护的技术使用者:上海思尔芯技术股份有限公司
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1