掌桥专利:专业的专利平台
掌桥专利
首页

逻辑综合控制方法及装置

文献发布时间:2023-06-19 10:21:15


逻辑综合控制方法及装置

技术领域

本发明涉及FPGA技术领域,尤其涉及一种逻辑综合控制方法及装置。

背景技术

人工智能是研究并开发用于模拟、延伸和扩展人类智能的理论、方法、技术及应用系统的一门新的技术科学,是新一轮产业变革的核心驱动力和经济发展的新引擎。FPGA作为一种通用的可编程逻辑器件,其设计更接近于硬件底层的架构,拥有大量的RAM资源、DSP资源等,具有擅长数据并行计算、更加灵活和低延迟的特点,同时还具有功耗低、可编程及设计灵活等特点。基于此,FPGA在人工智能的很多应用领域得到了广泛的使用。

在将FPGA应用到人工智能领域的实际应用中,确定出人工智能的系统算法之后,在不同的应用环境或应用场景下,通常需要不断的修改系统算法的参数。实践发现,每次修改系统算法的参数之后均需要对FPGA开发的整个流程进行更新,大大增加了FPGA的开发时间,降低了FPGA的开发效率。可见,如何提高FPGA的开发效率显得尤为重要。

发明内容

本发明提供了一种逻辑综合控制方法及装置,能够提高FPGA的开发效率。

本发明第一方面公开了一种逻辑综合控制方法,检测读取到的RTL设计文件中存储器的初值是否发生变化;

当检测到所述RTL设计文件中所述存储器的初值发生变化时,根据预先建立的映射关系对应修改最近一次对所述RTL设计文件执行逻辑综合操作得到的综合后网表中存储器实例的初值,以更新该综合后网表;

其中,所述映射关系用于表示所述RTL设计文件中所述存储器的初值与最近一次对所述RTL设计文件执行逻辑综合操作得到的综合后网表中存储器实例的初值之间的对应关系。

作为一种可选的实施方式,在本发明第一方面中,所述检测读取到的RTL设计文件中存储器的初值是否发生变化之前,所述方法还包括:

在首次对读取到的RTL设计文件执行逻辑综合操作之后,建立所述RTL设计文件中存储器的初值与最近一次对所述RTL设计文件执行逻辑综合操作得到的综合后网表中存储器实例的初值之间的映射关系。

作为一种可选的实施方式,在本发明第一方面中,在检测到所述RTL设计文件中所述存储器的初值发生变化之后,所述方法还包括:

检测所述RTL设计文件中除了所述存储器的初值发生变化之外是否还存在其它部分的修改;

当检测到所述RTL设计文件中除了所述存储器的初值发生变化之外不存在其它部分的修改时,触发执行所述的根据预先建立的映射关系对应修改最近一次对所述RTL设计文件执行逻辑综合操作得到的综合后网表中存储器实例的初值,以更新该综合后网表的操作。

作为一种可选的实施方式,在本发明第一方面中,所述方法还包括:

当检测到所述RTL设计文件中除了所述存储器的初值发生变化之外还存在其它部分的修改时,根据所述RTL设计文件执行逻辑综合操作。

作为一种可选的实施方式,在本发明第一方面中,所述方法还包括:

根据所述RTL设计文件中所述存储器的初值以及最近一次对所述RTL设计文件执行逻辑综合操作得到的综合后网表,更新所述映射关系。

作为一种可选的实施方式,在本发明第一方面中,所述检测读取到的RTL设计文件中存储器的初值是否发生变化,包括:

在对所述RTL设计文件执行逻辑综合操作得到综合后网表之后,检测是否接收到目标数据,所述目标数据是对预先确定出的AI算法对应的新程序代码进行编译处理后得到的;

当检测接收到所述目标数据时,确定读取到的RTL设计文件中存储器的初值发生变化;

以及,在检测接收到所述目标数据之后,所述方法还包括:

将接收到的所述目标数据存储至所述RTL设计文件的存储器中,以更新所述RTL设计文件中所述存储器的初值。

作为一种可选的实施方式,在本发明第一方面中,所述映射关系还用于表示最近一次对所述RTL设计文件执行逻辑综合操作得到的综合后网表中所述存储器实例的初值在所述RTL设计文件中的数据来源。

