多FPGA间的连线分配方法、系统、存储介质及电子设备技术方案

技术编号:37668770 阅读:9 留言:0更新日期:2023-05-26 04:29
本发明专利技术涉及的多FPGA间的连线分配方法、系统、存储介质及电子设备。所述多FPGA间的连线分配方法通过获取FPGA间的裸片Die级连接路线以及每条连接路线的互连线数量;遍历所述一对FPGA之间需要传递的信号组,其中所述信号组由多个信号组成;记录每个信号组在所述每条连接路线的路线代价和计算每个信号组的收益值;选择最大收益值所对应的信号组和所述信号组最小路线代价的连接路线;将所述信号组的所有信号根据所述最小路线代价的连接路线进行布线,同时将所述最小路线代价的连接路线的互连线数量减1;重复上述步骤,完成所述FPGA间的所有信号组的所有信号的布线。能够实现在Die level(裸片级)对多FPGA间的信号与连线进行统筹分配。筹分配。筹分配。

【技术实现步骤摘要】
多FPGA间的连线分配方法、系统、存储介质及电子设备


[0001]本专利技术属于自动化
,特别涉及一种多FPGA间的连线分配方法、系统、存储介质及电子设备。

技术介绍

[0002]随着用户设计规模的不断增大,对用户设计的逻辑验证不得不采用多FPGA的系统,这时就需要把用户设计分割成指定数量的不同部分,每部分被分配至不同的FPGA中运行,各FPGA之间采用互连线进行连接,互连线的距离相较于FPGA内部距离很大,所以产生的信号延时也大。FPGA内部常常由几颗SLR(Super Logic Region,超逻辑区域)组成,也成为Die。各Die呈现的分布呈现一定的拓扑关系,同一颗FPGA内部的各个Die之间采用High width Low Latency Connections(高宽度低延迟连接)的技术进行连接,它们往往具有低延迟,低功耗,高吞吐量等特征。
[0003]经典的布线方法为按照最短路径进行布线。比如,一个net的驱动节点和负载节点被分配到两块不同的FPGA(例如分别命名为A和B)上,那么这条net的路由方法是寻找A,B之间的最短路径,即经过i连通A,B的最少中间中转FPGA数量。这种方法简单易行,但是所有的net都按照最短路径路由容易造成某些路径经过的net过多,从而造成拥挤。即现有技术下,由于用户设计规模逐步增大,在布局布线过程中:常常不能统筹规划、平衡所有信号的合理routing路径,造成部分信号routing选择不合理,进而引起个别Die Crossing处的连接资源使用紧张,甚至导致布局布线过程的失败。因此需要一种在Die level对连线分配统筹处理,平衡信号分配路径的方法。

技术实现思路

[0004]本专利技术克服了现有技术的不足之一,提供了一种多FPGA间的连线分配方法、系统、存储介质及电子设备,能够实现在Die level(裸片级)对多FPGA间的信号与连线进行统筹分配。
[0005]根据本公开的一方面,提出了一种多FPGA间的连线分配方法,所述方法包括:步骤S1:获取FPGA间的裸片Die级连接路线以及每条连接路线的互连线数量;步骤S2:遍历所述一对FPGA之间需要传递的信号组,其中所述信号组由多个信号组成;步骤S3:记录每个信号组在所述每条连接路线的路线代价和计算每个信号组的收益值;步骤S4:选择最大收益值所对应的信号组和所述信号组最小路线代价的连接路线;步骤S5:将所述信号组的所有信号根据所述最小路线代价的连接路线进行布线,同时将所述最小路线代价的连接路线的互连线数量减1;重复步骤S3

