CN112560379B - Fpga片内分布式存储单元的建模方法及装置 - Google Patents
Fpga片内分布式存储单元的建模方法及装置 Download PDFInfo
- Publication number
- CN112560379B CN112560379B CN202011504273.1A CN202011504273A CN112560379B CN 112560379 B CN112560379 B CN 112560379B CN 202011504273 A CN202011504273 A CN 202011504273A CN 112560379 B CN112560379 B CN 112560379B
- Authority
- CN
- China
- Prior art keywords
- distributed storage
- logic
- fpga
- units
- storage units
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
- G06F30/343—Logical level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明公开了FPGA片内分布式存储单元的建模方法及装置,该方法包括:对FPGA片内的所有逻辑单元执行逻辑资源分析操作,得到逻辑资源分析结果;根据得到的逻辑资源分析结果以及预先确定出的存储需求,建立与存储需求相匹配的多个分布式存储单元的软件模型。可见,本发明能够基于对FPGA片内逻辑资源进行分析的逻辑资源分析结果并结合用户实际的存储需求创建不同的分布式存储单元的软件模型以满足不同的存储需求,在节省块状存储单元的存储资源的同时,提高了用户使用分布式存储单元的灵活性,拓展了FPGA片内分布式存储单元的应用范围,进而有利于提高用户设计的灵活性以及软件流程的处理效率。
Description
技术领域
本发明涉及FPGA技术领域,尤其涉及一种FPGA片内分布式存储单元的建模方法及装置。
背景技术
随着数字信息技术的飞速发展,FPGA的应用也越来越广泛,且FPGA内部有丰富的硬件存储资源,例如块状存储单元,其中,块状存储单元存储空间大、存储资源有限。在实际应用中,当FPGA的开发设计中对存储空间需求较小时,如果使用块状存储单元,则会浪费片内有限的存储资源。比如两个LUTRAM列可包括400个LUTRAM单元或者组合的总共800个LUTRAM单元,且两个LUTRAM列可包括每列450个CRAM单元或者组合的总共900个CRAM单元。在某些场景中,800个LUTRAM单元中仅仅需要使用600个,900个CRAM单元之中仅仅需要使用500个,也就是浪费了200个LUTRAM单元和400个CRAM单元,如此使用块状存储单元则会浪费片内有限的存储资源,这种情况可以使用存储空间较小的分布式存储单元,以节省块状存储单元的存储资源。可见,如何高质量的建立分布式存储单元的软件模型,以提高用户使用分布式存储单元的灵活性显得尤为重要。
发明内容
本发明提供了一种FPGA片内分布式存储单元的建模方法及装置,能够基于对FPGA片内逻辑资源的分析结果及用户实际的存储需求创建满足不同存储需求的分布式存储单元的软件模型,提高了用户使用分布式存储单元的灵活性。
本发明第一方面公开了一种FPGA片内分布式存储单元的建模方法,所述方法包括:
对FPGA片内的所有逻辑单元执行逻辑资源分析操作,得到逻辑资源分析结果;
根据所述逻辑资源分析结果以及预先确定出的存储需求,建立与所述存储需求相匹配的多个分布式存储单元的软件模型。
作为一种可选的实施方式,在本发明第一方面中,所述根据所述逻辑资源分析结果以及预先确定出的存储需求,建立与所述存储需求相匹配的多个分布式存储单元的软件模型之后,所述方法还包括:
输出建立的所有所述分布式存储单元的软件模型;
其中,所述输出建立的所有所述分布式存储单元的软件模型之前,所述方法还包括:
对建立的所有所述分布式存储单元的软件模型进行验证,得到验证结果;
判断所述验证结果是否表示对建立的所有所述分布式存储单元的软件模型验证通过,当判断结果为是时,执行所述的输出建立的所有所述分布式存储单元的软件模型的步骤。
作为一种可选的实施方式,在本发明第一方面中,所述对建立的所有所述分布式存储单元的软件模型进行验证,得到验证结果,包括:
对建立的所有所述分布式存储单元的软件模型进行仿真验证,得到仿真验证结果;和/或,
对建立的所有所述分布式存储单元的软件模型进行形式验证,得到形式验证结果。
作为一种可选的实施方式,在本发明第一方面中,所述验证结果包括所述仿真验证结果及所述形式验证结果;
所述判断所述验证结果是否表示对建立的所有所述分布式存储单元的软件模型验证通过,包括:
判断所述仿真验证结果是否表示对建立的所有所述分布式存储单元的软件模型仿真验证通过且判断所述形式验证结果是否表示对建立的所有所述分布式存储单元的软件模型形式验证通过;
当判断出对建立的所有所述分布式存储单元的软件模型仿真验证通过且形式验证通过时,确定所述验证结果表示对建立的所有所述分布式存储单元的软件模型验证通过。
作为一种可选的实施方式,在本发明第一方面中,所述对建立的所有所述分布式存储单元的软件模型进行仿真验证,得到仿真验证结果,包括:
对原始网表进行功能仿真,得到第一仿真结果;
对所有所述分布式存储单元的软件模型进行功能仿真,得到第二仿真结果;
比对所述第一仿真结果与所述第二仿真结果是否一致,得到比对结果;
将所述比对结果确定为对建立的所有所述分布式存储单元的软件模型进行仿真验证的仿真验证结果。
作为一种可选的实施方式,在本发明第一方面中,所述对建立的所有所述分布式存储单元的软件模型进行形式验证,得到形式验证结果,包括:
验证所有所述分布式存储单元的软件模型是否与原始网表等价,得到对建立的所有所述分布式存储单元的软件模型进行形式验证的形式验证结果。
作为一种可选的实施方式,在本发明第一方面中,所述对FPGA片内的所有逻辑单元执行逻辑资源分析操作,得到逻辑资源分析结果,包括:
扫描FPGA片内所有的逻辑单元;
分析每个所述逻辑单元内所有查找表的数量以及每个所述逻辑单元内每个所述查找表的配置模式;
根据每个所述逻辑单元内所有所述查找表的数量以及每个所述逻辑单元内每个所述查找表的配置模式,计算每个所述逻辑单元内的分布式存储资源;
根据每个所述逻辑单元内的分布式存储资源,统计FPGA片内所有所述逻辑单元的所有分布式存储资源,得到逻辑资源分析结果。
本发明第二方面公开了一种FPGA片内分布式存储单元的建模装置,所述装置包括:
逻辑资源分析模块,用于对FPGA片内的所有逻辑单元执行逻辑资源分析操作,得到逻辑资源分析结果;
软件模型建立模块,用于根据所述逻辑资源分析结果以及预先确定出的存储需求,建立与所述存储需求相匹配的多个分布式存储单元的软件模型。
作为一种可选的实施方式,在本发明第二方面中,所述装置还包括:
软件模型输出模块,用于在所述软件模型建立模块根据所述逻辑资源分析结果以及预先确定出的存储需求,建立与所述存储需求相匹配的多个分布式存储单元的软件模型之后,输出建立的所有所述分布式存储单元的软件模型;
其中,所述装置还包括:
软件模型验证模块,用于对建立的所有所述分布式存储单元的软件模型进行验证,得到验证结果;
验证结果判断模块,用于判断所述验证结果是否表示对建立的所有所述分布式存储单元的软件模型验证通过,当判断结果为是时,触发所述软件模型输出模块执行所述的输出建立的所有所述分布式存储单元的软件模型的操作。
作为一种可选的实施方式,在本发明第二方面中,所述软件模型验证模块对建立的所有所述分布式存储单元的软件模型进行验证,得到验证结果的具体方式为:
对建立的所有所述分布式存储单元的软件模型进行仿真验证,得到仿真验证结果;和/或,
对建立的所有所述分布式存储单元的软件模型进行形式验证,得到形式验证结果。
作为一种可选的实施方式,在本发明第二方面中,所述验证结果包括所述仿真验证结果及所述形式验证结果;
所述验证结果判断模块判断所述验证结果是否表示对建立的所有所述分布式存储单元的软件模型验证通过的具体方式为:
判断所述仿真验证结果是否表示对建立的所有所述分布式存储单元的软件模型仿真验证通过且判断所述形式验证结果是否表示对建立的所有所述分布式存储单元的软件模型形式验证通过;
当判断出对建立的所有所述分布式存储单元的软件模型仿真验证通过且形式验证通过时,确定所述验证结果表示对建立的所有所述分布式存储单元的软件模型验证通过。
作为一种可选的实施方式,在本发明第二方面中,所述软件模型验证模块对建立的所有所述分布式存储单元的软件模型进行仿真验证,得到仿真验证结果的具体方式为:
对原始网表进行功能仿真,得到第一仿真结果;
对所有所述分布式存储单元的软件模型进行功能仿真,得到第二仿真结果;
比对所述第一仿真结果与所述第二仿真结果是否一致,得到比对结果;
将所述比对结果确定为对建立的所有所述分布式存储单元的软件模型进行仿真验证的仿真验证结果。
作为一种可选的实施方式,在本发明第二方面中,所述软件模型验证模块对建立的所有所述分布式存储单元的软件模型进行形式验证,得到形式验证结果的具体方式为:
验证所有所述分布式存储单元的软件模型是否与原始网表等价,得到对建立的所有所述分布式存储单元的软件模型进行形式验证的形式验证结果。
作为一种可选的实施方式,在本发明第二方面中,所述逻辑资源分析模块包括:
扫描子模块,用于扫描FPGA片内所有的逻辑单元;
分析子模块,用于分析每个所述逻辑单元内所有查找表的数量以及每个所述逻辑单元内每个所述查找表的配置模式;
计算子模块,用于根据每个所述逻辑单元内所有所述查找表的数量以及每个所述逻辑单元内每个所述查找表的配置模式,计算每个所述逻辑单元内的分布式存储资源;
统计子模块,用于根据每个所述逻辑单元内的分布式存储资源,统计FPGA片内所有所述逻辑单元的所有分布式存储资源,得到逻辑资源分析结果。
本发明第三方面公开了另一种FPGA片内分布式存储单元的建模装置,所述装置包括:
存储有可执行程序代码的存储器;
与所述存储器耦合的处理器;
所述处理器调用所述存储器中存储的所述可执行程序代码,执行本发明第一方面公开的FPGA片内分布式存储单元的建模方法中的部分或全部步骤。
本发明第四方面公开了一种计算机存储介质,所述计算机存储介质存储有计算机指令,所述计算机指令被调用时,用于执行本发明第一方面公开的FPGA片内分布式存储单元的建模方法中的部分或全部步骤。
与现有技术相比,本发明实施例具有以下有益效果:
本发明能够基于对FPGA片内逻辑资源进行分析的逻辑资源分析结果并结合用户实际的存储需求创建不同的分布式存储单元的软件模型以满足不同的存储需求,在节省块状存储单元的存储资源的同时,提高了用户使用分布式存储单元的灵活性,拓展了FPGA片内分布式存储单元的应用范围,进而有利于提高用户设计的灵活性以及软件流程的处理效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例公开的一种FPGA片内分布式存储单元的建模方法的流程示意图;
图2是本发明实施例公开的另一种FPGA片内分布式存储单元的建模方法的流程示意图;
图3是本发明实施例公开的一种FPGA片内分布式存储单元的建模装置的结构示意图;
图4是本发明实施例公开的另一种FPGA片内分布式存储单元的建模装置的结构示意图;
图5是本发明实施例公开的又一种FPGA片内分布式存储单元的建模装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品、端口或端没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品、端口或端固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本发明公开了一种FPGA片内分布式存储单元的建模方法及装置,能够基于对FPGA片内逻辑资源进行分析的逻辑资源分析结果并结合用户实际的存储需求创建不同的分布式存储单元的软件模型以满足不同的存储需求,在节省块状存储单元的存储资源的同时,提高了用户使用分布式存储单元的灵活性,拓展了FPGA片内分布式存储单元的应用范围,进而有利于提高用户设计的灵活性以及软件流程的处理效率。以下分别进行详细说明。
实施例一
请参阅图1,图1是本发明实施例公开的一种FPGA片内分布式存储单元的建模方法的流程示意图。其中,图1所描述的方法可以应用于建模装置中,该建模装置可以应用于FPGA逻辑综合工具中,本发明实施例不作限定。如图1所示,该FPGA片内分布式存储单元的建模方法可以包括以下操作:
101、建模装置对FPGA片内的所有逻辑单元执行逻辑资源分析操作,得到逻辑资源分析结果。
本发明实施例中,逻辑资源分析结果包括FPGA片内的所有可用的分布式存储资源,进一步的,还可以包括分布式存储资源对应的配置模式,该配置模式可以包括存储模式和/或端口模式,该存储模式可以为只读存储模式或读写存储模式,该端口模式具体是由分布式存储资源对应的分布式存储单元的端口数目确定的,其可以是单端口模式或双端口模式等。其中,逻辑资源分析结果包括的内容越多或者包括的内容越详细,步骤102中建立的软件模型与实际的存储需求的匹配度就越高。
102、建模装置根据逻辑资源分析结果以及预先确定出的存储需求,建立与存储需求相匹配的多个分布式存储单元的软件模型。
其中,建立的多个分布式存储单元的软件模型可以包括分布式单端口RAM的软件模型、分布式双端口RAM的软件模型以及只读ROM的软件模型等,不同的分布式存储单元的软件模型可以支持不同的存储位宽,例如:分布式单端口RAM的软件模型、分布式双端口RAM的软件模型以及只读ROM的软件模型的地址深度分别为16、32、64,支持的存储位宽分别可以为1、2、4。进一步的,每种软件模型都支持上电初始化,具体都可以通过软件模型相应的配置参数进行初始化。
本发明实施例中,预先确定出的存储需求可以包括对存储空间大小的需求,进一步的,还可以包括对存储空间的存储模式需求和/或端口模式需求,如存储模式需求为只读存储模式或读写存储模式等,本发明实施例不作限定。其中,预先确定出的存储需求越详细,越能够提高建立的分布式存储单元的软件模型与存储需求的匹配度。具体的,在实际的用户设计中,若需要相应的存储空间进行数据的存储,则可以调用与所需的存储空间相匹配的软件模型。可选的,当与所需的存储空间相匹配的软件模型有多个时,可以通过以下方式确定最终调用的软件模型:
在确定出与所需的存储空间相匹配的多个目标软件模型之后,根据所需的存储空间的属性参数与每个目标软件模型的模型参数计算所需的存储空间与每个目标软件模型的匹配度;
从该多个目标软件模型中筛选匹配度最高的目标软件模型,作为针对所需的存储空间调用的软件模型。
其中,存储空间的属性参数可以包括存储空间的存储模式、存储空间的端口模式以及存储空间的大小等。
可见,本发明实施例所描述的方法能够在与所需的存储空间相匹配的软件模型有多个时,通过计算所需的存储空间与相匹配的每个软件模型的匹配度的方式自动化的调用匹配度最高的软件模型来实现对应存储空间的数据存储,有利于提高软件模型对应的软件处理效率,进而有利于提高数据存储效率。
在一个可选的实施例中,建模装置对FPGA片内的所有逻辑单元执行逻辑资源分析操作,得到逻辑资源分析结果,可以包括:
建模装置扫描FPGA片内所有的逻辑单元;
建模装置分析每个逻辑单元内所有查找表的数量以及每个逻辑单元内每个查找表的配置模式;
建模装置根据每个逻辑单元内所有查找表的数量以及每个逻辑单元内每个查找表的配置模式,计算每个逻辑单元内的分布式存储资源;
建模装置根据每个逻辑单元内的分布式存储资源,统计FPGA片内所有逻辑单元的所有分布式存储资源,得到逻辑资源分析结果。
其中,每个查找表的配置模式包括相应的端口模式和/或存储模式,且所有的查找表均可以配置为只读存储模式,部分查找表可以配置为读写存储模式。
可见,该可选的实施例能够采用结构化建模方法,根据用户不同的存储需求,针对不同的应用场景,按照自顶向下及功能划分的思想,分别建立相应的软件模型,且通过计算单个逻辑单元的分布式存储资源的方式统计FPGA片内所有分布式存储资源,有利于提高对逻辑资源进行分析的准确性,提高了得到逻辑资源分析结果的准确性,进而有利于提高创建的软件模型的准确性。
可见,本发明实施例所描述的方法能够基于对FPGA片内逻辑资源进行分析的逻辑资源分析结果并结合用户实际的存储需求创建不同的分布式存储单元的软件模型以满足不同的存储需求,在节省块状存储单元的存储资源的同时,提高了用户使用分布式存储单元的灵活性,拓展了FPGA片内分布式存储单元的应用范围,进而有利于提高用户设计的灵活性以及软件流程的处理效率。此外,还能够在与所需的存储空间相匹配的软件模型有多个时,通过计算所需的存储空间与相匹配的每个软件模型的匹配度的方式自动化的调用匹配度最高的软件模型来实现对应存储空间的数据存储,有利于提高软件模型对应的软件处理效率,进而有利于提高数据存储效率。此外,还通过计算单个逻辑单元的分布式存储资源的方式统计FPGA片内所有分布式存储资源,能够有利于提高对逻辑资源进行分析的准确性,提高了得到逻辑资源分析结果的准确性,进而有利于提高创建的软件模型的准确性。
实施例二
请参阅图2,图2是本发明实施例公开的另一种FPGA片内分布式存储单元的建模方法的流程示意图。其中,图2所描述的方法可以应用于建模装置中,该建模装置可以应用于FPGA逻辑综合工具中,本发明实施例不作限定。如图2所示,该FPGA片内分布式存储单元的建模方法可以包括以下操作:
201、建模装置对FPGA片内的所有逻辑单元执行逻辑资源分析操作,得到逻辑资源分析结果。
202、建模装置根据逻辑资源分析结果以及预先确定出的存储需求,建立与存储需求相匹配的多个分布式存储单元的软件模型。
其中,针对步骤201-步骤202的详细描述请参照实施例一中针对步骤101-步骤102的相关详细描述,本发明实施例不再赘述。
203、建模装置对建立的所有分布式存储单元的软件模型进行验证,得到验证结果。
204、建模装置判断验证结果是否表示对建立的所有分布式存储单元的软件模型验证通过,当步骤204的判断结果为是时,触发执行步骤205;当步骤204的判断结果为否时,可以重新触发执行步骤202。
205、建模装置建立的所有分布式存储单元的软件模型。
需要说明的是,在其它可选的实施例中,在执行完毕步骤202之后,建模装置也可以直接触发执行步骤205。
可见,本发明实施例所描述的方法能够基于对FPGA片内逻辑资源进行分析的逻辑资源分析结果并结合用户实际的存储需求创建不同的分布式存储单元的软件模型以满足不同的存储需求,在节省块状存储单元的存储资源的同时,提高了用户使用分布式存储单元的灵活性,拓展了FPGA片内分布式存储单元的应用范围,进而有利于提高用户设计的灵活性以及软件流程的处理效率。此外,还能够输出已建立的软件模型,供相关人员知悉或进行软件模型的选择。此外,在输出已建立的软件模型之前,还需对已建立的软件模型进行功能一致性验证,只有在验证通过的情况下,才能够输出已建立的软件模型,有利于提高输出的软件模型的准确性与可靠性,且在对软件模型验证不通过的情况下,重新建立软件模型,以进一步提高最终建立的软件模型的可靠性。
在一个可选的实施例中,建模装置对建立的所有分布式存储单元的软件模型进行验证,得到验证结果,可以包括:
建模装置对建立的所有分布式存储单元的软件模型进行仿真验证,得到仿真验证结果;和/或,
建模装置对建立的所有分布式存储单元的软件模型进行形式验证,得到形式验证结果。
需要说明的是,建模装置只执行仿真验证时,验证结果为仿真验证结果;建模装置只执行形式验证时,验证结果为形式验证结果;当建模装置执行仿真验证及形式验证时,验证结果包括仿真验证结果及形式验证结果。其中,验证结果包括仿真验证结果及形式验证结果为本发明实施例的最优方案。
在该可选的实施例中,进一步可选的,当验证结果包括仿真验证结果及形式验证结果时,建模装置判断验证结果是否表示对建立的所有分布式存储单元的软件模型验证通过可以包括:
建模装置判断仿真验证结果是否表示对建立的所有分布式存储单元的软件模型仿真验证通过且判断形式验证结果是否表示对建立的所有分布式存储单元的软件模型形式验证通过;
当判断出对建立的所有分布式存储单元的软件模型仿真验证通过且形式验证通过时,建模装置确定验证结果表示对建立的所有分布式存储单元的软件模型验证通过。
在该可选的实施例中,作为一种可选的实施方式,建模装置对建立的所有分布式存储单元的软件模型进行仿真验证,得到仿真验证结果,可以包括:
建模装置对原始网表进行功能仿真,得到第一仿真结果;
建模装置对所有分布式存储单元的软件模型进行功能仿真,得到第二仿真结果;
建模装置比对第一仿真结果与第二仿真结果是否一致,得到比对结果;
建模装置将比对结果确定为对建立的所有分布式存储单元的软件模型进行仿真验证的仿真验证结果。
在该可选的实施例中,作为一种可选的实施方式,建模装置对建立的所有分布式存储单元的软件模型进行形式验证,得到形式验证结果,可以包括:
建模装置验证所有分布式存储单元的软件模型是否与原始网表等价,得到对建立的所有分布式存储单元的软件模型进行形式验证的形式验证结果。
具体的,建模装置可以将原始网表作为黄金案例(Golden Case),将已建立的软件模型作为修正案例(Revised Case),并验证黄金案例与修正案例是否等价,得到形式验证结果。
可见,该可选的实施例还能够在建立软件模型之后通过仿真验证及形式验证的方式对已建立的软件模型进行功能一致性验证,提高了验证的全面性,进而有利于提高对软件模型进行验证的准确性。
实施例三
请参阅图3,图3是本发明实施例公开的一种FPGA片内分布式存储单元的建模装置的结构示意图。其中,图3所描述的装置可以应用于FPGA逻辑综合工具中,本发明实施例不作限定。如图3所示,该装置可以包括:
逻辑资源分析模块301,用于对FPGA片内的所有逻辑单元执行逻辑资源分析操作,得到逻辑资源分析结果。
软件模型建立模块302,用于根据逻辑资源分析结果以及预先确定出的存储需求,建立与存储需求相匹配的多个分布式存储单元的软件模型。
可见,图3所描述的装置能够基于对FPGA片内逻辑资源进行分析的逻辑资源分析结果并结合用户实际的存储需求创建不同的分布式存储单元的软件模型以满足不同的存储需求,在节省块状存储单元的存储资源的同时,提高了用户使用分布式存储单元的灵活性,拓展了FPGA片内分布式存储单元的应用范围,进而有利于提高用户设计的灵活性以及软件流程的处理效率。
在一个可选的实施例中,如图4所示,该装置还可以包括:
软件模型输出模块303,用于在软件模型建立模块302根据逻辑资源分析结果以及预先确定出的存储需求,建立与存储需求相匹配的多个分布式存储单元的软件模型之后,输出建立的所有分布式存储单元的软件模型。
在该可选的实施例中,进一步可选的,如图4所示,该装置还可以包括:
软件模型验证模块304,用于对建立的所有分布式存储单元的软件模型进行验证,得到验证结果。
验证结果判断模块305,用于判断验证结果是否表示对建立的所有分布式存储单元的软件模型验证通过,当判断结果为是时,触发软件模型输出模块303执行上述的输出建立的所有分布式存储单元的软件模型的操作。
可见,该可选的实施例还能够在建立不同分布式存储单元的软件模型之后输出建立的所有软件模型,供用户知悉或者供用户选择合适的软件模型以满足用户的存储需求。且在输出软件模型之前,还可以进一步对建立的所有软件模型进行验证,在验证通过的情况下才输出,有利于提高输出的软件模型的准确性与可靠性。
在另一个可选的实施例中,软件模型验证模块304对建立的所有分布式存储单元的软件模型进行验证,得到验证结果的具体方式可以为:
对建立的所有分布式存储单元的软件模型进行仿真验证,得到仿真验证结果;和/或,
对建立的所有分布式存储单元的软件模型进行形式验证,得到形式验证结果。
在又一个可选的实施例中,上述验证结果可以包括仿真验证结果及形式验证结果,且在该可选的实施例中,验证结果判断模块305判断验证结果是否表示对建立的所有分布式存储单元的软件模型验证通过的具体方式可以为:
判断仿真验证结果是否表示对建立的所有分布式存储单元的软件模型仿真验证通过且判断形式验证结果是否表示对建立的所有分布式存储单元的软件模型形式验证通过;
当判断出对建立的所有分布式存储单元的软件模型仿真验证通过且形式验证通过时,确定验证结果表示对建立的所有分布式存储单元的软件模型验证通过。
可见,该可选的实施例还能够同时通过仿真验证结果及形式验证结果对建立的软件模型进行一致性验证,有利于提高对建立的软件模型进行一致性验证的准确性。
在又一个可选的实施例中,软件模型验证模块304对建立的所有分布式存储单元的软件模型进行仿真验证,得到仿真验证结果的具体方式为:
对原始网表进行功能仿真,得到第一仿真结果;
对所有分布式存储单元的软件模型进行功能仿真,得到第二仿真结果;
比对第一仿真结果与第二仿真结果是否一致,得到比对结果;
将比对结果确定为对建立的所有分布式存储单元的软件模型进行仿真验证的仿真验证结果。
可见,该可选的实施例能够基于对原始网表进行功能仿真的仿真结果与对建立的软件模型进行功能仿真的仿真结果的比对情况,实现对建立的软件模块的仿真验证。
在又一个可选的实施例中,软件模型验证模块304对建立的所有分布式存储单元的软件模型进行形式验证,得到形式验证结果的具体方式为:
验证所有分布式存储单元的软件模型是否与原始网表等价,得到对建立的所有分布式存储单元的软件模型进行形式验证的形式验证结果。
可见,该可选的实施例能够基于建立的软件模型与原始网表的等价验证,实现对建立的软件模块的形式验证。
在又一个可选的实施例中,如图4所示,逻辑资源分析模块301可以包括:
扫描子模块3011,用于扫描FPGA片内所有的逻辑单元;
分析子模块3012,用于分析每个逻辑单元内所有查找表的数量以及每个逻辑单元内每个所述查找表的配置模式;
计算子模块3013,用于根据每个逻辑单元内所有查找表的数量以及每个逻辑单元内每个查找表的配置模式,计算每个逻辑单元内的分布式存储资源;
统计子模块3014,用于根据每个逻辑单元内的分布式存储资源,统计FPGA片内所有逻辑单元的所有分布式存储资源,得到逻辑资源分析结果。
可见,该可选的实施例还能够通过计算单个逻辑单元的分布式存储资源的方式统计FPGA片内所有分布式存储资源,能够有利于提高对逻辑资源进行分析的准确性,提高了得到逻辑资源分析结果的准确性,进而有利于提高创建的软件模型的准确性。
实施例四
本发明实施例公开了一种FPGA逻辑综合工具,该FPGA逻辑综合工具用于执行实施例一或实施例二所描述的FPGA片内分布式存储单元的建模方法中的部分或全部步骤,或者,该FPGA逻辑综合工具包括实施例三所描述的任意一种FPGA片内分布式存储单元的建模装置。
实施例五
请参阅图5,图5是本发明实施例公开的又一种FPGA片内分布式存储单元的建模装置的结构示意图。如图5所示,该FPGA片内分布式存储单元的建模装置可以应用于FPGA逻辑综合工具中,且该装置可以包括:
存储有可执行程序代码的存储器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)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
最后应说明的是:本发明实施例公开的一种FPGA片内分布式存储单元的建模方法装置所揭露的仅为本发明较佳实施例而已,仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各项实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应的技术方案的本质脱离本发明各项实施例技术方案的精神和范围。
Claims (10)
1.一种FPGA片内分布式存储单元的建模方法,其特征在于,所述方法包括:
对FPGA片内的所有逻辑单元执行逻辑资源分析操作,得到逻辑资源分析结果;
根据所述逻辑资源分析结果以及预先确定出的存储需求,建立与所述存储需求相匹配的多个分布式存储单元的软件模型,预先确定出的所述存储需求包括对存储空间大小的需求,以及,对存储空间的存储模式需求和/或端口模式需求;
其中,所述对FPGA片内的所有逻辑单元执行逻辑资源分析操作,得到逻辑资源分析结果,包括:
扫描FPGA片内所有的逻辑单元;分析每个所述逻辑单元内所有查找表的数量以及每个所述逻辑单元内每个查找表的配置模式;根据每个所述逻辑单元内所有查找表的数量以及每个所述逻辑单元内每个查找表的配置模式,计算每个所述逻辑单元内的分布式存储资源;根据每个所述逻辑单元内的分布式存储资源,统计所述FPGA片内所有所述逻辑单元的所有分布式存储资源,得到逻辑资源分析结果。
2.根据权利要求1所述的FPGA片内分布式存储单元的建模方法,其特征在于,所述根据所述逻辑资源分析结果以及预先确定出的存储需求,建立与所述存储需求相匹配的多个分布式存储单元的软件模型之后,所述方法还包括:
输出建立的所有所述分布式存储单元的软件模型;
其中,所述输出建立的所有所述分布式存储单元的软件模型之前,所述方法还包括:
对建立的所有所述分布式存储单元的软件模型进行验证,得到验证结果;
判断所述验证结果是否表示对建立的所有所述分布式存储单元的软件模型验证通过,当判断结果为是时,执行所述的输出建立的所有所述分布式存储单元的软件模型的步骤。
3.根据权利要求2所述的FPGA片内分布式存储单元的建模方法,其特征在于,所述对建立的所有所述分布式存储单元的软件模型进行验证,得到验证结果,包括:
对建立的所有所述分布式存储单元的软件模型进行仿真验证,得到仿真验证结果;和/或,
对建立的所有所述分布式存储单元的软件模型进行形式验证,得到形式验证结果。
4.根据权利要求3所述的FPGA片内分布式存储单元的建模方法,其特征在于,所述验证结果包括所述仿真验证结果及所述形式验证结果;
所述判断所述验证结果是否表示对建立的所有所述分布式存储单元的软件模型验证通过,包括:
判断所述仿真验证结果是否表示对建立的所有所述分布式存储单元的软件模型仿真验证通过且判断所述形式验证结果是否表示对建立的所有所述分布式存储单元的软件模型形式验证通过;
当判断出对建立的所有所述分布式存储单元的软件模型仿真验证通过且形式验证通过时,确定所述验证结果表示对建立的所有所述分布式存储单元的软件模型验证通过。
5.根据权利要求3所述的FPGA片内分布式存储单元的建模方法,其特征在于,所述对建立的所有所述分布式存储单元的软件模型进行仿真验证,得到仿真验证结果,包括:
对原始网表进行功能仿真,得到第一仿真结果;
对所有所述分布式存储单元的软件模型进行功能仿真,得到第二仿真结果;
比对所述第一仿真结果与所述第二仿真结果是否一致,得到比对结果;
将所述比对结果确定为对建立的所有所述分布式存储单元的软件模型进行仿真验证的仿真验证结果。
6.根据权利要求3所述的FPGA片内分布式存储单元的建模方法,其特征在于,所述对建立的所有所述分布式存储单元的软件模型进行形式验证,得到形式验证结果,包括:
验证所有所述分布式存储单元的软件模型是否与原始网表等价,得到对建立的所有所述分布式存储单元的软件模型进行形式验证的形式验证结果。
7.根据权利要求1-6任一项所述的FPGA片内分布式存储单元的建模方法,其特征在于,所述对FPGA片内的所有逻辑单元执行逻辑资源分析操作,得到逻辑资源分析结果,包括:
扫描FPGA片内所有的逻辑单元;
分析每个所述逻辑单元内所有查找表的数量以及每个所述逻辑单元内每个所述查找表的配置模式;
根据每个所述逻辑单元内所有所述查找表的数量以及每个所述逻辑单元内每个所述查找表的配置模式,计算每个所述逻辑单元内的分布式存储资源;
根据每个所述逻辑单元内的分布式存储资源,统计FPGA片内所有所述逻辑单元的所有分布式存储资源,得到逻辑资源分析结果。
8.一种FPGA片内分布式存储单元的建模装置,其特征在于,所述装置包括:
逻辑资源分析模块,用于对FPGA片内的所有逻辑单元执行逻辑资源分析操作,得到逻辑资源分析结果;
软件模型建立模块,用于根据所述逻辑资源分析结果以及预先确定出的存储需求,建立与所述存储需求相匹配的多个分布式存储单元的软件模型,预先确定出的所述存储需求包括对存储空间大小的需求,以及,对存储空间的存储模式需求和/或端口模式需求;
其中,所述逻辑资源分析模块包括:
扫描子模块,用于扫描FPGA片内所有的逻辑单元;
分析子模块,用于分析每个所述逻辑单元内所有查找表的数量以及每个所述逻辑单元内每个查找表的配置模式;
计算子模块,用于根据每个所述逻辑单元内所有查找表的数量以及每个所述逻辑单元内每个查找表的配置模式,计算每个所述逻辑单元内的分布式存储资源;
统计子模块,用于根据每个所述逻辑单元内的分布式存储资源,统计所述FPGA片内所有所述逻辑单元的所有分布式存储资源,得到逻辑资源分析结果。
9.一种FPGA片内分布式存储单元的建模装置,其特征在于,所述装置包括:
存储有可执行程序代码的存储器;
与所述存储器耦合的处理器;
所述处理器调用所述存储器中存储的所述可执行程序代码,执行如权利要求1-7任一项所述的FPGA片内分布式存储单元的建模方法。
10.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机指令,所述计算机指令被调用时,用于执行如权利要求1-7任一项所述的FPGA片内分布式存储单元的建模方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011504273.1A CN112560379B (zh) | 2020-12-18 | 2020-12-18 | Fpga片内分布式存储单元的建模方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011504273.1A CN112560379B (zh) | 2020-12-18 | 2020-12-18 | Fpga片内分布式存储单元的建模方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112560379A CN112560379A (zh) | 2021-03-26 |
CN112560379B true CN112560379B (zh) | 2022-06-17 |
Family
ID=75063620
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011504273.1A Active CN112560379B (zh) | 2020-12-18 | 2020-12-18 | Fpga片内分布式存储单元的建模方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112560379B (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8732650B2 (en) * | 2010-02-12 | 2014-05-20 | Synopsys Taiwan Co., LTD. | Method and apparatus for versatile controllability and observability in prototype system |
CN102054110A (zh) * | 2011-01-27 | 2011-05-11 | 复旦大学 | Fpga可编程逻辑块通用装箱方法 |
CN102361451B (zh) * | 2011-09-06 | 2013-10-02 | 北京时代民芯科技有限公司 | 一种fpga配置电路架构 |
CN103163450A (zh) * | 2011-12-16 | 2013-06-19 | 中国科学院微电子研究所 | 一种应用于对特定结构fpga进行测试的导航映射方法 |
CN103914580B (zh) * | 2012-12-31 | 2017-07-11 | 复旦大学 | 一种用于fpga电路位流仿真的方法 |
US9990252B1 (en) * | 2014-12-30 | 2018-06-05 | Acronis International Gmbh | Data storage system performance management |
-
2020
- 2020-12-18 CN CN202011504273.1A patent/CN112560379B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112560379A (zh) | 2021-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109828903B (zh) | 自动化测试方法、装置、计算机装置及存储介质 | |
CN109101415A (zh) | 基于数据库比对的接口测试方法、系统、设备和存储介质 | |
CN106934855B (zh) | 建筑3d模型构建方法及装置 | |
CN110750442A (zh) | 测试用例的生成方法、装置、设备及存储介质 | |
JP2020505670A (ja) | コンポーネントリリース方法、グラフィック機械学習アルゴリズムプラットフォームベースのコンポーネント構築方法及びグラフィック機械学習アルゴリズムプラットフォーム | |
CN112181804B (zh) | 一种参数校验方法、设备以及存储介质 | |
WO2019029281A1 (zh) | 碰撞校核数据的处理方法、装置、电子设备及存储介质 | |
WO2021169844A1 (zh) | 神经网络模型的转换方法、模型精度定位方法及装置 | |
CN112560379B (zh) | Fpga片内分布式存储单元的建模方法及装置 | |
CN110516334B (zh) | 基于硬件环境的卷积计算仿真测试方法、装置及相关设备 | |
CN114021440B (zh) | 一种基于matlab的fpga时序仿真验证方法及装置 | |
CN112580286B (zh) | 多线程综合方法及装置 | |
CN112069507B (zh) | 机器学习框架漏洞检测方法、系统、设备及可读存储介质 | |
CN112527505A (zh) | 多线程综合的控制方法及装置 | |
CN111752839A (zh) | 测试用例、规则生成、芯片测试方法、装置、设备及介质 | |
CN115022201B (zh) | 一种数据处理功能测试方法、装置、设备及存储介质 | |
CN116521538A (zh) | 命令行界面自动测试方法、装置、电子设备及存储介质 | |
CN115879028A (zh) | 基于孤立森林动态训练的实时异常检测方法、装置、电子设备和存储介质 | |
CN112949234A (zh) | Fpga物理模型的软件建模方法及装置 | |
CN115841679A (zh) | 图纸表格提取方法、系统、计算机及可读存储介质 | |
CN109840945B (zh) | 有限元预处理方法及装置 | |
CN114519276A (zh) | 一种作战实体编队编辑方法及装置 | |
US20230020719A1 (en) | Technology environment for a software application | |
US11520959B1 (en) | Pruning of buffering candidates for improved efficiency of evaluation | |
CN110209566B (zh) | 一种对软件的测试方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |