用于设计电路的方法、装置、设备、介质以及程序产品制造方法及图纸

技术编号:38095187 阅读:14 留言:0更新日期:2023-07-06 09:09
本公开的各实施例涉及用于设计电路的方法、装置、设备、介质以及程序产品。根据本公开的一些实施例提供了一种用于设计电路的方法,该方法提取代码中的条件选择模块的信息,并且通过考虑条件选择模块的条件项之间的差异,来设计由二路复用器的串并联结构形成的电路,以用于实现条件选择模块。根据本公开的方案通过在设计电路时考虑条件项之间的差异,简化了对二路复用器的控制端信号的选择,并且使得能够选择最优的信号作为用于二路复用器的控制端的信号,从而可以降低目标电路的信号时延,以提高综合后的电路的总体性能。提高综合后的电路的总体性能。提高综合后的电路的总体性能。

【技术实现步骤摘要】
用于设计电路的方法、装置、设备、介质以及程序产品


[0001]本公开总体上涉及芯片设计领域,并且更具体地涉及用于设计电路的方法、装置、设备、介质以及程序产品。

技术介绍

[0002]在集成电路(Integrated Circuit,IC)设计中,逻辑综合是将电路的行为级描述转化为逻辑网表的过程。逻辑综合通常包括翻译、优化和映射三个步骤。翻译是指将电路的行为级描述翻译成综合工具内部可识别的功能块以及功能块之间的拓扑结构。优化是指根据用户期望的性能、功耗和面积(Performance Power Area,PPA),使用一定的算法对翻译结果进行逻辑重组和优化。映射是指根据PPA,从目标工艺库中搜索符合条件的元器件来构建电路的逻辑网表。
[0003]随着集成电路的复杂度增加,复杂的功能和代码往往会导致综合后的电路难以满足时序要求和面积要求。研究发现,针对诸如case语句和if else语句等的条件选择模块的常规电路设计方案往往会导致综合结果中的较大的信号时延和面积占用。

技术实现思路

[0004]鉴于上述问题,本公开的实施例旨在提供一种用于设计电路的方案。
[0005]根据本公开的第一方面,提供了一种用于设计电路的方法。该方法包括:确定与用于描述电路的代码中的条件选择模块相关联的模块信息,模块信息包括条件选择模块的多个条件项以及与多个条件项相对应的多个输入项;基于模块信息确定第一组差异量度,第一组差异量度中的每个差异量度指示多个条件项中的两个条件项之间的差异;以及基于第一组差异量度,确定用于实现条件选择模块的目标电路,目标电路包括至少一个二路复用器。该方法通过在设计电路时考虑条件项之间的差异,简化了对二路复用器的控制端信号的选择,并且使得能够选择最优的信号作为用于二路复用器的控制端的信号,从而可以降低目标电路的信号时延,以提高综合后的电路的总体性能。
[0006]在一些实现方式中,确定模块信息包括:解析代码,以获得表征代码的语法结构的语法树;从语法树中提取条件选择模块;以及从条件选择模块中提取模块信息。通过这种方式,根据本公开的方法可以高效地从代码中提取条件选择模块。
[0007]在一些实现方式中,确定第一组差异量度包括:确定用于表征多个条件项中的第一条件项的第一组比特和用于表征多个条件项中的第二条件项的第二组比特;以及确定第一组比特与第二组比特之间不相同的对应比特的数目,以作为第一条件项与第二条件项之间的差异。通过这种方式,根据本公开的方法可以高效地确定条件项之间的差异。
[0008]在一些实现方式中,确定目标电路包括:基于模块信息和第一组差异量度,确定至少一个候选电路、以及与至少一个候选电路相对应的至少一个电路评估结果,至少一个候选电路分别用于实现条件选择模块;以及基于至少一个电路评估结果,从至少一个候选电路中选择目标电路。通过这种方式,可以在设计电路时考虑条件项之间的差异,简化了对二
路复用器的控制端信号的选择,并且使得能够根据电路评估结果从候选电路中选择最佳的电路作为目标电路,以提高综合后的电路的总体性能。
[0009]在一些实现方式中,至少一个电路评估结果中的每个电路评估结果包括以下至少一项:与电路评估结果相对应的候选电路的层级数目;或者与电路评估结果相对应的候选电路中的二路复用器的数目。通过这种方式,在后续基于电路评估结果从候选电路中选择目标电路时可以考虑到候选电路的时序性能和/或面积占用,从而提高目标电路的时序性能和/或减小最终所得到的目标电路的面积占用。
[0010]在一些实现方式中,至少一个候选电路的确定过程数据以图结构被组织,图结构的节点包括与多个输入项相对应的多个输入节点、以及与至少一个二路复用器相对应的至少一个复用器节点,图结构中的每个节点具有节点属性,节点属性包括节点值、传递扇入节点集合、选择控制位、占用标记、以及节点评估结果,确定至少一个候选电路和至少一个电路评估结果包括:基于模块信息,设置多个输入节点的节点属性;基于第一组差异量度和多个输入节点的节点属性,确定第一级复用器节点、以及第一级复用器节点中的每个复用器节点的节点属性,其中第一级复用器节点中的每个复用器节点与两个输入节点相关联;将第一级复用器节点中的每个复用器节点与相关联的输入节点连接,以构建第一级图结构;以及基于第一级图结构,确定至少一个候选电路和至少一个电路评估结果。借助于该图结构,根据本公开的方法可以有效地组织候选电路的确定过程数据、以及各个候选电路的评估指标,以使得能够选择评估指标最优的候选电路作为目标电路,从而提高综合后的电路的总体性能。
[0011]在一些实现方式中,模块信息还包括输入到达时间,输入到达时间指示多个输入项的信号到达条件选择模块的时间,节点评估结果包括输入时延量度,节点的输入时延量度指示相应的输入项的信号传递到该节点所经历的最大时延,并且多个输入节点中的每个输入节点的输入时延量度基于输入到达时间而被设置。通过这种方式,可以在输入时延量度中反映输入项的信号到达条件选择模块的时间,从而可以在后续删减节点或选择候选电路的过程时可以考虑到条件选择模块的数据输入端的信号的到达时间的差异,进而可以进一步优化最终所得到的目标电路的时序性能。
[0012]在一些实现方式中,确定第一级复用器节点、以及第一级复用器节点中的每个复用器节点的节点属性包括:将具有第一组差异量度中的最小的差异量度的两个输入节点相关联,以生成复用器节点;通过针对与复用器节点相关联的两个输入节点的节点值执行逻辑操作,来计算复用器节点的节点值,两个输入节点中的每个输入节点的节点值是表征相应条件项的一组比特;将复用器节点的传递扇入逻辑锥中包括的输入节点的集合确定为复用器节点的传递扇入节点集合;基于模块信息、以及与复用器节点相关联的两个输入节点的节点值和占用标记,确定复用器节点的选择控制位和占用标记;以及基于与复用器节点相关联的两个输入节点的节点评估结果,确定复用器节点的节点评估结果。通过这种方式,可以在设计电路时考虑条件项之间的差异,简化了对二路复用器的控制端信号的选择,并且使得能够选择最优的信号作为用于二路复用器的控制端的信号,从而可以降低目标电路的信号时延,以提高综合后的电路的总体性能。
[0013]在一些实现方式中,模块信息还包括控制信号时延信息,控制信号时延信息指示条件选择控制模块的选择控制信号中的每个比特到达条件选择模块的时延,确定复用器节
点的选择控制位和占用标记包括:将与复用器节点相关联的两个节点的节点值进行比对,以获得一组候选控制位;基于控制信号时延信息,确定选择控制信号中的所有比特位序号的优先级;基于优先级和两个节点的占用标记,从一组候选控制位中选择选择控制位;以及基于两个节点的占用标记和一组候选控制位,生成复用器节点的占用标记。通过这种方式,可以在后续构建图结构的过程中考虑条件选择模块的选择控制信号中的各个比特到达条件选择模块的时间,从而可以进一步优化最终所得到的目标电路的时序性能。
[0014]在一些实现方式中,节点评估结果包括输入时延量度,节点的输入时本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于设计电路的方法,其特征在于,所述方法包括:确定与用于描述所述电路的代码中的条件选择模块相关联的模块信息,所述模块信息包括所述条件选择模块的多个条件项以及与所述多个条件项相对应的多个输入项;基于所述模块信息确定第一组差异量度,所述第一组差异量度中的每个差异量度指示所述多个条件项中的两个条件项之间的差异;以及基于所述第一组差异量度,确定用于实现所述条件选择模块的目标电路,所述目标电路包括至少一个二路复用器。2.根据权利要求1所述的方法,其特征在于,确定所述模块信息包括:解析所述代码,以获得表征所述代码的语法结构的语法树;从所述语法树中提取所述条件选择模块;以及从所述条件选择模块中提取所述模块信息。3.根据权利要求1或2所述的方法,其特征在于,确定所述第一组差异量度包括:确定用于表征所述多个条件项中的第一条件项的第一组比特和用于表征所述多个条件项中的第二条件项的第二组比特;以及确定所述第一组比特与所述第二组比特之间不相同的对应比特的数目,以作为所述第一条件项与所述第二条件项之间的差异。4.根据权利要求1至3中任一项所述的方法,其特征在于,确定所述目标电路包括:基于所述模块信息和所述第一组差异量度,确定至少一个候选电路、以及与所述至少一个候选电路相对应的至少一个电路评估结果,所述至少一个候选电路分别用于实现所述条件选择模块;以及基于所述至少一个电路评估结果,从所述至少一个候选电路中选择所述目标电路。5.根据权利要求4所述的方法,其特征在于,所述至少一个电路评估结果中的每个电路评估结果包括以下至少一项:与电路评估结果相对应的候选电路的层级数目;或者与电路评估结果相对应的候选电路中的二路复用器的数目。6.根据权利要求4或5所述的方法,其特征在于,所述至少一个候选电路的确定过程数据以图结构被组织,所述图结构的节点包括与所述多个输入项相对应的多个输入节点、以及与所述至少一个二路复用器相对应的至少一个复用器节点,所述图结构中的每个节点具有节点属性,所述节点属性包括节点值、传递扇入节点集合、选择控制位、占用标记、以及节点评估结果,确定所述至少一个候选电路和所述至少一个电路评估结果包括:基于所述模块信息,设置所述多个输入节点的所述节点属性;基于所述第一组差异量度和所述多个输入节点的所述节点属性,确定第一级复用器节点、以及所述第一级复用器节点中的每个复用器节点的节点属性,其中所述第一级复用器节点中的每个复用器节点与两个输入节点相关联;将所述第一级复用器节点中的每个复用器节点与相关联的输入节点连接,以构建第一级图结构;以及基于所述第一级图结构,确定所述至少一个候选电路和所述至少一个电路评估结果。7.根据权利要求6所述的方法,其特征在于,所述模块信息还包括输入到达时间,所述输入到达时间指示所述多个输入项的信号到达所述条件选择模块的时间,所述节点评估结
果包括输入时延量度,节点的所述输入时延量度指示相应的输入项的信号传递到该节点所经历的最大时延,并且所述多个输入节点中的每个输入节点的所述输入时延量度基于所述输入到达时间而被设置。8.根据权利要求6或7所述的方法,其特征在于,确定第一级复用器节点、以及所述第一级复用器节点中的每个复用器节点的节点属性包括:将具有所述第一组差异量度中的最小的差异量度的两个输入节点相关联,以生成复用器节点;通过针对与所述复用器节点相关联的两个输入节点的所述节点值执行逻辑操作,来计算所述复用器节点的所述节点值,所述两个输入节点中的每个输入节点的所述节点值是表征相应条件项的一组比特;将所述复用器节点的传递扇入逻辑锥中包括的所述输入节点的集合确定为所述复用器节点的所述传递扇入节点集合;基于所述模块信息、以及与所述复用器节点相关联的两个输入节点的所述节点值和所述占用标记,确定所述复用器节点的所述选择控制位和所述占用标记;以及基于与所述复用器节点相关联的两个输入节点的所述节点评估结果,确定所述复用器节点的所述节点评估结果。9.根据权利要求8所述的方法,其特征在于,所述模块信息还包括控制信号时延信息,所述控制信号时延信息指示所述条件选择控制模块的选择控制信号中的每个比特到达所述条件选择模块的时延,确定所述复用器节点的所述选择控制位和所述占用标记包括:将与所述复用器节点相关联的两个节点的所述节点值进行比对,以获得一组候选控制位;基于所述控制信号时延信息,确定所述选择控制信号中的所有比特位序号的优先级;基于所述优先级和所述两个节点的所述占用标记,从所述一组候选控制位中选择所述选择控制位;以及基于所述两个节点的所述占用标记和所述一组候选控制位,生成所述复用器节点的所述占用标记。10.根据权利要求8或9所述的方法,其特征在于,所述节点评估结果包括输入时延量度,节点的所述输入时延量度指示相应的输入项的信号传递到该节点所经历的最大时延,确定所述复用器节点的所述节点评估结果包括:将与所述复用器节点相关联的两个输入节点的输入时延量度中较大的输入时延量度增大预定值,以作为所述复用器节点的所述输入时延量度。11.根据权利要求8或9所述的方法,其特征在于,所述节点评估结果包括面积量度,节点的所述面积量度指示与该节点的所述传递扇入逻辑锥相对应的电路的面积,确定所述复用器节点的所述节点评估结果包括:将所述复用器节点的所述传递扇入逻辑锥中包括的复用器节点的数目确定为所述面积量度。12.根据权利要求6至8中任一项所述的方法,其特征在于,基于所述第一级图结构确定所述至少一个候选电路和所述至少一个电路评估结果包括:将所述第一级图结构设置为参考图结构;
将所述第一级复用器节点设置为参考级节点;以及迭代地执行以下至少一次:基于所述参考图结构确定第二组差异量度,所述第二组差异量度中的每个差异量度指示所述参考图结构中的多个节点中的两个节点的节点值之间的差异,其中所述两个节点中的第一节点属于所述参考级节点,并且所述两个节点中的第二节点独立于所述第一节点;基于所述第二组差异量度和所述参考图结构中的多个节点的节点属性,确定第二级复用器节点、以及所述第二级复用器节点中的每个复用器节点的节点属性,其中所述第二级复用器节点中的每个复用器节点与所述参考图结构中的两个节点相关联;基于所述参考图结构,将所述第二级复用器节点中的每个复用器节点与相关联的节点连接,以构建第二级图结构;确定所述第二级复用器节点中是否存在输出节点,所述输出节点的传递扇入节点集合包括全部的所述输入节点;以及如果确定所述第二级复用器节点中不存在所述输出节点,则:利用所述第二级图结构来更新所述参考图结构,以及利用所述第二级复用器节点来更新所述参考级节点;将与所述输出节点中的每个输出节点的所述传递扇入逻辑锥相对应的电路确定为所述候选电路;以及基于所述输出节点中的每个...

【专利技术属性】
技术研发人员:贾芝彦张扬王运富张广亮
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1