本发明第二方面公开了一种逻辑综合控制装置,所述装置包括:

第一检测模块,用于检测读取到的RTL设计文件中存储器的初值是否发生变化;

修改模块,用于当所述第一检测模块检测到所述RTL设计文件中所述存储器的初值发生变化时,根据预先建立的映射关系对应修改最近一次对所述RTL设计文件执行逻辑综合操作得到的综合后网表中存储器实例的初值,以更新该综合后网表;

其中,所述映射关系用于表示所述RTL设计文件中所述存储器的初值与最近一次对所述RTL设计文件执行逻辑综合操作得到的综合后网表中存储器实例的初值之间的对应关系。

作为一种可选的实施方式,在本发明第二方面中,所述装置还包括:

建立模块,用于在首次对读取到的RTL设计文件执行逻辑综合操作之后,建立所述RTL设计文件中存储器的初值与最近一次对所述RTL设计文件执行逻辑综合操作得到的综合后网表中存储器实例的初值之间的映射关系。

作为一种可选的实施方式,在本发明第二方面中,所述装置还包括:

第二检测模块,用于在所述第一检测模块检测到所述RTL设计文件中所述存储器的初值发生变化之后,检测所述RTL设计文件中除了所述存储器的初值发生变化之外是否还存在其它部分的修改,当检测到所述RTL设计文件中除了所述存储器的初值发生变化之外不存在其它部分的修改时,触发所述修改模块执行所述的根据预先建立的映射关系对应修改最近一次对所述RTL设计文件执行逻辑综合操作得到的综合后网表中存储器实例的初值,以更新该综合后网表的操作。

作为一种可选的实施方式,在本发明第二方面中,所述装置还包括:

逻辑综合模块,用于当所述第二检测模块检测到所述RTL设计文件中除了所述存储器的初值发生变化之外还存在其它部分的修改时,根据所述RTL设计文件执行逻辑综合操作。

作为一种可选的实施方式,在本发明第二方面中,所述装置还包括:

更新模块,用于在所述逻辑综合模块根据所述RTL设计文件执行逻辑综合操作之后,根据所述RTL设计文件中所述存储器的初值以及最近一次对所述RTL设计文件执行逻辑综合操作得到的综合后网表,更新所述映射关系。

作为一种可选的实施方式,在本发明第二方面中,所述第一检测模块包括:

检测子模块,用于在对所述RTL设计文件执行逻辑综合操作得到综合后网表之后,检测是否接收到目标数据,所述目标数据是对预先确定出的AI算法对应的新程序代码进行编译处理后得到的;

确定子模块,用于当所述检测子模块检测接收到所述目标数据时,确定读取到的RTL设计文件中存储器的初值发生变化;

以及,所述装置还包括:

存储模块,用于将接收到的所述目标数据存储至所述RTL设计文件的存储器中,以更新所述RTL设计文件中所述存储器的初值。

作为一种可选的实施方式,在本发明第二方面中,所述映射关系还用于表示最近一次对所述RTL设计文件执行逻辑综合操作得到的综合后网表中所述存储器实例的初值在所述RTL设计文件中的数据来源。

本发明第三方面公开了另一种逻辑综合控制装置,所述装置包括:

存储有可执行程序代码的存储器;

与所述存储器耦合的处理器;

所述处理器调用所述存储器中存储的所述可执行程序代码,执行本发明第一方面公开的逻辑综合控制方法中的部分或全部步骤。

本发明第四方面公开了一种计算机存储介质,所述计算机存储介质存储有计算机指令,所述计算机指令被调用时,用于执行本发明第一方面公开的逻辑综合控制方法中的部分或全部步骤。

与现有技术相比,本发明实施例具有以下有益效果:

本发明实施例中,检测读取到的RTL设计文件中存储器的初值是否发生变化;当检测结果为是时,根据预先建立的映射关系,对应修改最近一次对RTL设计文件执行逻辑综合操作得到的综合后网表中存储器实例的初值,以更新该综合后网表,该映射关系用于表示RTL设计文件中存储器的初值与最近一次对RTL设计文件执行逻辑综合操作得到的综合后网表中存储器实例的初值之间的对应关系。可见,本发明能够在RTL设计文件中存储器的初值发生变化的情况下根据预先建立的映射关系,只需对应修改综合后网表中存储器实例的初值即可,无需再次进行逻辑综合,有利于减少逻辑综合时间,提高FPGA的开发设计效率。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例公开的一种逻辑综合控制方法的流程示意图;

