多线程综合的控制方法及装置制造方法及图纸

技术编号:27741106 阅读:40 留言:0更新日期:2021-03-19 13:34
本发明专利技术公开了多线程综合的控制方法及装置,包括:在解析RTL设计文件得到原始网表后,判断原始网表包括的所有类型的逻辑器件中是否存在满足预设器件分组条件的目标类型的逻辑器件;若是,则根据确定出的器件分组参数将目标类型的所有逻辑器件拆分成多个逻辑器件组;当需要对目标类型的所有逻辑器件进行逻辑综合时,启动预先为所有逻辑器件组创建的所有子线程并行执行对所有逻辑器件组的逻辑综合操作。可见,本发明专利技术能够在原始网表包括的逻辑器件中存在需要拆分的逻辑器件时,将其拆分成多个逻辑器件组并进行并行逻辑综合,有利于减少逻辑综合时间,提高逻辑综合效率,还能够提高CPU处理资源的利用率。

【技术实现步骤摘要】
多线程综合的控制方法及装置
本专利技术涉及FPGA
,尤其涉及一种多线程综合的控制方法及装置。
技术介绍
在FPGA(Field-ProgrammableGateArray,现场可编程门阵列)的设计流程中,相关人员需要使用EDA开发工具对使用Verilog或VHDL语言编写的RTL设计文件执行逻辑综合操作,以完成RTL设计文件到综合后网表的转化。其中,对RTL设计文件执行逻辑综合操作主要包括RTL设计文件的解析、逻辑综合、逻辑推导、逻辑映射等处理流程,每个处理流程的处理对象一般包括基本逻辑门等非时序器件、时序器件、存储器、逻辑运算单元等等。然而,实践发现,面对结构复杂多变的RTL设计文件,RTL设计文件中会存在一些特殊的逻辑器件,在处理这类特殊的逻辑器件时的执行时间较长,例如:RTL设计文件中存在某一种逻辑器件在全部逻辑器件中数量占比较大,也即器件资源分布极不平衡,这使得处理这类逻辑器件时的执行时间较长,导致逻辑综合效率低的问题。可见,如何提高逻辑综合效率显得尤为重要。
技术实现思路
本专利技术提供了一种多线程综合的控制方法及装置,能够减少对解析RTL设计文件得到的原始网表包括的逻辑器件的逻辑综合时间,提高逻辑综合效率。本专利技术第一方面公开了一种多线程综合的控制方法,所述方法包括:在解析RTL设计文件得到原始网表之后,判断所述原始网表包括的所有类型的逻辑器件中是否存在满足预设器件分组条件的目标类型的逻辑器件;当判断出存在所述目标类型的逻辑器件时,根据确定出的器件分组参数将所述目标类型的所有逻辑器件划分成多个逻辑器件组;当需要对所述目标类型的所有逻辑器件进行逻辑综合时,启动预先为所有所述逻辑器件组创建的所有子线程并行执行对所有所述逻辑器件组的逻辑综合操作。作为一种可选的实施方式,在本专利技术第一方面中,所述方法还包括:在对所述原始网表包括的所有类型的逻辑器件逻辑综合完毕之后,判断所述原始网表的逻辑综合结果是否满足预先确定出的逻辑综合结果条件;当判断出所述原始网表的逻辑综合结果不满足所述逻辑综合结果条件时,调整所述器件分组参数,并重新执行所述的根据确定出的器件分组参数将所述目标类型的所有逻辑器件划分成多个逻辑器件组的步骤。作为一种可选的实施方式,在本专利技术第一方面中,所述判断所述原始网表的逻辑综合结果是否满足预先确定出的逻辑综合结果条件,包括:判断所述原始网表的逻辑综合结果是否与所述原始网表相匹配,当判断出不相匹配时,确定所述原始网表的逻辑综合结果不满足预先确定出的逻辑综合结果条件。作为一种可选的实施方式,在本专利技术第一方面中,所述判断所述原始网表包括的所有类型的逻辑器件中是否存在满足预设器件分组条件的目标类型的逻辑器件,包括:分析所述原始网表包括的所有逻辑器件的所有类型,并分析所述原始网表包括的每种类型的逻辑器件的器件数量;根据所述原始网表包括的每种类型的逻辑器件的器件数量,判断所述原始网表包括的所有类型的逻辑器件中是否存在器件数量满足预设数量条件的至少一种类型的逻辑器件,若是,则确定所述原始网表包括的所有类型的逻辑器件中存在满足预设器件分组条件的目标类型的逻辑器件;其中,所述目标类型包括器件数量满足所述预设数量条件的逻辑器件所对应的类型。作为一种可选的实施方式,在本专利技术第一方面中,所述器件分组参数包括所述目标类型的逻辑器件对应的划分组数N,N为大于等于2且小于等于预先确定出的最大子线程数量M的整数;以及,所述根据确定出的器件分组参数将所述目标类型的所有逻辑器件划分成多个逻辑器件组之后,所述方法还包括:为每个所述逻辑器件组创建与之唯一对应的子线程。作为一种可选的实施方式,在本专利技术第一方面中,所述根据所述原始网表包括的每种类型的逻辑器件的器件数量,判断所述原始网表包括的所有类型的逻辑器件中是否存在器件数量满足预设数量条件的至少一种类型的逻辑器件,包括:根据所述原始网表包括的每种类型的逻辑器件的器件数量,计算所述原始网表包括的每种类型的逻辑器件的器件数量占比,每种类型的逻辑器件的器件数量占比等于所述原始网表包括的该类型的所有逻辑器件的器件数量与所述原始网表包括的所有类型的逻辑器件的总器件数量的比值;判断所述原始网表包括的所有类型的逻辑器件中是否存在器件数量占比大于等于预先确定出的数量占比阈值的至少一种类型的逻辑器件,当判断结果为是时,确定所述原始网表包括的所有类型的逻辑器件中存在器件数量满足预设数量条件的至少一种类型的逻辑器件。作为一种可选的实施方式,在本专利技术第一方面中,所述判断所述原始网表包括的所有类型的逻辑器件中是否存在满足预设器件分组条件的目标类型的逻辑器件,包括:根据预先确定出的网表拆分参数,将所述原始网表拆分成多个原始子网表;对于每个所述原始子网表,分析该原始子网表包括的每种类型的逻辑器件的器件数量,根据该原始子网表包括的每种类型的逻辑器件的器件数量判断该原始子网表包括的所有类型的逻辑器件中是否存在器件数量满足预设数量条件的至少一种类型的逻辑器件,若是,则确定该原始子网表包括的所有类型的逻辑器件中存在满足预设器件分组条件的目标类型的逻辑器件;当至少一个所述原始子网表包括的所有类型的逻辑器件中存在器件数量满足预设数量条件的至少一种类型的逻辑器件时,确定所述原始网表包括的所有类型的逻辑器件中存在满足预设器件分组条件的目标类型的逻辑器件。本专利技术第二方面公开了一种多线程综合的控制装置,所述装置包括:第一判断模块,用于在解析RTL设计文件得到原始网表之后,判断所述原始网表包括的所有类型的逻辑器件中是否存在满足预设器件分组条件的目标类型的逻辑器件;器件分组模块,用于当所述第一判断模块判断出存在所述目标类型的逻辑器件时,根据确定出的器件分组参数将所述目标类型的所有逻辑器件划分成多个逻辑器件组;并行综合模块,用于当需要对所述目标类型的所有逻辑器件进行逻辑综合时,启动预先为所有所述逻辑器件组创建的所有子线程并行执行对所有所述逻辑器件组的逻辑综合操作。作为一种可选的实施方式,在本专利技术第二方面中,所述装置还包括:第二判断模块,用于在对所述原始网表包括的所有类型的逻辑器件逻辑综合完毕之后,判断所述原始网表的逻辑综合结果是否满足预先确定出的逻辑综合结果条件;参数调整模块,用于当所述第二判断模块判断出所述原始网表的逻辑综合结果不满足所述逻辑综合结果条件时,调整所述器件分组参数,并触发所述器件分组模块所述执行所述的根据确定出的器件分组参数将所述目标类型的所有逻辑器件划分成多个逻辑器件组的操作。作为一种可选的实施方式,在本专利技术第二方面中,所述第二判断模块判断所述原始网表的逻辑综合结果是否满足预先确定出的逻辑综合结果条件的具体方式为:判断所述原始网表的逻辑综合结果是否与所述原始网表相匹配,当判断出不相匹配时,确定所述原始网表的逻辑综合结果不满足预先确定出的逻辑综合结果条件。作为一种可选的实施方式,在本发本文档来自技高网...

