数字逻辑电路编译方法及装置与流程

文档序号:19311175发布日期:2019-12-03 23:32阅读:498来源:国知局
数字逻辑电路编译方法及装置与流程

本发明实施例涉及电路技术领域,尤其涉及一种数字逻辑电路编译方法及装置。



背景技术:

随着数字逻辑电路的不断发展,数字逻辑电路的规模也在不断扩大,用户在设计数字逻辑电路的过程中,可以通过软硬件结合的方式编译得到大规模的数字逻辑电路。

相关技术中,客户端可以获取用户编写的用于生成数字逻辑电路的电路代码,并根据该电路代码按照预先设置的每个编译步骤所对应的编译策略,执行综合、转换、布局、优化和布线等多个编译步骤,最后编译得到大规模数字逻辑电路。

但是,用户只能在执行完各个编译步骤之后获知编译的数字逻辑电路是否满足时序要求,当数字逻辑电路不满足时序要求时,需要重新设置编译策略进行编译,造成编译数字逻辑电路所花费的时间较长,效率较低的问题。



技术实现要素:

本发明实施例提供一种数字逻辑电路编译方法及装置,以解决当数字逻辑电路不满足时序要求时,重新编译数字逻辑电路所花费的时间较长,效率较低的问题。

为了解决上述技术问题,本发明是这样实现的:一种数字逻辑电路编译方法,所述方法包括:

获取所述数字逻辑电路的编译步骤,其中,各个编译步骤均对应有策略集,每个策略集包括至少一个编译策略,每个编译策略具有对应的时序报告;

采用与所述数字逻辑电路的编译顺序逆向的顺序,逐个判断各个编译步骤对应的时序报告是否满足预设时序要求;

当任意一个时序报告不满足所述预设时序要求时,将所述时序报告所对应的编译步骤确定为目标编译步骤;

获取目标策略集中每个编译策略对应的时序报告,所述目标策略集为所述目标编译步骤对应的策略集;

根据每个编译策略对应的时序报告,将满足所述预设时序要求的时序报告所对应的编译策略,作为目标编译策略;

按照所述目标编译策略重新编译所述数字逻辑电路。

可选的,所述将满足所述预设时序要求的时序报告所对应的编译策略,作为目标编译策略,包括:

遍历每个编译策略对应的时序报告,将满足所述预设时序要求的时序报告作为目标时序报告;

从所述目标策略集中选取与所述目标时序报告相对应的编译策略;

将与所述目标时序报告相对应的编译策略作为所述目标编译策略。

可选的,在所述按照所述目标编译策略重新编译所述数字逻辑电路之后,所述方法还包括:

判断所述重新编译的数字逻辑电路是否满足所述预设时序要求;

当所述重新编译的数字逻辑电路不满足所述预设时序要求时,再次重新编译数字逻辑电路,直至重新编译的数字逻辑电路满足所述预设时序要求。

可选的,在所述获取所述数字逻辑电路的编译步骤之前,所述方法还包括:

对于每个编译步骤,根据预置电路代码并行运行相应策略集中的多个编译策略,所述预置电路代码用于生成预置数字逻辑电路;

获取每个编译策略根据所述预置电路代码生成的时序报告;

将满足所述预设时序要求的时序报告所对应的编译策略作为预置编译策略。

可选的,所述按照所述目标编译策略重新编译所述数字逻辑电路,包括:

判断所述目标编译步骤是否为所述数字逻辑电路的最后一个编译步骤;

当所述目标编译步骤为所述数字逻辑电路的最后一个编译步骤时,按照所述目标编译策略重新编译所述数字逻辑电路;

当所述目标编译步骤不是所述数字逻辑电路的最后一个编译步骤时,根据所述目标编译策略,以及位于所述目标编译步骤之后的各个编译步骤所对应的预置编译策略,重新编译所述数字逻辑电路。

可选的,在所述将满足所述预设时序要求的时序报告所对应的编译策略,作为目标编译策略之后,所述方法还包括:

根据所述目标编译策略,对所述目标编译步骤对应的预置编译策略进行更新。

可选的,在所述获取所述数字逻辑电路的编译步骤之前,所述方法还包括:

判断所述数字逻辑电路是否满足所述预设时序要求;

所述获取所述数字逻辑电路的编译步骤,包括:

当所述数字逻辑电路不满足所述预设时序要求时,获取所述数字逻辑电路的编译步骤。

另一方面,本发明实施例还提供了一种数字逻辑电路编译装置,所述数字逻辑电路编译装置包括:

第一获取模块,用于获取所述数字逻辑电路的编译步骤,其中,各个编译步骤均对应有策略集,每个策略集包括至少一个编译策略,每个编译策略具有对应的时序报告;

第一判断模块,用于采用与所述数字逻辑电路的编译顺序逆向的顺序,逐个判断各个编译步骤对应的时序报告是否满足预设时序要求;

步骤确定模块,用于当任意一个时序报告不满足所述预设时序要求时,将所述时序报告所对应的编译步骤确定为目标编译步骤;

第二获取模块,用于获取目标策略集中每个编译策略对应的时序报告,所述目标策略集为所述目标编译步骤对应的策略集;

策略确定模块,用于根据每个编译策略对应的时序报告,将满足所述预设时序要求的时序报告所对应的编译策略,作为目标编译策略;

编译模块,用于按照所述目标编译策略重新编译所述数字逻辑电路。

可选的,所述策略确定模块包括:

报告确定子模块,用于遍历每个编译策略对应的时序报告,将满足所述预设时序要求的时序报告作为目标时序报告;

选取子模块,用于从所述目标策略集中选取与所述目标时序报告相对应的编译策略;

策略确定子模块,用于将与所述目标时序报告相对应的编译策略作为所述目标编译策略。

可选的,所述装置还包括:

第二判断模块,用于判断所述重新编译的数字逻辑电路是否满足所述预设时序要求;

所述编译模块还用于当所述重新编译的数字逻辑电路不满足所述预设时序要求时,再次重新编译数字逻辑电路,直至重新编译的数字逻辑电路满足所述预设时序要求。

可选的,所述装置还包括:

策略运行模块,用于对于每个编译步骤,根据预置电路代码并行运行相应策略集中的多个编译策略,所述预置电路代码用于生成预置数字逻辑电路;

第三获取模块,用于获取每个编译策略根据所述预置电路代码生成的时序报告;

预置策略确定模块,用于将满足所述预设时序要求的时序报告所对应的编译策略作为预置编译策略。

可选的,所述编译模块包括:

判断子模块,用于判断所述目标编译步骤是否为所述数字逻辑电路的最后一个编译步骤;

第一编译子模块,用于当所述目标编译步骤为所述数字逻辑电路的最后一个编译步骤时,按照所述目标编译策略重新编译所述数字逻辑电路;

第二编译子模块,用于当所述目标编译步骤不是所述数字逻辑电路的最后一个编译步骤时,根据所述目标编译策略,以及位于所述目标编译步骤之后的各个编译步骤所对应的预置编译策略,重新编译所述数字逻辑电路。

可选的,所述装置还包括:

更新模块,用于根据所述目标编译策略,对所述目标编译步骤对应的预置编译策略进行更新。

可选的,所述装置还包括:

第三判断模块,用于判断所述数字逻辑电路是否满足所述预设时序要求;

所述第一获取模块包括:

获取子模块,用于当所述数字逻辑电路不满足所述预设时序要求时,获取所述数字逻辑电路的编译步骤。

在本发明实施例中,在通过获取数字逻辑电路的编译步骤,按照与该编译步骤的顺序相反的逆向顺序进行排查,逐个检测各个编译步骤对应的时序报告是否满足预设时序要求,从而将不满足预设时序要求的编译步骤确定为目标编译步骤,并且并行运行与目标编译步骤对应的目标策略集中的各个编译策略,确定目标编译策略,最后根据目标编译策略重新编译数字逻辑电路。由于在采用目标编译策略重新编译数字逻辑电路的过程中,可以使用目标编译步骤之前的编译步骤输出的数据,能够减少客户端重新编译数字逻辑电路所花费的时间,从而可以提高重新编译数字逻辑电路的效率。

附图说明

图1是本发明实施例提供的一种数字逻辑电路编译方法的步骤流程图;

图2是本发明实施例提供的一种数字逻辑电路编译方法的步骤流程图;

图3是本发明实施例提供的一种数字逻辑电路编译装置的结构框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参照图1,示出了本发明实施例的一种数字逻辑电路编译方法的步骤流程图,具体可以包括如下步骤:

步骤101,获取数字逻辑电路的编译步骤。

在编译数字逻辑电路的过程中,可以将用户提供的电路代码作为输入数据,通过各个编译步骤进行编译处理,得到处理编译后的数据,最后可以根据编译后的数据生成与电路代码相对应的数字逻辑电路。

其中,该电路代码用于生成数字逻辑电路。另外,每个编译步骤输出的数据可以作为下一个编译步骤的输入数据。

在生成数字逻辑电路之前,需要根据编译后的数据进行判断,确定根据该编译后的数据生成的数字逻辑电路是否满足预先设置的预设时序要求,如果数字逻辑电路不满足该预设时序要求,则需要对数字逻辑电路重新进行编译,以使数字逻辑电路能够满足该预设时序要求。

为了减少重新编译数字逻辑电路所花费的时间,客户端需要先获取数字逻辑电路的编译步骤,以便在后续步骤中,可以根据该编译步骤的顺序进行检测,以确定不满足预设时序要求的时序报告所对应的编译步骤。

其中,各个编译步骤均对应有策略集,每个策略集包括至少一个编译策略,每个编译策略具有对应的时序报告,客户端可以通过相应的编译策略对数字逻辑电路进行编译,并根据各个时序报告确定相应编译策略所属的编译步骤是否满足预设时序要求。

因此,若需要对数字逻辑电路进行重新编译,则可以根据预先存储的数据,获取编译数字逻辑电路的各个编译步骤。例如,当确定数字逻辑电路不满足预设时序要求时,则可以按照编译数字逻辑电路的顺序,获取“综合”、“转换”、“布局”、“优化”和“布线”等各个编译步骤。

步骤102,采用与数字逻辑电路的编译顺序逆向的顺序,逐个判断各个编译步骤对应的时序报告是否满足预设时序要求。

在获取编译数字逻辑电路的编译步骤后,可以按照与编译顺序相反的逆向顺序进行排查,从后向前确认各个编译步骤采用的编译策略所对应的时序报告,是否满足预先设置的预设时序要求。

具体地,客户端可以根据编译数字逻辑电路的编译步骤,确定与该编译顺序相反的逆向顺序,再按照该逆向顺序,逐个判断每个编译步骤所对应的时序报告是否满足预设时序要求。如果某个编译步骤对应的时序报告满足预设时序要求,则说明该编译步骤所采用的编译策略为最优编译策略,无需对该编译步骤的编译策略进行更改,则客户端可以继续判断下一个编译步骤对应的时序报告是否满足预设时序要求,直至确定某个编译步骤对应的时序报告不满足预设时序要求。

例如,与步骤101的举例相对应的,如果编译数字逻辑电路的顺序为:“综合”、“转换”、“布局”、“优化”和“布线”,则与编译顺序相反的逆向顺序则为:“布线”、“优化”、“布局”、“转换”和“综合”,如果编译步骤“优化”对应的时序报告满足预设时序要求,则客户端可以继续判断编译步骤“布局”所对应的时序报告是否满足预设时序要求。

步骤103,当任意一个时序报告不满足预设时序要求时,将该时序报告所对应的编译步骤确定为目标编译步骤。

在按照逆向顺序进行判断后,如果检测到任意一个编译步骤对应时序报告不满足预设时序要求时,说明该编译步骤采用的编译策略可能不是最优编译策略,需要对该编译步骤采用的编译策略进行更换,则客户端可以将该编译步骤确定为目标编译步骤,以便在后续步骤中对该目标编译步骤采用的编译策略进行更新。