图2是本发明实施例公开的另一种逻辑综合控制方法的流程示意图;

图3是本发明实施例公开的一种FPGA开发设计流程的对比示意图;

图4是本发明实施例公开的一种逻辑综合控制装置的结构示意图;

图5是本发明实施例公开的另一种逻辑综合控制装置的结构示意图;

图6是本发明实施例公开的又一种逻辑综合控制装置的结构示意图。

具体实施方式

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

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品、端口或端没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品、端口或端固有的其他步骤或单元。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

本发明公开了一种逻辑综合控制方法及装置,能够在RTL设计文件中存储器的初值发生变化的情况下根据预先建立的映射关系,只需对应修改综合后网表中存储器实例的初值即可,无需再次进行逻辑综合,有利于减少逻辑综合时间,提高FPGA的开发设计效率。以下分别进行详细说明。

实施例一

请参阅图1,图1是本发明实施例公开的一种逻辑综合控制方法的流程示意图。其中,图1所描述的方法可以应用于FPGA综合工具中,该FPGA综合工具可以与人工智能相结合,实现将FPGA应用于人工智能领域中。如图1所示,该方法可以包括以下操作:

101、FPGA综合工具检测读取到的RTL设计文件中存储器的初值是否发生变化;当步骤101的判断结果为是时,触发执行步骤102;当步骤101的判断结果为否时,可以结束本次流程,也可以继续触发执行步骤101。

本发明实施例中,在FPGA的开发设计流程中,RTL设计文件中定义的存储器(memory)在逻辑综合过程中通常会被推断(infer)为FPGA芯片中的存储器实例(memoryinstance),且由于RTL设计文件中存储器的初值不同,逻辑综合后生成的存储器实例的初值也有所不同。

本发明实施例中,在FPGA综合工具进行逻辑综合的过程中,首先读取RTL设计文件及存储器初值文件,在首次逻辑综合时,FPGA综合工具将RTL设计文件中能够被推断为存储器实例的电路推断为存储器实例。其中,RTL设计文件中的存储器使用一系列的寄存器数组(register array)来表示,使用解码器来选择存储器的写入,使用译码器来实现存储器的读出,解码器、寄存器数组及译码器组合起来可以被推断为存储器实例,且在推断为存储器实例的过程中,FPGA综合工具根据被推断为存储器实例的电路的连接关系将存储器实例的读地址、写地址、输入端口、输出端口进行连接,同时设置读模式、写模式、存储器初值及其它配置参数,在确定出RTL设计文件中存储器初值的同时,记录存储器实例的初值在RTL设计文件中的数据来源以及存储器实例的初值与RTL设计文件中存储器的初值的对应关系。

102、当检测到RTL设计文件中存储器的初值发生变化时,FPGA综合工具根据预先建立的映射关系对应修改最近一次对RTL设计文件执行逻辑综合操作得到的综合后网表中存储器实例的初值,以更新该综合后网表。

本发明实施例中,该映射关系用于表示RTL设计文件中存储器的初值与最近一次对RTL设计文件执行逻辑综合操作得到的综合后网表中存储器实例的初值之间的对应关系。可选的,该映射关系还用于表示最近一次对RTL设计文件执行逻辑综合操作得到的综合后网表中存储器实例的初值在RTL设计文件中的数据来源,有利于提高对应修改综合后网表中存储器实例的效率及准确性。

本发明实施例中,FPGA综合工具根据预先建立的映射关系对应修改最近一次对RTL设计文件执行逻辑综合操作得到的综合后网表中存储器实例的初值,以更新该综合后网表,可以具体包括:

FPGA综合工具根据预先建立的映射关系确定RTL设计文件中发生变化的存储器的初值所对应的最近一次对RTL设计文件执行逻辑综合操作得到的综合后网表中存储器实例的目标位置;

FPGA综合工具将综合后网表中存储器实例在该目标位置的初值修改为RTL设计文件中发生变化的存储器的初值。

可选的,该映射关系可以是在首次对读取到的RTL设计文件执行逻辑综合操作得到综合后网表之后建立的,也可以是在对读取到的RTL设计文件执行预设次数的逻辑综合操作之后建立的,本发明实施例不作限定,且最优方案为前者。其中,建立映射关系之后,在后续的开发设计流程中,若RTL设计文件中存储器的初值发生变化,本发明实施例所描述的方法只需对应修改存储器实例的初值即可,无需再次进行逻辑综合,能够减少逻辑综合次数,进而减少逻辑综合时间,有利于提高FPGA的开发设计效率,且在首次对读取到的RTL设计文件执行逻辑综合操作得到综合后网表之后建立映射关系,能够使得后续执行逻辑综合操作的次数最小化,进一步减少逻辑综合时间,进一步提高了FPGA的开发设计效率。

在一个可选的实施例中,FPGA综合工具检测读取到的RTL设计文件中存储器的初值是否发生变化,可以包括:

在对RTL设计文件执行逻辑综合操作得到综合后网表之后,FPGA综合工具检测是否接收到目标数据,该目标数据是对预先确定出的AI算法对应的新程序代码进行编译处理后得到的;

当检测接收到目标数据时,FPGA综合工具确定读取到的RTL设计文件中存储器的初值发生变化。

进一步的,该方法还可以包括以下操作:

将接收到的目标数据存储至RTL设计文件的存储器中,以更新RTL设计文件中存储器的初值。

本发明实施例中,当FPGA应用于人工智能领域时,若AI算法的参数发生变化,对AI算法对应的新程序代码编译处理后的目标数据需要发送至FPGA综合工具中,由FPGA综合工具将接收到的目标数据更新存储至RTL设计文件的存储器中,以作为RTL设计文件中存储器的最新初值,也即当检测接收到对AI算法对应的新程序代码编译处理后的目标数据时,FPGA综合工具即可认定RTL设计文件中存储器的初值发生变化。

以示例1举例说明,具体如下:

其中,此存储器数据宽度为4,深度为8,存储器大小为4*8,此存储器的初值被设置为{a73,a72,a71,a70;a63,a62,a61,a60;...;a03,a02,a01,a00},解析器解析到的初值大小为宽度为1、深度为32的1*32矩阵,逻辑综合过程中将此存储器推断为memory instanceins01,此memory instance ins01使用参数INIT0~INIT7来表示存储器的初值。逻辑综合过程中生成的初值对应关系文件内容如下:

其中,该对应关系文件显示了RTL设计文件中存储器的初值与综合后网表中memory instance INIT的对应关系。当RTL设计文件中只有a73a72a71a70发生变化时,只需要将上一次综合后网表的ins01.INIT_7=a73a72a71a70进行修改即可。需要说明的是,该对应关系文件可以以文本格式、网页格式或其它用户可读的任何格式呈现,只要能够表明RTL设计文件中存储器的初值与综合后网表中存储器实例的初值的对应关系即可。

本发明实施例所描述的方法应用于人工智能领域的FPGA开发设计流程与现有技术中应用于人工智能领域的FPGA开发设计流程的对比可以参照图3所示,图3是本发明实施例公开的一种FPGA开发设计流程的对比示意图,其中,图3中的3a表示现有技术中应用于人工智能领域的FPGA开发设计流程,图3中的3b表示本发明实施例所描述的方法应用于人工智能领域的FPGA开发设计流程。如图3所示,图3中的3a表示当AI算法的参数发生变化时,RTL设计文件中存储器的初值也发生变化,FPGA综合工具需要重新执行逻辑综合操作得到新的综合后网表,根据新的综合后网表进行布局布线并将布局布线结果生成可以写入到FPGA芯片的位流文件,最后将位流文件下载至FPGA中以完成FPGA的开发设计;图3中的3b表示当AI算法的参数发生变化时,RTL设计文件中存储器的初值也发生变化,根据已建立的映射关系直接修改最新得到的综合后网表中存储器实例的初值以更新综合后网表,根据更新后的综合后网表进行布局布线并将布局布线结果生成可以写入到FPGA芯片的位流文件,最后将位流文件下载至FPGA中以完成FPGA的开发设计。通过对比可知,本发明实施例所描述的方法应用于人工智能领域的FPGA开发设计流程时能够在人工智能的系统算法的参数发生变化时,无需再次进行逻辑综合,有利于减少逻辑综合时间,提高FPGA的开发设计效率。

