CN113111622A - 一种电路布图生成方法、装置、计算机设备及存储介质 - Google Patents
一种电路布图生成方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN113111622A CN113111622A CN202110476616.6A CN202110476616A CN113111622A CN 113111622 A CN113111622 A CN 113111622A CN 202110476616 A CN202110476616 A CN 202110476616A CN 113111622 A CN113111622 A CN 113111622A
- Authority
- CN
- China
- Prior art keywords
- target
- information
- layout
- circuit
- logic gate
- 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.)
- Granted
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/39—Circuit design at the physical level
- G06F30/392—Floor-planning or layout, e.g. partitioning or placement
-
- 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/394—Routing
-
- 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)
- Architecture (AREA)
- Computer Networks & Wireless Communication (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
本公开提供了一种电路布图生成方法、装置、计算机设备及存储介质,其中,该方法包括:利用目标电路对应的寄存器传输级RTL设计信息生成目标电路图;利用当前位置约束信息、以及所述目标电路图,生成所述目标电路的目标布图;所述当前位置约束信息用于约束所述目标电路中,输出端与同一目标逻辑门器件连接的多个目标寄存器、与该目标逻辑门器件之间的走线距离相等。本公开实施例减少目标逻辑门器件出现无效翻转的次数,从而有效减少目标电路的功耗值,提升芯片中目标电路运行的稳定性。
Description
技术领域
本公开涉及集成电路技术领域,具体而言,涉及一种电路布图生成方法、装置、计算机设备及存储介质。
背景技术
对于高计算性能的芯片,因为芯片中每一寄存器阵列到达逻辑门器件的信号延时信息不同,导致在运行大量计算的场景时会存在逻辑门器件的无效翻转,造成较为严重的功耗,对电路整体运行的稳定性产生不利影响。
发明内容
本公开实施例至少提供一种电路布图生成方法、装置、计算机设备及存储介质。
第一方面,本公开实施例提供了一种电路布图生成方法,包括:利用目标电路对应的寄存器传输级RTL设计信息生成目标电路图;利用当前位置约束信息、以及所述目标电路图,生成所述目标电路的目标布图;所述当前位置约束信息用于约束所述目标电路中,输出端与同一目标逻辑门器件连接的多个目标寄存器、与该目标逻辑门器件之间的走线距离,使得所述多个目标寄存器输出信号到达该目标逻辑门器件的时间在预设时差范围内。
这样,得到的目标布图中,输出端与同一目标逻辑门器件连接的多个目标寄存器与该目标逻辑门器件之间的走线距离是一致的,也即输出端与同一目标逻辑门器件连接的多个目标寄存器中每一目标寄存器向该目标逻辑门器件传输信号所需要的时间基本一致,进而能够使得不同目标寄存器传输至同一目标逻辑门器件的信号能够在相同时刻到达,减少目标逻辑门器件由于输入的信号在不同时刻到达导致的无效翻转的次数,从而有效减少目标电路的功耗值,提升芯片中目标电路运行的稳定性。
在一种可能的实施方式中,所述当前位置约束信息用于约束所述目标电路中,输出端与同一目标逻辑门器件连接的多个目标寄存器、与该目标逻辑门器件之间的走线距离相等。
在一种可能的实施方式中,所述利用当前位置约束信息、以及所述目标电路图,生成所述目标电路的目标布图,包括:执行至少一个周期的迭代,在每个迭代周期中:利用当前位置约束信息、以及所述目标电路图,生成所述目标电路中的目标寄存器与目标逻辑门器件的布局信息;响应于满足迭代停止条件,基于所述布局信息,生成所述目标布图。
在一种可能的实施方式中,当前迭代周期的所述当前位置约束信息,是基于前一次迭代周期的位置约束信息确定的,或基于初始位置约束信息确定的。
这样,经过多次的迭代过程,能确定合适的位置约束信息,基于该合适的位置约束信息能约束目标电路中,输出端与同一目标逻辑门器件连接的多个目标寄存器、与该目标逻辑门器件之间的走线距离相等,且能将目标电路实现在芯片中,有效减少目标电路的功耗值。
在一种可能的实施方式中,所述布局信息包括:目标寄存器与目标逻辑门器件分别对应的位置信息和尺寸信息;针对每个迭代周期生成的布局信息,所述方法还包括:基于所述目标寄存器与所述目标逻辑门器件分别对应的位置信息和尺寸信息,确定所述目标电路占据的芯片空间尺寸;将所述芯片空间尺寸和预设的芯片空间尺寸阈值进行比对;所述响应于满足迭代停止条件,基于所述布局信息,生成所述目标布图,包括:响应于所述芯片空间尺寸小于或者等于所述芯片空间尺寸阈值,基于所述布局信息,生成所述目标布图。
在一种可能的实施方式中,还包括:响应于所述芯片空间尺寸大于所述芯片空间尺寸阈值,基于所述当前位置约束信息生成新的位置约束信息;将所述新的位置约束信息作为当前位置约束信息,返回利用当前位置约束信息、以及所述目标电路图,生成所述目标电路中的目标寄存器与目标逻辑门器件的布局信息的步骤。
这样,能基于目标电路占据的空间尺寸是否大于预设的芯片空间尺寸阈值判断当前的位置约束信息是否为合适的位置约束信息,也即通过目标电路中的各器件(例如目标寄存器、目标逻辑门器件等)能否在芯片中正常排布来判断当前的位置约束信息是否为合适的位置约束信息,使得最终确定的位置约束信息能保证目标电路可以正常排布在芯片中,并保证输出端与同一目标逻辑门器件连接的多个目标寄存器中每一目标寄存器向该逻辑门传输信号的时间基本一致,减少目标逻辑门器件出现无效翻转的次数,从而有效减少芯片中目标电路的功耗值。
在一种可能的实施方式中,还包括:响应于所述芯片空间尺寸小于或者等于所述芯片空间尺寸阈值,且位置约束信息中目标寄存器和对应目标逻辑门器件之间的距离值未达到最小值,减小所述位置约束信息中目标寄存器和对应目标逻辑门器件之间的距离值,得到新的位置约束信息,返回利用当前位置约束信息、以及所述目标电路图,生成所述目标电路中的目标寄存器与目标逻辑门器件的布局信息的步骤;所述响应于满足迭代停止条件,基于所述布局信息,生成所述目标布图,包括:响应于所述芯片空间尺寸小于或者等于所述芯片空间尺寸阈值,且位置约束信息中目标寄存器和对应目标逻辑门器件之间的距离值达到迭代周期中的最小值,基于所述布局信息,生成所述目标布图。
在一种可能的实施方式中,所述布局信息包括:目标寄存器与目标逻辑门器件之间的走线关系信息;针对每个迭代周期生成的布局信息,所述方法还包括:基于所述目标寄存器与目标逻辑门器件之间的走线关系信息,确定所述目标电路是否能够部署在芯片中;所述响应于满足迭代停止条件,基于所述布局信息,生成所述目标布图,包括:响应于确定所述目标电路能够部署在芯片中,基于所述布局信息,生成所述目标布图。
这样,能基于目标寄存器与目标逻辑门器件之间的走线关系信息,确定目标电路是否能够部署在芯片中,进而确定当前的位置约束信息是否为合适的位置约束信息。使得最终确定的位置约束信息能保证目标电路能够部署在芯片中。
在一种可能的实施方式中,还包括:响应于确定所述目标电路不能部署在芯片中,基于所述当前位置约束信息生成新的位置约束信息;将所述新的位置约束信息作为当前位置约束信息,返回利用当前位置约束信息、以及所述目标电路图,生成所述目标电路中的目标寄存器与目标逻辑门器件的布局信息的步骤。
在一种可能的实施方式中,针对每个迭代周期生成的布局信息,所述方法还包括:基于所述布局信息,进行电路功耗仿真分析,得到所述目标电路的功耗值;所述响应于满足迭代停止条件,基于所述布局信息,生成所述目标布图,包括:响应于确定所述目标电路的功耗值小于预设功耗值,基于所述布局信息,生成所述目标布图。
在一种可能的实施方式中,还包括:响应于确定所述目标电路的功耗值大于或者等于所述预设功耗值,基于所述当前位置约束信息生成新的位置约束信息;将所述新的位置约束信息作为当前位置约束信息,返回利用当前位置约束信息、以及所述目标电路图,生成所述目标电路中的目标寄存器与目标逻辑门器件的布局信息的步骤。
这样,可以基于当前位置约束信息生成的布局信息对应的电路的功耗值判断当前位置约束信息是否为合适的位置约束信息,使得最终确定的位置约束信息能保证目标电路的功耗值小于预设功耗值,有效减少目标电路的功耗。
第二方面,本公开实施例还提供一种电路布图生成装置,包括:
第一生成模块,用于利用目标电路对应的寄存器传输级RTL设计信息生成目标电路图;
第二生成模块,用于利用当前位置约束信息、以及所述目标电路图,生成所述目标电路的目标布图;所述当前位置约束信息用于约束所述目标电路中,输出端与同一目标逻辑门器件连接的多个目标寄存器、与该目标逻辑门器件之间的走线距离,使得所述多个目标寄存器输出信号到达该目标逻辑门器件的时间在预设时差范围内。
在一种可能的实施方式中,所述当前位置约束信息用于约束所述目标电路中,输出端与同一目标逻辑门器件连接的多个目标寄存器、与该目标逻辑门器件之间的走线距离相等。
在一种可能的实施方式中,在利用当前位置约束信息、以及所述目标电路图,生成所述目标电路的目标布图时,所述第二生成模块,具体用于执行至少一个周期的迭代,在每个迭代周期中:利用所述当前位置约束信息、以及所述目标电路图,生成所述目标电路中的目标寄存器与逻辑门器件的布局信息;响应于满足迭代停止条件,基于所述布局信息,生成所述目标布图。
在一种可能的实施方式中,当前迭代周期的所述当前位置约束信息,是基于前一次迭代周期的位置约束信息确定的,或基于初始位置约束信息确定的。
在一种可能的实施方式中,所述布局信息包括:目标寄存器与逻辑门器件分别对应的位置信息和尺寸信息;在针对每个迭代周期生成的布局信息时,所述第二生成模块,具体用于基于所述目标寄存器与所述逻辑门器件分别对应的位置信息和尺寸信息,确定所述目标电路占据的芯片空间尺寸;将所述芯片空间尺寸和预设的芯片空间尺寸阈值进行比对;在响应于满足迭代停止条件,基于所述布局信息,生成所述目标布图时,所述第二生成模块,具体用于基于所述布局信息,生成所述目标布图。
在一种可能的实施方式中,所述第二生成模块,还用于响应于所述芯片空间尺寸大于所述芯片空间尺寸阈值,基于所述当前位置约束信息生成新的位置约束信息;将所述新的位置约束信息作为当前位置约束信息,返回利用当前位置约束信息、以及所述目标电路图,生成所述目标电路中的目标寄存器与逻辑门器件的布局信息的步骤。
在一种可能的实施方式中,所述第二生成模块,还用于响应于所述芯片空间尺寸小于或者等于所述芯片空间尺寸阈值,且位置约束信息中目标寄存器和对应目标逻辑门器件之间的距离值未达到最小值,减小所述位置约束信息中目标寄存器和对应目标逻辑门器件之间的距离值,得到新的位置约束信息,返回利用当前位置约束信息、以及所述目标电路图,生成所述目标电路中的目标寄存器与目标逻辑门器件的布局信息的步骤;在响应于满足迭代停止条件,基于所述布局信息,生成所述目标布图时,所述第二生成模块,具体用于响应于所述芯片空间尺寸小于或者等于所述芯片空间尺寸阈值,且位置约束信息中目标寄存器和对应目标逻辑门器件之间的距离值达到迭代周期中的最小值,基于所述布局信息,生成所述目标布图。
在一种可能的实施方式中,所述布局信息包括:目标寄存器与逻辑门器件之间的走线关系信息;在针对每个迭代周期生成的布局信息时,所述第二生成模块,还用于基于所述目标寄存器与逻辑门器件之间的走线关系信息,确定所述目标电路是否能够部署在芯片中;在响应于满足迭代停止条件,基于所述布局信息,生成所述目标布图时,所述第二生成模块,具体用于响应于确定所述目标电路能够部署在芯片中,基于所述布局信息,生成所述目标布图。
在一种可能的实施方式中,所述第二生成模块,还用于响应于确定所述目标电路不能部署在芯片中,基于所述当前位置约束信息生成新的位置约束信息;将所述新的位置约束信息作为当前位置约束信息,返回利用当前位置约束信息、以及所述目标电路图,生成所述目标电路中的目标寄存器与目标逻辑门器件的布局信息的步骤。
在一种可能的实施方式中,在针对每个迭代周期生成的布局信息时,所述第二生成模块,还用于基于所述布局信息,进行电路功耗仿真分析,得到所述目标电路的功耗值;在响应于满足迭代停止条件,基于所述布局信息,生成所述目标布图时,所述第二生成模块,具体用于响应于确定所述目标电路的功耗值小于预设功耗值,基于所述布局信息,生成所述目标布图。
在一种可能的实施方式中,所述第二生成模块,还用于:响应于确定所述目标电路的功耗值大于或者等于所述预设功耗值,基于所述当前位置约束信息生成新的位置约束信息;将所述新的位置约束信息作为当前位置约束信息,返回利用当前位置约束信息、以及所述目标电路图,生成所述目标电路中的目标寄存器与目标逻辑门器件的布局信息的步骤。
第三方面,本公开可选实现方式还提供一种计算机设备,处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述处理器用于执行所述存储器中存储的机器可读指令,所述机器可读指令被所述处理器执行时,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
第四方面,本公开可选实现方式还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
关于上述电路布图生成装置、计算机设备、及计算机可读存储介质的效果描述参见上述电路布图生成方法的说明,这里不再赘述。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的一种电路布图生成方法的流程图;
图2示出了本公开实施例所提供的一种确定初始位置约束信息的示例图;
图3示出了本公开实施例所提供的一种利用当前位置约束信息、以及目标电路图,生成目标电路的目标布图的方法流程图;
图4示出了本公开实施例所提供的一种电路布图生成方法的具体实施流程图;
图5示出了本公开实施例所提供的一种生成电路布图生成方法的具体示例;
图6示出了本公开实施例所提供的一种电路布图生成装置的示意图;
图7示出了本公开实施例所提供的一种计算机设备的示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
经研究发现,在芯片的实现过程中,因为芯片中输出端与同一逻辑门器件连接的多个寄存器与该逻辑门器件之间的走线距离不同,导致该多个寄存器中每一寄存器与该对应的逻辑门器件之间的信号传输时间不同,这会导致在某些情况下,造成该对应的逻辑门器件的无效翻转,产生不必要的功耗,对电路整体运行的稳定性产生不利影响。
例如,针对功能为与非关系的逻辑门器件,当两个输入都为高电平的时候,输出也为低电平;当两个输入中的任一输入不为高电平的时候,输出为高电平;假设该与非关系的逻辑门器件的两个输入分别对应寄存器1、寄存器2,寄存器1向该与非关系的逻辑门器件发送电平信号的传输时间为3皮秒,寄存器2向该与非关系的逻辑门器件发送电平信号的传输时间为5皮秒,如果寄存器1向该与非关系的逻辑门器件输入了低电平,寄存器2向该与非关系的逻辑门器件输入了高电平,则该非关系的逻辑门器件输出高电平,之后寄存器1向该与非关系的逻辑门器件输入了高电平,寄存器2向该与非关系的逻辑门器件输入了低电平,因为寄存器1向该与非关系的逻辑门器件发送电平信号的传输时间小于寄存器2向该与非关系的逻辑门器件发送电平信号的传输时间,所以在寄存器2传输的低电平没有到达该与非关系的逻辑门器件,而寄存器1传输的高电平已经到达该与非关系的逻辑门器件的2皮秒内,该与非关系的逻辑门器件接收到的两个输入信号都为高电平,则该与非关系的逻辑门器件的输出信号翻转为低电平,直到该与非关系的逻辑门器件接收到寄存器2传输的低电平后,重新翻转为高电平,实际上该与非关系的逻辑门器件的输出应当一直保持高电平,但是因为寄存器1和寄存器2向该与非关系的逻辑门器件传输输入信号的时候存在2皮秒的时间差,导致这2皮秒内该与非关系的逻辑门器件的输出进行了两次无效翻转。
基于上述研究,本公开提供了一种电路布图生成方法、装置、计算机设备及存储介质,在生成芯片中目标电路的目标布图时,通过目标电路对应的寄存器传输级(RegisterTransfer Level,RTL)设计信息生成目标电路图,然后基于当前位置约束信息和目标电路图,生成目标电路的目标布图,这样,得到的目标布图中,输出端与同一目标逻辑门器件连接的多个目标寄存器与该目标逻辑门器件之间的走线距离是一致的,也即输出端与同一目标逻辑门器件连接的多个目标寄存器中每一目标寄存器向该目标逻辑门器件传输信号所需要的时间基本一致,进而能够使得不同目标寄存器传输至同一目标逻辑门器件的信号能够在相同时刻到达,减少目标逻辑门器件由于输入的信号在不同时刻到达导致的无效翻转的次数,从而有效减少目标电路的功耗值,提升芯片中目标电路运行的稳定性。
针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种电路布图生成方法进行详细介绍,本公开实施例所提供的电路布图生成方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字助理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该电路布图生成方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
下边对本公开实施例中的一些名词进行解释说明:
本公开实施例所述的芯片为包含多个电路模块的集成电路,本公开实施例所述的目标电路为所述芯片中功耗值超过预设功耗值的电路模块。
其中,预设功耗值是基于芯片适用的产品确定的,针对不同的产品,对芯片功耗值的要求不同,芯片的预设功耗值例如可以是保证应用该芯片产品能正常稳定运行的最大功耗值,因此预设功耗值可以针对不同芯片、或者不同的应用场景设置不同的数值,本公开实施例中不做限定。
本公开实施例所述的寄存器传输级RTL设计信息为通过高级编程语言(例如c语言、c++、Java、汇编语言、c#等)编写的能够实现具体计算处理功能的算法。
本公开实施例所述的目标布图为目标电路最终可以在芯片中实现的电路结构排布图,例如包括:目标电路中各部件的型号、尺寸、在芯片中的排布位置、以及各部件之间的走线情况等至少一种。
下面对本公开实施例提供的电路布图生成方法加以说明。
参见图1所示,为本公开实施例提供的电路布图生成方法的流程图,所述方法包括步骤S101~S102,其中:
S101:利用目标电路对应的寄存器传输级RTL设计信息生成目标电路图。
其中,目标电路图是根据目标电路对应的RTL设计信息生成的电路原理图,例如包括目标电路中各器件的型号、属性值、以及各器件之间的连接关系等至少一种。
具体的,例如可以使用Design Compiler、Fusion Compiler、Genus等任一种集成电路设计工具来基于目标电路对应的RTL设计信息生成目标电路图。
S102:利用当前位置约束信息、以及目标电路图,生成目标电路的目标布图;当前位置约束信息用于约束目标电路中,输出端与同一目标逻辑门器件连接的多个目标寄存器、与该目标逻辑门器件之间的走线距离,使得多个目标寄存器输出信号到达该目标逻辑门器件的时间在预设时差范围内。
此处,约束目标电路中,输出端与同一目标逻辑门器件连接的多个目标寄存器、与该目标逻辑门器件之间的走线距离,使得多个目标寄存器输出信号到达该目标逻辑门器件的时间在预设时差范围内,例如可以是约束所述目标电路中,输出端与同一目标逻辑门器件连接的多个目标寄存器、与该目标逻辑门器件之间的走线距离相等,这样可以使得多个目标寄存器输出信号到达该目标逻辑门器件的时间在预设时差范围内,甚至使得多个目标寄存器输出信号能够在合理的时差范围内(该时差范围很小,例如:同时)到达该目标逻辑门器件,从而被该目标逻辑门器件正确处理。
在具体实施中,利用当前位置信息、以及目标电路图生成目标电路的目标布图时,例如可以对位置约束信息进行至少一个周期的迭代,得到一个能够既满足位置约束、又在该位置约束下能够将集成电路部署在芯片中的位置约束信息,并基于满足要求的位置约束信息,以及目标电路图,生成目标电路的目标布图。
其中,在第一个迭代周期的当前位置约束信息是基于初始位置约束信息确定的。
在除第一个迭代周期的其他迭代周期,当前位置约束信息是基于前一次迭代周期的位置约束信息确定的。
其中,初始位置约束信息,为首个迭代周期的位置约束信息,在利用当前位置约束信息、以及目标电路图,生成目标电路的目标布图之前,还可以包括:基于目标电路图进行电路功耗仿真分析,得到目标电路中各个逻辑门器件对应的电子脉冲功耗;基于各个逻辑门器件对应的电子脉冲功耗,从目标电路中确定目标逻辑门器件;以及,将输出端与目标逻辑门器件连接的目标寄存器确定为该目标逻辑门器件对应的目标寄存器,并将目标寄存器、和目标逻辑门器件作为优化的目标。
在确定初始位置约束信息时,为目标逻辑门器件、和其对应的目标寄存器设定初始位置约束信息。
其中,在基于目标电路图进行电路功耗仿真分析时,由于能够确定目标逻辑门器件、和与其对应的目标寄存器之间的走线距离,可以利用在基于目标电路图进行电路功耗仿真分析时确定的目标逻辑门器件、和与其对应的目标寄存器之间的走线距离,确定初始位置约束信息。例如,将走线距离最大的目标寄存器、与目标逻辑门器件之间的走线距离,作为初始位置约束信息,或者将走线距离最小的目标寄存器、与目标逻辑门器件之间的走线距离,作为初始位置约束信息,或者,在走线距离最大值和走线距离最小值之间,随机确定一走线距离,作为初始位置约束信息。
另外,也可以根据历史经验,确定初始位置约束信息。
示例性的,如图2中a所示,在基于目标电路图进行电路功耗仿真分析时,目标寄存器1和目标寄存器2距离目标逻辑门器件的距离值分别为5微米和3微米;则基于该电路功耗仿真分析结果确定的初始位置约束信息例如为:目标寄存器2和目标寄存器1与目标逻辑门器件之间的距离值都为3微米(如图2中b示出)、4微米或者5微米(图2中未示出)。
参见图3所示,本公开实施例提供一种利用当前位置约束信息、以及目标电路图,生成目标电路的目标布图的具体方法,包括:
S301:执行至少一个周期的迭代,在每个迭代周期中:利用当前位置约束信息、以及目标电路图,生成目标电路中的目标寄存器与目标逻辑门器件的布局信息;
S302:响应于满足迭代停止条件,基于布局信息,生成目标布图。
在具体实施中,布局信息例如包括:目标寄存器与目标逻辑门器件分别对应的位置信息、以及尺寸信息;基于布局信息,生成目标布图时,例如基于目标寄存器与目标逻辑门器件分别对应的位置信息和尺寸信息,确定目标电路占据的芯片空间尺寸;将芯片空间尺寸和预设的芯片空间尺寸阈值进行比对;在芯片空间尺寸小于或者等于芯片空间尺寸阈值的情况下,基于布局信息,生成目标布图。
其中,迭代停止条件例如包括下述至少一种:目标电路占据的芯片空间尺寸小于或者等于芯片空间尺寸阈值,或者在目标电路占据的芯片空间尺寸小于或者等于芯片空间尺寸阈值的情况下,位置约束信息中目标寄存器和对应目标逻辑门器件之间的距离值达到最小、目标电路能够部署在芯片中、目标电路的功耗值小于预设功耗值。
针对目标电路占据的芯片空间尺寸小于或者等于芯片空间尺寸阈值的迭代停止条件,目标寄存器与目标逻辑门器件分别对应的位置信息例如包括目标寄存器与目标逻辑门器件分别在芯片的模拟空间Floorplan中占据的对应位置;目标寄存器与目标逻辑门器件分别对应的尺寸信息例如包括目标寄存器与目标逻辑门器件分别对应的体积、形状等。
芯片空间尺寸大于芯片空间尺寸阈值的情况,基于当前位置约束信息生成新的位置约束信息;将新的位置约束信息作为当前位置约束信息,返回利用当前位置约束信息、以及目标电路图,生成目标电路中的目标寄存器与目标逻辑门器件的布局信息的步骤。
这样,能基于目标电路占据的空间尺寸是否大于预设的芯片空间尺寸阈值判断当前的位置约束信息是否为合适的位置约束信息;在基于当前位置约束信息确定的目标电路占据的芯片空间尺寸,小于或者等于预设的芯片空间尺寸阈值时,也即当前位置约束信息下,目标电路中的各器件(例如目标寄存器、目标逻辑门器件等)可以在芯片中为目标电路确定的部署区域中正常排布时,该位置约束信息为合适的位置约束信息;在基于当前位置约束信息确定的目标电路占据的芯片空间尺寸,大于预设的芯片空间尺寸阈值时,也即在当前位置约束信息下,目标电路中的各个器件无法在芯片中为目标电路确定的部署区域中正常排布时,当前的位置约束信息不是合适的位置约束信息,需要进入下一迭代周期,并将当前迭代周期的当前位置约束信息更新后作为下一个迭代周期的位置约束信息,然后重新返回利用当前位置约束信息、以及目标电路图,生成目标电路中的目标寄存器与目标逻辑门器件的布局信息的步骤,然后在基于布局信息生成目标电路时,确定目标电路占据的空间尺寸是否大于预设的芯片空间尺寸阈值;直至确定合适的位置约束信息的迭代周期,即在芯片空间尺寸小于或者等于芯片空间尺寸阈值时,基于布局信息,生成目标布图。
此处,在芯片空间尺寸大于芯片空间尺寸阈值的情况下,基于当前位置约束信息生成新的位置约束信息时,例如可以增加位置约束信息中目标寄存器和对应目标逻辑门器件之间的距离值,得到新的位置约束信息。
另外,由于目标电路的功耗还与目标寄存器和目标逻辑门器件之间的走线距离相关,也即走线距离越大,则目标电路功耗越大;因此,为了进一步的减小目标电路的功耗,在另一实施例中,在芯片空间尺寸小于或者等于芯片空间尺寸阈值的情况下,也可以进一步的减小位置约束信息中目标寄存器和对应目标逻辑门器件之间的距离值,得到新的位置约束信息,并进入下一轮迭代;直至位置约束信息中目标寄存器和对应目标逻辑门器件之间的距离值在迭代周期中达到最小,且目标电路能够部署在芯片中,这里,目标电路无法部署在芯片中,例如包括:目标电路中的具有连接关系的器件无法正常走线。
针对目标电路能够部署在芯片中的迭代停止条件,本公开另一实施例中,布局信息例如还包括目标寄存器与目标逻辑门器件之间的走线关系信息;基于布局信息,生成目标布图时,例如:基于目标寄存器与目标逻辑门器件之间的走线关系信息,确定目标电路是否能够部署在芯片中;在确定目标电路能够部署在芯片中的情况下,基于布局信息,生成目标布图。
其中,走线关系例如包括该多个目标寄存器中每一目标寄存器与该目标逻辑门器件之间的线路连接距离、连接位置、以及连接方式等至少一种;基于目标寄存器与目标逻辑门器件之间的走线关系信息,确定目标电路是否能够部署在芯片中时,例如确定每一目标寄存器与该目标逻辑门器件之间的线路连接(例如连接距离、连接位置、以及连接方式等)是否可以实现。
另外,在确定目标电路不能部署在芯片中的情况下,基于当前位置约束信息生成新的位置约束信息;将新的位置约束信息作为当前位置约束信息,返回利用当前位置约束信息、以及目标电路图,生成目标电路中的目标寄存器与目标逻辑门器件的布局信息的步骤。
这样,能基于目标寄存器与目标逻辑门器件之间的走线关系信息,确定目标电路是否能够部署在芯片中,进而确定当前的位置约束信息是否为合适的位置约束信息。当确定目标电路能够部署在芯片中时,代表在当前位置约束信息下,目标电路中的各器件(例如目标寄存器、目标逻辑门器件等)即使可以排布在芯片中,也无法实现各器件之间的走线关系,也即该目标电路无法在芯片中实现,当前的位置约束信息不是合适的位置约束信息,需要进入下一迭代周期,并将当前迭代周期的当前位置约束信息更新后作为下一个迭代周期的位置约束信息,然后重新返回利用当前位置约束信息、以及目标电路图,生成目标电路中的目标寄存器与目标逻辑门器件的布局信息的步骤,然后在基于布局信息生成目标电路时,基于目标寄存器与目标逻辑门器件之间的走线关系信息,确定目标电路是否能够部署在芯片中;直至确定合适的位置约束信息的迭代周期,即确定目标电路能够部署在芯片中时,基于布局信息,生成目标布图。
针对目标电路的功耗值小于预设功耗值的停止迭代条件,在基于当前位置约束信息生成的布局信息可以将目标电路在芯片中实现后,还可以基于当前位置约束信息生成的布局信息对应的电路的功耗值判断当前位置约束信息是否为合适的位置约束信息,因此,本公开另一实施例中,基于布局信息,进行电路功耗仿真分析,得到目标电路的功耗值;在确定目标电路的功耗值小于预设功耗值的情况下,基于布局信息,生成目标布图。
另外,在确定目标电路的功耗值大于或者等于预设功耗值的情况下,基于当前位置约束信息生成新的位置约束信息;将新的位置约束信息作为当前位置约束信息,返回利用当前位置约束信息、以及目标电路图,生成目标电路中的目标寄存器与目标逻辑门器件的布局信息的步骤。
这样,当确定目标电路的功耗值大于或者等于预设功耗值时,代表在当前位置约束信息下,即使可以将目标电路在芯片中实现,但是芯片在使用的过程中,芯片中的目标电路的功耗值过大,会影响芯片的运行的稳定性,因此当前的位置约束信息不是合适的位置约束信息,需要进入下一迭代周期,并将当前迭代周期的当前位置约束信息更新后作为下一个迭代周期的位置约束信息,然后重新返回利用当前位置约束信息、以及目标电路图,生成目标电路中的目标寄存器与目标逻辑门器件的布局信息的步骤,然后在基于布局信息生成目标电路时,基于布局信息,进行电路功耗仿真分析,得到目标电路的功耗值,确定目标电路的功耗值是否小于预设功耗值;直至确定合适的位置约束信息的迭代周期,即确定目标电路的功耗值小于预设功耗值时,基于布局信息,生成目标布图。
如图4所示,为本公开实施例所提供的一种电路布图生成方法的具体实施流程图,包括:
S401:利用目标电路对应的寄存器传输级RTL设计信息生成目标电路图。
S402:利用当前位置约束信息、以及目标电路图,生成目标电路中的目标寄存器与目标逻辑门器件的布局信息,布局信息包括:目标寄存器与目标逻辑门器件分别对应的位置信息和尺寸信息、以及目标寄存器与目标逻辑门器件之间的走线关系信息。
S403:基于目标寄存器与目标逻辑门器件分别对应的位置信息和尺寸信息,确定目标电路占据的芯片空间尺寸;确定芯片空间尺寸是否小于或者等于预设的芯片空间尺寸阈值;是,则跳转至步骤S404;否,则跳转至步骤S405。
S404:基于目标寄存器与目标逻辑门器件之间的走线关系信息,确定目标电路是否能够部署在芯片中,如果是则跳转至步骤S406;如果否,则跳转至步骤S405。
S405:基于当前位置约束信息生成新的位置约束信息,将新的位置约束信息作为当前位置约束信息,跳转至步骤S402。
S406:基于布局信息,进行电路功耗仿真分析,得到目标电路的功耗值,确定目标电路的功耗值是否小于预设功耗值,如果是,则跳转至步骤S407;如果否,则跳转至步骤S405。
S407:基于布局信息,生成目标布图。
通过上述过程,能够在基于生成的目标布图制造集成电路后,使得集成电路的功耗较小。
如图5所示,为本公开实施例提供的一种生成电路布图生成方法的具体示例,包括:
S501:利用集成电路设计工具Design Compiler读入目标电路的RTL设计信息。
S502:在Design Compiler中定义目标电路的relative placement约束文件设置当前位置约束信息。
其中,relative placement约束文件用来约束目标寄存器的位置,以此约束输出端与同一目标逻辑门器件连接的多个目标寄存器、与该目标逻辑门器件之间的走线距离相等。
S503:读入芯片的模拟空间Floorplan信息。
其中,Floorplan信息为芯片空间尺寸阈值大小的模拟空间。
S504:进行物理综合:基于RTL设计信息生成目标电路图,并基于Floorplan信息、以及当前位置约束信息,确定目标电路图将目标电路中的各器件(例如目标寄存器、以及目标逻辑门器件)是否能够满足摆放到芯片的模拟空间Floorplan中的要求,如果否,跳转至步骤S502,如果是,则跳转至步骤S505。
S505:基于relative placement约束文件设置集成电路设计工具ICCQ的tcl文件。
其中,集成电路设计工具ICCQ是用来完成集成电路走线仿真的软件,tcl文件是ICCQ中用来约束目标电路中各器件的位置的约束文件,基于relative placement约束文件设置tcl文件保证利用ICCQ进行走线仿真时,目标电路中各器件的摆放位置与在芯片的模拟空间Floorplan中的摆放位置相同。
S506:基于tcl文件完成对目标电路的走线仿真,看是基于tcl文件的约束是否可以实现走线仿真,如果是,则跳转步骤S507,如果否,则跳转步骤S502。
S507:抽取目标电路对应的完成布局布线的虚拟集成电路的延时信息,利用PrimePower对延时信息进行功耗分析,确定目标电路的虚拟集成电路的电子脉冲功耗是否小于预设功耗值;如果是,则跳转至步骤S508,如果否,跳转至步骤S502。
S508:基于目标电路对应的完成布局布线的虚拟集成电路生成目标电路的目标布图。
本公开实施例,在生成芯片中目标电路的目标布图时,通过目标电路对应的RTL设计信息生成目标电路图,然后基于当前位置约束信息和目标电路图,生成目标电路的目标布图,这样,得到的目标布图中,输出端与同一目标逻辑门器件连接的多个目标寄存器与该目标逻辑门器件之间的走线距离是一致的,也即输出端与同一目标逻辑门器件连接的多个目标寄存器中每一目标寄存器向该目标逻辑门器件传输信号所需要的时间基本一致,进而能够使得不同目标寄存器传输至同一目标逻辑门器件的信号能够在相同时刻到达,减少目标逻辑门器件由于输入的信号在不同时刻到达导致的无效翻转的次数,从而有效减少目标电路的功耗值,提升芯片中目标电路运行的稳定性。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与电路布图生成方法对应的电路布图生成装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述电路布图生成方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参照图6所示,为本公开实施例提供的一种电路布图生成装置的示意图,所述装置包括:第一生成模块601、以及第二生成模块602;其中,
第一生成模块601,用于利用目标电路对应的寄存器传输级RTL设计信息生成目标电路图;
第二生成模块602,用于利用当前位置约束信息、以及所述目标电路图,生成所述目标电路的目标布图;所述当前位置约束信息用于约束所述目标电路中,输出端与同一目标逻辑门器件连接的多个目标寄存器、与该目标逻辑门器件之间的走线距离,使得所述多个目标寄存器输出信号到达该目标逻辑门器件的时间在预设时差范围内。
在一种可能的实施方式中,所述当前位置约束信息用于约束所述目标电路中,输出端与同一目标逻辑门器件连接的多个目标寄存器、与该目标逻辑门器件之间的走线距离相等。
在一种可能的实施方式中,在利用当前位置约束信息、以及所述目标电路图,生成所述目标电路的目标布图时,所述第二生成模块,具体用于执行至少一个周期的迭代,在每个迭代周期中:利用所述当前位置约束信息、以及所述目标电路图,生成所述目标电路中的目标寄存器与逻辑门器件的布局信息;响应于满足迭代停止条件,基于所述布局信息,生成所述目标布图。
在一种可能的实施方式中,当前迭代周期的所述当前位置约束信息,是基于前一次迭代周期的位置约束信息确定的,或基于初始位置约束信息确定的。
在一种可能的实施方式中,所述布局信息包括:目标寄存器与逻辑门器件分别对应的位置信息和尺寸信息;在针对每个迭代周期生成的布局信息时,所述第二生成模块,具体用于基于所述目标寄存器与所述逻辑门器件分别对应的位置信息和尺寸信息,确定所述目标电路占据的芯片空间尺寸;将所述芯片空间尺寸和预设的芯片空间尺寸阈值进行比对;在响应于满足迭代停止条件,基于所述布局信息,生成所述目标布图时,所述第二生成模块,具体用于基于所述布局信息,生成所述目标布图。
在一种可能的实施方式中,所述第二生成模块,还用于响应于所述芯片空间尺寸大于所述芯片空间尺寸阈值,基于所述当前位置约束信息生成新的位置约束信息;将所述新的位置约束信息作为当前位置约束信息,返回利用当前位置约束信息、以及所述目标电路图,生成所述目标电路中的目标寄存器与逻辑门器件的布局信息的步骤。
在一种可能的实施方式中,所述第二生成模块,还用于响应于所述芯片空间尺寸小于或者等于所述芯片空间尺寸阈值,且位置约束信息中目标寄存器和对应目标逻辑门器件之间的距离值未达到最小值,减小所述位置约束信息中目标寄存器和对应目标逻辑门器件之间的距离值,得到新的位置约束信息,返回利用当前位置约束信息、以及所述目标电路图,生成所述目标电路中的目标寄存器与目标逻辑门器件的布局信息的步骤;在响应于满足迭代停止条件,基于所述布局信息,生成所述目标布图时,所述第二生成模块,具体用于响应于所述芯片空间尺寸小于或者等于所述芯片空间尺寸阈值,且位置约束信息中目标寄存器和对应目标逻辑门器件之间的距离值达到迭代周期中的最小值,基于所述布局信息,生成所述目标布图。
在一种可能的实施方式中,所述布局信息包括:目标寄存器与逻辑门器件之间的走线关系信息;在针对每个迭代周期生成的布局信息时,所述第二生成模块,还用于基于所述目标寄存器与逻辑门器件之间的走线关系信息,确定所述目标电路是否能够部署在芯片中;在响应于满足迭代停止条件,基于所述布局信息,生成所述目标布图时,所述第二生成模块,具体用于响应于确定所述目标电路能够部署在芯片中,基于所述布局信息,生成所述目标布图。
在一种可能的实施方式中,所述第二生成模块,还用于响应于确定所述目标电路不能部署在芯片中,基于所述当前位置约束信息生成新的位置约束信息;将所述新的位置约束信息作为当前位置约束信息,返回利用当前位置约束信息、以及所述目标电路图,生成所述目标电路中的目标寄存器与目标逻辑门器件的布局信息的步骤。
在一种可能的实施方式中,在针对每个迭代周期生成的布局信息时,所述第二生成模块,还用于基于所述布局信息,进行电路功耗仿真分析,得到所述目标电路的功耗值;在响应于满足迭代停止条件,基于所述布局信息,生成所述目标布图时,所述第二生成模块,具体用于响应于确定所述目标电路的功耗值小于预设功耗值,基于所述布局信息,生成所述目标布图。
在一种可能的实施方式中,所述第二生成模块,还用于:响应于确定所述目标电路的功耗值大于或者等于所述预设功耗值,基于所述当前位置约束信息生成新的位置约束信息;将所述新的位置约束信息作为当前位置约束信息,返回利用当前位置约束信息、以及所述目标电路图,生成所述目标电路中的目标寄存器与目标逻辑门器件的布局信息的步骤。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
本公开实施例还提供了一种计算机设备,如图7所示,为本公开实施例提供的计算机设备结构示意图,包括:
处理器71和存储器72;所述存储器72存储有处理器71可执行的机器可读指令,处理器71用于执行存储器72中存储的机器可读指令,所述机器可读指令被处理器71执行时,处理器71执行下述步骤:
利用目标电路对应的寄存器传输级RTL设计信息生成目标电路图;
利用当前位置约束信息、以及所述目标电路图,生成所述目标电路的目标布图;
所述当前位置约束信息用于约束所述目标电路中,输出端与同一目标逻辑门器件连接的多个目标寄存器、与该目标逻辑门器件之间的走线距离,使得所述多个目标寄存器输出信号到达该目标逻辑门器件的时间在预设时差范围内。
上述存储器72包括内存721和外部存储器722;这里的内存721也称内存储器,用于暂时存放处理器71中的运算数据,以及与硬盘等外部存储器722交换的数据,处理器71通过内存721与外部存储器722进行数据交换。
上述指令的具体执行过程可以参考本公开实施例中所述的电路布图生成方法的步骤,此处不再赘述。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的电路布图生成方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的电路布图生成方法的步骤,具体可参见上述方法实施例,在此不再赘述。
其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
Claims (14)
1.一种电路布图生成方法,其特征在于,包括:
利用目标电路对应的寄存器传输级RTL设计信息生成目标电路图;
利用当前位置约束信息、以及所述目标电路图,生成所述目标电路的目标布图;
所述当前位置约束信息用于约束所述目标电路中,输出端与同一目标逻辑门器件连接的多个目标寄存器、与该目标逻辑门器件之间的走线距离,使得所述多个目标寄存器输出信号到达该目标逻辑门器件的时间在预设时差范围内。
2.根据权利要求1所述的电路布图生成方法,其特征在于,所述当前位置约束信息用于约束所述目标电路中,输出端与同一目标逻辑门器件连接的多个目标寄存器、与该目标逻辑门器件之间的走线距离相等。
3.根据权利要求1或2所述的电路布图生成方法,其特征在于,所述利用当前位置约束信息、以及所述目标电路图,生成所述目标电路的目标布图,包括:
执行至少一个周期的迭代,在每个迭代周期中:利用当前位置约束信息、以及所述目标电路图,生成所述目标电路中的目标寄存器与目标逻辑门器件的布局信息;
响应于满足迭代停止条件,基于所述布局信息,生成所述目标布图。
4.根据权利要求1-3任一项所述的电路布图生成方法,其特征在于,当前迭代周期的当前位置约束信息,是基于前一次迭代周期的位置约束信息确定的,或基于初始位置约束信息确定的。
5.根据权利要求3所述的电路布图生成方法,其特征在于,所述布局信息包括:目标寄存器与目标逻辑门器件分别对应的位置信息和尺寸信息;
针对每个迭代周期生成的布局信息,所述方法还包括:
基于所述目标寄存器与所述目标逻辑门器件分别对应的位置信息和尺寸信息,确定所述目标电路占据的芯片空间尺寸;
将所述芯片空间尺寸和预设的芯片空间尺寸阈值进行比对;
所述响应于满足迭代停止条件,基于所述布局信息,生成所述目标布图,包括:
响应于所述芯片空间尺寸小于或者等于所述芯片空间尺寸阈值,基于所述布局信息,生成所述目标布图。
6.根据权利要求5所述的电路布图生成方法,其特征在于,还包括:响应于所述芯片空间尺寸大于所述芯片空间尺寸阈值,基于所述当前位置约束信息生成新的位置约束信息;
将所述新的位置约束信息作为当前位置约束信息,返回利用当前位置约束信息、以及所述目标电路图,生成所述目标电路中的目标寄存器与目标逻辑门器件的布局信息的步骤。
7.根据权利要求5或6所述的电路布图生成方法,其特征在于,还包括:
响应于所述芯片空间尺寸小于或者等于所述芯片空间尺寸阈值,且位置约束信息中目标寄存器和对应目标逻辑门器件之间的距离值未达到最小值,减小所述位置约束信息中目标寄存器和对应目标逻辑门器件之间的距离值,得到新的位置约束信息,返回利用当前位置约束信息、以及所述目标电路图,生成所述目标电路中的目标寄存器与目标逻辑门器件的布局信息的步骤;
所述响应于满足迭代停止条件,基于所述布局信息,生成所述目标布图,包括:
响应于所述芯片空间尺寸小于或者等于所述芯片空间尺寸阈值,且位置约束信息中目标寄存器和对应目标逻辑门器件之间的距离值达到迭代周期中的最小值,基于所述布局信息,生成所述目标布图。
8.根据权利要求3、5或者6任一项所述的电路布图生成方法,其特征在于,所述布局信息包括:目标寄存器与目标逻辑门器件之间的走线关系信息;
针对每个迭代周期生成的布局信息,所述方法还包括:
基于所述目标寄存器与目标逻辑门器件之间的走线关系信息,确定所述目标电路是否能够部署在芯片中;
所述响应于满足迭代停止条件,基于所述布局信息,生成所述目标布图,包括:
响应于确定所述目标电路能够部署在芯片中,基于所述布局信息,生成所述目标布图。
9.根据权利要求8所述的电路布图生成方法,其特征在于,还包括:响应于确定所述目标电路不能部署在芯片中,基于所述当前位置约束信息生成新的位置约束信息;
将所述新的位置约束信息作为当前位置约束信息,返回利用当前位置约束信息、以及所述目标电路图,生成所述目标电路中的目标寄存器与目标逻辑门器件的布局信息的步骤。
10.根据权利要求3、5、6、8或者9任一项所述的电路布图生成方法,其特征在于,针对每个迭代周期生成的布局信息,所述方法还包括:
基于所述布局信息,进行电路功耗仿真分析,得到所述目标电路的功耗值;
所述响应于满足迭代停止条件,基于所述布局信息,生成所述目标布图,包括:
响应于确定所述目标电路的功耗值小于预设功耗值,基于所述布局信息,生成所述目标布图。
11.根据权利要求10所述的电路布图生成方法,其特征在于,还包括:响应于确定所述目标电路的功耗值大于或者等于所述预设功耗值,基于所述当前位置约束信息生成新的位置约束信息;
将所述新的位置约束信息作为当前位置约束信息,返回利用当前位置约束信息、以及所述目标电路图,生成所述目标电路中的目标寄存器与目标逻辑门器件的布局信息的步骤。
12.一种电路布图生成装置,其特征在于,包括:
第一生成模块,用于利用目标电路对应的寄存器传输级RTL设计信息生成目标电路图;
第二生成模块,用于利用当前位置约束信息、以及所述目标电路图,生成所述目标电路的目标布图;所述当前位置约束信息用于约束所述目标电路中,输出端与同一目标逻辑门器件连接的多个目标寄存器、与该目标逻辑门器件之间的走线距离,使得所述多个目标寄存器输出信号到达该目标逻辑门器件的时间在预设时差范围内。
13.一种计算机设备,其特征在于,包括:处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述处理器用于执行所述存储器中存储的机器可读指令,所述机器可读指令被所述处理器执行时,所述处理器执行如权利要求1至11任一项所述的电路布图生成方法的步骤。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被计算机设备运行时,所述计算机设备执行如权利要求1至11任一项所述的电路布图生成方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110476616.6A CN113111622B (zh) | 2021-04-29 | 2021-04-29 | 一种电路布图生成方法、装置、计算机设备及存储介质 |
PCT/CN2021/134622 WO2022227564A1 (zh) | 2021-04-29 | 2021-11-30 | 一种电路布图生成方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110476616.6A CN113111622B (zh) | 2021-04-29 | 2021-04-29 | 一种电路布图生成方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113111622A true CN113111622A (zh) | 2021-07-13 |
CN113111622B CN113111622B (zh) | 2023-01-31 |
Family
ID=76720551
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110476616.6A Active CN113111622B (zh) | 2021-04-29 | 2021-04-29 | 一种电路布图生成方法、装置、计算机设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113111622B (zh) |
WO (1) | WO2022227564A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113688587A (zh) * | 2021-08-31 | 2021-11-23 | 上海商汤阡誓科技有限公司 | 一种电路布图的生成方法、装置、计算机设备及存储介质 |
CN114330205A (zh) * | 2021-12-24 | 2022-04-12 | 广东高云半导体科技股份有限公司 | 高层次综合方法、其综合装置以及电子设备 |
WO2022227564A1 (zh) * | 2021-04-29 | 2022-11-03 | 上海阵量智能科技有限公司 | 一种电路布图生成方法、装置、计算机设备及存储介质 |
CN116629189A (zh) * | 2023-07-19 | 2023-08-22 | 深圳市周励电子科技有限公司 | 一种集成电路的布局生成方法及装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1680944A (zh) * | 2004-02-26 | 2005-10-12 | 松下电器产业株式会社 | 模拟装置和设计半导体集成电路的方法 |
US7178124B1 (en) * | 2003-05-30 | 2007-02-13 | Golden Gate Technology, Inc. | Methods, algorithms, software, architectures and system for placing clocked components and routing timing signals in a circuit and/or layout |
CN102638250A (zh) * | 2011-02-09 | 2012-08-15 | 拉碧斯半导体株式会社 | 半导体集成电路及其设计方法和半导体芯片 |
CN105512438A (zh) * | 2016-01-18 | 2016-04-20 | 成都锐开云科技有限公司 | 一种等时延布线方法及装置 |
CN106023912A (zh) * | 2015-03-25 | 2016-10-12 | 拉碧斯半导体株式会社 | 偏移调整装置 |
CN107480390A (zh) * | 2017-08-23 | 2017-12-15 | 京东方科技集团股份有限公司 | 信号延迟的补偿方法、装置及计算机设备 |
CN111125882A (zh) * | 2019-11-29 | 2020-05-08 | 广东浪潮大数据研究有限公司 | 一种pcb传输线等长设置的走线方法、装置及设备 |
CN111698832A (zh) * | 2020-06-12 | 2020-09-22 | 广东浪潮大数据研究有限公司 | 电路板的高速差分信号线的信号传输方法、装置及介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4045113B2 (ja) * | 2002-03-27 | 2008-02-13 | 株式会社日立製作所 | 半導体集積回路の設計方法、プログラム及び記録媒体 |
CN105447215B (zh) * | 2014-09-24 | 2018-07-27 | 瑞昱半导体股份有限公司 | 数字电路设计方法及相关的系统 |
CN106407489B (zh) * | 2015-07-31 | 2019-11-22 | 展讯通信(上海)有限公司 | 一种时序约束检查方法 |
CN108170956B (zh) * | 2017-12-28 | 2021-07-27 | 佛山中科芯蔚科技有限公司 | 一种保持时间的时序签核方法及装置 |
CN109284578B (zh) * | 2018-02-27 | 2021-06-01 | 上海安路信息科技股份有限公司 | 逻辑电路布局布线方法、图形化显示方法及其系统 |
CN113111622B (zh) * | 2021-04-29 | 2023-01-31 | 上海阵量智能科技有限公司 | 一种电路布图生成方法、装置、计算机设备及存储介质 |
-
2021
- 2021-04-29 CN CN202110476616.6A patent/CN113111622B/zh active Active
- 2021-11-30 WO PCT/CN2021/134622 patent/WO2022227564A1/zh active Application Filing
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7178124B1 (en) * | 2003-05-30 | 2007-02-13 | Golden Gate Technology, Inc. | Methods, algorithms, software, architectures and system for placing clocked components and routing timing signals in a circuit and/or layout |
CN1680944A (zh) * | 2004-02-26 | 2005-10-12 | 松下电器产业株式会社 | 模拟装置和设计半导体集成电路的方法 |
CN102638250A (zh) * | 2011-02-09 | 2012-08-15 | 拉碧斯半导体株式会社 | 半导体集成电路及其设计方法和半导体芯片 |
CN106023912A (zh) * | 2015-03-25 | 2016-10-12 | 拉碧斯半导体株式会社 | 偏移调整装置 |
CN105512438A (zh) * | 2016-01-18 | 2016-04-20 | 成都锐开云科技有限公司 | 一种等时延布线方法及装置 |
CN107480390A (zh) * | 2017-08-23 | 2017-12-15 | 京东方科技集团股份有限公司 | 信号延迟的补偿方法、装置及计算机设备 |
CN111125882A (zh) * | 2019-11-29 | 2020-05-08 | 广东浪潮大数据研究有限公司 | 一种pcb传输线等长设置的走线方法、装置及设备 |
CN111698832A (zh) * | 2020-06-12 | 2020-09-22 | 广东浪潮大数据研究有限公司 | 电路板的高速差分信号线的信号传输方法、装置及介质 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022227564A1 (zh) * | 2021-04-29 | 2022-11-03 | 上海阵量智能科技有限公司 | 一种电路布图生成方法、装置、计算机设备及存储介质 |
CN113688587A (zh) * | 2021-08-31 | 2021-11-23 | 上海商汤阡誓科技有限公司 | 一种电路布图的生成方法、装置、计算机设备及存储介质 |
CN113688587B (zh) * | 2021-08-31 | 2024-03-22 | 上海商汤阡誓科技有限公司 | 一种电路布图的生成方法、装置、计算机设备及存储介质 |
CN114330205A (zh) * | 2021-12-24 | 2022-04-12 | 广东高云半导体科技股份有限公司 | 高层次综合方法、其综合装置以及电子设备 |
CN114330205B (zh) * | 2021-12-24 | 2024-05-17 | 广东高云半导体科技股份有限公司 | 高层次综合方法、其综合装置以及电子设备 |
CN116629189A (zh) * | 2023-07-19 | 2023-08-22 | 深圳市周励电子科技有限公司 | 一种集成电路的布局生成方法及装置 |
CN116629189B (zh) * | 2023-07-19 | 2024-01-26 | 深圳市周励电子科技有限公司 | 一种集成电路的布局生成方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2022227564A1 (zh) | 2022-11-03 |
CN113111622B (zh) | 2023-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113111622B (zh) | 一种电路布图生成方法、装置、计算机设备及存储介质 | |
CN105808795A (zh) | 基于时序约束的fpga芯片全局布局优化方法 | |
CN113222132B (zh) | 乘法器、数据处理方法、芯片、计算机设备及存储介质 | |
CN113868992A (zh) | 集成电路的时序约束方法、装置、电子设备及芯片 | |
US20170364473A1 (en) | Program counter alignment across a reconfigurable hum fabric | |
CN112836806B (zh) | 一种数据格式调整方法、装置、计算机设备和存储介质 | |
US10002225B2 (en) | Static timing analysis with improved accuracy and efficiency | |
US7971168B1 (en) | Method for repeated block timing analysis | |
CN109960841B (zh) | 一种流体表面张力的仿真方法、终端设备及存储介质 | |
Xydis et al. | A meta-model assisted coprocessor synthesis framework for compiler/architecture parameters customization | |
US10740530B1 (en) | Clock tree wirelength reduction based on a target offset in connected routes | |
CN112580279B (zh) | 逻辑电路的优化方法、优化装置以及存储介质 | |
CN112100950B (zh) | 用于芯片设计的方法、系统、设备以及存储介质 | |
CN115688643A (zh) | 仿真逻辑系统设计的方法、设备及存储介质 | |
US10042965B2 (en) | Systems and method for optimizing state encoding | |
US9721051B2 (en) | Reducing clock skew in synthesized modules | |
CN115204076A (zh) | 集成电路的逻辑优化方法、装置、电子设备及可读介质 | |
CN115293076A (zh) | 生成电路的方法、电子设备及存储介质 | |
JP6524782B2 (ja) | 設計方法及び設計システム | |
Müller et al. | A cellular network architecture with polynomial weight functions | |
Grzesiak-Kopeć et al. | Using shape grammars and extremal optimization in 3D IC layout design | |
KR102605288B1 (ko) | 집적 회로에 대한 소비 전력을 예측하기 위한 시뮬레이션 방법 및 이를 수행하는 집적 회로 시뮬레이션 시스템 | |
CN113935264A (zh) | 低功耗综合方法及其装置 | |
CN116151187B (zh) | 处理触发条件的方法、装置和存储介质 | |
US10410700B1 (en) | Systems and method for a low-power correlator architecture using shifting coefficients |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40049930 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |