逻辑综合方法、设备和存储介质与流程

文档序号:29065068发布日期:2022-03-01 18:13阅读:143来源:国知局
逻辑综合方法、设备和存储介质与流程

1.本发明实施例涉及集成电路中的芯片设计技术领域,尤其涉及一种逻辑综合方法、设备和存储介质。


背景技术:

2.集成电路技术是现代信息技术的关键技术。随着通讯技术的快速发展,对集成电路的性能要求越来越高,集成电路的逻辑规模越来越大,而设计周期因为市场竞争的原因却越来越短。如何在保证成功率的情况下,缩短集成电路研发周期,成为集成电路设计人员面临的巨大挑战。数字集成电路设计领域一般分为数字前端设计与数字后端设计。其中,数字前端设计包括:算法、硬件架构设计与分析、寄存器传输级(register-transfer level,rtl)电路代码实现、rtl电路代码的检查与功能验证、逻辑综合、静态时序分析和形式验证。
3.目前,通过以下步骤实现逻辑综合、静态时序分析和形式验证:获取前端完成的rtl电路代码;手动启动逻辑综合工具,通过综合工具来实现逻辑综合,将rtl电路代码映射为与工艺库相关的网表文件并得到相关的输出报告文件;在确定逻辑综合工具运行完成后,手动启动静态时序分析工具,静态时序分析工具通过网表文件、工艺库文件与编写的约束文件来进行静态时序分析,得到时序分析的相关报告;在确定静态时序分析工具运行完成后,手动启动形式验证工具,形式验证工具通过网表文件以及rtl电路代码来验证网表文件的正确性,得到形式验证报告;手动确认rtl电路代码经过逻辑综合、静态时序分析与形式验证产生的网表文件、时序分析的相关报告以及形式验证报告等相关文件是否满足设计条件,在满足设计条件的情况下,将上述相关文件进行交付。
4.但是,上述过程中,需要手动启动逻辑综合工具,耗费大量的人力确认逻辑综合工具是否运行完成,导致逻辑综合的效率较低。


技术实现要素:

