本申请涉及数据处理领域,尤其涉及一种目标图形的确定方法、装置、电子设备及存储介质。
背景技术:
1、集成电路的版图由图层构成,每个图层包含几个至几十万个二维图形。对版图进行签核流程时,在签核流程验证工具中,工艺库提供的表达式往往涉及多个图层,表达式可以被拆解为多个布尔运算表达式。而目前通常的做法是将图层间的图形两两进行布尔运算,确定两两图形之间的重合区域,这种方法实现简单,但在图形数量规模达到10k以上时,通过该方法进行运算的时间过长,因此无法直接应用在高性能计算工具设计中。
技术实现思路
1、本申请提供了一种目标图形的确定方法、装置、电子设备及存储介质。
2、本申请实施例一方面提供一种目标图形的确定方法,所述方法包括:
3、获得目标图形组,并基于所述目标图形组中的多个顶点的第一标识确定多个候选区域和所述候选区域的第二标识,所述目标图形组包含版图中分别属于不同图层的两个图形和所述图形中每个顶点的第一标识,所述第一标识指示所述顶点所在区域的图形状态变化,所述第二标识表征所述候选区域的图形数量;
4、基于所述多个候选区域的第二标识、所有第一标识和第一映射关系确定目标区域和所述目标区域每个顶点的第一标识;
5、基于目标区域和所述目标区域每个顶点的第一标识确定目标图形。
6、其中,所述基于所述目标图形组中的多个顶点的第一标识确定多个候选区域和所述候选区域的第二标识,包括:
7、基于所述多个顶点在第一预设方向上对所述目标图形组进行划分,得到多个候选区域;
8、基于所述候选区域的顶点的第一标识和第二映射关系确定所述候选区域的第二标识。
9、其中,所述基于所述候选区域的顶点的第一标识和第二映射关系确定所述候选区域的第二标识,包括:
10、基于第一预设方向上的第t个候选区域中顶点的第一标识和第二映射关系对所述第t个候选区域的第二标识进行更新,得到第t+1个候选区域的第二标识,所述t为正整数。
11、其中,该方法还包括:
12、基于所述目标图形组的布尔运算符确定所述目标区域。
13、其中,所述基于所述目标图形组的布尔运算符确定所述目标区域,包括:
14、如果所述目标图形组的布尔运算符为第一运算符,则确定所述目标区域为所述目标图形组中两个图形的重叠区域;
15、如果所述目标图形组的布尔运算符为第二运算符,则确定所述目标区域为所述目标图形组中除指定图形外的区域;
16、如果所述目标图形组的布尔运算符为第三运算符,则确定所述目标区域为所述目标图形组中除所述重叠区域外的区域。
17、其中,该方法还包括:
18、从图形的所有顶点中确定第一起始顶点;
19、对图形的所有顶点从所述第一起始顶点开始按照第二预设方向进行遍历;
20、基于当前顶点和前一个顶点的坐标确定当前顶点的第一方向,基于当前顶点和后一个顶点的坐标确定当前顶点的第二方向;
21、基于当前顶点的第一方向和第二方向确定当前顶点的第一标识;
22、所述遍历完成后,得到所述图形中每个顶点的第一标识。
23、其中,所述基于目标区域和所述目标区域每个顶点的第一标识确定目标图形,包括:
24、将所述目标区域的所有顶点按照纵坐标进行分组,得到多个顶点坐标组;
25、将所述顶点坐标组内的序号为2i和2i+1的顶点进行连接,所述i为自然数;
26、创建顶点缓存序列,确定第二起始顶点,并从所述第二起始顶点开始按照第三预设方向对所有顶点进行遍历;
27、如果所述顶点缓存序列中存在横坐标与当前顶点横坐标相同的顶点,则将当前顶点和该顶点进行连接,并将该顶点从所述顶点缓存序列中去除;
28、如果所述顶点缓存序列中不存在横坐标与当前顶点横坐标相同的顶点,则将当前顶点加入所述顶点缓存序列;
29、所述遍历完成后,得到所述目标图形。
30、本申请实施例另一方面提供一种目标图形的确定装置,所述装置包括:
31、计算模块,用于获得目标图形组,并基于所述目标图形组中的多个顶点的第一标识确定多个候选区域和所述候选区域的第二标识,所述目标图形组包含版图中分别属于不同图层的两个图形和所述图形中每个顶点的第一标识,所述第一标识指示所述顶点所在区域的图形变化,所述第二标识表征所述候选区域的图形数量;
32、所述计算模块,还用于基于所述多个候选区域的第二标识、所有第一标识和第一映射关系确定目标区域和所述目标区域每个顶点的第一标识;
33、处理模块,用于基于目标区域和所述目标区域每个顶点的第一标识确定目标图形。
34、根据本申请的另一方面,提供了一种电子设备,包括:
35、至少一个处理器;以及
36、与所述至少一个处理器通信连接的存储器;其中,
37、所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述任一项所述的方法。
38、根据本申请的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行上述任一项所述的方法。
39、根据本申请的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现上述任一项所述的方法。
40、应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
1.一种目标图形的确定方法,所述方法包括:
2.根据权利要求1所述的方法,所述基于所述目标图形组中的多个顶点的第一标识确定多个候选区域和所述候选区域的第二标识,包括:
3.根据权利要求2所述的方法,所述基于所述候选区域的顶点的第一标识和第二映射关系确定所述候选区域的第二标识,包括:
4.根据权利要求1所述的方法,该方法还包括:
5.根据权利要求4所述的方法,所述基于所述目标图形组的布尔运算符确定所述目标区域,包括:
6.根据权利要求1所述的方法,该方法还包括:
7.根据权利要求1所述的方法,所述基于目标区域和所述目标区域每个顶点的第一标识确定目标图形,包括:
8.一种目标图形的确定装置,所述装置包括:
9.一种电子设备,包括:
10.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-7中任一项所述的方法。
11.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-7中任一项所述的方法。