【技术保护点】
1.一种多线程综合的控制方法,其特征在于,所述方法包括:/n在解析RTL设计文件得到原始网表之后,判断所述原始网表包括的所有类型的逻辑器件中是否存在满足预设器件分组条件的目标类型的逻辑器件;/n当判断出存在所述目标类型的逻辑器件时,根据确定出的器件分组参数将所述目标类型的所有逻辑器件划分成多个逻辑器件组;/n当需要对所述目标类型的所有逻辑器件进行逻辑综合时,启动预先为所有所述逻辑器件组创建的所有子线程并行执行对所有所述逻辑器件组的逻辑综合操作。/n

【技术特征摘要】
1.一种多线程综合的控制方法,其特征在于,所述方法包括:
在解析RTL设计文件得到原始网表之后,判断所述原始网表包括的所有类型的逻辑器件中是否存在满足预设器件分组条件的目标类型的逻辑器件;
当判断出存在所述目标类型的逻辑器件时,根据确定出的器件分组参数将所述目标类型的所有逻辑器件划分成多个逻辑器件组;
当需要对所述目标类型的所有逻辑器件进行逻辑综合时,启动预先为所有所述逻辑器件组创建的所有子线程并行执行对所有所述逻辑器件组的逻辑综合操作。


2.根据权利要求1所述的多线程综合的控制方法,其特征在于,所述方法还包括:
在对所述原始网表包括的所有类型的逻辑器件逻辑综合完毕之后,判断所述原始网表的逻辑综合结果是否满足预先确定出的逻辑综合结果条件;
当判断出所述原始网表的逻辑综合结果不满足所述逻辑综合结果条件时,调整所述器件分组参数,并重新执行所述的根据确定出的器件分组参数将所述目标类型的所有逻辑器件划分成多个逻辑器件组的步骤。