S5,完成所述FPGA间的所有信号组的所有信号的布线。
[0006]在一种可能的实现方式中,将所述信号组的所有信号根据所述最小路线代价的连接路线进行布线,包括:对于同一连接路线进行布线的信号组,将信号总数最大的信号组放置在所述连接路线的互连线的边缘,将信号总数最小的信号组放置在所述信号总数最大的信号组的下方,重复该过程,完成FPGA间的信号组的所有信号的布线。
[0007]在一种可能的实现方式中,所述每条连接路线的互连线的长度相同。
[0008]在一种可能的实现方式中,所述信号组的多个信号采用时分复用的方式共用一根互连线。
[0009]在一种可能的实现方式中,所述每个信号组内的多个信号的传播方向一致。
[0010]在一种可能的实现方式中,每个信号组的收益值为所述每个信号组的所有连接路线的路线代价的最大差值的绝对值。
[0011]在一种可能的实现方式中,在所述将所述信号组的所有信号根据所述最小路线代价的连接路线进行布线之后,还包括:将根据所述最小路线代价的连接路线进行布线的所述信号组剔除。
[0012]根据本公开的另一方面,提出了一种多FPGA间的连线分配系统,所述系统包括:获取模块,用于获取FPGA间的裸片Die级连接路线以及每条连接路线的互连线数量;遍历模块,用于遍历所述一对FPGA之间需要传递的信号组,其中所述信号组由多个信号组成;计算模块,用于记录每个信号组在所述每条连接路线的路线代价和计算每个信号组的收益值;选择模块,用于选择最大收益值所对应的信号组和所述信号组最小路线代价的连接路线;第一布线模块,用于将所述信号组的所有信号根据所述最小路线代价的连接路线进行布线,同时将所述最小路线代价的连接路线的互连线数量减1;第二布线模块,用于完成所述FPGA间的所有信号组的所有信号的布线。
[0013]根据本公开的另一方面,提出了一种存储介质,其上存储有计算机程序,所述程序被处理器运行时实现如上所述的方法.根据本公开的另一方面,提出了一种电子设备,包括:处理器和存储有计算机程序的存储器,所述处理器被配置为在运行计算机程序时实现如上所述的方法。
[0014]本公开的多FPGA间的连线分配方法,通过获取FPGA间的裸片Die级连接路线以及每条连接路线的互连线数量;遍历所述一对FPGA之间需要传递的信号组,其中所述信号组由多个信号组成;记录每个信号组在所述每条连接路线的路线代价和计算每个信号组的收益值;选择最大收益值所对应的信号组和所述信号组最小路线代价的连接路线;将所述信号组的所有信号根据所述最小路线代价的连接路线进行布线,同时将所述最小路线代价的连接路线的互连线数量减1;重复上述步骤,完成所述FPGA间的所有信号组的所有信号的布线。能够实现在Die level对多FPGA间的信号与连线进行统筹分配。
[0015]本专利技术实施例的其他可选特征和技术效果一部分在下文描述,一部分可通过阅读本文而明白。
附图说明
[0016]以下,结合附图来详细说明本专利技术的实施例,所示出的元件不受附图所显示的比例限制,附图中相同或相似的附图标记表示相同或类似的元件,其中:图1示出了根据本公开一实施例的多FPGA间的连线分配方法流程图;图2示出了根据本公开一实施例的FPGA间的Die级连接路线示意图;图3示出了根据本公开一实施例的一个信号组内驱动节点和负载节点的示意图;图4示出了根据本公开一实施例的一个信号组路径代价计算示意图;图5示出了根据本公开一实施例的各个信号组路径代价和收益示意图;图6示出了根据本公开一实施例的各个信号组初布线的结果示意图;图7示出了根据本公开一实施例的同一连接路线中的各个信号组的分配示意图;图8示出了根据本公开一实施例的多FPGA间的连线分配系统原理图;图9示出了根据本公开一实施例的电子设备的示意图。
具体实施方式
[0017]为使本专利技术的目的、技术方案和优点更加清楚明白,下面结合具体实施方式和附图,对本专利技术做进一步详细说明。在此,本专利技术的示意性实施方式及其说明用于解释本专利技术,但并不作为对本专利技术的限定。
[0018]在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种多FPGA间的连线分配方法,其特征在于,所述方法包括:步骤S1:获取FPGA间的裸片Die级连接路线以及每条连接路线的互连线数量;步骤S2:遍历所述一对FPGA之间需要传递的信号组,其中所述信号组由多个信号组成;步骤S3:记录每个信号组在所述每条连接路线的路线代价和计算每个信号组的收益值;步骤S4:选择最大收益值所对应的信号组和所述信号组最小路线代价的连接路线;步骤S5:将所述信号组的所有信号根据所述最小路线代价的连接路线进行布线,同时将所述最小路线代价的连接路线的互连线数量减1;步骤S6:重复步骤S3

S5,完成所述FPGA间的所有信号组的所有信号的布线。2.根据权利要求1所述的连线分配方法,其特征在于,将所述信号组的所有信号根据所述最小路线代价的连接路线进行布线,包括:对于同一连接路线进行布线的信号组,将信号总数最大的信号组放置在所述连接路线的互连线的边缘,将信号总数最小的信号组放置在所述信号总数最大的信号组的下方,重复该过程,完成FPGA间的信号组的所有信号的布线。3.根据权利要求1所述的连线分配方法,其特征在于,所述每条连接路线的互连线的长度相同。4.根据权利要求1所述的连线分配方法,其特征在于,所述信号组的多个信号采用时分复用的方式共用一根互连线。5.根据权利要求4所述的连线分配方法,其特征在于,所述每个信号组内的多个信号的传播方向一致。6.根据权利要求1...

【专利技术属性】
技术研发人员:邵中尉孙亚强张吉锋周思远
申请(专利权)人:上海思尔芯技术股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1