可见,本发明实施例所描述的方法能够在RTL设计文件中存储器的初值发生变化的情况下根据预先建立的映射关系,只需对应修改综合后网表中存储器实例的初值即可,无需再次进行逻辑综合,有利于减少逻辑综合时间,提高FPGA的开发设计效率。

实施例二

请参阅图2,图2是本发明实施例公开的另一种逻辑综合控制方法的流程示意图。其中,图2所描述的方法可以应用于FPGA综合工具中,该FPGA综合工具可以与人工智能相结合,实现将FPGA应用于人工智能领域中。如图2所示,该方法可以包括以下操作:

201、在首次对读取到的RTL设计文件执行逻辑综合操作之后,FPGA综合工具建立RTL设计文件中存储器的初值与最近一次对RTL设计文件执行逻辑综合操作得到的综合后网表中存储器实例的初值之间的映射关系。

其中,在步骤201中,最近一次对RTL设计文件执行逻辑综合操作也即为首次对读取到的RTL设计文件执行逻辑综合操作。可选的,该映射关系还可以用于表示最近一次对RTL设计文件执行逻辑综合操作得到的综合后网表中存储器实例的初值在所述RTL设计文件中的数据来源。

202、FPGA综合工具检测读取到的RTL设计文件中存储器的初值是否发生变化;当步骤202的判断结果为是时,触发执行步骤203;当步骤202的判断结果为否时,可以结束本次流程,也可以继续触发执行步骤202。

需要说明的是,若读取到的RTL设计文件中存储器的初值发生变化,对于存储器实例而言,这就意味着存储器实例的初值的数据来源发生变化。

203、FPGA综合工具检测RTL设计文件中除了存储器的初值发生变化之外是否还存在其它部分的修改;当步骤203的检测结果为否时,触发执行步骤204;当步骤203的检测结果为是时,触发步骤205。

204、FPGA综合工具根据预先建立的映射关系对应修改最近一次对RTL设计文件执行逻辑综合操作得到的综合后网表中存储器实例的初值,以更新该综合后网表。

205、FPGA综合工具根据RTL设计文件执行逻辑综合操作。

在一个可选的实施例中,该方法还可以包括以下操作:

206、FPGA综合工具根据RTL设计文件中存储器的初值以及最近一次对RTL设计文件执行逻辑综合操作得到的综合后网表,更新映射关系。

本发明实施例中,在执行完毕步骤206之后,可以继续触发执行步骤202。

本发明实施例中,具体的,在修改了RTL设计文件中存储器的初值之后,进行逻辑综合时,FPGA综合工具首先找到上一次综合出的所有的存储器实例,检测RTL设计文件是否只修改了存储器实例的初值的数据来源(也即存储器的初值),如果除了存储器的初值之外还修改了RTL设计文件的其它部分,此时FPGA综合工具会重新读入RTL设计文件再次进行逻辑综合。如果检测到RTL设计文件只修改了存储器实例的初值的数据来源,此时FPGA综合工具会根据上一次逻辑综合过程中的存储器实例的初值与存储器实例的初值的数据来源及数据之间的对应关系直接修改上一次综合后网表中存储器实例的初值,无需再次进行逻辑综合,减少逻辑综合时间,提高FPGA的开发设计效率。

以示例2举例说明,具体如下:

在上述示例2中,RTL设计文件中的存储器在逻辑综合过程中会被推断为1个名为mem的memory instance,mem的初值来源于memory.ini,其初值与memory.ini中的数据为一一对应的关系。在第一次逻辑综合过程中,FPGA综合工具会记录下mem的初值来源为memory.ini,mem的初值与memory.ini的数据对应关系,比如mem的第m个初值对应memory.ini的第n个数据。如果此RTL设计文件的其它部分不改变,只有memory.ini发生改变时,FPGA综合工具检测到此种情况时,根据上次逻辑综合过程中记录的mem中的初值与memory.ini的数据的对应关系直接更新上次逻辑综合过程中推断出的memory instance的初值,不需再次经过耗时的逻辑综合步骤,减少了开发过程中的逻辑综合运行时间,提高了用户的开发效率。

