CN114417773A - 一种芯片布局方法、装置、电子设备和可读存储介质 - Google Patents
一种芯片布局方法、装置、电子设备和可读存储介质 Download PDFInfo
- Publication number
- CN114417773A CN114417773A CN202011177717.5A CN202011177717A CN114417773A CN 114417773 A CN114417773 A CN 114417773A CN 202011177717 A CN202011177717 A CN 202011177717A CN 114417773 A CN114417773 A CN 114417773A
- Authority
- CN
- China
- Prior art keywords
- target
- circuit
- module
- design file
- circuit module
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 74
- 238000003860 storage Methods 0.000 title claims abstract description 16
- 238000013461 design Methods 0.000 claims abstract description 203
- 230000015572 biosynthetic process Effects 0.000 claims description 39
- 238000003786 synthesis reaction Methods 0.000 claims description 39
- 238000005215 recombination Methods 0.000 claims description 4
- 230000006798 recombination Effects 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 23
- 238000012300 Sequence Analysis Methods 0.000 abstract description 14
- 230000001105 regulatory effect Effects 0.000 abstract description 12
- 238000005265 energy consumption Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 16
- 238000012545 processing Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000008521 reorganization Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000017525 heat dissipation Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Architecture (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明实施例提供了一种芯片布局方法、装置、电子设备和可读存储介质,该方法包括:获取电路设计文件和对应的约束文件,根据电路设计文件和约束文件,确定电路设计文件中每个时钟分别对应的所有电路模块,将每个时钟对应的所有电路模块组合为一个电路模块,得到重组后的电路设计文件。在根据重组后的电路设计文件进行版图设计时,可以使每个时钟只对应一个电压域,在调节某个电路模块所在电压域的电压时,只需调节该电压域的电压,并不需要调节其他电压域的电压。在通过调节某个电路模块所在电压域的电压,提高芯片的性能时,可以避免大量的增加芯片功耗,从而提高芯片的能耗比,并且可以简化芯片签核阶段的时序分析过程,提高时序分析效率。
Description
技术领域
本发明涉及集成电路领域,特别是涉及一种芯片布局方法、装置、电子设备和可读存储介质。
背景技术
随着集成电路的发展,芯片的功能越来越复杂,芯片的功耗也随之上升。功耗的增加不仅增加电能的损耗,而且会导致一系列的问题,例如电池寿命缩短、芯片可靠性下降、封装和散热成本增加等。
目前,为了保证芯片性能并有效降低功耗,主要采用多电压域和多时钟域的方法设计芯片。在芯片设计过程中,根据芯片中各电路模块的功能,为各电路模块设置不同的时钟,并为关键路径上的电路模块分配较高的电源电压以维持芯片的性能、非关键路径上的电路模块分配较低的电源电压以降低芯片的功耗。在电压域的划分中,根据各电路模块的相对位置关系,将相邻电路模块划分在同一个电压域中。
而根据各电路模块的相对位置关系划分电压域时,通过调节电压域的电压提高某个电路模块的时钟时,会导致其他电压域的电压同时被提高,使整个芯片的功耗大大增加,芯片的可靠性降低。因此,无法通过调节电压域电压的方式,灵活调节芯片中电路模块的时钟,提高芯片性能。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种芯片布局方法,以解决无法通过调节电压域电压的方式,灵活调节芯片中电路模块的时钟频率的问题。
相应的,本发明实施例还提供了一种芯片布局装置、一种电子设备以及一种存储介质,用以保证上述方法的实现及应用。
为了解决上述问题,本发明实施例公开了一种芯片布局方法,包括:
获取电路设计文件和对应的约束文件;
根据所述电路设计文件和所述约束文件,确定所述电路设计文件中每个时钟分别对应的所有电路模块;
根据所述每个时钟分别对应的所有电路模块,对所述电路设计文件进行重组,得到重组后的电路设计文件,以根据所述重组后的电路设计文件生成第一版图,并分别为所述第一版图中的每个第一目标电路模块设置对应的电压域;
其中,所述第一目标电路模块根据所述电路设计文件中的目标时钟对应的所有电路模块组合得到,所述目标时钟为所有所述时钟中的任意一个时钟。
可选的,所述根据所述每个时钟分别对应的所有电路模块,对所述电路设计文件进行重组,得到重组后的电路设计文件,包括:
针对每个目标时钟,均执行如下操作:确定所述目标时钟对应的每个电路模块的逻辑连接信息;根据所述目标时钟对应的每个电路模块的逻辑连接信息,对所述目标时钟对应的所有电路模块进行组合,得到所述第一目标电路模块,以及所述第一目标电路模块的逻辑连接信息;
根据所有所述第一目标电路模块的逻辑连接信息调整所述电路设计文件的逻辑连接信息,得到所述重组后的电路设计文件。
可选的,所述根据所述重组后的电路设计文件生成第一版图,并分别为所述第一版图中的每个第一目标电路模块设置对应的电压域,包括:
对所述第一目标电路模块进行逻辑综合,得到与所述第一目标电路模块对应的第一门级网表,以及对所述重组后的电路设计文件中除所述第一目标电路模块之外的电路模块进行逻辑综合,得到第二门级网表;
根据所述第一门级网表生成与所述第一目标电路模块对应的第一目标版图;
根据所述第二门级网表和所有所述第一目标版图生成所述第一版图;
针对所述第一版图中的每个所述第一目标电路模块分别设置对应的电压域。
可选的,所述根据所述重组后的电路设计文件生成第一版图,并分别为所述第一版图中的每个第一目标电路模块设置对应的电压域,包括:
对所述第一目标电路模块进行逻辑综合,得到与所述第一目标电路模块对应的第一门级网表,以及对所述重组后的电路设计文件中除所述第一目标电路模块之外的电路模块进行逻辑综合,得到第二门级网表;
根据所有所述第一门级网表和所述第二门级网表,生成第三门级网表;
根据所述第三门级网表生成所述第一版图;
针对所述第一版图中的每个所述第一目标电路模块分别设置对应的电压域。
可选的,还包括:
根据所述第一版图确定需要创建过线逻辑的第二目标电路模块;
在所述重组后的电路设计文件中,为所述第二目标电路模块添加所述过线逻辑,以根据添加过线逻辑之后的电路设计文件生成第二版图,并针对所述第二版图中的每个所述第一目标电路模块分别设置对应的电压域。
本发明实施例还公开了一种芯片布局装置,包括:
获取模块,用于获取电路设计文件和对应的约束文件;
确定模块,用于根据所述电路设计文件和所述约束文件,确定所述电路设计文件中每个时钟分别对应的所有电路模块;
重组模块,用于根据所述每个时钟分别对应的所有电路模块,对所述电路设计文件进行重组,得到重组后的电路设计文件,以根据所述重组后的电路设计文件生成第一版图,并分别为所述第一版图中的每个第一目标电路模块设置对应的电压域;
其中,所述第一目标电路模块根据所述电路设计文件中的目标时钟对应的所有电路模块组合得到,所述目标时钟为所有所述时钟中的任意一个时钟。
可选的,所述重组模块,具体用于针对每个目标时钟,均执行如下操作:确定所述目标时钟对应的每个电路模块的逻辑连接信息;根据所述目标时钟对应的每个电路模块的逻辑连接信息,对所述目标时钟对应的所有电路模块进行组合,得到所述第一目标电路模块,以及所述第一目标电路模块的逻辑连接信息;根据所有所述第一目标电路模块的逻辑连接信息调整所述电路设计文件的逻辑连接信息,得到所述重组后的电路设计文件。
可选的,还包括:
第一综合模块,用于对所述第一目标电路模块进行逻辑综合,得到与所述第一目标电路模块对应的第一门级网表,以及对所述重组后的电路设计文件中除所述第一目标电路模块之外的电路模块进行逻辑综合,得到第二门级网表;
第一生成模块,用于根据所述第一门级网表生成与所述第一目标电路模块对应的第一目标版图;
第二生成模块,用于根据所述第二门级网表和所有所述第一目标版图生成所述第一版图;
第一设置模块,用于针对所述第一版图中的每个所述第一目标电路模块分别设置对应的电压域。
可选的,还包括:
第二综合模块,用于对所述第一目标电路模块进行逻辑综合,得到与所述第一目标电路模块对应的第一门级网表,以及对所述重组后的电路设计文件中除所述第一目标电路模块之外的电路模块进行逻辑综合,得到第二门级网表;
第三生成模块,用于根据所有所述第一门级网表和所述第二门级网表,生成第三门级网表;
第四生成模块,用于根据所述第三门级网表生成所述第一版图;
第二设置模块,用于针对所述第一版图中的每个所述第一目标电路模块分别设置对应的电压域。
可选的,还包括:
创建模块,用于根据所述第一版图确定需要创建过线逻辑的第二目标电路模块;
添加模块,用于在所述重组后的电路设计文件中,为所述第二目标电路模块添加所述过线逻辑,以根据添加过线逻辑之后的电路设计文件生成第二版图,并针对所述第二版图中的每个所述第一目标电路模块分别设置对应的电压域。
本发明实施例还公开了一种电子设备包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
获取电路设计文件和对应的约束文件;
根据所述电路设计文件和所述约束文件,确定所述电路设计文件中每个时钟分别对应的所有电路模块;
根据所述每个时钟分别对应的所有电路模块,对所述电路设计文件进行重组,得到重组后的电路设计文件,以根据所述重组后的电路设计文件生成第一版图,并分别为所述第一版图中的每个第一目标电路模块设置对应的电压域;
其中,所述第一目标电路模块根据所述电路设计文件中的目标时钟对应的所有电路模块组合得到,所述目标时钟为所有所述时钟中的任意一个时钟。
本发明实施例还公开了一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行本发明实施例中一个或多个所述的芯片布局方法。
本发明实施例包括以下优点:
获取电路设计文件和对应的约束文件,根据电路设计文件和约束文件,确定电路设计文件中每个时钟分别对应的所有电路模块,将每个时钟对应的所有电路模块组合为一个电路模块,得到重组后的电路设计文件。在根据重组后的电路设计文件进行版图设计时,可以为每个第一目标电路模块分别设置独立的电压域,使得每个时钟只对应一个电压域,在调节某个电路模块所在电压域的电压时,只需调节该电压域的电压,并不需要调节其他电压域的电压。在通过调节某个电路模块所在电压域的电压,提高芯片的性能时,可以避免大量的增加芯片功耗,从而可以提高芯片的能耗比,并且可以简化芯片签核阶段的时序分析过程,提高时序分析效率。
附图说明
图1示出了现有技术中的一种电路设计文件的结构图;
图2示出了本发明的一种芯片布局方法实施例的步骤流程图;
图3示出了本发明的一种重组后的电路设计文件的结构图;
图4示出了本发明的另一种芯片布局方法实施例的步骤流程图;
图5示出了本发明的一种芯片布局装置实施例的结构框图;
图6是根据一示例性实施例示出的一种用于芯片布局的电子设备的结构框图。
具体实施方式
为了更清楚地介绍本发明的技术方案,首先对现有技术中的芯片布局方法进行简单介绍。
参照图1,示出了现有技术中的一种电路设计文件的结构图,在电路设计文件中,芯片100包括电路模块A、电路模块B、电路模块C、电路模块D和电路模块E,电路模块B中包括子模块B1和子模块B2。其中,电路模块A和子模块B1的时钟为第一时钟(第一时钟的时钟频率例如为3kHz),电路模块C和子模块B2的时钟为第二时钟(第二时钟的时钟频率例如为5kHz),电路模块D和电路模块E的时钟为第三时钟(第三时钟的时钟频率例如为7kHz)。在根据电路设计文件生成芯片100的版图时,由于子模块B1和子模块B2位于电路模块B中,子模块B1和子模块B2会被布局到版图中的同一个区域,使子模块B1和子模块B2相邻。在对版图中的各个电路模块划分电压域时,相邻的子模块B1和子模块B2会被划分到同一个电压域中。
在根据版图制造得到芯片100之后,在芯片100的运行过程中,可以通过提高芯片100中某个电路模块所在电压域的电压,提高该电路模块的时钟频率,进而提高芯片100的整体性能。例如,可以提高电路模块A所在电压域的电压,电路模块A所在电压域的电压被提高时,第一时钟的时钟频率被提高,电路模块A的运行频率提高,芯片100的整体性能提高,相应的电路模块A的功耗也增加。若电路模块A和子模块B1不在同一个电压域内,子模块B1所在电压域的电压需要同时提高,以保证子模块B1和电路模块A的时钟频率相同(第一时钟的时钟频率)。相应的,由于子模块B1所在电压域的电压被提高,子模块B2的时钟频率(第二时钟的时钟频率)也被提高,子模块B1和子模块B2的功耗同时增加。同理,若电路模块C和子模块B2不在同一个电压域内,为了保证子模块B2和电路模块C的时钟频率相同,电路模块C所在电压域的电压需要同时提高,电路模块C的功耗也增加。由此可知,当电路模块A所在电压域的电压被提高时,不仅会导致与电路模块A的时钟频率相同的子模块B1的功耗增加,同时会导致子模块B2和电路模块C的功耗增加,使整个芯片100的功耗大大增加,能耗比降低。因此,在芯片的运行过程中,在需要保证芯片功耗的情况下,无法灵活的调节电压域的电压,无法通过调节电压域电压的方式,调节芯片中各电路模块的时钟频率,提高芯片的整体性能。
同时,在芯片100的时序分析过程中,在对相同时钟频率的两个电路模块进行时序分析时,若两个电路模块在不同的电压域,则需要设置电压转换单元,通过电压转换单元使一个电路模块传输到另一个电路模块的信号的电压与另一个电路模块的电压相同后,才能进行时序分析,时序分析的操作繁琐,效率低下。例如,在对第一时钟下的电路模块A和子模块B1进行时序分析时,由于电路模块A和子模块B1在不同的电压域内,需要设置电压转换单元,使电路模块A传输到子模块B1的信号的电压与子模块B1的电压相同时,才能进行时序分析。
本发明实施例的核心构思之一在于,对电路设计文件进行重组,将相同时钟频率的电路模块组合为同一个电路模块,使电路设计文件中的每个时钟只对应一个电路模块,并且在根据重组后的电路设计文件进行版图设计时,为每个时钟对应的电路模块分别划分单独的电压域,从而使得在调节某个电路模块所在电压域的电压时,只需调节该电路模块所在电压域的电压,并不需要调节其他电压域的电压,可以避免大量的增加芯片功耗,从而可以提高芯片的能耗比,简化芯片的时序分析过程,提高时序分析效率。
需要说明的是,本发明实施例提供的芯片布局方法可以应用在电子设备中,具体的比如计算机,可以在实现芯片布局的同时,解决上述技术问题,达到降低芯片功耗、提高芯片能耗比的目的。
为解决上述问题,本实施例提供一种芯片布局方法,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图2,示出了本发明的一种芯片布局方法实施例的步骤流程图,应用于电子设备,可以包括如下步骤:
步骤201、获取电路设计文件和对应的约束文件。
其中,电路设计文件可以是用户通过电路图绘制软件(例如Virtuso绘制的电路原理图,或者使用硬件描述语言(例如HDL,Hardware Description Language)撰写的描述芯片的电路原理的逻辑代码,电路设计文件的具体形式可以根据需求选择。约束文件用于对电路设计文件中的电路特征进行描述,例如约束文件中可以包括电路设计文件中与时钟相关的信息,如每个时钟的时钟频率,每个时钟分别对应的时钟端口(时钟端口为电路模块中连接时钟信号的端口)等信息。对电路设计文件和约束文件的理解,可参考现有技术,本实施例对此不做限制。
本实施例中,电子设备可以接收用户输入的电路设计文件和约束文件,或者接收其他电子设备发送的电路设计文件和约束文件,电子设备获取电路设计文件和约束文件的过程可参考现有技术,本实施例对此不做限制。
步骤202、根据电路设计文件和约束文件,确定电路设计文件中每个时钟分别对应的所有电路模块。
本实施例中,电子设备在获取到电路设计文件和对应的约束文件之后,可以根据电路设计文件和约束文件确定电路设计文件中包括的所有时钟,每个时钟分别对应的电路模块,以及每个时钟的时钟频率。
示例的,电子设备在获取到芯片100的约束文件之后,可以对约束文件进行扫描,确定约束文件中包括的所有与时钟相关的信息,每个时钟的时钟频率,以及每个时钟分别对应的时钟端口。例如,电子设备可以对芯片100的约束文件进行扫描,确定第一时钟的标识和第一时钟的时钟频率(3kHz),同时确定第一时钟对应的时钟端口为端口A和端口B1。同时,电子设备可以对芯片100的逻辑代码进行扫描,确定逻辑代码中的每个电路模块,以及每个电路模块的时钟端口。例如,确定电路模块A的时钟端口为端口A,以及确定子模块B1的时钟端口为端口B1。电子设备根据约束文件中端口A和端口B1与第一时钟的对应关系,以及电路设计文件中电路模块A和子模块B1的时钟端口,可以确定第一时钟对应的所有电路模块,即电路模块A和子模块B1。同理,可以确定第二时钟对应的电路模块C和子模块B2,以及第三时钟对应的电路模块D和电路模块E。
以上仅为示例性举例,实际应用中,也可以通过其他方法根据电路设计文件和约束文件,确定电路设计文件中每个时钟分别对应的所有电路模块,本实施例对此不做限制。
步骤203、根据每个时钟分别对应的所有电路模块,对电路设计文件进行重组,得到重组后的电路设计文件。
本实施例中,电子设备可以根据电路设计文件中每个时钟分别对应的所有电路模块,对电路设计文件进行重组,分别将电路设计文件中每个时钟对应的所有电路模块组合为一个电路模块,即第一目标电路模块。
示例的,如图3所示,图3示出了本发明的一种重组后的电路设计文件的结构图,结合图1和图3,电子设备在确定第一时钟对应的电路模块A和子模块B1,第二时钟对应的电路模块C和子模块B2,以及确定第三时钟对应的电路模块D和电路模块E之后,可以将电路模块A和子模块B1组合为第一目标电路模块X,将电路模块C和子模块B2组合为第一目标电路模块Y,以及将电路模块D和电路模块E组合为第一目标电路模块Z,以得到重组后的电路设计文件。
在得到重组后的电路设计文件之后,可以根据重组后的电路设计文件进行版图设计,得到与重组后的电路设计文件对应的第一版图,即芯片100的版图。并在电压域的划分过程中,为第一版图中的每个第一目标电路模块分别设置独立的电压域。例如,在第一版图中可以为第一目标电路模块X设置第一电压域,为第一目标电路模块Y设置第二电压域,以及为第一目标电路模块Z设置第三电压域。其中,电路设计文件的版图设计和电压域划分过程与电路设计文件的重组过程可以由同一个电子设备执行,也可以由不同的电子设备执行。
结合上述举例,在图3所示的重组后的电路设计文件中,当需要提高电路模块A所在电压域的电压,以提高电路模块A的时钟频率(第一时钟的时钟频率)时,提高第一电压域的电压就可以同步提高电路模块A和子模块B1的时钟频率。同时,由于第二电压域和第三电压域中都未包括与第一时钟对应的电路模块,因此并不需要调节第二电压域和第三电压域的电压。在提高电路模块A的时钟频率时,只有电路模块A和子模块B1的功耗增加,子模块B2和电路模块C的功耗并未增加,避免了大量的增加芯片功耗,从而提高了芯片的能耗比。并且,由于第一时钟对应的电路模块A和子模块B1都位于第一电压域内,在对电路模块A和子模块B1进行时序分析时,电路模块A和子模块B1的电压相同,并不需要设置电压转换单元,可以简化芯片签核阶段的时序分析过程,提高时序分析效率。
综上所述,本实施例中,获取电路设计文件和对应的约束文件,根据电路设计文件和约束文件,确定电路设计文件中每个时钟分别对应的所有电路模块,将每个时钟对应的所有电路模块组合为一个电路模块,得到重组后的电路设计文件。在根据重组后的电路设计文件进行版图设计时,可以为每个电路模块分别设置独立的电压域,使得每个时钟只对应一个电压域,在调节某个电路模块所在电压域的电压时,只需调节该电压域的电压,并不需要调节其他电压域的电压。在通过调节某个电路模块所在电压域的电压,提高芯片的性能时,可以避免大量的增加芯片功耗,从而可以提高芯片的能耗比,并且可以简化芯片签核阶段的时序分析过程,提高时序分析效率。
参照图4,示出了本发明的另一种芯片布局方法实施例的步骤流程图,该方法具体可以包括如下步骤:
步骤401、获取电路设计文件和对应的约束文件。
步骤402、根据电路设计文件和约束文件,确定电路设计文件中每个时钟分别对应的所有电路模块。
步骤403、确定目标时钟对应的每个电路模块的逻辑连接信息。
其中,目标时钟为所有时钟中的任意一个时钟。逻辑连接信息描述了电路模块中端口的连接状态。结合图1,以电路模块A和电路模块B为例,子模块B1的逻辑连接信息可以描述子模块B1的端口通过电路模块B的端口1与芯片100的端口1连接的连接状态,子模块B2的逻辑连接信息可以描述子模块B2的端口通过电路模块B的端口2与芯片100的端口2连接的连接状态。同理,电路模块A的逻辑连接信息可以描述电路模块A的端口与芯片100的端口3连接的连接状态。实际应用中,每个电路模块的逻辑连接信息中包括的具体内容根据电路模块中每个端口的连接状态确定,本实施例对此不做限制。
本实施例中,在根据电路设计文件和约束文件,确定电路设计文件中每个时钟分别对应的所有电路模块之后,可以确定目标时钟对应的每个电路模块,以及每个电路模块的逻辑连接信息。例如,确定第一时钟对应的电路模块A和子模块B1,以及电路模块A的逻辑连接信息和子模块B1的逻辑连接信息。
步骤404、根据目标时钟对应的每个电路模块的逻辑连接信息,对目标时钟对应的所有电路模块进行组合,得到第一目标电路模块,以及第一目标电路模块的逻辑连接信息。
本实施例中,在确定目标时钟对应的每个电路模块的逻辑连接信息之后,可以根据目标时钟对应的每个电路模块的逻辑连接信息,将目标时钟对应的所有电路模块组合为第一目标电路模块,并得到第一目标电路模块的逻辑连接信息。
例如,在确定第一时钟对应的电路模块A和子模块B1,以及电路模块A的逻辑连接信息和子模块B1的逻辑连接信息之后,根据电路模块A和子模块B1的逻辑连接信息,可以确定由电路模块A和子模块B1组合得到的第一目标电路模块X中需要设置两组端口,一组端口用于连接电路模块A的端口与芯片100的端口3,一组端口用于连接子模块B1的端口和芯片100的端口1。在将电路模块A和子模块B1组合为第一目标电路模块X的过程中,可以在第一目标电路模块X中建立一组端口W和另一组端口Y,端口W用于连接电路模块A的端口与芯片100的端口3,端口Y用于连接子模块B1的端口和芯片100的端口1。同理,可以组合得到第一目标电路模块Y和第一目标电路模块Z。
步骤405、根据所有第一目标电路模块的逻辑连接信息调整电路设计文件的逻辑连接信息,得到重组后的电路设计文件。
本实施例中,在将目标时钟对应的所有电路模块组合为第一目标电路模块,以及生成第一目标电路模块的逻辑连接信息之后,可以根据所有第一目标电路模块的逻辑连接信息,调整电路设计文件的逻辑连接信息,以得到重组后的电路设计文件。具体的,结合步骤404,第一目标电路模块X的逻辑连接信息描述了第一目标电路模块X中电路模块A的端口通过第一目标电路模块X的端口W与芯片100的端口3连接的连接状态,以及第一目标电路模块X中子模块B1的端口通过第一目标电路模块X的端口Y与芯片100的端口1连接的连接状态,此时可以更新芯片100的逻辑连接信息,更新后的芯片100的逻辑连接信息中,芯片100的端口3与第一目标电路模块X中的端口W连接,芯片100的端口1与第一目标电路模块X中的端口Y连接。根据第一目标电路模块Y和第一目标电路模块Z的逻辑连接信息对芯片100的逻辑连接信息进行调整的过程可参考第一目标电路模块X,本实施例在此不做赘述。
步骤406、对第一目标电路模块进行逻辑综合,得到与第一目标电路模块对应的第一门级网表,以及对重组后的电路设计文件中除第一目标电路模块之外的电路模块进行逻辑综合,得到第二门级网表。
本实施例中,在得到重组后的电路设计文件之后,首先可以对每个第一目标电路模块进行逻辑综合,生成每个第一目标电路模块分别对应的第一门级网表,以及对重组后的电路设计文件中除第一目标电路模块之外的电路模块进行逻辑综合,得到第二门级网表。
例如,可以使用逻辑综合工具(例如Design Compiler),设定时序约束条件和面积约束条件,对第一目标电路模块X进行逻辑综合,将第一目标电路模块X由寄存器传输级(RTL,register transfer level)的逻辑代码编译为相应的电路功能块以及电路功能块之间的拓扑结构,并根据设定的时序约束条件和面积约束条件,对编译结果进行逻辑重组和优化;进一步的,根据逻辑重组和优化结果,通过设定的时序约束条件和面积约束条件,从预设目标工艺库中确定每个电路功能块分别对应的电路单元(例如RAM单元、I/O引脚单元),构成第一目标电路模块X对应的第一门级网表。同理,可以得到第一目标电路模块Y和第一目标电路模块Z分别对应的第一门级网表。
与此同时,可以对重组后的电路设计文件中除第一目标电路模块之外的电路模块进行逻辑综合,得到第二门级网表。实际应用中,重组后的电路设计文件中,除第一目标电路模块之外,还可以包括其他RTL级的逻辑代码,例如芯片100的端口1、端口2和端口3,可以同时对除所有第一目标电路模块之外的电路模块进行逻辑综合,得到对应的第二门级网表。重组后的电路设计文件中除第一目标电路模块之外的电路模块中包括的具体内容可以根据需求设置,本实施例对此不做限制。
步骤407、根据第一门级网表生成与第一目标电路模块对应的第一目标版图。
本实施例中,对第一目标电路模块进行逻辑综合,得到与第一目标电路模块对应的第一门级网表之后,可以根据第一门级网表进行版图设计。例如,可以使用布局布线工具(例如IC Compiler),进行布局规划,确定第一目标电路模块的尺寸,以及第一目标电路模块对应的第一门级网表中每个电路单元的放置位置,然后进行布线,确定各电路单元之间的电路连接线,生成第一门级网表对应的第一目标版图。具体根据第一门级网表进行版图设计,得到第一目标版图的过程可以根据需求设置,本实施例对此不做限制。
步骤408、根据第二门级网表和所有第一目标版图生成第一版图。
本实施例中,在得到每个第一目标电路模块分别对应的第一目标版图之后,可以根据第二门级网表和所有第一目标版图生成第一版图。具体的,首先可以根据第二门级网表和所有第一目标版图确定芯片100的面积,然后根据第二门级网表,确定第二门级网表中的电路单元在芯片中的位置,并确定每个第一目标版图在芯片中的位置,最后根据每个第一目标电路模块的逻辑连接信息,以及芯片的逻辑连接信息,确定芯片中各电路模块之间的布线。结合上述举例,第一目标电路模块X中的端口W与芯片100中的端口3连接,第一目标电路模块X中的端口Y与芯片100中的端口1连接,在根据第二门级网表和所有第一目标版图生成第一版图的过程中,首先可以确定芯片100的尺寸,然后确定第二门级网表中的电路单元,以及每个第一目标版图在芯片100中的位置,最后连接芯片中的端口3和第一目标版图中的端口1,以及连接芯片中的端口1和第一目标版图中的端口2,生成第一版图。具体根据第二门级网表和所有第一目标版图生成第一版图的过程可参考现有技术,本实施例对此不做限制。
步骤409、针对第一版图中的每个第一目标电路模块分别设置对应的电压域。
本实施例中,在得到所有第一门级网表和第二门级网表之后,分别根据每个第一门级网表进行版图设计,得到每个第一目标电路模块分别对应的第一目标版图,然后根据第二门级网表和所有第一目标版图生成第一版图。对每个第一目标电路模块分别进行逻辑综合和版图设计,可以降低逻辑综合和版图设计的难度,当第一目标电路模块的数量较多时,可以提高逻辑综合和版图设计的效率。
综上所述,本实施例中,获取电路设计文件和对应的约束文件,根据电路设计文件和约束文件,确定电路设计文件中每个时钟分别对应的所有电路模块,将每个时钟对应的所有电路模块组合为一个电路模块,得到重组后的电路设计文件。在根据重组后的电路设计文件进行版图设计时,可以为每个第一目标电路模块分别设置独立的电压域,使得每个时钟只对应一个电压域,在调节某个电路模块所在电压域的电压时,只需调节该电压域的电压,并不需要调节其他电压域的电压。在通过调节某个电路模块所在电压域的电压,提高芯片的性能时,可以避免大量的增加芯片功耗,从而可以提高芯片的能耗比,并且可以简化芯片签核阶段的时序分析过程,提高时序分析效率。
可选的,根据重组后的电路设计文件生成第一版图,并分别为第一版图中的每个第一目标电路模块设置对应的电压域的步骤,还可以通过如下方式实现:
对第一目标电路模块进行逻辑综合,得到与第一目标电路模块对应的第一门级网表,以及对重组后的电路设计文件中除第一目标电路模块之外的电路模块进行逻辑综合,得到第二门级网表;
根据所有第一门级网表和第二门级网表生成第三门级网表;
根据第三门级网表生成第一版图;
针对第一版图中的每个第一目标电路模块分别设置对应的电压域。
本实施例中,在生成每个第一目标电路模块分别对应的第一门级网表和第二门级网表之后,首先可以根据所有第一门级网表和第二门级网表生成第三门级网表,然后根据第三门级网表进行版图设计,得到第一版图。
实际应用中,当第一目标电路模块的数量较少时,首先可以生成包括所有电路模块的第三门级网表,然后根据第三门级网表进行版图设计生成第一版图,通过对多个电路模块统一进行版图设计,可以提高版图设计的效率。
可选的,该方法还可以包括:
根据第一版图确定需要创建过线逻辑的第二目标电路模块;
在重组后的电路设计文件中,为第二目标电路模块添加过线逻辑,以根据添加过线逻辑之后的电路设计文件生成第二版图,并针对第二版图中的每个第一目标电路模块分别设置对应的电压域。
本实施例中,在生成第一版图之后,可以根据各第一目标电路模块的端口位置和芯片的端口位置,在各个第一目标电路模块中确定需要创建过线逻辑的第二目标电路模块。其中,过线逻辑为需要在电路设计文件中添加的逻辑代码,用于描述设置在第二目标电路模块中的电路连接线,电路连接线用于连接除第二目标电路模块之外的其他电路模块。例如,若在第一版图中,第一目标电路模块Z位于第一目标电路模块X和第一目标电路模块Y之间,第一目标电路模块X和第一目标电路模块Y之间存在电路连接线,则可以确定需要在第一目标电路模块Z(第二目标电路模块)中创建过线逻辑,以在版图设计中通过过线逻辑进行布线,以连接第一目标电路模块X和第一目标电路模块Y。当需要创建过线逻辑时,可以在重组后的电路设计文件中的第一目标电路模块Z中添加过线逻辑,得到添加过线逻辑之后的电路设计文件,以根据添加过线逻辑后的电路设计文件进行版图设计,生成第二版图,并进行电压域的划分。实际应用中,根据第一版图确定需要创建过线逻辑的第二目标电路模块,在重组后的电路设计文件中添加过线逻辑,根据添加过线逻辑后的电路设计文件再次进行版图设计,生成第二版图,可以对重组后的电路设计文件进行调整,以合理的对芯片中的各个电路模块进行布局。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图5,示出了本发明的一种芯片布局装置实施例的结构框图,装置500设置于电子设备,具体可以包括如下模块:
获取模块501,用于获取电路设计文件和对应的约束文件。
确定模块502,用于根据电路设计文件和约束文件,确定电路设计文件中每个时钟分别对应的所有电路模块。
重组模块503,用于根据每个时钟分别对应的所有电路模块,对电路设计文件进行重组,得到重组后的电路设计文件,以根据重组后的电路设计文件生成第一版图,并分别为第一版图中的每个第一目标电路模块设置对应的电压域。
其中,第一目标电路模块根据电路设计文件中的目标时钟对应的所有电路模块组合得到,目标时钟为所有时钟中的任意一个时钟。
可选的,重组模块503具体用于确定目标时钟对应的每个电路模块的逻辑连接信息;根据目标时钟对应的每个电路模块的逻辑连接信息,对目标时钟对应的所有电路模块进行组合,得到第一目标电路模块,以及第一目标电路模块的逻辑连接信息;根据所有第一目标电路模块的逻辑连接信息调整电路设计文件的逻辑连接信息,得到重组后的电路设计文件。
可选的,装置500还可以包括:
第一综合模块,用于对第一目标电路模块进行逻辑综合,得到与第一目标电路模块对应的第一门级网表,以及对重组后的电路设计文件中除第一目标电路模块之外的电路模块进行逻辑综合,得到第二门级网表。
第一生成模块,用于根据第一门级网表生成与第一目标电路模块对应的第一目标版图。
第二生成模块,用于根据和所有第一目标版图生成第一版图。
第一设置模块,用于针对第一版图中的每个第一目标电路模块分别设置对应的电压域。
可选的,装置500还可以包括:
第二综合模块,用于对第一目标电路模块进行逻辑综合,得到与第一目标电路模块对应的第一门级网表,以及对重组后的电路设计文件中除第一目标电路模块之外的电路模块进行逻辑综合,得到第二门级网表。
第三生成模块,用于根据所有第一门级网表和第二门级网表,生成第三门级网表。
第四生成模块,用于根据第三门级网表生成第一版图。
第二设置模块,用于针对第一版图中的每个第一目标电路模块分别设置对应的电压域。
可选的,装置500还可以包括:
创建模块,用于根据第一版图确定需要创建过线逻辑的第二目标电路模块。
添加模块,用于在重组后的电路设计文件中,为第二目标电路模块添加过线逻辑,以根据添加过线逻辑之后的电路设计文件生成第二版图,并针对第二版图中的每个第一目标电路模块分别设置对应的电压域。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
图6是根据一示例性实施例示出的一种用于芯片布局的电子设备的结构框图。例如,电子设备600可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图6,电子设备600可以包括以下一个或多个组件:处理组件602,存储器604,电源组件606,多媒体组件608,音频组件610,输入/输出(I/O)的接口612,传感器组件614,以及通信组件616。
处理组件602通常控制电子设备600的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件602可以包括一个或多个处理器620来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件602可以包括一个或多个模块,便于处理组件602和其他组件之间的交互。例如,处理组件602可以包括多媒体模块,以方便多媒体组件608和处理组件602之间的交互。
存储器604被配置为存储各种类型的数据以支持在设备600的操作。这些数据的示例包括用于在电子设备600上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器604可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件606为电子设备600的各种组件提供电力。电源组件606可以包括电源管理系统,一个或多个电源,及其他与为电子设备600生成、管理和分配电力相关联的组件。
多媒体组件608包括在所述电子设备600和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件608包括一个前置摄像头和/或后置摄像头。当电子设备600处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件610被配置为输出和/或输入音频信号。例如,音频组件610包括一个麦克风(MIC),当电子设备600处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器604或经由通信组件616发送。在一些实施例中,音频组件610还包括一个扬声器,用于输出音频信号。
I/O接口612为处理组件602和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件614包括一个或多个传感器,用于为电子设备600提供各个方面的状态评估。例如,传感器组件614可以检测到设备600的打开/关闭状态,组件的相对定位,例如所述组件为电子设备600的显示器和小键盘,传感器组件614还可以检测电子设备600或电子设备600一个组件的位置改变,用户与电子设备600接触的存在或不存在,电子设备600方位或加速/减速和电子设备600的温度变化。传感器组件614可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件614还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件614还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件616被配置为便于电子设备600和其他设备之间有线或无线方式的通信。电子设备600可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信部件614经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信部件614还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备600可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器604,上述指令可由电子设备600的处理器620执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由终端的处理器执行时,使得终端能够执行一种启动应用程序的方法,所述方法包括:
获取电路设计文件和对应的约束文件。
根据电路设计文件和约束文件,确定电路设计文件中每个时钟分别对应的所有电路模块。
根据每个时钟分别对应的所有电路模块,对电路设计文件进行重组,得到重组后的电路设计文件,以根据重组后的电路设计文件生成第一版图,并分别为第一版图中的每个第一目标电路模块设置对应的电压域。
其中,第一目标电路模块根据电路设计文件中的目标时钟对应的所有电路模块组合得到,目标时钟为所有时钟中的任意一个时钟。
可选的,根据每个时钟分别对应的所有电路模块,对电路设计文件进行重组,得到重组后的电路设计文件,包括:
针对每个目标时钟,均执行如下操作:确定目标时钟对应的每个电路模块的逻辑连接信息;根据目标时钟对应的每个电路模块的逻辑连接信息,对目标时钟对应的所有电路模块进行组合,得到第一目标电路模块,以及第一目标电路模块的逻辑连接信息。
根据所有第一目标电路模块的逻辑连接信息调整电路设计文件的逻辑连接信息,得到重组后的电路设计文件。
可选的,根据重组后的电路设计文件生成第一版图,并分别为第一版图中的每个第一目标电路模块设置对应的电压域,包括:
对第一目标电路模块进行逻辑综合,得到与第一目标电路模块对应的第一门级网表,以及对重组后的电路设计文件中除第一目标电路模块之外的电路模块进行逻辑综合,得到第二门级网表。
根据第一门级网表生成与第一目标电路模块对应的第一目标版图。
根据第二门级网表和所有第一目标版图生成第一版图。
针对第一版图中的每个第一目标电路模块分别设置对应的电压域。
可选的,根据重组后的电路设计文件生成第一版图,并分别为第一版图中的每个第一目标电路模块设置对应的电压域,包括:
对第一目标电路模块进行逻辑综合,得到与第一目标电路模块对应的第一门级网表,以及对重组后的电路设计文件中除第一目标电路模块之外的电路模块进行逻辑综合,得到第二门级网表。
根据所有第一门级网表和第二门级网表,生成第三门级网表。
根据第三门级网表生成第一版图。
针对第一版图中的每个第一目标电路模块分别设置对应的电压域。
可选的,还可以包括:
根据第一版图确定需要创建过线逻辑的第二目标电路模块。
在重组后的电路设计文件中,为第二目标电路模块添加过线逻辑,以根据添加过线逻辑之后的电路设计文件生成第二版图,并针对第二版图中的每个第一目标电路模块分别设置对应的电压域。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以预测方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种芯片布局方法和装置、一种电子设备以及一种储存介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (12)
1.一种芯片布局方法,其特征在于,包括:
获取电路设计文件和对应的约束文件;
根据所述电路设计文件和所述约束文件,确定所述电路设计文件中每个时钟分别对应的所有电路模块;
根据所述每个时钟分别对应的所有电路模块,对所述电路设计文件进行重组,得到重组后的电路设计文件,以根据所述重组后的电路设计文件生成第一版图,并分别为所述第一版图中的每个第一目标电路模块设置对应的电压域;
其中,所述第一目标电路模块根据所述电路设计文件中的目标时钟对应的所有电路模块组合得到,所述目标时钟为所有所述时钟中的任意一个时钟。
2.根据权利要求1所述的方法,其特征在于,所述根据所述每个时钟分别对应的所有电路模块,对所述电路设计文件进行重组,得到重组后的电路设计文件,包括:
针对每个所述目标时钟,均执行如下操作:确定所述目标时钟对应的每个电路模块的逻辑连接信息;根据所述目标时钟对应的每个电路模块的逻辑连接信息,对所述目标时钟对应的所有电路模块进行组合,得到所述第一目标电路模块,以及所述第一目标电路模块的逻辑连接信息;
根据所有所述第一目标电路模块的逻辑连接信息调整所述电路设计文件的逻辑连接信息,得到所述重组后的电路设计文件。
3.根据权利要求1所述的方法,其特征在于,所述根据所述重组后的电路设计文件生成第一版图,并分别为所述第一版图中的每个第一目标电路模块设置对应的电压域,包括:
对所述第一目标电路模块进行逻辑综合,得到与所述第一目标电路模块对应的第一门级网表,以及对所述重组后的电路设计文件中除所述第一目标电路模块之外的电路模块进行逻辑综合,得到第二门级网表;
根据所述第一门级网表生成与所述第一目标电路模块对应的第一目标版图;
根据所述第二门级网表和所有所述第一目标版图生成所述第一版图;
针对所述第一版图中的每个所述第一目标电路模块分别设置对应的电压域。
4.根据权利要求1所述的方法,其特征在于,所述根据所述重组后的电路设计文件生成第一版图,并分别为所述第一版图中的每个第一目标电路模块设置对应的电压域,包括:
对所述第一目标电路模块进行逻辑综合,得到与所述第一目标电路模块对应的第一门级网表,以及对所述重组后的电路设计文件中除所述第一目标电路模块之外的电路模块进行逻辑综合,得到第二门级网表;
根据所有所述第一门级网表和所述第二门级网表,生成第三门级网表;
根据所述第三门级网表生成所述第一版图;
针对所述第一版图中的每个所述第一目标电路模块分别设置对应的电压域。
5.根据权利要求3或4所述的方法,其特征在于,还包括:
根据所述第一版图确定需要创建过线逻辑的第二目标电路模块;
在所述重组后的电路设计文件中,为所述第二目标电路模块添加所述过线逻辑,以根据添加过线逻辑之后的电路设计文件生成第二版图,并针对所述第二版图中的每个所述第一目标电路模块分别设置对应的电压域。
6.一种芯片布局装置,其特征在于,包括:
获取模块,用于获取电路设计文件和对应的约束文件;
确定模块,用于根据所述电路设计文件和所述约束文件,确定所述电路设计文件中每个时钟分别对应的所有电路模块;
重组模块,用于根据所述每个时钟分别对应的所有电路模块,对所述电路设计文件进行重组,得到重组后的电路设计文件,以根据所述重组后的电路设计文件生成第一版图,并分别为所述第一版图中的每个第一目标电路模块设置对应的电压域;
其中,所述第一目标电路模块根据所述电路设计文件中的目标时钟对应的所有电路模块组合得到,所述目标时钟为所有所述时钟中的任意一个时钟。
7.根据权利要求6所述的装置,其特征在于,所述重组模块,具体用于针对每个所述目标时钟,均执行如下操作:确定所述目标时钟对应的每个电路模块的逻辑连接信息;根据所述目标时钟对应的每个电路模块的逻辑连接信息,对所述目标时钟对应的所有电路模块进行组合,得到所述第一目标电路模块,以及所述第一目标电路模块的逻辑连接信息;根据所有所述第一目标电路模块的逻辑连接信息调整所述电路设计文件的逻辑连接信息,得到所述重组后的电路设计文件。
8.根据权利要求6所述的装置,其特征在于,还包括:
第一综合模块,用于对所述第一目标电路模块进行逻辑综合,得到与所述第一目标电路模块对应的第一门级网表,以及对所述重组后的电路设计文件中除所述第一目标电路模块之外的电路模块进行逻辑综合,得到第二门级网表;
第一生成模块,用于根据所述第一门级网表生成与所述第一目标电路模块对应的第一目标版图;
第二生成模块,用于根据所述第二门级网表和所有所述第一目标版图生成所述第一版图;
第一设置模块,用于针对所述第一版图中的每个所述第一目标电路模块分别设置对应的电压域。
9.根据权利要求6所述的装置,其特征在于,还包括:
第二综合模块,用于对所述第一目标电路模块进行逻辑综合,得到与所述第一目标电路模块对应的第一门级网表,以及对所述重组后的电路设计文件中除所述第一目标电路模块之外的电路模块进行逻辑综合,得到第二门级网表;
第三生成模块,用于根据所有所述第一门级网表和所述第二门级网表,生成第三门级网表;
第四生成模块,用于根据所述第三门级网表生成所述第一版图;
第二设置模块,用于针对所述第一版图中的每个所述第一目标电路模块分别设置对应的电压域。
10.根据权利要求8或9所述的装置,其特征在于,还包括:
创建模块,用于根据所述第一版图确定需要创建过线逻辑的第二目标电路模块;
添加模块,用于在所述重组后的电路设计文件中,为所述第二目标电路模块添加所述过线逻辑,以根据添加过线逻辑之后的电路设计文件生成第二版图,并针对所述第二版图中的每个所述第一目标电路模块分别设置对应的电压域。
11.一种电子设备,其特征在于,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
获取电路设计文件和对应的约束文件;
根据所述电路设计文件和所述约束文件,确定所述电路设计文件中每个时钟分别对应的所有电路模块;
根据所述每个时钟分别对应的所有电路模块,对所述电路设计文件进行重组,得到重组后的电路设计文件,以根据所述重组后的电路设计文件生成第一版图,并分别为所述第一版图中的每个第一目标电路模块设置对应的电压域;
其中,所述第一目标电路模块根据所述电路设计文件中的目标时钟对应的所有电路模块组合得到,所述目标时钟为所有所述时钟中的任意一个时钟。
12.一种可读存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如方法权利要求1-5中一个或多个所述的芯片布局方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011177717.5A CN114417773A (zh) | 2020-10-28 | 2020-10-28 | 一种芯片布局方法、装置、电子设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011177717.5A CN114417773A (zh) | 2020-10-28 | 2020-10-28 | 一种芯片布局方法、装置、电子设备和可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114417773A true CN114417773A (zh) | 2022-04-29 |
Family
ID=81260568
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011177717.5A Pending CN114417773A (zh) | 2020-10-28 | 2020-10-28 | 一种芯片布局方法、装置、电子设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114417773A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116542190A (zh) * | 2023-06-02 | 2023-08-04 | 英诺达(成都)电子科技有限公司 | 用户设计综合方法、装置、设备、介质及产品 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070143726A1 (en) * | 2005-12-15 | 2007-06-21 | Fujitsu Limited | Circuit design apparatus, circuit design program, and circuit design method |
JP2011107769A (ja) * | 2009-11-12 | 2011-06-02 | Renesas Electronics Corp | 半導体集積回路のレイアウト装置及びクロックゲーティング方法 |
US20120216165A1 (en) * | 2011-02-22 | 2012-08-23 | Mohd Mowardi Bin Mohd Razha | Reassembling scattered logic blocks in integrated circuits |
-
2020
- 2020-10-28 CN CN202011177717.5A patent/CN114417773A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070143726A1 (en) * | 2005-12-15 | 2007-06-21 | Fujitsu Limited | Circuit design apparatus, circuit design program, and circuit design method |
JP2011107769A (ja) * | 2009-11-12 | 2011-06-02 | Renesas Electronics Corp | 半導体集積回路のレイアウト装置及びクロックゲーティング方法 |
US20120216165A1 (en) * | 2011-02-22 | 2012-08-23 | Mohd Mowardi Bin Mohd Razha | Reassembling scattered logic blocks in integrated circuits |
Non-Patent Citations (2)
Title |
---|
张玲;罗静;: "百万门系统级芯片的后端设计", 电子与封装, no. 05, 20 May 2010 (2010-05-20) * |
黎铁军, 宋廷强, 李思昆: "一种基于组的时序驱动布局规划方法", 计算机工程与科学, no. 09, 30 September 2005 (2005-09-30) * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116542190A (zh) * | 2023-06-02 | 2023-08-04 | 英诺达(成都)电子科技有限公司 | 用户设计综合方法、装置、设备、介质及产品 |
CN116542190B (zh) * | 2023-06-02 | 2023-09-01 | 英诺达(成都)电子科技有限公司 | 用户设计综合方法、装置、设备、介质及产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108475184A (zh) | 电子设备及其应用数据显示方法 | |
CN109101352A (zh) | 算法架构、算法调用方法、装置、存储介质及移动终端 | |
CN105122780A (zh) | 电子设备以及用于控制该电子设备的方法 | |
KR20080003200A (ko) | 휴대 전자 시스템 | |
CN107463372B (zh) | 一种数据驱动的页面更新方法和装置 | |
CN116956792A (zh) | 门级网表的处理方法、装置、设备和存储介质 | |
KR20140095370A (ko) | 복수개의 색상을 이용한 qr 코드 생성 및 판독 방법과 그를 위한 단말기 | |
EP2442241A1 (en) | Mobile terminal and displaying method thereof | |
CN114417773A (zh) | 一种芯片布局方法、装置、电子设备和可读存储介质 | |
CN105468606B (zh) | 网页保存的方法及装置 | |
CN115964331A (zh) | 一种数据访问方法、装置及设备 | |
CN109522286B (zh) | 文件系统的处理方法和装置 | |
KR102188685B1 (ko) | 애플리케이션 패키지를 생성하는 장치 및 방법 | |
CN109582511B (zh) | 控制器的生成方法、装置及存储介质 | |
KR102026947B1 (ko) | 이동 단말기 및 이동 단말기의 제어 방법 | |
CN108076044A (zh) | 流服务方法和设备 | |
CN115878101A (zh) | 文件获取方法、装置、设备和存储介质 | |
CN113946624A (zh) | 分布式集群、信息处理方法、装置、电子设备及存储介质 | |
CN113391804A (zh) | 页面生成方法、装置、电子设备及存储介质 | |
CN207443004U (zh) | 一种基于外接mipi开关的四目摄像头 | |
CN118520825B (zh) | 片上网络的搭建方法、装置、设备及存储介质 | |
CN219303303U (zh) | 显示驱动芯片、显示面板和电子设备 | |
CN118095196A (zh) | 一种电路综合方法、装置、电子设备、存储介质及产品 | |
CN118585357B (zh) | 验证环境中的组件通信方法、装置、设备及存储介质 | |
KR20130091184A (ko) | 이동 단말기 및 그것의 도킹 시스템 |
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 |