5.本发明实施例的主要目的在于提出一种逻辑综合方法、设备和存储介质,旨在实现提高逻辑综合的效率的功能。
6.为实现上述目的,本发明实施例提供了一种逻辑综合方法,所述方法包括以下步骤:
7.根据目标配置文件中的模块综合配置信息,获取目标模块的综合输入数据;
8.向第一目标服务器发送所述目标模块的综合输入数据以及逻辑综合工具的启动命令;
9.获取所述第一目标服务器运行所述逻辑综合工具,对所述目标模块的综合输入数据进行逻辑综合后的网表文件及第一报告文件;
10.当确定所述第一报告文件满足所述目标配置文件中的综合结果跟踪信息时,向第二目标服务器发送所述网表文件,向第三目标服务器发送所述网表文件以及所述综合输入数据。
11.为实现上述目的,本发明实施例还提出了一种逻辑综合设备,所述设备包括存储器、处理器、存储在所述存储器上并可在所述处理器上运行的程序以及用于实现所述处理器和所述存储器之间的连接通信的数据总线,所述程序被所述处理器执行时实现前述方法的步骤。
12.为实现上述目的,本发明实施例提供了一种存储介质,用于计算机可读存储,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述方法的步骤。
13.本实施例提出的逻辑综合方法、设备和存储介质,包括:根据目标配置文件中的模块综合配置信息,获取目标模块的综合输入数据,向第一目标服务器发送目标模块的综合输入数据以及逻辑综合工具的启动命令,获取第一目标服务器运行逻辑综合工具,对目标模块的综合输入数据进行逻辑综合后的网表文件及第一报告文件,当确定第一报告文件满足目标配置文件中的综合结果跟踪信息时,向第二目标服务器发送网表文件,向第三目标服务器发送网表文件以及综合输入数据。该逻辑综合方法,一方面,可以实现自动化地启动逻辑综合工具以及获取逻辑综合工具运行完成后形成的网表文件以及第一报告文件,提高了逻辑综合的效率,另一方面,可以依据目标配置文件自动验证第一报告文件,确认是否可以进行下一步流程,进一步提高了逻辑综合的效率。
附图说明
14.图1为一实施例提供的逻辑综合方法的流程示意图;
15.图2为另一实施例提供的逻辑综合方法的流程示意图;
16.图3为又一实施例提供的逻辑综合方法的流程示意图;
17.图4为一实施例提供的逻辑综合平台的文件结构的示意图;
18.图5为一实施例提供的逻辑综合装置的结构示意图;
19.图6为一实施例提供的逻辑综合设备的结构示意图。
具体实施方式
20.应当理解,此处所描述的具体实施例仅仅用以解释本发明实施例,并不用于限定本发明实施例。
21.在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明实施例的说明,其本身没有特有的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
22.图1为一实施例提供的逻辑综合方法的流程图。本实施例适用于集成电路设计中,进行逻辑综合的场景中。本实施例中的基础电路指的是一种微型电子器件或部件。本实施例可以由逻辑综合装置执行,该逻辑综合装置可以由软件和/或硬件的方式实现,该逻辑综合装置可以集成于计算机设备中。如图1所示,本实施例提供的逻辑综合方法包括如下步骤:
23.步骤101:根据目标配置文件中的模块综合配置信息,获取目标模块的综合输入数据。
24.对于如今越来越复杂的超大规模集成电路设计而言,传统的自顶向下的逻辑综合
方式已经不合适了,目前采用的是自底向上的逻辑综合方式。这样不仅可以并行综合整个设计的各个部分,减少综合时间,而且可以方便各个模块进行综合优化,减小对内存的要求。本实施例是在分块式综合的基础上实现的,对已经分块的各个模块来并行实现相应的逻辑综合操作流程与逻辑综合交付。
25.本实施例中的目标配置文件为预先编写并预置在逻辑综合装置中的文件。该目标配置文件为目标项目对应的配置文件。本实施例中的目标项目指的是将要进行逻辑综合的项目。本实施例中的目标项目包括至少一个目标模块。本实施例中进行逻辑综合的目的为将目标模块的rtl电路代码描述为门级的网表文件的过程。
26.该目标配置文件中包括综合配置信息。本实施例中的综合配置信息可以包括:目标模块的名称以及对应的rtl电路代码的版本号。
27.可选地,逻辑综合装置可以在外界触发下,执行步骤101,也可以自动执行步骤101。逻辑综合装置可以根据模块综合配置信息,去预先设定的存储rtl电路代码的存储区域中,获取目标模块的综合输入数据。本实施例中,获取到的目标模块的综合输入数据可以至少包括:目标模块的rtl电路代码。进一步地,综合输入数据还可以包括目标模块的约束文件。
28.步骤102:向第一目标服务器发送目标模块的综合输入数据以及逻辑综合工具的启动命令。
29.一实施例中,第一目标服务器为预先设置的服务器。
30.另一实施例中,第一目标服务器为从服务器集群中确定出的服务器。该实现过程将在图3所示实施例中进行详细描述。
31.逻辑综合装置在获取到目标模块的综合输入数据之后,就可以自动执行步骤102:向第一目标服务器发送目标模块的综合输入数据以及逻辑综合工具的启动命令。
32.为了完成逻辑综合过程,逻辑综合工具的启动命令中还可以包括逻辑综合所需要的其他文件,例如,目标模块的约束文件以及逻辑综合工具的运行脚本文件等。
33.可选地,本实施例中的逻辑综合工具可以为设计编译器(design compiler,dc)。
34.第一目标服务器中预先已经安装了逻辑综合工具。第一目标服务器在接收到逻辑综合工具的启动命令之后,就可以启动逻辑综合工具,运行该逻辑综合工具,对目标模块的综合输入数据进行逻辑综合。
35.步骤103:获取第一目标服务器运行逻辑综合工具,对目标模块的综合输入数据进行逻辑综合后的网表文件及第一报告文件。
36.本实施例中,逻辑综合装置可以以预设的频率确定第一目标服务器是否运行完成。在确定第一目标服务器运行完成时,获取第一目标服务器进行逻辑综合后的网表文件和第一报告文件。本实施例中的网表文件又可以称为门级网表文件,是用于描述电路元件相互之间连接关系的文件。
37.示例性地,逻辑综合装置可以以预设的频率,读取第一目标服务器的工作日志。当确定该工作日志中表明目标模块的网表文件已经生成时,确定第一目标服务器运行完成。
38.一实现方式中,逻辑综合工具的启动命令包括逻辑综合工具的参数信息。本实施例中的逻辑综合工具的参数信息包括逻辑综合工具的版本以及逻辑综合工具的工作模式。通过在逻辑综合工具的启动命令中设置逻辑综合工具的参数信息,可以便于启动与目标模
块匹配的逻辑综合工具以及使该逻辑综合工具运行于匹配的模式中,提高了逻辑综合过程的可扩展性以及灵活性。
39.本实施例中的第一报告文件中包括逻辑综合过程中的时序信息以及其他与逻辑综合有关的信息。
40.步骤104:当确定第一报告文件满足目标配置文件中的综合结果跟踪信息时,向第二目标服务器发送网表文件,向第三目标服务器发送网表文件以及综合输入数据。
41.本实施例中的目标配置文件中还包括综合结果跟踪信息。综合结果跟踪信息用于指示逻辑综合后的报告文件的需求形式。当确定第一报告文件满足目标配置文件中的综合结果跟踪信息时,说明获取到目标模块的网表文件可以进行下一步的时序分析以及形式验证。具体的报告分析过程可以为:根据目标配置文件的综合结果跟踪信息中的过滤信息将第一报告文件中,可以忽略的警告与错误过滤,之后根据过滤后的信息进行判断并得出整个逻辑综合过程成功与否的结论。
42.一实现方式中,综合结果跟踪信息包括:通用综合结果跟踪信息以及目标模块专用的综合结果跟踪信息。为了进一步提高效率,当第一报告文件均满足通用综合结果跟踪信息以及目标模块专用的综合结果跟踪信息时,可以并行向第二目标服务器发送网表文件,向第三目标服务器发送网表文件以及综合输入数据。通过双重信息过滤,可以进一步保证第一报告文件满足需求形式,提高了后续时序分析和形式验证的效率。
43.本实施例中的第二目标服务器可以为运行时序分析工具的服务器,第三目标服务器可以为运行形式验证工具的服务器。
44.本实施例中的时序分析可以为静态时序分析。本实施例中的时序分析工具可以为primetime,形式验证工具可以为formality。
45.一实施例中,第二目标服务器及第三目标服务器为预先设置的服务器。
46.另一实施例中,第二目标服务器及第三目标服务器为从服务器集群中确定出的服务器。该实现过程将在图3所示实施例中进行详细描述。
47.在集成电路设计领域,通常在完成rtl电路代码的检查与功能验证之后,需要将rtl电路代码转换为正确的网表文件。通过逻辑综合来将rtl代码转换为网表文件,时序分析来验证网表文件的时序信息,形式验证来验证网表文件与rtl电路代码的一致性,在经过以上步骤无误后,将处理的网表文件与报告文件交付给数字后端来进行下一步设计。
48.本实施例提供的逻辑综合方法,包括:根据目标配置文件中的模块综合配置信息,获取目标模块的综合输入数据,向第一目标服务器发送目标模块的综合输入数据以及逻辑综合工具的启动命令,获取第一目标服务器运行逻辑综合工具,对目标模块的综合输入数据进行逻辑综合后的网表文件及第一报告文件,当确定第一报告文件满足目标配置文件中的综合结果跟踪信息时,向第二目标服务器发送网表文件,向第三目标服务器发送网表文件以及综合输入数据。该逻辑综合方法,一方面,可以实现自动化地启动逻辑综合工具以及获取逻辑综合工具运行完成后形成的网表文件以及第一报告文件,提高了逻辑综合的效率,另一方面,可以依据目标配置文件自动验证第一报告文件,确认是否可以进行下一步流程,进一步提高了逻辑综合的效率。
49.图2为另一实施例提供的逻辑综合方法的流程示意图。本实施例在图1所示实施例及各种可选方案的基础上,对步骤104之后的步骤作一详细说明。如图2所示,本实施例提供
的逻辑综合方法还包括如下步骤:
50.步骤105:向第二目标服务器发送时序分析工具的启动命令。
51.步骤106:向第三目标服务器发送形式验证工具的启动命令。
52.一实现方式中,可以在向第二目标服务器发送网表文件的同时,向第二目标服务器发送时序工具的启动命令。在向第三目标服务器发送网表文件以及综合输入数据的同时,向第三目标服务器发送形式验证工具的启动命令。
53.第二目标服务器中预先已经安装了时序分析工具。第二目标服务器在接收到时序分析工具的启动命令之后,就可以启动时序分析工具,运行该时序分析工具,对网表文件的时序进行计算、预计。
54.可选地,为了实现时序分析,时序分析工具的启动命令还可以包括时序分析所需要的其他文件,例如,工艺库文件、目标模块的约束文件。
55.第三目标服务器中预先已经安装了形式验证工具。第三目标服务器在接收到形式验证工具的启动命令之后,就可以启动形式验证工具,运行该形式验证工具,对网表文件进行验证。
56.可选地,为了实现形式验证,形式验证工具的启动命令还可以包括形式验证所需要的其他文件,例如,目标模块的综合输入数据。
57.一实现方式中,时序分析工具的启动命令还可以包括时序分析工具的参数信息。形式验证工具的启动命令还可以包括形式验证工具的参数信息。
58.需要说明的是,本实施例中的静态时序分析指的是对数字电路的时序进行计算、预计的工作流程。本实施例中的形式验证指的是数学上证明或验证电路的实现方案是否确实实现了电路设计所描述的功能的过程。本实施例中的工艺库是由芯片生产厂商提供的用于表明集成电路加工过程中的各种单元的文件。本实施例中的约束文件可以对电路的时序、面积、功耗进行约束,它是设计的命脉,决定了芯片是否满足设计要求的规范。
59.需要说明的是,步骤105与步骤106之间没有时序关系。
60.步骤107:获取第二目标服务器运行时序分析工具,对网表文件进行时序分析后的第二报告文件。
61.本实施例中,逻辑综合装置可以以预设的频率确定第二目标服务器是否运行完成。在确定第二目标服务器运行完成时,获取第二目标服务器运行时序分析工具,对网表文件进行时序分析后的第二报告文件。
62.示例性地,逻辑综合装置可以以预设的频率,读取第二目标服务器的工作日志。当确定该工作日志中表明目标模块的第二报告文件已经生成时,确定第二目标服务器运行完成。
63.可选地,本实施例中的第二报告文件中包括时序分析的结果信息。
64.步骤108:获取第三目标服务器运行形式验证工具,对网表文件进行形式验证后的第三报告文件。
65.本实施例中,逻辑综合装置可以以预设的频率确定第三目标服务器是否运行完成。在确定第三目标服务器运行完成时,获取第三目标服务器运行形式验证工具,对网表文件进行形式验证后的第三报告文件。
66.示例性地,逻辑综合装置可以以预设的频率,读取第三目标服务器的工作日志。当
确定该工作日志中表明目标模块的第三报告文件已经生成时,确定第三目标服务器运行完成。
67.可选地,本实施例中的第三报告文件中包括形式验证的结果信息。
68.步骤109:当确定第二报告文件以及第三报告文件均满足目标配置文件中的结果判断信息时,交付网表文件。
69.本实施例中的目标配置文件中还包括结果判断信息。结果判断信息用于指示时序分析以及形式验证后的报告文件的需求形式,即,项目所需要满足的标准,如时序信息的需求,面积信息的需求,形式验证的结果等条件。具体的报告分析过程可以为:根据目标配置文件的结果判断信息中的过滤信息将第二报告文件及第三报告文件中,可以忽略的警告与错误过滤,之后根据过滤后的信息进行判断并得出时序分析及形式验证过程成功与否的结论。当确定第二报告文件以及第三报告文件均满足目标配置文件中的结果判断信息时,说明目标模块的网表文件功能实现正确,可以向后端交付该网表文件。可选地,根据实际需求,还可以向后端交付第一报告文件、第二报告文件以及第三报告文件中的至少一种。
70.需要说明的是,步骤107与步骤108之间没有时序关系。
71.进一步地,在步骤107以及步骤108之后,本实施例提供的逻辑综合方法还包括如下步骤:显示网表文件、第一报告文件、第二报告文件以及第三报告文件中的至少一项;和/或,向预先设置的邮件列表中的邮件地址发送网表文件、第一报告文件、第二报告文件以及第三报告文件中的至少一项。以上可视化地显示网表文件、第一报告文件、第二报告文件以及第三报告文件中的至少一项的方式,可以便于集成电路设计人员对这些输出文件进行分析,提高了集成电路设计的效率。
72.本实施例提供的逻辑综合方法,还包括:向第二目标服务器发送时序分析工具的启动命令,向第三目标服务器发送形式验证工具的启动命令,获取第二目标服务器运行时序分析工具,对网表文件进行时序分析后的第二报告文件,获取第三目标服务器运行形式验证工具,对网表文件进行形式验证后的第三报告文件,当确定第二报告文件以及第三报告文件均满足目标配置文件中的结果判断信息时,交付网表文件。该逻辑综合方法,一方面,在逻辑综合之后,可以自动启动下一步的时序分析工具以及形式验证工具,节省了各工具的启动时间,另一方面,可以实现自动化地获取时序分析工具运行完成后形成的第二报告文件,以及自动化地获取形式验证工具运行完成后形成的第三报告文件,使得当前的逻辑综合环境各步骤之间无缝衔接,输入、输出之间的处理过程无需人工干预,提高了集成电路设计的效率,节省了人力成本,再一方面,可以依据目标配置文件自动验证第二报告文件以及第三报告文件,自动确认是否可以进行下一步交付流程,不需要人工确认是否可以交付,进一步提高了集成电路设计的效率,保证了交付的准确、高效与规范化。
73.图3为又一实施例提供的逻辑综合方法的流程示意图。本实施例在图1和图2所示实施例及各种可选的方案的基础上,对步骤102之前的步骤、步骤102之后步骤以及步骤104之前的步骤作一详细说明。如图3所示,本实施例提供的逻辑综合方法包括如下步骤:
74.步骤301:根据目标配置文件中的模块综合配置信息,获取目标模块的综合输入数据。
75.步骤301与步骤101的实现过程和技术原理类似,此处不再赘述。
76.步骤302:将服务器集群中,对应的负载满足第一预设条件的服务器确定为第一目
标服务器。
77.本实施例中的第一预设条件可以为负载小于预设阈值等筛选条件。本实施例中的负载可以通过服务器的利用率以及未使用的内存等参数衡量。
78.可选地,步骤302的具体实现过程可以为:确定服务器集群中,状态正常的服务器;对状态正常的服务器,按照利用率从小到大的顺序进行排序,确定利用率排在前第一预设数量的服务器;对利用率排在前第一预设数量的服务器,按照未使用的内存从小到大的顺序进行排序,确定未使用的内存排在前第二预设数量的服务器;将未使用的内存排在前第二预设数量的服务器,确定为第一目标服务器。通过上述方式确定出的第一目标服务器可以保证高效率地运行逻辑综合工具,提高了逻辑综合的效率。
79.步骤303:向第一目标服务器发送目标模块的综合输入数据以及逻辑综合工具的启动命令。
80.步骤303与步骤102的实现过程和技术原理类似,此处不再赘述。
81.一实现方式中,目标模块的数量为多个。步骤302的实现过程具体为:将服务器集群中,对应的负载满足第一预设条件的多个服务器确定为多个第一目标服务器,以及,确定第一目标服务器与目标模块的映射关系。基于该实现方式,步骤302的实现过程具体为:批量向第一目标服务器发送对应的目标模块的综合输入数据以及逻辑综合工具的启动命令。该实现方式可以在目标模块为多个的情况下,实现对多个目标模块批量进行逻辑综合,提高了逻辑综合的效率。
82.步骤304:以预设的频率查询第一目标服务器的工作状态。
83.步骤305:若确定第一目标服务器的工作状态为运行中状态时,确定执行步骤307的步骤。
84.步骤306:若确定第一目标服务器的工作状态为未运行状态时,返回执行步骤302的步骤。
85.在步骤304至步骤306中,逻辑综合装置可以以预设的频率查询第一目标服务器的工作状态。在确定第一目标服务器的工作状态为运行中状态时,确定执行步骤307的步骤。在确定第一目标服务器的工作状态为未运行状态时,说明向第一目标服务器提交逻辑综合工具的启动命令失败,需要返回执行步骤302的步骤,重新确定第一目标服务器。
86.步骤304至步骤306的实现方式,实现了对第一目标服务器的工作状态进行监控,提高了逻辑综合的成功率。
87.步骤307:获取第一目标服务器运行逻辑综合工具,对目标模块的综合输入数据进行逻辑综合后的网表文件及第一报告文件。
88.步骤307与步骤103的实现过程和技术原理类似,此处不再赘述。
89.步骤308:当确定第一报告文件满足目标配置文件中的综合结果跟踪信息时,将服务器集群中,对应的负载满足第二预设条件的服务器确定为第二目标服务器,将服务器集群中,对应的负载满足第三预设条件的服务器确定为第三目标服务器。
90.与步骤302类似,在步骤308中,当确定第一报告文件满足目标配置文件中的综合结果跟踪信息时,可以实现确定第二目标服务器以及第三目标服务器,以保证高效地运行时序分析工具以及形式验证工具,提高时序分析以及形式验证的效率。
91.具体确定过程与步骤302中确定第一目标服务器的过程类似,此处不再赘述。
92.步骤309:向第二目标服务器发送网表文件以及时序分析工具的启动命令,向第三目标服务器发送网表文件、综合输入数据以及形式验证工具的启动命令。
93.步骤309与步骤104、步骤105及步骤106的实现过程和技术原理类似,此处不再赘述。
94.步骤310:获取第二目标服务器运行时序分析工具,对网表文件进行时序分析后的第二报告文件。
95.一实现方式中,在步骤310之前,可以预设的频率查询第二目标服务器的工作状态。若确定第二目标服务器的工作状态为运行中状态时,确定执行步骤310的步骤。若确定第二目标服务器的工作状态为未运行状态时,返回执行步骤308的步骤。
96.步骤311:获取第三目标服务器运行形式验证工具,对网表文件进行形式验证后的第三报告文件。
97.一实现方式中,在步骤311之前,可以预设的频率查询第三目标服务器的工作状态。若确定第三目标服务器的工作状态为运行中状态时,确定执行步骤311的步骤。若确定第三目标服务器的工作状态为未运行状态时,返回执行步骤308的步骤。
98.步骤312:当确定第二报告文件以及第三报告文件均满足目标配置文件中的结果判断信息时,交付网表文件。
99.步骤312与步骤109的实现过程和技术原理类似,此处不再赘述。
100.本实施例提供的逻辑综合方法,通过引入全流程的目标配置文件,在各阶段建立了一个有效的同步通信机制,使得各步骤之间可以无缝衔接起来。通过合理的流程控制来自动化地实现上述操作流程,通过遍历服务器的方法来监控并提交工具进程,实时监控各个工具的输出结果;将所有工具都自动化地连接起来,并对报告进行分析与处理,实现全流程自动化处理和交付,这使得各个步骤不仅准确、高效,而且规范化的操作也使得设计效率大大提高。
101.本实施例提供的逻辑综合方法,一方面,可以确定出满足条件的第一目标服务器、第二目标服务器以及第三目标服务器,提高各个工具运行效率,从而,提高逻辑综合的效率,另一方面,可以实现对各个服务器的工作状态进行监控,提高了逻辑综合的成功率。
102.图4为一实施例提供的逻辑综合平台的文件结构的示意图。本实施例提供的逻辑综合平台可以用于实现图1至图3所示实施例提供的逻辑综合方法。如图4所示,该逻辑综合平台由脚本实现。其包括如下脚本:自动化逻辑综合平台主脚本、自动化逻辑综合平台初始化脚本、平台子脚本文件夹以及平台日志文件夹。
103.其中,自动化逻辑综合平台主脚本解析了自动化逻辑综合平台的初始化脚本,并控制着各种子脚本。
104.平台日志文件夹保存着平台运行过程之中产生的四类日志文件。综合版本日志包含运行综合流程的各种文件。平台结果上传日志包含数据交付过程之中所产生的日志。网页看板上传日志包括所需项目内容上传网页过程中产生的文件。邮件发送日志是指发送项目邮件的过程之中产生的文件。
105.平台子脚本文件夹包含了以下八种脚本。
106.(1)解析版本信息脚本,将前端提供的版本信息文件进行解析,得到rtl电路代码的版本信息与需要进行综合的模块的信息,例如,模块的名称。
107.(2)移动约束文件脚本,将更新最新的约束文件,并将约束文件移动到平台中。
108.(3)代码获取脚本,根据rtl电路代码的版本信息,更新代码文件并产生平台所需的代码文件。
109.(4)一键并行执行综合流程脚本是本平台的核心脚本,其功能如下:
110.1.并行启动多个模块来实现逻辑综合工具、时序分析工具以及形式验证工具的一键运行。
111.2.在运行工具之前,对服务器进行排序,首先选择服务器状态正常的服务器,之后根据服务器利用率再对选择后的服务器进行排序,最后根据未使用的内存来对相同利用率下的服务器进行重新排序;运行工具时,根据服务器的排序来提交工具进程,监控所提交的进程是否成功,若提交失败,则关闭失败进程,遍历服务器不断提交相应进程,直到提交进程成功。
112.3.采用线程的方式实现各个工具的并行运行,不会开启新的终端,不占用终端资源。本实施例中的终端指的是为linux系统的终端。
113.4.对所有工具的版本进行控制,对逻辑综合工具进行模式的选择。
114.5.使用工具使能信号对需要使用的工具进行选择,减少对服务器资源的占用。
115.(5)综合结果分析脚本,减少人工对综合结果的分析。通过双重信息过滤,通用过滤信息与专用模块过滤信息来对日志或报告进行分析。如果所有信息都过滤了,则本次结果正确;若还有剩余信息,需要人工确认。
116.(6)综合数据交付脚本,将综合产生的各种数据文件进行交付。
117.(7)网页看板数据产生脚本,产生网页需要的数据文件,并上传。
118.(6)邮件数据产生发送脚本,产生邮件需要的数据文件,并上传。
119.该逻辑综合平台,通过合理的流程控制来自动化地实现上述操作流程,通过遍历服务器的方法来监控并提交工具进程,实时监控各个工具的输出结果;将所有工具都自动化地连接起来,并对报告进行分析与处理,实现全流程自动化处理和交付,这使得各个步骤不仅准确、高效,而且规范化的操作也使得设计效率大大提高。
120.图5为一实施例提供的逻辑综合装置的结构示意图。如图5所示,本实施例提供的逻辑综合装置包括如下模块:第一获取模块51、发送模块52以及第二获取模块53。
121.第一获取模块51,被配置为根据目标配置文件中的模块综合配置信息,获取目标模块的综合输入数据。
122.发送模块52,被配置为向第一目标服务器发送目标模块的综合输入数据以及逻辑综合工具的启动命令。
123.可选地,逻辑综合工具的启动命令包括逻辑综合工具的参数信息。
124.第二获取模块53,被配置为获取第一目标服务器运行逻辑综合工具,对目标模块的综合输入数据进行逻辑综合后的网表文件及第一报告文件。
125.发送模块52,还被配置为当确定第一报告文件满足目标配置文件中的综合结果跟踪信息时,向第二目标服务器发送网表文件,向第三目标服务器发送网表文件以及综合输入数据。
126.可选地,综合结果跟踪信息包括:通用综合结果跟踪信息以及目标模块专用的综合结果跟踪信息。
127.可选地,发送模块52还可以被配置为向第二目标服务器发送时序分析工具的启动命令。
128.可选地,发送模块52还可以被配置为向第三目标服务器发送形式验证工具的启动命令。
129.可选地,该装置还包括:第三获取模块、第四获取模块以及交付模块。
130.第三获取模块,被配置为获取第二目标服务器运行时序分析工具,对网表文件进行时序分析后的第二报告文件。
131.第四获取模块,被配置为获取第三目标服务器运行形式验证工具,对网表文件进行形式验证后的第三报告文件。
132.交付模块,被配置为当确定第二报告文件以及第三报告文件均满足目标配置文件中的结果判断信息时,交付网表文件。
133.可选地,装置还包括第一确定模块。
134.一实施例中,第一确定模块,被配置为将服务器集群中,对应的负载满足第一预设条件的服务器确定为第一目标服务器。
135.可选地,第一确定模块具体是用于:确定服务器集群中,状态正常的服务器;对状态正常的服务器,按照利用率从小到大的顺序进行排序,确定利用率排在前第一预设数量的服务器;对利用率排在前第一预设数量的服务器,按照未使用的内存从小到大的顺序进行排序,确定未使用的内存排在前第二预设数量的服务器;将未使用的内存排在前第二预设数量的服务器,确定为第一目标服务器。
136.一实施例中,第一确定模块,还被配置为将服务器集群中,对应的负载满足第二预设条件的服务器确定为第二目标服务器。第一确定模块,还被配置为将服务器集群中,对应的负载满足第三预设条件的服务器确定为第三目标服务器。
137.一实施例中,该装置还包括:查询模块以及第二确定模块。
138.查询模块,被配置为以预设的频率查询第一目标服务器的工作状态。
139.第二确定模块,被配置为若确定第一目标服务器的工作状态为运行中状态时,确定执行在确定第一目标服务器运行完成时,获取第一目标服务器运行逻辑综合工具,对目标模块的综合输入数据进行逻辑综合后的网表文件及第一报告文件的步骤;若确定第一目标服务器的工作状态为未运行状态时,返回执行将服务器集群中,对应的负载满足第一预设条件的服务器确定为第一目标服务器的步骤。
140.可选地,目标模块的数量为多个。第一确定模块具体是用于:将服务器集群中,对应的负载满足第一预设条件的多个服务器确定为多个第一目标服务器,以及,确定第一目标服务器与目标模块的映射关系。基于该实现方式,发送模块具体是用于:批量向第一目标服务器发送对应的目标模块的综合输入数据以及逻辑综合工具的启动命令。
141.一实施例中,装置还包括:显示模块和/或邮件发送模块。
142.显示模块,被配置为显示网表文件、第一报告文件、第二报告文件以及第三报告文件中的至少一项。
143.邮件发送模块,被配置为向预先设置的邮件列表中的邮件地址发送网表文件、第一报告文件、第二报告文件以及第三报告文件中的至少一项。
144.本实施例提供的逻辑综合装置用于执行上述任意实施例的逻辑综合方法,本实施
例提供的逻辑综合装置实现原理和技术效果类似,此处不再赘述。
145.图6为一实施例提供的逻辑综合设备的结构示意图。如图6所示,该逻辑综合设备包括处理器61和存储器62;逻辑综合设备中处理器61的数量可以是一个或多个,图6中以一个处理器61为例;逻辑综合设备中的处理器61和存储器62;可以通过总线或其他方式连接,图6中以通过总线连接为例。
146.存储器62作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本技术实施例中的逻辑综合方法对应的程序指令/模块(例如,逻辑综合装置中的第一获取模块51、发送模块52以及第二获取模块53)。处理器61通过运行存储在存储器62中的软件程序、指令以及模块,从而逻辑综合设备的各种功能应用以及逻辑综合,即实现上述的逻辑综合方法。
147.存储器62可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据逻辑综合设备的使用所创建的数据等。此外,存储器62可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。
148.本技术实施例还提供一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行一种逻辑综合方法,该方法包括:
149.根据目标配置文件中的模块综合配置信息,获取目标模块的综合输入数据;
150.向第一目标服务器发送所述目标模块的综合输入数据以及逻辑综合工具的启动命令;
151.获取所述第一目标服务器运行所述逻辑综合工具,对所述目标模块的综合输入数据进行逻辑综合后的网表文件及第一报告文件;
152.当确定所述第一报告文件满足所述目标配置文件中的综合结果跟踪信息时,向第二目标服务器发送所述网表文件,向第三目标服务器发送所述网表文件以及所述综合输入数据。
153.当然,本技术所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本技术任意实施例所提供的逻辑综合方法中的相关操作。
154.以上所述,仅为本技术的示例性实施例而已,并非用于限定本技术的保护范围。
155.一般来说,本技术的多种实施例可以在硬件或专用电路、软件、逻辑或其任何组合中实现。例如,一些方面可以被实现在硬件中,而其它方面可以被实现在可以被控制器、微处理器或其它计算装置执行的固件或软件中,尽管本技术不限于此。
156.本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
157.在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知
的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
158.以上参照附图说明了本发明实施例的优选实施例,并非因此局限本发明实施例的权利范围。本领域技术人员不脱离本发明实施例的范围和实质内所作的任何修改、等同替换和改进,均应在本发明实施例的权利范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1