当前位置: 首页 > 专利查询>南京大学专利>正文

多制造技术

技术编号:39788795 阅读:9 留言:0更新日期:2023-12-22 02:27
本发明专利技术公开了一种多

【技术实现步骤摘要】
FPGA系统下多资源约束的自适应图划分方法


[0001]本专利技术属于超大规模集成电路(
VLSI
)中的图划分问题(
Graph Partitioning Problem
)领域,涉及一种多
FPGA
系统下多资源约束的自适应图划分方法


技术介绍

[0002]VLSI
技术的发展改善了各个领域中的电子设备性能,包括智能手机

计算机

通信设备等,从而提升了生活质量

推动了科学研究和经济发展

原型验证作为
VLSI
设计中的一个关键阶段,它通过验证芯片的功能和性能,确保设计的正确性,为最终产品的成功制造提供保障

随着电路设计的复杂性不断增加,电路设计需分配到多 FPGA 系统进行仿真和验证,合理

高效的电路图划分结果直接影响多
FPGA
系统的性能,包括逻辑阵列资源的有效利用

高效的信号传输速度等方面

[0003]传统的图划分算法有基于移动的迭代改进方法(如
KL/FM
算法)与基于多级分割的方法(如
Metis
)等

这些传统的图划分算法研究大都集中于平衡划分,即其划分一般要求各子集的规模大致平衡,以求负载均衡,然而,在电路设计分配到多个
FPGA
系统进行仿真和验证的场景中,目标不是实现负载均衡,而是在满足
FPGA
容量约束下,达到尽可能高的系统频率

这一目标主要取决于子集之间的连接线数量,因为更少的线路划分可以减小通信开销,从而提升系统性能

在其他关于非平衡划分的研究中,通常需要事先指定分区的数量和比例,然而,这种刚性的约束不仅难以确定,还限制了划分策略的灵活性,从而限制了广泛的划分探索空间

另一方面,现有的图划分算法通常仅考虑了结点具有单一资源的情况,而忽略了将电路划分至多
FPGA
系统中的多种资源约束,这可能导致它们生成无效解


技术实现思路

[0004]专利技术目的:提供一种多
FPGA
系统下多资源约束的自适应图划分方法,以解决现有技术存在的上述问题

[0005]技术方案:一种多
FPGA
系统下多资源约束的自适应图划分方法,包括以下步骤:步骤
1、
应用平衡划分算法获得图划分初始解;步骤
2、
使用结点资源微调算法对初始解的结点划分进行微调,获得满足资源约束的划分解,同时,将此时初始解的最大切割边数添加至性能记录栈;步骤
3、
确定细粒度参数,将满足资源约束的划分解的各子集的结点粗化为超结点,获得超结点图;步骤
4、
使用超结点转移算法对所述超结点图调整超结点的分区,获得调整后的超结点图;步骤
5、
根据调整后的超结点图,将超结点映射回原始结点,获得调整后的划分解;步骤
6、
判断性能记录栈中的划分质量数据是否收敛,如果不满足收敛,更新细粒度参数,将调整后的划分解作为输入,重复步骤3;反之,进行步骤7;更新细粒度参数的公式如下:
[0006]其中,
p
t
为原始细粒度参数,
p
t+1
为更新后的细粒度参数,为向上取整数符号;步骤
7、
取性能记录栈中最大切割边数最小的值,记录其对应划分为最优划分结果,若存在已记录的最优划分结果,则判断迭代是否收敛,若判定迭代未收敛,则将细粒度参数重置为1,将步骤5中调整后的划分解作为输入,重复步骤3,进入新一轮迭代;反之,判定迭代收敛,输出最优划分结果

[0007]根据本申请的一个方面,所述步骤2中的资源微调算法包括以下步骤:步骤
2.1、
判断划分结果是否在多资源上都满足约束,如果满足约束,则输出满足多资源约束的划分结果;反之,则进行步骤
2.2
;步骤
2.2、
对于过载的资源,对每个不满足该资源约束的子集,将所有含有过载资源的结点,添加至优先队列,取出优先队列的队头元素的结点,将该结点移动到其关联最大的且满足资源约束的子集中,若该子集仍不满足资源约束,则继续取出队头元素的结点,重复上述调整过程,直到资源约束后,回到步骤
2.1
;其中结点的优先队列是有序的,在每次移动结点后,对原始子集队列中的与所移动结点的相邻结点信息进行更新,并相应地调整队列顺序,各结点依以下公式计算出的指标升序排列:
inter_degree
i
=in_degree
i