步骤104,获取目标策略集中每个编译策略对应的时序报告。

其中,该目标策略集为目标编译步骤对应的策略集。

在确定目标编译策略后,客户端可以获取与目标编译策略对应的目标策略集,并将目标策略集中的多个编译策略并行运行,使得每个编译策略可以根据用户提供的电路代码生成相应的时序报告。

其中,该电路代码是由用户编辑的,用于生成符合用户要求的数字逻辑电路。

具体地,客户端可以从目标策略集中选取预设数目的编译策略,并行运行选取的预设数目的编译策略,当运行完毕后可以获取各个编译策略所对应的时序报告,并再次从目标策略集中选取预设数目的编译策略,并且并行运行本次选取的编译策略,得到各个编译策略对应的时序报告,直至得到目标策略集中每个编译策略的时序报告。

步骤105,根据每个编译策略对应的时序报告,将满足预设时序要求的时序报告所对应的编译策略,作为目标编译策略。

在获取目标策略集中每个编译策略对应的时序报告之后,客户端可以将每个时序报告与预设时序要求进行匹配,查找得到与预设时序要求相匹配的时序报告,最后可以将该失效报告所对应的编译策略作为目标编译策略。

需要说明的是,本发明实施例还可以采用其他方式确定目标编译策略,本发明实施例对此不做限定。

例如,在步骤104中,客户端可以并行运行完毕预设数目的编译策略,并得到与各个编译策略相对应的时序报告,则可以将得到的时序报告与预设时序要求进行匹配,确定得到的时序报告中是否包括满足预设时序要求的时序报告。当得到的多个时序报告中包括满足预设时序要求的时序报告时,则可以将该时序报告对应的编译策略确定为目标编译策略,并停止运行编译策略,但是如果得到的多个时序报告中不包括满足预设时序要求的时序报告时,则需要再次并行运行多个编译策略,并根据再次得到的时序报告进行匹配,直至得到与预设时序要求匹配的时序报告,从而确定目标编译策略。

步骤106,按照目标编译策略重新编译数字逻辑电路。

在确定目标编译策略之后,则客户端可以根据目标编译步骤中的目标编译策略以及其他步骤中预先设置的预置编译策略,再次对用户的电路代码进行编译,从而可以得到满足预设时序要求的数字逻辑电路。

具体地,客户端可以根据数字逻辑电路的编译步骤,确定目标编译步骤所在的位置,并确定与目标编译步骤相邻、且在目标编译步骤之前的编译步骤,则可以获取该编译步骤输出的数据,并将该编译步骤输出的数据作为目标编译步骤的输入数据,从而采用目标编译策略对该输入数据进行再次编译,最后得到重新编译的数字逻辑电路。

进一步地,如果目标编译步骤之后还存在其他编译步骤,则客户端可以将目标编译步骤输出的数据,作为目标编译步骤之后的编译步骤的输入数据,并采用其他编译步骤的预置编译策略进行编译,得到数字逻辑电路。

但是,如果目标编译步骤之后不存在其他编译步骤,也即是,目标编译步骤为数字逻辑电路的最后一个编译步骤,则可以根据目标编译步骤输出的数据生成编译后的数字逻辑电路。

综上所述,本发明实施例提供的数字逻辑电路编译方法,在通过获取数字逻辑电路的编译步骤,按照与该编译步骤的顺序相反的逆向顺序进行排查,逐个检测各个编译步骤对应的时序报告是否满足预设时序要求,从而将不满足预设时序要求的编译步骤确定为目标编译步骤,并且并行运行与目标编译步骤对应的目标策略集中的各个编译策略,确定目标编译策略,最后根据目标编译策略重新编译数字逻辑电路。由于在采用目标编译策略重新编译数字逻辑电路的过程中,可以使用目标编译步骤之前的编译步骤输出的数据,能够减少客户端重新编译数字逻辑电路所花费的时间,从而可以提高重新编译数字逻辑电路的效率。

参照图2,示出了本发明实施例的一种数字逻辑电路编译方法的步骤流程图,具体可以包括如下步骤:

