集成电路的逻辑综合方法、装置、电子设备、介质及芯片与流程

文档序号:30831576发布日期:2022-07-22 21:41阅读:125来源:国知局
集成电路的逻辑综合方法、装置、电子设备、介质及芯片与流程

1.本公开涉及芯片设计的技术领域,具体而言,涉及一种集成电路的逻辑综合方法、装置、电子设备、介质及芯片。


背景技术:

2.随着大数据和各种人工智能算法的兴起,对芯片算力的要求也越来越高,同时又要兼顾高的能效比,达到极致的ppa(power/performance/area)指标。在数字电路中,一个被芯片实现流程处理的最小物理单元(physical block)通常包含多个子模块,每个子模块通常包含大量的标准库单元。相关逻辑综合技术中,由于对各个子模块的位置规划不合理,容易导致各个子模块中标准库单元的布局不合理,从而导致标准库单元之间的时序约束结果较差,芯片的功耗power和尺寸area增加,进而无法达到更好的ppa指标。


技术实现要素:

3.本公开实施例至少提供一种集成电路的逻辑综合方法、装置、电子设备、介质及芯片。
4.第一方面,本公开实施例提供了一种集成电路的逻辑综合方法,所述集成电路包括多个子模块,包括:确定所述集成电路中各子模块之间的模块连接关系;基于所述模块连接关系确定每个所述子模块的目标位置约束信息;所述目标位置约束信息用于控制每个子模块在预设面板区域中的模块位置;基于所述目标位置约束信息对所述集成电路的每个所述子模块中的标准库单元进行逻辑综合处理,得到逻辑综合结果。
5.通过上述描述可知,基于子模块之间的模块连接关系确定位置约束信息,可以实现对子模块在预设面板区域中的模块位置进行控制,从而提高子模块的布局合理性。在基于该位置约束信息对每个子模块的标注库单元进行逻辑综合处理时,就可以为标准库单元的摆放提供较好的起点,从而得到综合效果更好的逻辑综合结果,以达到更好的ppa指标。
6.一种可选的实施方式中,所述基于所述模块连接关系确定每个所述子模块的目标位置约束信息,包括:基于所述模块连接关系确定各个所述子模块在所述预设面板区域的相对方位信息;确定每个所述子模块的预设模块面积;基于所述相对方位信息和所述预设模块面积,确定每个所述子模块的目标位置约束信息。
7.一种可选的实施方式中,所述基于所述相对方位信息和所述预设模块面积,确定每个所述子模块的目标位置约束信息,包括:基于所述相对方位信息和所述预设模块面积,确定每个所述子模块在所述预设面板区域中的模块位置;将所述模块位置确定为对应子模块的目标位置约束信息。
8.上述实施方式中,上述实施方式中,通过相对方位信息可以准确的确定出每个子模块的大致方位,通过预设模块面积可以确定该子模块在预设面板区域的占用面积。通过结合预设模块面积和相对方位信息可以更加的准确的确定每个子模块的目标位置约束信息。
9.一种可选的实施方式中,所述基于所述目标位置约束信息对所述集成电路的每个所述子模块中的标准库单元进行逻辑综合处理,得到逻辑综合结果,包括:根据所述目标位置约束信息在所述预设面板区域中确定每个所述子模块的模块位置,并基于所述模块位置对每个所述子模块中的标准库单元进行布局,得到第一布局结果;基于时序约束条件调整所述第一布局结果,得到满足所述时序约束条件的第二布局结果;将所述第二布局结果确定为所述逻辑综合结果。
10.上述实施方式中,在得到第一布局结果之后,通过对第一布局结果中各子模块中标准库单元的布局信息进行调整,可以提高标准库单元的布局方式的灵活性,从而达到更好的ppa指标。
11.一种可选的实施方式中,所述基于时序约束条件调整所述第一布局结果,得到满足所述时序约束条件的第二布局结果,包括:基于所述时序约束条件调整所述第一布局结果中至少部分标准库单元的布局位置,得到调整结果;在基于所述调整结果确定所述多个子模块不满足所述时序约束条件的情况下,确定所述多个子模块中确定待调整子模块,并确定所述待调整子模块的新位置约束信息;基于所述新位置约束信息确定所述待调整子模块的新模块位置,并基于所述新模块位置对所述待调整子模块中标准库单元进行布局,得到新第一布局结果;基于所述时序约束条件调整所述新第一布局结果中至少部分标准库单元的布局位置,得到新调整结果,并在所述新调整结果满足所述时序约束条件的情况下,将所述新调整结果确定为所述第二布局结果;否则,基于所述新调整结果,返回确定所述多个子模块中确定待调整子模块,并确定所述待调整子模块的新位置约束信息的步骤。
12.上述实施方式中,可以缩短集成电路中各物理单元的逻辑综合时间,从而提高逻辑综合效率。
13.一种可选的实施方式中,所述确定所述多个子模块中确定待调整子模块,包括:在所述多个子模块中确定不满足时序约束条件的第一类子模块,并在所述多个子模块的剩余子模块中确定与所述第一类子模块相关联的第二类子模块;其中,所述第二类子模块的模块位置随所述第一类子模块的模块位置的变化而发生变化;基于所述第一类子模块和所述第二类子模块确定所述待调整子模块。
14.通过该处理方式,可以减少逻辑综合过程中的工作量,从而提高逻辑综合的效率。
15.一种可选的实施方式中,所述确定所述待调整子模块的新位置约束信息,包括:基于所述模块连接关系在所述预设面板区域中确定所述待调整子模块的多个备选模块位置;在所述多个备选模块位置中确定目标备选模块位置,并将所述目标备选模块位置确定为所述待调整子模块的新位置约束信息。
16.上述实施方式中,在待调整子模块包含多个备选模块位置的情况下,通过基于多个备选模块位置更新调整子模块的位置约束信息的方式,可以为物理单元提供多种布局方式,从而最大可能的提高标准库单元的布局效果。
17.一种可选的实施方式中,所述确定所述待调整子模块的新位置约束信息,包括:基于所述调整结果确定所述待调整子模块之间的实际延时时间;在基于所述实际延时时间确定所述待调整子模块满足调整要求的情况下,缩短所述待调整子模块之间的距离,并基于缩短距离之后的待调整子模块的模块位置确定所述待调整子模块的新位置约束信息。
18.上述实施方式中,通过实际延时时间调整待调整子模块之间距离的方式,可以实
现对第二布局结果中各子模块的模块位置进行精细化调整,从而提高对子模块的模块位置调整的灵活性,进而达到更好的ppa指标。
19.一种可选的实施方式中,所述确定每个所述集成电路中各子模块之间的模块连接关系,包括:获取所述集成电路的rtl代码文件;提取所述rtl代码文件中的连接文件,并基于提取到的所述连接文件确定所述模块连接关系,其中,所述连接文件中包含各个子模块的模块端口之间的连接关系。
20.上述实施方式中,通过分析rtl代码文件,得到模块连接关系的方式,可以快速并准确的得到子模块之间的模块连接关系,从而可以在提高逻辑综合效率的同时,保证目标位置约束信息的准确性。
21.第二方面,本公开实施例提供了一种集成电路的逻辑综合装置,所述集成电路包括多个子模块,包括:第一确定单元,用于确定所述集成电路中各子模块之间的模块连接关系;第二确定单元,用于基于所述模块连接关系确定每个所述子模块的目标位置约束信息;所述目标位置约束信息用于指示每个子模块在预设面板区域中的模块位置;逻辑综合单元,用于基于所述目标位置约束信息对所述集成电路的每个所述子模块中的标准库单元进行逻辑综合处理,得到逻辑综合结果。
22.第三方面,本公开实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
23.第四方面,本公开实施例还提供一种芯片,所述芯片采用如上述第一方面任意一项所述的集成电路的逻辑综合方法进行逻辑综合方法,并基于逻辑综合结果对所述集成电路的各个子模块进行布局布线。
24.第五四方面,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
25.为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
26.为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
27.图1示出了本公开实施例所提供的一种集成电路的逻辑综合方法的流程图;
28.图2示出了本公开实施例所提供的集成电路的逻辑综合方法中,确定每个所述集成电路中各子模块之间的模块连接关系的具体方法的流程图;
29.图3示出了本公开实施例所提供的集成电路的逻辑综合方法中,基于模块连接关系确定每个子模块的目标位置约束信息的具体方法的流程图;
30.图4示出了本公开实施例所提供的一种物理单元中各个子模块之间的模块连接关系的连接示意图;
31.图5示出了本公开实施例所提供的集成电路的逻辑综合方法中,基于所述目标位置约束信息对所述集成电路的每个所述子模块中的标准库单元进行逻辑综合处理,得到逻辑综合结果的具体方法的流程图;
32.图6(a)示出了本公开实施例所提供的一种在位置约束信息的约束下经过第一次逻辑综合处理后得到的第一布局结果的结果示意图;
33.图6(b)示出了本公开实施例所提供的一种在舍弃位置约束信息的约束下基于第一布局结果进行第二次逻辑综合处理后得到的第二布局结果的结果示意图;
34.图7(a)示出了本公开实施例所提供的一种两个寄存器之间连接关系的示意图;
35.图7(b)示出了本公开实施例所提供的一种延长两个寄存器之间连接距离之后两个寄存器之间连接关系的示意图;
36.图8示出了本公开实施例所提供的另一种集成电路的逻辑综合方法的流程图;
37.图9示出了本公开实施例所提供的一种集成电路的逻辑综合装置的示意图;
38.图10示出了本公开实施例所提供的一种电子设备的示意图。
具体实施方式
39.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
40.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
41.本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括a、b、c中的至少一种,可以表示包括从a、b和c构成的集合中选择的任意一个或多个元素。
42.经研究发现,随着大数据和各种人工智能算法的兴起,对芯片算力的要求也越来越高,同时又要兼顾高的能效比,达到极致的ppa(power/performance/area)指标。
43.要达到这个目标,对芯片实现流程的定制化要求也越来越高。传统的芯片实现流程,包括从rtl(register transfer level)综合到网表netlist、布局、时钟树综合、布线等过程。上述大多数都是依靠eda工具来自动完成。但是在数字电路中,一个被芯片实现流程处理的最小物理单元(physical block),通常包含2-4百万个标准库单元,布局过程中,需要eda(electronic design automation,电子设计自动化)工具来给定每个标准库单元的位置,这是一个非常具有挑战性的事情。这里,由于芯片中包含大量的部件,且由于eda工具的处理能力的限制,eda工具可以在芯片实现过程中,可以预先将芯片划分为多个模块,该
每个模块即为最小物理单元。
44.针对每个最小物理单元来说包含2-4百万个标准库单元,数量较多的标准库单元将影响该最小物理单元中每个标准库单元的摆放位置的确定。基于此,eda工具可以将上述最小物理单元分成不同的子模块cluster,再依据固定位置的端口port或硬核hard macro来决定每个子模块cluster的大概位置,之后再去做每个子模块cluster里面标准库单元的位置摆放(place)。其中,eda工具可以根据最小物理单元所实现的功能将该最小物理单元分为不同的子模块,或者,eda工具还可以将该最小物理单元按照预设划分网格划分为多个子模块。
45.然而,发明人发现有些情况下,eda工具并不能很好的去决定每个子模块cluster的位置。如果各个子模块的规划不合理,在做完所有标准库单元的布局后,会导致芯片出现比较差的时序约束timing结果,由于时序约束timing结果变差,进一步导致芯片的功耗power和尺寸area增加,进而无法达到更好的ppa指标。
46.基于上述研究,本公开提供了一种集成电路的逻辑综合方法、装置、电子设备、介质及芯片。在本公开实施例中,首先确定集成电路中各个子模块之间的模块连接关系,进而基于该模块连接关系确定用于控制每个子模块在预设面板区域中的模块位置的位置约束信息;之后,就可以基于所述目标位置约束信息对所述集成电路的所述子模块中的标准库单元进行逻辑综合处理,从而得到逻辑综合结果。
47.通过上述描述可知,基于子模块之间的模块连接关系确定位置约束信息,可以实现对子模块在预设面板区域中的模块位置进行控制,从而提高子模块的布局合理性。在基于该位置约束信息对每个子模块的标注库单元进行逻辑综合处理时,就可以为标准库单元的摆放提供较好的起点,从而得到综合效果更好的逻辑综合结果,以达到更好的ppa指标。
48.为便于对本实施例进行理解,首先对本公开实施例所公开的一种集成电路的逻辑综合方法进行详细介绍,本公开实施例所提供的集成电路的逻辑综合方法的执行主体一般为具有一定计算能力的电子设备。
49.参见图1所示,为本公开实施例提供的一种集成电路的逻辑综合方法的流程图,所述方法包括步骤s101~s105,其中:
50.s101:确定所述集成电路中各子模块之间的模块连接关系。
51.在本公开实施例中,可以预先将集成电路划分为多个物理单元,其中,该物理单元可以理解为一个被集成电路实现流程处理的最小物理单元(physical block),每个物理单元包含多个子模块submodule。
52.这里,步骤s101中所描述的各子模块可以为集成电路中每个物理单元中各个子模块之间的模块连接关系。模块连接关系用于表征每个物理单元中各个子模块的模块端口之间的连接关系,其中,该模块端口包含模块输入端口和模块输出端口。
53.基于此,在本公开实施例中,可以基于集成电路中每个物理单元中各个子模块的模块端口之间的连接关系确定上述模块连接关系。
54.s103:基于所述模块连接关系确定每个所述子模块的目标位置约束信息;所述目标位置约束信息用于控制每个子模块在预设面板区域中的模块位置。
55.这里,可以基于模块连接关系确定每个物理单元中各个子模块之间的相对方位信息,进而,基于该相对方位信息估计出每个子模块在预设面板区域上的位置,从而根据估计
出的位置确定每个子模块的目标位置约束信息。
56.每个子模块的目标位置约束信息可以为位置坐标,例如,可以为多个顶点坐标,其中,该多个顶点坐标可以为能够在预设面板区域中确定一个位置区域的顶点坐标,例如,该多个顶点坐标可以为4个顶点坐标,以通过该4个顶点坐标确定一个规则或者不规则的位置区域,进而将该位置区域确定为该子模块在该预设面板区域中的模块位置。
57.应理解的是,在预设面板区域中各个子模块的模块位置可以相邻,但是不重叠,因此,每个子模块的目标位置约束信息均不相同。
58.这里,预设面板区域可以理解为集成电路所对应完整布局区域中与该物理单元相匹配的布局区域。
59.通过上述描述可知,在本公开实施例中,将集成电路划分为多个物理单元,针对每个物理单元,均预先在完整布局区域中为该物理单元划分了对应的布局区域,该对应的布局区域即为步骤s103中的预设面板区域。
60.s105:基于所述目标位置约束信息对所述集成电路的每个所述子模块中的标准库单元进行逻辑综合处理,得到逻辑综合结果。
61.在本公开实施例中,可以基于目标位置约束信息对每个物理单元中的各个子模块中的标准库单元进行布局,即确定各个子模块中的标准库单元在预设面板区域中的位置,从而得到逻辑综合结果。
62.具体实施时,可以目标位置约束信息估计每个子模块在预设面板区域的位置,例如,该位置可以为在目标位置约束信息所对应位置,以及该位置的可变化范围。在确定出该位置之后,就可以基于该位置对每个子模块中的标准库单元进行逻辑综合处理,得到逻辑综合结果。
63.这里,目标位置约束信息用于约束每个子模块和/或该子模块中的标准库单元的大概布局位置。也就是说,每个子模块和/或该子模块的标准库单元在预设面板区域的最后布局位置可以位于该目标位置约束信息所约束的位置内,还可以部分位于该目标位置约束信息所约束的位置内。通过该设置方式,可以灵活的调节每个子模块的模块位置,以及每个子模块中标准库单元的布局位置,从而达到更好的ppa指标。
64.下面将结合具体实施方式对上述步骤s101至步骤s105所描述的步骤进行详细介绍。
65.在一个可选的实施方式中,如图2所示,上述步骤s101确定每个所述集成电路中各子模块之间的模块连接关系,具体包括如下步骤:
66.步骤s1011,获取所述集成电路的rtl代码文件;
67.步骤s1012,提取所述rtl代码文件中的连接文件,并基于提取到的所述连接文件确定所述模块连接关系,其中,所述连接文件中包含各个子模块的模块端口之间的连接关系。
68.在本公开实施例中,首先,将集成电路划分为多个物理单元physical block,然后,确定每个物理单元的rtl代码文件,其中,该rtl代码文件中包含该物理单元的行为逻辑,比如包含每个物理单元中各个子模块之间的模块连接关系。
69.在本公开实施例中,rtl代码文件中除了包含rtl代码之外,还包含连接文件;其中,该连接文件中包含该物理单元的各个子模块的模块端口之间的连接关系。
70.基于此,可以在rtl代码文件中提取连接文件,并读取该连接文件中的连接关系,并将该读取到的连接关系确定为上述模块连接关系。
71.由于该模块连接关系为物理单元中各个子模块的模块端口之间的连接关系,基于此,可以基于该模块连接关系确定数据在该物理单元中的处理流向,也是数据流走向,进而基于该数据流走向确定每个子模块的目标位置约束信息。
72.比如,可以根据该数据流走向确定各个子模块之间的相对方位信息,例如该相对方位信息可以为:子模块a位于子模块b的右侧区域。
73.上述实施方式中,通过分析rtl代码文件,得到模块连接关系的方式,可以快速并准确的得到子模块之间的模块连接关系,从而可以在提高逻辑综合效率的同时,保证目标位置约束信息的准确性。
74.在一个可选的实施方式中,如图3所示,上述步骤s103基于所述模块连接关系确定每个所述子模块的目标位置约束信息,具体包括如下步骤:
75.步骤s1031,基于所述模块连接关系确定各个所述子模块在所述预设面板区域的相对方位信息;
76.步骤s1032,确定每个所述子模块的预设模块面积;
77.步骤s1033,基于所述相对方位信息和所述预设模块面积,确定每个所述子模块的目标位置约束信息。
78.在本公开实施例中,可以在每个物理单元的各个子模块中确定第一层级的子模块;其中,该第一层级的子模块可以理解为输入接口连接至其他物理单元的输入接口的子模块;或者,该第一层级的子模块为数据在该物理单元中的起始处理模块。
79.以第一层级的子模块作为起始模块,基于模块连接关系确定与该第一层级的子模块的输出端口相连接的第二层级的子模块,基于模块连接关系确定与该第二层级的子模块的输出端口相连接的第三层级的子模块。以此类推,就可以根据子模块之间的层级关系,确定各个子模块在所述预设面板区域的相对方位信息。
80.例如,第一层级的子模块可以位于第二层级的子模块的左侧,第二层级的子模块可以位于第三层级的子模块的左侧。
81.这里,每个子模块的预设模块面积可以理解为每个子模块在预设面板区域中的使用面积。其中,可以基于每个子模块所包含的标准库单元确定该子模块的预设模块面积。
82.具体实施时,可以确定每个子模块中所包含标准库单元的数量和/或型号,进而基于该数量和/或型号估计出该子模块中所包含全部标准库单元的面积;之后,就可以基于该面积确定该子模块的预设模块面积。例如,可以将该全部标准库单元的面积除以一个系数k(例如,k的取值可以为0.6)。最终,将最后的数值确定为该子模块在预设面板区域上的预设模块面积,以及物理空间内的面积。
83.在本公开实施例中,可以通过eda工具估计出子模块中所包含全部标准库单元的面积。或者,可以通过查表的方式确定子模块中所包含全部标准库单元的面积,例如,可以在数据表中查找与该子模块中标准库单元的数量和/或型号相匹配的子数据,进而基于该子数据确定该子模块中所包含全部标准库单元的面积。这里,该子数据中可以包含标准库单元的数量和/或型号,与对应面积之间的映射关系。
84.在按照上述所描述的方式确定出对应物理单元中各个子模块之间的相对方位信
息和预设模块面积之后,就可以确定该物理单元中每个子模块的目标位置约束信息。
85.具体实施时,可以按照物理单元中子模块之间的层级关系,并基于该相对方位信息和预设模块面积确定目标位置约束信息。
86.这里,各个子模块在预设面板区域上的相对方位信息中可以包含多个不同的方位位置,例如,第三层级的子模块可以设置在第二层级的子模块的左侧,或者,设置在第二层级的子模块的右侧。此时,就可以为每个方位位置设置对应的方位优先级,并基于该方位优先级和预设模块位置确定目标位置约束信息。其中,方位优先级与该物理单元的ppa指标相关联,例如,该物理单元的ppa指标越好,则表明对应方位位置的方位优先级越高。
87.在一个可选的实施方式中,上述步骤s1033基于所述相对方位信息和所述预设模块面积,确定每个所述子模块的目标位置约束信息,具体包括如下步骤:
88.步骤s11:基于所述相对方位信息和所述预设模块面积,确定每个所述子模块在所述预设面板区域中的模块位置;
89.步骤s12:将所述模块位置确定为对应子模块的目标位置约束信息。
90.具体实施时,可以按照该物理单元中各个子模块之间的模块层级关系,依次按照对应层级子模块的相对方位信息和预设模块面积,确定该子模块的目标位置约束信息。其中,各个子模块之间的模块层级关系为基于子模块之间的模块连接关系确定的。
91.举例来说,如图4所示的为一种物理单元中各个子模块之间的模块连接关系的连接示意图。从图4中可以看出,该物理单元包含4个子模块,分别为submodule0、submodule1、submodule2、submodule3。从图4中可以看出,submodule1和submodule3为第一层级的子模块,由于submodule0分别与submodule1和submodule3相连接,因此,submodule0为第二层级的子模块。由于submodule2分别与submodule0、submodule1和submodule3相连接,因此确定submodule2为第三层级的子模块。
92.基于此,就可以从第一层级的子模块开始,基于该第一层级的子模块的预设模块面积确定该第一层级的子模块的目标位置约束信息。之后,可以确定第二层级的子模块和第一层级的子模块之间的相对方位信息,进而基于该相对方位信息和第二层级的子模块的预设模块面积确定该第二层级的子模块的目标位置约束信息。以此类推,可以得到其他层级的子模块的目标位置约束信息。
93.承接上例,可以从submodule1和submodule3开始,为基于submodule1的预设模块面积和submodule3的预设模块面积,分别为submodule1和submodule3在预设面板区域中确定对应的模块位置。之后,可以基于submodule0与submodule1和submodule3之间的相对方位信息和该submodule0的预设模块面积确定该submodule0的模块位置。例如,如图4所示,submodule0可以设置在submodule1和submodule3的左侧,还可以设置在submodule1和submodule3的右侧,此时,该submodule0所对应的方位位置为多个(即,2个)。基于此,就可以根据方位位置的方位优先级和该submodule0的预设模块面积确定该submodule0的模块位置。
94.这里,方位优先级与该物理单元的ppa指标相关联,例如,该物理单元的ppa指标越好,则表明对应方位位置的方位优先级越高。
95.具体实施时,可以确定各子模块设置在每个方位位置时,该物理单元的ppa指标。如果该ppa指标越好,则表明该ppa指标较好的方位位置的方位优先级越高。
96.假设,submodule1和submodule3的右侧的方位优先级高于submodule1和submodule3的左侧,即,在将submodule0设置在submodule1和submodule3的右侧时,该物理单元的ppa指标好于将submodule0设置在submodule1和submodule3的左侧时的ppa指标。此时,可以在submodule1和submodule3的右侧按照该submodule0的预设模块面积确定该submodule0的模块位置。
97.针对submodule2,由于该submodule2分别与submodule0、submodule1和submodule3相连接,此时,可以确定该submodule2的相对方位信息为submodule0、submodule1和submodule3的右侧,此时,就可以在submodule0、submodule1和submodule3的右侧按照该submodule2的预设模块面积确定该submodule2的模块位置。
98.在本公开实施例中,在按照上述所描述的方式确定每个子模块在所述预设面板区域中的模块位置之后,相关技术人员还可以对各子模块的模块位置进行调整,例如,可以调整各个子模块之间的距离,或者各个子模块的模块位置的形状等,本公开对具体的调整过程不作具体限定。
99.这里,基于相对方位信息和预设模块面积所确定的每个子模块在预设面板区域中的模块位置可以表示为多个顶点坐标,其中,该多个顶点坐标能够确定一个规则或者不规则形状的区域。
100.上述实施方式中,上述实施方式中,通过相对方位信息可以准确的确定出每个子模块的大致方位,通过预设模块面积可以确定该子模块在预设面板区域的占用面积。通过结合预设模块面积和相对方位信息可以更加的准确的确定每个子模块的目标位置约束信息。
101.在一个可选的实施方式中,如图5所示,上述步骤s105基于所述目标位置约束信息对所述集成电路的每个所述子模块中的标准库单元进行逻辑综合处理,得到逻辑综合结果,具体包括如下步骤:
102.步骤s1051:根据所述目标位置约束信息在所述预设面板区域中确定每个所述子模块的模块位置,并基于所述模块位置对每个所述子模块中的标准库单元进行布局,得到第一布局结果。
103.具体实施时,可以获取集成电路中各物理单元的rtl代码文件,并将该物理单元的rtl代码文件转换为该物理单元的网表netlist,其中,该物理单元的网表netlist中包含该物理单元的各个子模块的模块布局信息。
104.之后,就可以在目标位置约束信息的约束下,基于该网表netlist对该物理单元的各个子模块中的标准库单元进行第一次的逻辑综合处理,从而得到第一布局结果。
105.这里,第一布局结果用于指示各个子模块中的标准库单元在目标位置约束信息所指示模块位置中的布局信息。
106.在本公开实施例中,在基于该目标位置约束信息对每个子模块的标注库单元进行第一次的逻辑综合处理时,可以为标准库单元的摆放提供较好的起点。为了使得综合之后的物理单元能够达到更好的ppa指标,还需要对第一布局结果中各子模块中标准库单元的布局信息进行调整,从而提高标准库单元的布局方式的灵活性,具体调整方式可以描述为下述步骤。
107.步骤s1052:基于时序约束条件调整所述第一布局结果,得到满足所述时序约束条
件的第二布局结果。
108.在本公开实施例中,在按照上述s1051所描述的步骤对该物理单元的各个子模块中的标准库单元进行第一次的逻辑综合处理之后,还需要基于时序约束条件和第一布局结果对该物理单元的各个子模块中的标准库单元进行第二次的逻辑综合处理。如果第二次的逻辑综合处理的综合结果满足时序约束条件,则确定得到满足时序约束条件的第二布局结果。如果第二次的逻辑综合处理的综合结果不满足时序约束条件,还需要重新确定子模块的位置约束信息,并基于重新确定的位置约束信息返回重复执行步骤s1051和步骤s1052,直至得到满足时序约束条件的第二布局结果。
109.这里,可以在现有第一布局结果所对应布局信息的基础上,基于预先设定的时序约束条件在第一布局结果所对应布局位置的周围调整至少部分标准库单元的布局位置,从而实现上述第二次的逻辑综合处理过程。
110.具体实施时,可以创建时序约束文件(synopsys design constraints,sdc),然后,将时序约束文件和第一布局结果输入至eda工具中,之后eda工具就可以将最佳时序为目标,基于该时序约束文件中所包含的时序约束条件调整第一布局结果中至少部分标准库单元的布局位置,从而实现上述第二次的逻辑综合处理过程,以得到满足时序约束条件的第二布局结果。
111.经过第二次逻辑综合处理之后的标准库单元可以不必局限在目标位置约束信息所对应的模块位置中,也即,经过第二次逻辑综合处理之后的标准库单元可以位于该目标位置约束信息所对应的模块位置之外的区域。
112.这里,可以基于预设密集度要求调整第一布局结果中至少部分标准库单元的布局位置,其中,该预设密集度要求用于表征预设面板区域中各子模块的标准库单元的密集程度。
113.例如,如图6(a)和图6(b)所示,其中,图6(a)所示的为第一布局结果的结果示意图,图6(b)所示的为第二布局结果的结果示意图。从图6(a)中可以看出,各子模块在预设面板区域中的位置为较为规则的位置区域,且各子模块的标准库单元位于该较为规则的位置区域内。经过第二次的逻辑综合处理之后,各子模块在预设面板区域中的位置变化为不规则的位置区域,即经过第二次的逻辑综合处理之后,各子模块中的标准库单元的布局位置发生了变化。且图6(b)所示,每个子模块的标准库单元分布在较为集中的不规则位置区域中,也即,该子模块的标准库单元的密集程度满足该预设密集度要求。
114.通过该处理方式,可以避免子模块的部分标准库单元被调整至距离该子模块的剩余标准库单元较远的位置,从而不利于ppa指标的达成。
115.步骤s1053:将所述第二布局结果确定为所述逻辑综合结果。
116.在对各子模块中的标准库单元进行第一次逻辑综合处理和第二次逻辑综合处理之后,还需要分析该物理单元中各子模块之间的实际延时时间是否满足时序约束条件。如果判断出满足时序约束条件,则确定得到满足时序约束条件的第二布局结果,并将该第二布局结果确定为逻辑综合结果。如果判断出不满足时序约束,则可以调整至少部分子模块的位置约束信息,并按照上述s1051和s1052重新对各子模块中的标准库单元进行逻辑综合处理,直至得到满足时序约束条件的第二布局结果。
117.在一个可选的实施方式中,上述步骤s1052基于时序约束条件调整所述第一布局
结果,得到满足所述时序约束条件的第二布局结果,具体包括如下步骤:
118.步骤s10531:基于所述时序约束条件调整所述第一布局结果中至少部分标准库单元的布局位置,得到调整结果;
119.步骤s10532:在基于所述调整结果确定所述多个子模块不满足所述时序约束条件的情况下,确定所述多个子模块中确定待调整子模块,并确定所述待调整子模块的新位置约束信息;
120.步骤s10533:基于所述新位置约束信息确定所述待调整子模块的新模块位置,并基于所述新模块位置对所述待调整子模块中标准库单元进行布局,得到新第一布局结果;
121.步骤s10534:基于所述时序约束条件调整所述新第一布局结果中至少部分标准库单元的布局位置,得到新调整结果,并在所述新调整结果满足所述时序约束条件的情况下,将所述新调整结果确定为所述第二布局结果;否则,基于所述新调整结果,返回确定所述多个子模块中确定待调整子模块,并确定所述待调整子模块的新位置约束信息的步骤。
122.在本公开实施例中,待调整子模块可以理解为不满足时序约束条件的子模块,以及与不满足时序约束条件的子模块相关联的子模块。这里,相关联可以理解为相关联的子模块对应的实际延时时间容易受到不满足时序约束条件的子模块的模块位置变化的影响。或者,待调整子模块可以理解为该物理单元的全部子模块。
123.这里,可以基于各子模块之间的其他相对方位信息和/或各子模块之间的实际延时时间,更新待调整子模块的位置约束信息,从而得到新位置约束信息。
124.举例来说,可以基于各子模块之间的其他相对方位信息和各子模块的预设模块面积更新待调整子模块的位置约束信息,和/或,基于各子模块之间的实际延时时间与时序约束条件之间的差距更新待调整子模块的位置约束信息。
125.在更新待调整子模块的位置约束信息之后,就可以根据新位置约束信息在预设面板区域中确定待调整子模块的新模块位置,并基于新模块位置对待调整子模块中的标准库单元进行布局(即,第一次逻辑综合处理),得到新第一布局结果;之后,基于时序约束条件调整该新第一布局结果中至少部分标准库单元的布局位置(即第二次逻辑综合处理),得到新调整结果。如果新调整结果满足时序约束条件,则确定得到第二布局结果。如果新调整结果不满足时序约束条件,则返回上述步骤s10532,并再次执行步骤s10532至步骤s10534,直至得到满足时序约束条件的调整结果,此处不再详细描述执行过程。
126.下面将分情况介绍上述确定所述待调整子模块的新位置约束信息的过程。
127.方式一:
128.在此方式一中,上述步骤更新所述待调整子模块的位置约束信息,具体包括如下步骤:
129.(1)、基于所述模块连接关系在所述预设面板区域中确定所述待调整子模块的多个备选模块位置;
130.(2)、在所述多个备选模块位置中确定目标备选模块位置,并将所述目标备选模块位置确定为所述待调整子模块的新位置约束信息。
131.如果待调整子模块之间的相对方位信息包含多个方位位置,那么可以确定待调整子模块包含多个备选模块位置。其中,每个备选模块位置对应一个方位位置。基于此,可以基于模块连接关系在预设面板区域中确定待调整子模块的多个方位位置,进而基于该多个
方位位置确定多个备选模块位置。
132.接下来,就可以按照每个方位位置的方位优先级在多个备选模块位置中确定目标备选模块位置。例如,可以将多个备选模块位置中对应方位优先级最高的备选模块位置确定为目标备选模块位置。
133.应理解的是,该目标备选模块位置并不是第二布局结果中该待调整子模块所对应的模块位置。
134.在确定出目标备选模块位置之后,就可以将该目标备选模块位置确定为待调整子模块更新后的位置约束信息,得到新位置约束信息。
135.上述实施方式中,在待调整子模块包含多个备选模块位置的情况下,通过基于多个备选模块位置更新调整子模块的位置约束信息的方式,可以为物理单元提供多种布局方式,从而最大可能的提高标准库单元的布局效果。
136.方式二:
137.在此方式二中,上述步骤确定所述待调整子模块的新位置约束信息,包括:
138.(1)、基于所述调整结果确定所述待调整子模块之间的实际延时时间;
139.(2)、在基于所述实际延时时间确定所述待调整子模块满足调整要求的情况下,缩短所述待调整子模块之间的距离,并基于缩短距离之后的待调整子模块的模块位置确定所述待调整子模块的新位置约束信息。
140.在本公开实施例中,如图7(a)所示,两个寄存器通过组合逻辑进行连接。图7(b)所示,两个寄存器之间的距离变远,此时,两个寄存器之间的时序timing变差。因为,距离变远,带来了额外的缓冲和更长的走线,从而导致集成电路的面积和功耗均增大。
141.基于此,可以基于调整结果确定待调整子模块之间的实际延时时间,并分析该实际延时时间与预设时钟周期之间的差距。在确定该差距小于预设差距的情况下,确定待调整子模块满足调整要求,此时,可以缩短所述待调整子模块之间的距离,并基于缩短距离之后的待调整子模块的模块位置更新所述待调整子模块的位置约束信息,得到新位置约束信息。
142.这里,可以获取目标映射表,其中,该目标映射表用于映射距离和差距之间的对应关系。举例来说,目标映射表中可以包含多个映射关系,每个映射关系可以包含一个差距区间和一个距离区间,该映射关系用于表征在差距位于该差距区间的情况下,可以在距离区间内调整待调整子模块之间的距离。
143.在获取到该目标映射表之后,可以在该目标映射表所包含的多个映射关系中确定与该差距相匹配的目标映射关系,进而基于该目标映射关系中所包含的距离区间缩短待调整子模块之间的距离。
144.上述实施方式中,通过实际延时时间调整待调整子模块之间距离的方式,可以实现对第二布局结果中各子模块的模块位置进行精细化调整,从而提高对子模块的模块位置调整的灵活性,进而达到更好的ppa指标。
145.在一个可选的实施方式中,上述步骤s10531确定所述多个子模块中确定待调整子模块的步骤具体还包括如下步骤:
146.(1)、在所述多个子模块中确定不满足时序约束条件的第一类子模块,并在所述多个子模块的剩余子模块中确定与所述第一类子模块相关联的第二类子模块;其中,所述第
二类子模块的模块位置随所述第一类子模块的模块位置的变化而发生变化。
147.举例来说,如图4所示,如果submodule1和submodule0之间不满足时序约束条件,则确定submodule1和submodule0为第一类子模块。此时,就需要调整submodule1和submodule0的模块位置。如果submodule2的模块随submodule0的模块位置的变化而发生变化,则确定submodule2为第二类子模块。
148.比如,需要将submodule0调整至submodule1的左侧,此时,submodule0和submodule2之间的距离变远,通过上述图7(a)和图7(b)所描述的内容可知,为了使得集成电路的面积、功耗以及时序满足要求,就需要调整submodule0和submodule2之间的距离,那就必然需要调整submodule2的模块位置,那么此时,submodule2即为第二类子模块。
149.(2)、基于所述第一类子模块和所述第二类子模块确定所述待调整子模块。
150.在本公开实施例中,可以将第一类子模块和第二类子模块确定为待调整子模块。通过该处理方式,可以减少逻辑综合过程中的工作量,从而提高逻辑综合的效率。
151.下面将以图8对上述所描述的集成电路的逻辑综合方法进行整体介绍,如图8所示,该集成电路的逻辑综合方法包括如下步骤:
152.s801:获取集成电路的rtl代码文件;
153.s802:基于rtl代码文件确定集成电路中各物理单元中各子模块之间的模块连接关系。
154.具体实施时,可以提取所述rtl代码文件中的连接文件,并基于提取到的所述连接文件确定模块连接关系,其中,所述连接文件中包含各个子模块的模块端口之间的连接关系。具体确定过程如上步骤s1011和步骤s1012的描述,此处不再详细描述。
155.s803:基于模块连接关系确定每个所述子模块的目标位置约束信息;其中,目标位置约束信息用于控制每个子模块在预设面板区域中的模块位置。
156.具体实施时,可以基于所述模块连接关系确定各个所述子模块在所述预设面板区域的相对方位信息,并确定每个所述子模块的预设模块面积;以及基于所述相对方位信息和所述预设模块面积,确定每个所述子模块在所述预设面板区域中的模块位置;将所述模块位置确定为对应子模块的目标位置约束信息。具体确定过程如上步骤s1031至步骤s1033的描述,此处不再详细描述。
157.s804:基于目标位置约束信息对各子模块中的标准库单元进行第一次逻辑综合处理,得到第一布局结果。
158.具体实施时,可以根据所述目标位置约束信息在所述预设面板区域中确定每个所述子模块的模块位置,并基于所述模块位置对每个所述子模块中的标准库单元进行布局,得到第一布局结果。具体确定过程如上步骤s1051的描述,此处不再详细描述。
159.s805:基于时序约束条件和第一布局结果对各子模块中的标准库单元进行第二次逻辑综合处理,得到调整结果。
160.具体实施时,可以基于时序约束条件调整所述第一布局结果中至少部分标准库单元的布局位置,得到第二布局结果。具体确定过程如上步骤s1052的描述,此处不再详细描述。
161.s806:在调整结果满足时序约束条件的情况下,确定得到满足时序约束条件的第二布局结果,并将该第二布局结果确定为逻辑综合结果。
162.s807:在调整结果不满足时序约束条件的情况下,在所述多个子模块中确定待调整子模块,并更新所述待调整子模块的位置约束信息,得到新位置约束信息。
163.具体实施时,可以在所述多个子模块中确定不满足时序约束条件的第一类子模块,并在所述多个子模块的剩余子模块中确定与所述第一类子模块相关联的第二类子模块;其中,所述第二类子模块的模块位置随所述第一类子模块的模块位置的变化而发生变化;基于所述第一类子模块和所述第二类子模块确定所述待调整子模块。
164.在本公开实施例中,可以通过上述方式一和方式二所描述的方式更新所述待调整子模块的位置约束信息,此处不再详细描述。
165.s808:将新位置约束信息确定为所述待调整子模块的目标位置约束信息,并返回执行步骤s804,直至得到满足时序约束条件的第二布局结果,并将满足时序约束条件的第二布局结果确定为所述逻辑综合结果。
166.通过上述描述可知,基于子模块之间的模块连接关系确定位置约束信息,可以实现对子模块在预设面板区域中的模块位置进行控制,从而提高子模块的布局合理性。在基于该位置约束信息对每个子模块的标注库单元进行逻辑综合处理时,就可以为标准库单元的摆放提供较好的起点,从而得到综合效果更好的逻辑综合结果,以达到更好的ppa指标。
167.本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
168.基于同一发明构思,本公开实施例中还提供了与集成电路的逻辑综合方法对应的集成电路的逻辑综合装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述集成电路的逻辑综合方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
169.参照图9所示,为本公开实施例提供的一种集成电路的逻辑综合装置的示意图,所述装置包括:第一确定单元10、第二确定单元20、逻辑综合单元30;其中,
170.第一确定单元10,用于确定所述集成电路中各子模块之间的模块连接关系;
171.第二确定单元20,用于基于所述模块连接关系确定每个所述子模块的目标位置约束信息;所述目标位置约束信息用于指示每个子模块在预设面板区域中的模块位置;
172.逻辑综合单元30,用于基于所述目标位置约束信息对所述集成电路的每个所述子模块中的标准库单元进行逻辑综合处理,得到逻辑综合结果。
173.通过上述描述可知,基于子模块之间的模块连接关系确定位置约束信息,可以实现对子模块在预设面板区域中的模块位置进行控制,从而提高子模块的布局合理性。在基于该位置约束信息对每个子模块的标注库单元进行逻辑综合处理时,就可以为标准库单元的摆放提供较好的起点,从而得到综合效果更好的逻辑综合结果,以达到更好的ppa指标。
174.一种可能的实施方式中,第二确定单元,还用于:基于所述模块连接关系确定各个所述子模块在所述预设面板区域的相对方位信息;确定每个所述子模块的预设模块面积;基于所述相对方位信息和所述预设模块面积,确定每个所述子模块的目标位置约束信息。
175.一种可能的实施方式中,第二确定单元,还用于:基于所述相对方位信息和所述预设模块面积,确定每个所述子模块在所述预设面板区域中的模块位置;将所述模块位置确定为对应子模块的目标位置约束信息。
176.一种可能的实施方式中,逻辑综合单元,还用于:根据所述目标位置约束信息在所述预设面板区域中确定每个所述子模块的模块位置,并基于所述模块位置对每个所述子模块中的标准库单元进行布局,得到第一布局结果;基于时序约束条件调整所述第一布局结果,得到满足所述时序约束条件的第二布局结果;将所述第二布局结果确定为所述逻辑综合结果。
177.一种可能的实施方式中,逻辑综合单元,还用于:基于所述时序约束条件调整所述第一布局结果中至少部分标准库单元的布局位置,得到调整结果;在基于所述调整结果确定所述多个子模块不满足所述时序约束条件的情况下,确定所述多个子模块中确定待调整子模块,并确定所述待调整子模块的新位置约束信息;基于所述新位置约束信息确定所述待调整子模块的新模块位置,并基于所述新模块位置对所述待调整子模块中标准库单元进行布局,得到新第一布局结果;基于所述时序约束条件调整所述新第一布局结果中至少部分标准库单元的布局位置,得到新调整结果,并在所述新调整结果满足所述时序约束条件的情况下,将所述新调整结果确定为所述第二布局结果;否则,基于所述新调整结果,返回确定所述多个子模块中确定待调整子模块,并确定所述待调整子模块的新位置约束信息的步骤。
178.一种可能的实施方式中,逻辑综合单元,还用于:在所述多个子模块中确定不满足时序约束条件的第一类子模块,并在所述多个子模块的剩余子模块中确定与所述第一类子模块相关联的第二类子模块;其中,所述第二类子模块的模块位置随所述第一类子模块的模块位置的变化而发生变化;基于所述第一类子模块和所述第二类子模块确定所述待调整子模块。
179.一种可能的实施方式中,逻辑综合单元,还用于:基于所述模块连接关系在所述预设面板区域中确定所述待调整子模块的多个备选模块位置;在所述多个备选模块位置中确定目标备选模块位置,并将所述目标备选模块位置确定为所述待调整子模块的新位置约束信息。
180.一种可能的实施方式中,逻辑综合单元,还用于:基于所述调整结果确定所述待调整子模块之间的实际延时时间;在基于所述实际延时时间确定所述待调整子模块满足调整要求的情况下,缩短所述待调整子模块之间的距离,并基于缩短距离之后的待调整子模块的模块位置确定所述待调整子模块的新位置约束信息。
181.一种可能的实施方式中,第一确定单元,还用于:获取所述集成电路的rtl代码文件;提取所述rtl代码文件中的连接文件,并基于提取到的所述连接文件确定所述模块连接关系,其中,所述连接文件中包含各个子模块的模块端口之间的连接关系。
182.关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
183.对应于图1中的集成电路的逻辑综合方法,本公开实施例还提供了一种电子设备1000,如图10所示,为本公开实施例提供的电子设备1000结构示意图,包括:
184.处理器101、存储器102、和总线103;存储器102用于存储执行指令,包括内存1021和外部存储器1022;这里的内存1021也称内存储器,用于暂时存放处理器101中的运算数据,以及与硬盘等外部存储器1022交换的数据,处理器101通过内存1021与外部存储器1022进行数据交换,当所述电子设备1000运行时,所述处理器101与所述存储器102之间通过总
线103通信,使得所述处理器101执行以下指令:
185.确定所述集成电路中各子模块之间的模块连接关系;
186.基于所述模块连接关系确定每个所述子模块的目标位置约束信息;所述目标位置约束信息用于控制每个子模块在预设面板区域中的模块位置;
187.基于所述目标位置约束信息对所述集成电路的每个所述子模块中的标准库单元进行逻辑综合处理,得到逻辑综合结果。
188.本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的集成电路的逻辑综合方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
189.本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的集成电路的逻辑综合方法的步骤,具体可参见上述方法实施例,在此不再赘述。
190.其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(software development kit,sdk)等等。
191.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
192.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是集成电路,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
193.另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
194.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
195.最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开
的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1