out_degree
i
其中,
in_degree
i
为结点与其自身所在子集中所有结点的边权和,表示结点和原始子集的关联程度,
out_degree
i
为结点和与之关联度最大且满足资源约束的子集中所包含结点的边权和,表示结点和外部的关联程度

[0008]根据本申请的一个方面,所述步骤4中的超结点转移算法包括以下步骤:步骤
4.1、
对超结点图中所有的边缘超结点进行更新结点信息操作,对超结点转移算法进行信息初始化;在更新结点信息操作中,维护候选结点散列表,包括超结点的索引

转移增益以及目的子集栈等信息;步骤
4.2、
判断候选结点散列表是否为空;若所述候选结点散列表为空,则转到步骤
4.3
,反之,转到步骤
4.4
;步骤
4.3、
若所述次级候选结点散列表存在元素,对其(次级候选结点散列表)所有元素进行超结点转移,输出在当前细粒度参数下经转移优化后的超结点划分结果;步骤
4.4、
判断目标子集栈为空,若否,进入步骤
4.6
,若是,该超结点不能在满足约束的条件下转移到能够产生更大质量改进的子集中,则超结点转移至任意目的子集均失败;步骤
4.5、
在候选结点散列表删除该超结点的信息,维护次级候选结点散列表,记录该超结点的信息,转到步骤
4.2
;步骤
4.6、
若候选结点散列表非空,则从该散列表中取出具有最大转移增益的超结点,弹出目的子集栈的栈顶元素,将超结点转移到该子集;步骤
4.7、
判断超结点转移后,目标子集是否满足资源约束;步骤
4.8、
如果超结点转移后,目标子集不满足资源约束:则超结点转移失败,继续从目的子集栈弹出栈顶元素,重复转移过程,直到成功,若目标子集栈为空;
步骤
4.9、
如果超结点转移后,目标子集满足资源约束,则超结点转移成功本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种多
FPGA
系统下多资源约束的自适应图划分方法,其特征在于,包括以下步骤:步骤
1、
应用平衡划分算法获得图划分初始解;步骤
2、
使用结点资源微调算法对初始解的结点划分进行微调,获得满足资源约束的划分解,同时,将此时初始解的最大切割边数添加至性能记录栈;步骤
3、
确定细粒度参数,将满足资源约束的划分解的各子集的结点粗化为超结点,获得超结点图;步骤
4、
使用超结点转移算法对所述超结点图调整超结点的分区,获得调整后的超结点图;步骤
5、
根据调整后的超结点图,将超结点映射回原始结点,获得调整后的划分解;步骤
6、
判断性能记录栈中的划分质量数据是否收敛,如果不满足收敛,更新细粒度参数,将调整后的划分解作为输入,重复步骤3;反之,进行步骤7;更新细粒度参数的公式如下:其中,
p
t
为原始细粒度参数,
p
t+1
为更新后的细粒度参数,为向上取整数符号;步骤
7、
取性能记录栈中最大切割边数最小的值,记录其对应划分为最优划分结果,若存在已记录的最优划分结果,则判断迭代是否收敛,若判定迭代未收敛,则将细粒度参数重置为1,将步骤5中调整后的划分解作为输入,重复步骤3,进入新一轮迭代;反之,判定迭代收敛,输出最优划分结果
。2.
根据权利要求1所述的多
FPGA
系统下多资源约束的自适应图划分方法,其特征在于,所述步骤2中的资源微调算法包括以下步骤:步骤
2.1、
判断划分结果是否在多资源上都满足约束,如果满足约束,则输出满足多资源约束的划分结果;反之,则进行步骤
2.2
;步骤
2.2、
对于过载的资源,对每个不满足该资源约束的子集,将所有含有过载资源的结点,添加至优先队列,取出优先队列的队头元素的结点,将该结点移动到其关联最大的且满足资源约束的子集中,若该子集仍不满足资源约束,则继续取出队头元素的结点,重复上述调整过程,直到资源约束后,回到步骤
2.1
;其中结点的优先队列是有序的,在每次移动结点后,对原始子集队列中的与所移动结点的相邻结点信息进行更新,并相应地调整队列顺序,各结点依以下公式计算出的指标升序排列:
inter_degree
i
=in_degree
i

out_degree
i
其中,
in_d...

【专利技术属性】
技术研发人员:傅玉祥高亨粤李丽晏彬戴晨阳纪津伦李峰赵启越袁江涛
申请(专利权)人:南京大学
类型:发明
国别省市:

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

1