3.根据权利要求2所述的多线程综合的控制方法,其特征在于,所述判断所述原始网表的逻辑综合结果是否满足预先确定出的逻辑综合结果条件,包括:
判断所述原始网表的逻辑综合结果是否与所述原始网表相匹配,当判断出不相匹配时,确定所述原始网表的逻辑综合结果不满足预先确定出的逻辑综合结果条件。


4.根据权利要求1-3任一项所述的多线程综合的控制方法,其特征在于,所述判断所述原始网表包括的所有类型的逻辑器件中是否存在满足预设器件分组条件的目标类型的逻辑器件,包括:
分析所述原始网表包括的所有逻辑器件的所有类型,并分析所述原始网表包括的每种类型的逻辑器件的器件数量;
根据所述原始网表包括的每种类型的逻辑器件的器件数量,判断所述原始网表包括的所有类型的逻辑器件中是否存在器件数量满足预设数量条件的至少一种类型的逻辑器件,若是,则确定所述原始网表包括的所有类型的逻辑器件中存在满足预设器件分组条件的目标类型的逻辑器件;
其中,所述目标类型包括器件数量满足所述预设数量条件的逻辑器件所对应的类型。


5.根据权利要求4所述的多线程综合的控制方法,其特征在于,所述器件分组参数包括所述目标类型的逻辑器件对应的划分组数N,N为大于等于2且小于等于预先确定出的最大子线程数量M的整数;
以及,所述根据确定出的器件分组参数将所述目标类型的所有逻辑器件划分成多个逻辑器件组之后,所述方法还包括:
为每个所述逻辑器件组创建与之唯一对应的子线程。


6.根据权利要求4所述的多线程综合的控制方法,其特征在于,所述根据所述原始网表包括的每种类型的逻辑器件的器件数量,判断所述原始网表包括的所有类型的逻...

【专利技术属性】
技术研发人员:王宁李元策刘奎张青
申请(专利权)人:广东高云半导体科技股份有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1