可见,本发明实施例所描述的方法能够在首次执行逻辑综合操作之后及时建立相应的映射关系,以便于后续当RTL设计文件中存储器的初值发生变化时直接对应修改最新的综合后网表中存储器实例的初值即可,有利于实现最少次数的逻辑综合操作,进而有利于提高FPGA的开发设计效率。此外,还能够根据RTL设计文件中的修改情况或数据更新情况执行相匹配的操作,在减少逻辑综合次数、提高FPGA开发设计效率的同时,还能够提高得到的综合后网表的可靠性,保证了逻辑综合的质量,还能够提高本发明实施例所描述的逻辑综合控制方法的灵活性,进而有利于提高本发明实施例所描述的逻辑综合控制方法的普遍适用性。此外,还能够方便用户的对比调试。

实施例三

请参阅图4,图4是本发明实施例公开的一种逻辑综合控制装置的结构示意图。其中,图4所描述的装置可以应用于FPGA综合工具中,该FPGA综合工具可以与人工智能相结合,实现将FPGA应用于人工智能领域中。如图4所示,该逻辑综合控制装置可以包括:

第一检测模块301,用于检测读取到的RTL设计文件中存储器的初值是否发生变化。

修改模块302,用于当第一检测模块301检测到RTL设计文件中存储器的初值发生变化时,根据预先建立的映射关系对应修改最近一次对RTL设计文件执行逻辑综合操作得到的综合后网表中存储器实例的初值,以更新该综合后网表。

其中,该映射关系用于表示RTL设计文件中存储器的初值与最近一次对RTL设计文件执行逻辑综合操作得到的综合后网表中存储器实例的初值之间的对应关系。可选的,该映射关系还可以用于表示RTL设计文件中存储器的初值与最近一次对RTL设计文件执行逻辑综合操作得到的综合后网表中存储器实例的初值之间的对应关系。

可见,实施图4所描述的装置能够在RTL设计文件中存储器的初值发生变化的情况下根据预先建立的映射关系,只需对应修改综合后网表中存储器实例的初值即可,无需再次进行逻辑综合,有利于减少逻辑综合时间,提高FPGA的开发设计效率。

在一个可选的实施例中,如图5所示,该装置还可以包括:

建立模块303,用于在首次对读取到的RTL设计文件执行逻辑综合操作之后,建立RTL设计文件中存储器的初值与最近一次对RTL设计文件执行逻辑综合操作得到的综合后网表中存储器实例的初值之间的映射关系。

可见,该可选的实施例还能够在首次执行逻辑综合操作之后及时建立相应的映射关系,以便于后续当RTL设计文件中存储器的初值发生变化时直接对应修改最新的综合后网表中存储器实例的初值即可,有利于实现最少次数的逻辑综合操作,进而有利于提高FPGA的开发设计效率。

在另一个可选的实施例中,如图5所示,该装置还可以包括:

第二检测模块304,用于在第一检测模块301检测到RTL设计文件中存储器的初值发生变化之后,检测RTL设计文件中除了存储器的初值发生变化之外是否还存在其它部分的修改,当检测到RTL设计文件中除了存储器的初值发生变化之外不存在其它部分的修改时,触发修改模块302执行上述的根据预先建立的映射关系对应修改最近一次对RTL设计文件执行逻辑综合操作得到的综合后网表中存储器实例的初值,以更新该综合后网表的操作。

也即,在该可选的实施例中,修改模块302具体用于:

当第一检测模块301检测到RTL设计文件中存储器的初值发生变化时以及当第二检测模块304检测到RTL设计文件中除了存储器的初值发生变化之外不存在其它部分的修改时,根据预先建立的映射关系对应修改最近一次对RTL设计文件执行逻辑综合操作得到的综合后网表中存储器实例的初值,以更新该综合后网表。

在该可选的实施例中,进一步可选的,如图5所示,该装置还可以包括:

逻辑综合模块305,用于当第二检测模块304检测到RTL设计文件中除了存储器的初值发生变化之外还存在其它部分的修改时,根据RTL设计文件执行逻辑综合操作。

可见,该可选的实施例还能够根据RTL设计文件中的修改情况或数据更新情况执行相匹配的操作,在减少逻辑综合次数、提高FPGA开发设计效率的同时,还能够提高得到的综合后网表的可靠性,保证了逻辑综合的质量,还能够提高逻辑综合的灵活性及普遍适用性。

在该可选的实施例中,如图5所示,该装置还可以包括:

更新模块306,用于在逻辑综合模块305根据RTL设计文件执行逻辑综合操作之后,根据RTL设计文件中存储器的初值以及最近一次对RTL设计文件执行逻辑综合操作得到的综合后网表,更新映射关系。

可见,该可选的实施例还能够在重新执行逻辑综合操作之后自动更新已建立的映射关系,以便于为后续RTL设计文件中存储器的初值发生变化时根据更新后的映射关系对应修改综合后网表中存储器实例的初值进而实现综合后网表的更新,不仅有利于提高综合后网表的更新效率,还能够提高综合后网表的更新准确性。

在又一个可选的实施例中,如图5所示,第一检测模块301可以包括:

检测子模块3011,用于在对RTL设计文件执行逻辑综合操作得到综合后网表之后,检测是否接收到目标数据,目标数据是对预先确定出的AI算法对应的新程序代码进行编译处理后得到的;

确定子模块3012,用于当检测子模块3011检测接收到目标数据时,确定读取到的RTL设计文件中存储器的初值发生变化。

其中,如图5所示,该装置还可以包括:

存储模块307,用于将接收到的目标数据存储至RTL设计文件的存储器中,以更新RTL设计文件中存储器的初值。

可见,该可选的实施例还能够将FPGA应用于人工智能领域,在确定出人工智能的系统算法(又称AI算法)之后,可根据实际的应用场景修改AI算法的参数,并将对AI算法对应的新程序代码编译处理后的数据存储至RTL设计文件的存储器的初值中,以实现在将FPGA应用于人工智能领域时以及AI算法的参数发生变化的情况下,无需重新执行逻辑综合操作,只需对应修改上次逻辑综合生成的综合后网表中存储器实例的初值即可,减少了逻辑综合时间,有利于提高FPGA的开发设计效率。此外,还能够方便用户进行对比调试。

实施例四

本发明实施例公开了一种FPGA综合工具,该FPGA综合工具用于执行实施例一或实施例二所描述的方法中的部分或全部步骤,或者,该FPGA综合工具包括实施例三所描述的任意一种逻辑综合控制装置。

实施例五

请参阅图6,图6是本发明实施例公开的又一种逻辑综合控制装置的结构示意图。如图6所示,该逻辑综合的实现控制装置可以应用于FPGA综合工具中,该FPGA综合工具可以与人工智能相结合,实现将FPGA应用于人工智能领域中。如图6所示,该装置可以包括:

存储有可执行程序代码的存储器401;

与存储器401耦合的处理器402;

处理器402调用存储器401中存储的可执行程序代码,执行本发明实施例一或实施例二公开的逻辑综合控制方法中FPGA综合工具所执行的部分或全部步骤。

实施例六

本发明实施例公开了一种计算机存储介质,计算机存储介质存储有计算机指令,计算机指令被调用时,用于执行本发明实施例一或实施例二公开的逻辑综合控制方法中FPGA综合工具所执行的部分或全部步骤。

以上所描述的装置实施例仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施例的具体描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,存储介质包括只读存储器(Read-Only Memory,ROM)、随机存储器(Random Access Memory,RAM)、可编程只读存储器(Programmable Read-only Memory,PROM)、可擦除可编程只读存储器(ErasableProgrammable Read Only Memory,EPROM)、一次可编程只读存储器(One-timeProgrammable Read-Only Memory,OTPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。

最后应说明的是:本发明实施例公开的一种逻辑综合控制方法及装置所揭露的仅为本发明较佳实施例而已,仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各项实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应的技术方案的本质脱离本发明各项实施例技术方案的精神和范围。

相关技术
  • 逻辑综合控制方法及装置
  • 逻辑综合控制方法及装置
技术分类

06120112518587