步骤201,获取每个编译步骤对应的预置编译策略。

客户端在编译数字逻辑电路的过程中,可以通过多个编译步骤对用户提供的电路代码进行编译处理,最后得到数字逻辑电路。而每个编译步骤可以对应一个策略集,每个策略集包括多个编译策略,因此,在对数字逻辑电路进行编译之前,需要确定每个编译步骤所对应的预置编译策略,以便在后续步骤中,根据该预置编译策略进行编译,得到数字逻辑电路。

可选的,对于每个编译步骤,可以根据预置电路代码并行运行相应策略集中的多个编译策略,获取每个编译策略根据预置电路代码生成的时序报告,将满足预设时序要求的时序报告所对应的编译策略作为预置编译策略。

其中,该预置电路代码用于生成预置数字逻辑电路。

本步骤201中获取预置编译策略的过程与步骤105中获取目标编译策略的过程类似,在此不再赘述。

步骤202,判断数字逻辑电路是否满足预设时序要求。

客户端在根据用户提供的电路代码,按照每个编译步骤对应的预置编译策略进行编译,在根据各个编译步骤输出的数据生成数字逻辑电路之前,还需要根据最后一个编译步骤输出的数据进行判断,确定数字逻辑电路是否满足预设时序要求。

当确定即将生成的数字逻辑电路满足预设时序要求时,则可以按照编译步骤输出的数据生成相应的数字逻辑电路。但是,如果数字逻辑电路不满足预设时序要求,则需要执行后续步骤对数字逻辑电路进行重新编译,以使数字逻辑电路满足预设时序要求。

步骤203,当数字逻辑电路不满足预设时序要求时,获取数字逻辑电路的编译步骤。

步骤204,采用与数字逻辑电路的编译顺序逆向的顺序,逐个判断各个编译步骤对应的时序报告是否满足预设时序要求。

步骤205,当任意一个时序报告不满足预设时序要求时,将时序报告所对应的编译步骤确定为目标编译步骤。

步骤206,获取目标策略集中每个编译策略对应的时序报告。

由于步骤203至步骤206的过程与步骤101至步骤104的过程类似,在此不再赘述。

步骤207,根据每个编译策略对应的时序报告,将满足预设时序要求的时序报告所对应的编译策略,作为目标编译策略。

客户端在获取每个编译策略对应的时序报告之后,可以将各个时序报告与预设时序要求进行匹配,确定满足预设时序要求的时序报告,从而选取相应的编译策略作为目标编译策略。

可选的,客户端可以遍历每个编译策略对应的时序报告,将满足预设时序要求的时序报告作为目标时序报告,再从目标策略集中选取与目标时序报告相对应的编译策略,将与目标时序报告相对应的编译策略作为目标编译策略。

具体地,客户端在获取各个时序报告之后,可以将每个编译策略对应的时序报告与预设时序要求进行比较,判断每个时序报告是否满足预设时序要求。当某个时序报告满足预设时序要求时,可以将该时序报告作为目标时序报告,并从目标策略集中选取与该目标时序报告相对应的编译策略,最后可以将选取的编译策略作为目标编译策略。

步骤208,根据目标编译策略,对目标编译步骤对应的预置编译策略进行更新。

由于每个编译步骤均对应一个预置编译策略,但是如果某个预置编译策略对应的时序报告不满足预设时序要求时,说明该预置编译策略并不是编译当前电路代码的最优策略,需要对该预置编译策略进行更换。

因此,客户端可以将目标编译步骤所对应的预置编译策略替换为目标编译策略,也即是,将目标编译策略作为目标编译步骤的预置编译策略,实现对预置编译策略的更新。

步骤209,按照目标编译策略重新编译数字逻辑电路。

在编译数字逻辑电路的过程中,目标编译步骤可能为多个编译步骤中的任意一个编译步骤,则目标编译步骤可能是编译过程中的最后一个编译步骤,也可能是其他编译步骤。

当目标编译步骤不是编译过程中的最后一个编译步骤时,则还需要根据其他编译步骤对应的预置编译策略进行编译。因此,在根据目标编译策略对数字逻辑电路进行重新编译的过程中,需要根据目标编译步骤所在的不同位置,采用不同的编译方式重新编译数字逻辑电路。

可选的,客户端可以判断目标编译步骤是否为数字逻辑电路的最后一个编译步骤,当该目标编译步骤为数字逻辑电路的最后一个编译步骤时,按照目标编译策略重新编译数字逻辑电路;但是,当目标编译步骤不是数字逻辑电路的最后一个编译步骤时,则可以根据目标编译策略,以及位于目标编译步骤之后的各个编译步骤所对应的预置编译策略,重新编译数字逻辑电路。

具体地,当目标编译步骤为最后一个编译步骤时,则可以确定目标编译步骤的前一个编译步骤,并获取该编译步骤输出的数据,再将该数据作为目标编译步骤的输入数据,通过目标编译策略对该输入数据进行编译,得到目标编译步骤输出的数据,以便在后续步骤中,根据该输出的数据确定重新编译的数字逻辑电路是否满足预设时序要求。

相应的,当目标编译步骤不是最后一个编译步骤时,同样需要将之前的编译步骤输出的数据作为目标编译步骤的输入数据,再将目标编译步骤输出的数据作为后续编译步骤的输入数据,使得后续的编译步骤采用预置编译策略进行编译,最后得到用于生成数字逻辑电路的数据。

步骤210,当重新编译的数字逻辑电路不满足预设时序要求时,再次重新编译数字逻辑电路,直至重新编译的数字逻辑电路满足预设时序要求。

客户端在得到重新编译的用于生成数字逻辑电路的数据后,可以对该数据进行分析判断,确定根据该数据生成的数字逻辑电路是否满足预设时序要求。

当确定重新编译的数字逻辑电路仍然不满足预设时序要求时,则可以再次执行步骤203至步骤210,也即是再次对数字逻辑电路进行重新编译,并判断重新编译的数字逻辑电路是否满足预设时序要求,直至重新编译的数字逻辑电路满足预设时序要求。

可选的,客户端可以判断重新编译的数字逻辑电路是否满足预设时序要求,当重新编译的数字逻辑电路不满足预设时序要求时,再次重新编译数字逻辑电路,直至重新编译的数字逻辑电路满足预设时序要求。

上述过程与步骤203至步骤210的过程类似,在此不再赘述。

需要说明的,当客户端再一次重新编译时,可以按照与编译数字逻辑电路相反的顺序,从与目标编译步骤相邻、且位于目标编译步骤之前的编译步骤开始检测,判断各个编译步骤对应时序报告是否满足预设时序要求,从而确定新的目标编译步骤和目标编译策略。

例如,编译数字逻辑电路的顺序为:“综合”、“转换”、“布局”、“优化”和“布线”,与编译顺序相反的逆向顺序则为:“布线”、“优化”、“布局”、“转换”和“综合”,如果上一次重新编译的过程中编译步骤“布局”为目标编译步骤,则在本次重新编译的过程中,可以从编译步骤“转换”开始检测,从而确定本次重新编译的目标编译步骤。

综上所述,本发明实施例提供的数字逻辑电路编译方法,在通过获取数字逻辑电路的编译步骤,按照与该编译步骤的顺序相反的逆向顺序进行排查,逐个检测各个编译步骤对应的时序报告是否满足预设时序要求,从而将不满足预设时序要求的编译步骤确定为目标编译步骤,并且并行运行与目标编译步骤对应的目标策略集中的各个编译策略,确定目标编译策略,最后根据目标编译策略重新编译数字逻辑电路。由于在采用目标编译策略重新编译数字逻辑电路的过程中,可以使用目标编译步骤之前的编译步骤输出的数据,能够减少客户端重新编译数字逻辑电路所花费的时间,从而可以提高重新编译数字逻辑电路的效率。

参照图3,示出了本发明实施例的一种数字逻辑电路编译装置的结构框图,具体可以包括:

第一获取模块301,用于获取该数字逻辑电路的编译步骤,其中,各个编译步骤均对应有策略集,每个策略集包括至少一个编译策略,每个编译策略具有对应的时序报告;

第一判断模块302,用于采用与该数字逻辑电路的编译顺序逆向的顺序,逐个判断各个编译步骤对应的时序报告是否满足预设时序要求;

步骤确定模块303,用于当任意一个时序报告不满足该预设时序要求时,将该时序报告所对应的编译步骤确定为目标编译步骤;

第二获取模块304,用于获取目标策略集中每个编译策略对应的时序报告,该目标策略集为该目标编译步骤对应的策略集;

策略确定模块305,用于根据每个编译策略对应的时序报告,将满足该预设时序要求的时序报告所对应的编译策略,作为目标编译策略;

编译模块306,用于按照该目标编译策略重新编译该数字逻辑电路。

可选的,该策略确定模块305可以包括:

报告确定子模块,用于遍历每个编译策略对应的时序报告,将满足该预设时序要求的时序报告作为目标时序报告;

选取子模块,用于从该目标策略集中选取与该目标时序报告相对应的编译策略;

策略确定子模块,用于将与该目标时序报告相对应的编译策略作为该目标编译策略。

可选的,该装置还可以包括:

第二判断模块,用于判断该重新编译的数字逻辑电路是否满足该预设时序要求;

该编译模块306还用于当该重新编译的数字逻辑电路不满足该预设时序要求时,再次重新编译数字逻辑电路,直至重新编译的数字逻辑电路满足该预设时序要求。

可选的,该装置还可以包括:

策略运行模块,用于对于每个编译步骤,根据预置电路代码并行运行相应策略集中的多个编译策略,该预置电路代码用于生成预置数字逻辑电路;

第三获取模块,用于获取每个编译策略根据该预置电路代码生成的时序报告;

预置策略确定模块305,用于将满足该预设时序要求的时序报告所对应的编译策略作为预置编译策略。

可选的,该编译模块306可以包括:

判断子模块,用于判断该目标编译步骤是否为该数字逻辑电路的最后一个编译步骤;

第一编译子模块,用于当该目标编译步骤为该数字逻辑电路的最后一个编译步骤时,按照该目标编译策略重新编译该数字逻辑电路;

第二编译子模块,用于当该目标编译步骤不是该数字逻辑电路的最后一个编译步骤时,根据该目标编译策略,以及位于该目标编译步骤之后的各个编译步骤所对应的预置编译策略,重新编译该数字逻辑电路。

可选的,该装置还可以包括:

更新模块,用于根据该目标编译策略,对该目标编译步骤对应的预置编译策略进行更新。

可选的,该装置还可以包括:

第三判断模块,用于判断该数字逻辑电路是否满足该预设时序要求;

该第一获取模块301包括:

获取子模块,用于当该数字逻辑电路不满足该预设时序要求时,获取该数字逻辑电路的编译步骤。

本发明实施例提供的数字逻辑电路编译装置能够实现图1至图2的方法实施例中数字逻辑电路编译装置实现的各个过程,为避免重复,这里不再赘述。

综上所述,本发明实施例提供的数字逻辑电路编译装置,在通过获取数字逻辑电路的编译步骤,按照与该编译步骤的顺序相反的逆向顺序进行排查,逐个检测各个编译步骤对应的时序报告是否满足预设时序要求,从而将不满足预设时序要求的编译步骤确定为目标编译步骤,并且并行运行与目标编译步骤对应的目标策略集中的各个编译策略,确定目标编译策略,最后根据目标编译策略重新编译数字逻辑电路。由于在采用目标编译策略重新编译数字逻辑电路的过程中,可以使用目标编译步骤之前的编译步骤输出的数据,能够减少客户端重新编译数字逻辑电路所花费的时间,从而可以提高重新编译数字逻辑电路的效率。

优选的,本发明实施例还提供一种数字逻辑电路编译装置,包括处理器,存储器,存储在存储器上并可在所述处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述数字逻辑电路编译方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述数字逻辑电路编译方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(read-onlymemory,简称rom)、随机存取存储器(randomaccessmemory,简称ram)、磁碟或者光盘等。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1