CN116205198A - 基于动态规划的电路示意图模块列排序方法、设备和介质 - Google Patents
基于动态规划的电路示意图模块列排序方法、设备和介质 Download PDFInfo
- Publication number
- CN116205198A CN116205198A CN202310040114.8A CN202310040114A CN116205198A CN 116205198 A CN116205198 A CN 116205198A CN 202310040114 A CN202310040114 A CN 202310040114A CN 116205198 A CN116205198 A CN 116205198A
- Authority
- CN
- China
- Prior art keywords
- module
- column
- modules
- columns
- kth
- 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
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000010586 diagram Methods 0.000 title claims abstract description 40
- 238000012546 transfer Methods 0.000 claims abstract description 9
- 239000011159 matrix material Substances 0.000 claims description 9
- 239000000758 substrate Substances 0.000 claims 5
- 238000013461 design Methods 0.000 description 7
- 238000005457 optimization Methods 0.000 description 3
- 238000012163 sequencing technique Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012938 design process Methods 0.000 description 1
- 238000012942 design verification Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012800 visualization 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/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- 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
- G06F2111/00—Details relating to CAD techniques
- G06F2111/04—Constraint-based CAD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/10—Numerical modelling
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Architecture (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明涉及集成电路技术领域,尤其涉及一种基于动态规划的电路示意图模块列排序方法、设备和介质,方法包括:步骤S1、设置V1,z=0,k=2;步骤S2、基于预设的动态转移方程获取前k个模块列在第k个列模块Lk的第r种排列方式Dk,r下信号线交叉点数量的最小值Vk,r,以及Vk,r对应的前k个模块列的排序方式序列;步骤S3、若k<K,则设置k=k+1,返回执行步骤S2,若k=K,则获取Vk,r的最小值,并将Vk,r的最小值对应的当前的前k个模块列的排序方式序列、确定为目标电路示意图模块列排序。本发明减少了信号线之间的信号线交叉点的数量,提高了电路示意图的可读性。
Description
技术领域
本发明涉及集成电路技术领域,尤其涉及一种基于动态规划的电路示意图模块列排序方法、设备和介质。
背景技术
随着超大规模集成电路工艺技术的快速发展,芯片设计变得越来越复杂。芯片设计过程中需要借助电路图可视化工具来进行调试和验证,以辅助用户发现设计中的潜在问题,提高开发效率。生成电路示意图需要确定模块列排序,然后在进行电路原理图的路由规划,电路原理图的路由规划是指在给定的两个或多个电路模块之间,通过特定的算法和约束,将模块之间的连接关系用若干个水平或垂直的信号线表示出来,方便用户了解各个模块间的逻辑与层次结构设计。在调试验证工具中的电路示意图不同于后端的布线布局图,力求用最小的空间完成所有信号线的路由规划,电路示意图服务于设计验证阶段,不仅对空间有要求,还需要能清晰准确地描述出芯片设计中各个模块之间的连接关系,还需要清晰呈现整个设计的层次结构。电路示意图不同信号线之间的信号线交叉点越少,电路示意图的可读性越高,不同的模块列排序会对应不同的信号线之间的信号线交叉点数量,如何调整不同的模块列排序,减少信号线之间的信号线交叉点,提高电路示意图的可读性成为亟待解决的技术问题。
发明内容
本发明目的在于,提供一种基于动态规划的电路示意图模块列排序方法、设备和介质,减少了信号线之间的信号线交叉点的数量,提高了电路示意图的可读性。
根据本发明第一方面,提供了一种基于动态规划的电路示意图模块列排序方法,所述电路示意图包括K个模块列{L1,L2,…,Lk,…,LK},其中,Lk为第k个模块列,Lk中包括f(k)个模块,第k个模块列包括f(k)!种排列方式{Dk,1,Dk,2,…,Dk,x,…,Dk,f(k)!},Dk,x为第k个模块列的第x种排列方式,x的取值范围为1到f(k)!,f(k)!表示f(k)的阶乘;
所述方法包括以下步骤:
步骤S1、设置V1,z=0,k=2;
步骤S2、基于预设的动态转移方程获取前k个模块列在第k个列模块Lk的第r种排列方式Dk,r下信号线交叉点数量的最小值Vk,r,以及Vk,r对应的前k个模块列的排序方式序列(D1,x1,D2,x2,…,Dv,xv,…,Dk,r),所述预设的动态转移方程为:
Vk,r=min{Vk-1,z+Xk-1,z,r|z=1,2,…,f(k-1)!}
其中,Vk-1,z为前k-1个模块列在第k-1个模块列Lk-1在第z种排列方式Dk-1,z下信号线交叉点的最小值;Xk-1,z,r为第k-1个模块列Lk-1在第z种排列方式Dk-1,z下,第k个模块列Lk在第r种排列方式Dk,r下,第k-1个模块列Lk-1和第k个模块列Lk之间信号线交叉点的数量;min{}表示取大括号中的最小值;r的取值范围为1到f(k)!;Dv,xv为Vk,r对应的第v个模块列对应的排序方式,v的取值范围为1到k,xv为1到f(v)!中的一个值;
步骤S3、若k<K,则设置k=k+1,返回执行步骤S2,若k=K,则获取Vk,r的最小值,并将Vk,r的最小值对应的当前的前k个模块列的排序方式序列(D1,x1,D2,x2,…,Dv,xv,…,Dk,r)确定为目标电路示意图模块列排序。
根据本发明第二方面,提供一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被设置为用于执行本发明第一方面所述的方法。
根据本发明第三方面,提供一种计算机可读存储介质,所述计算机指令用于执行本发明第一方面所述的方法。
本发明与现技术相比具有明显的优点和有益效果。借由上述技术方案,本发明提供的一种基于动态规划有的电路示意图模块列排序方法、设备和介质可达到相当的技术进步性及实用性,并具有产业上的广泛利用价值,其至少具有以下有益效果:
本发明基于动态规划的方式优化了模块列内部模块的排序方法,有效减少了不同信号线连接线路之间的交叉点数量,提高了电路示意图的可读性,进而大幅度提升了用户对芯片设计的验证调试效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的基于动态规划的电路示意图模块列排序方法流程图;
图2为本发明实施例提供的未经本发明优化电路示意图;
图3为本发明实施例提供的图2经过本发明优化的电路示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种基于动态规划的电路示意图模块列排序方法,所述电路示意图包括K个模块列{L1,L2,…,Lk,…,LK},其中,Lk为第k个模块列,Lk中包括f(k)个模块,可以理解的是,f(k)为变值,即k取不同值的时候,f(k)的值可能不同,即不同模块列的模块数量可能不同,也可能相同。第k个模块列包括f(k)!种排列方式{Dk,1,Dk,2,…,Dk,x,…,Dk,f(k)!},Dk,x为第k个模块列的第x种排列方式,x的取值范围为1到f(k)!,f(k)!表示f(k)的阶乘,f(k)!=f(k)*[f(k)-1]*[f(k)-2]*…*2*1。需要说明的是,电路示意图仅在相邻的模块列之间建立模块之间的连接,不会跨模块列建立连接。
如图1所示,所述方法包括以下步骤:
步骤S1、设置V1,z=0,k=2。
其中,V1,z为前1列模块在第1个列模块L1的第z种排列方式下信号线交叉点数量,可以理解的是,此时仅有一列模块,不存在交叉点,因此,V1,z=0。
步骤S2、基于预设的动态转移方程获取前k个模块列在第k个列模块Lk的第r种排列方式Dk,r下信号线交叉点数量的最小值Vk,r,以及Vk,r对应的前k个模块列的排序方式序列(D1,x1,D2,x2,…,Dv,xv,…,Dk,r),所述预设的动态转移方程为:
Vk,r=min{Vk-1,z+Xk-1,z,r|z=1,2,…,f(k-1)!}
其中,Vk-1,z为前k-1个模块列在第k-1个模块列Lk-1在第z种排列方式Dk-1,z下信号线交叉点的最小值;Xk-1,z,r为第k-1个模块列Lk-1在第z种排列方式Dk-1,z下,第k个模块列Lk在第r种排列方式Dk,r下,第k-1个模块列Lk-1和第k个模块列Lk之间信号线交叉点的数量;min{}表示取大括号中的最小值;r的取值范围为1到f(k)!;Dv,xv为Vk,r对应的第v个模块列对应的排序方式,v的取值范围为1到k,xv为1到f(v)!中的一个值。
步骤S3、若k<K,则设置k=k+1,返回执行步骤S2,若k=K,则获取Vk,r的最小值,并将Vk,r的最小值对应的当前的前k个模块列的排序方式序列(D1,x1,D2,x2,…,Dv,xv,…,Dk,r)确定为目标电路示意图模块列排序。
需要说明的是,未经排序的模块列可能会与相邻的模块列产生大量的信号线交叉点,本发明将减少信号线交叉点排序的过程简化为一个多级状态优化问题,通过动态规划方式将多级状态优化问题划分为多个子结构来解决问题。可以理解的是,通过预设的动态转移方程能够将(Vk-1,z+Xk-1,z,r)的最小取值确定为Vk,r,基于(Vk-1,z+Xk-1,z,r)的最小取值能够确定第k个列模块Lk的第r种排列方式Dk,r下信号线交叉点数量的最小值Vk,r,供下一轮预设的动态转移方程计算使用,当k=K时,通过预设的动态转移方程能够计算出第K个列模块LK的每种排列方式下对应的前K个模块列的最小交叉点数量,然后从第K个列模块所有排列方式下对应的前K个模块列的最小交叉点数量中选取最小的交叉点数量对应的前k个模块列的排序方式序列(D1,x1,D2,x2,…,Dv,xv,…,Dk,r),即为目标电路示意图模块列排序。
作为一种实施例,所述步骤S2还包括:
步骤S21、获取当第k-1个模块列Lk-1的排序方式为Dk-1,z,第k个模块列Lk的排序方式为Dk,r时,第k-1个模块列Lk-1的第i个模块与第k个模块列Lk的第j个模块的连接标识Ci,j,以及第k-1个模块列Lk-1的第s个模块与第k个模块列Lk的第t个模块的连接标识Cs,t,其中,s>i,j>t,第Lk-1若两个模块相连,则对应的连接标识为1,若两个模块不相连,则对应的连接标识为0。
需要说明的是,第k-1个模块列Lk-1中的第i个模块始终排列在第s个模块之前,第k个模块列Lk的第t个模块始终排列在第j个模块之前,这样使得只有在第k-1个模块列Lk-1中的第i个模块与第k个模块列Lk的第j个模块相连,且在第k-1个模块列Lk-1中的s个模块与第k个模块列Lk的第t个模块相连时,Ci,j和Cs,t的相乘结果为1,对应的在第k-1个模块列Lk-1和第k个模块列Lk之间会产生一个信号线交叉点,其他情况下,Ci,j和Cs,t的相乘结果为0,通过步骤S322中的公式,即可遍历所有的Ci,j和Cs,t,确定当第k-1个模块列Lk-1的排序方式为Dk-1,z,第k个模块列Lk的排序方式为Dk,r时,第k-1个模块列Lk-1和第k个模块列Lk之间的信号线交叉点总数。
步骤S22、基于Ci,j和Cs,t确定Xk-1,z,r:
其中,f(k-1)为第k-1个模块列的模块数量,f(k)为第k个模块列的模块数量。
可以理解的是,通过步骤S322可以确定第k-1个模块列Lk-1和第k个模块列在任何一种排列组合下所对应的信号线交叉点总数。
需要说明的是,现有的所有获取Ci,j和Cs,t的方式全部落入本发明的保护范围之内,为了进一步提高获取Ci,j和Cs,t的准确度和效率,作为一种实施例,所述步骤S21包括:
步骤S211、获取当第k-1个模块列Lk-1的排序方式为Dk-1,z,第k个模块列Lk的排序方式为Dk,r时,第k-1个模块列Lk-1和第k个模块列Lk之间的邻接矩阵Ck-1:
其中,邻接矩阵中的Cm,n为第k-1个模块列Lk-1的第m个模块与第k个模块列Lk的第n个模块的连接标识,若第k-1个模块列Lk-1的第m个模块与第k个模块列Lk的第n个模块相连接,则Cm,n=1,若第k-1个模块列Lk-1的第m个模块与第k个模块列Lk的第n个模块不相连,则Cm,n=0,m的取值范围为1到f(k-1),n的取值范围为1到f(k),任何两个模块之间的连接关系为已知参数。
步骤S212、基于第k-1个模块列Lk-1和第k个模块列Lk之间的邻接矩阵Ck-1,获取Ci,j和Cs,t。
通过邻接矩阵能够准确快速获取Ci,j和Cs,t。
作为一种示例,所述方法还包括:
步骤S0、获取所述电路示意图对应的所有电路模块,将电路模块划分为不同的层次,层次相同的模块属于同一个模块列,按照模块列的排列顺序生成所述K个模块列{L1,L2,…,Lk,…,LK}。
需要说明的是,现有的所有根据电路模块之间的连接关系将电路模块合理划分层次的方式全部落入本发明的保护范围之内,在此不再一一展开描述。
作为一种示例,所述步骤S3中,将当前的前k个模块列的排序方式序列(D1,x1,D2,x2,…,Dv,xv,…,Dk,r)确定为目标电路示意图模块列排序,包括:
步骤S31、v从1开始取值直至v=K,按照Dv,xv,将第v个模块列的模块排序,生成第v个模块列。
步骤S32、对排序后的K个模块列中的模块左对齐调整,生成电路示意图的K个目标模块列。
其中,通过对排序后的K个模块列中的模块左对齐调整能够实时的电路示意图的模块列的模块排序更加整齐,增加最终生成的电路示意图的可读性。
作为一种示例,所述步骤S3还包括:
步骤S33、基于相邻目标模块列的模块之间的信号线连接关系,建立相邻目标模块列的模块之间信号线连接,生成目标电路示意图。
现有的所有基于相邻目标模块列的模块之间的信号线连接关系,建立相邻目标模块列的模块之间信号线连接的方式全部落入本发明保护范围之内,本发明不再一一赘述。可以理解的是,建立基于相邻目标模块列的模块之间的信号线连接的过程中需要遵循不同信号线连接线路之间的相互交叉尽可能少,信号线的连接线路尽可能短,信号线的连接线路弯折次数尽可能少,信号线的连接线路的分支尽可能少等约束条件。可以理解的是,本发明实施例在模块列排序阶段已经尽可能减少了可能产生信号线交叉点的数量,在信号线布线阶段,可以进一步基于信号线布线的方式,进一步减少信号线交叉点的数量,本发明对此不做进一步限定。
以下通过一个具体实施例来进一步说明本发明,如图2所示示例,电路示意图包括4个模块列,每个模块列包括3个模块,需要说明的是,图2所示示例中,每一模块列的模块数量相等,但实际应用中也可以设置为模块数量不相等。图2所示示例中,第一个模块列(图2中的模块列1)包括模块1.1,模块1.2和模块1.3。第二个模块列(图2中的模块列2)包括模块2.1,模块2.2和模块2.3。第三个模块列(图2中的模块列3)包括模块3.1,模块3.2和模块3.3。第四个模块列(图2中的模块列4)包括模块4.1,模块4.2和模块4.3。图2为未经过本发明优化的情况下模块之间的连接关系,共存在11个信号线交叉点。
图2所示的模块排列情况下,通过步骤S211可以得到对应的邻接矩阵:
其他模块排列情况下对应的连接矩阵也可通过步骤S211可以得到,不再一一列举。
由于每一个模块列均有3个模块,因此,第k模块列均存在3!=6种排列方式:
Dk,1=mk1mk2mk3 Dk,2=mk1mk3mk2
Dk,3=mk2mk1mk3 Dk,4=mk2mk3mk1
Dk,5=mk3mk1mk2 Dk,6=mk3mk2mk1
其中,Dk,x为第k个模块列的第x种排列方式,mki为第k个模块列的第i个模块。需要说明的是,无论模块列的模块排序如何调整,模块之间的连接关系始终不变。图2所示的排列方式为(D1,1,D2,1,D3,1,D4,1)组合下的排序结果。
通过本发明步骤S2可以计算出:
V1,1=0,V1,2=0,V1,3=0,V1,4=0,V1,5=0,V1,6=0
V2,1=0,V2,2=0,V2,3=1,V2,4=0,V2,5=1,V2,6=0
V3,1=0,V3,2=1,V3,3=1,V3,4=1,V3,5=1,V3,6=0
V4,1=2,V4,2=4,V4,3=2,V4,4=4,V4,5=2,V4,6=2
由此可知V4,r的最小值为2,当存在多个最小值时,可以从中选择一个最小值对应的排列顺序即可,本示例中,选取V4,1对应的当前的前k个模块列的排序方式序列(D1,2,D2,5,D3,4,D4,1),基于(D1,2,D2,5,D3,4,D4,1)生成对应的电路示意图,如图3所示。通过对比图2和图3可知,经过本发明优化后的模块列的排序方式使得信号线交叉点的数量从11减少至2,有效提高了电路示意图的可读性。
需要说明的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时处理可以被终止,但是还可以具有未包括在附图中的附加步骤。处理可以对应于方法、函数、规程、子例程、子程序等等。
本发明实施例还提供一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被设置为用于执行本发明实施例所述的方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机指令用于执行本发明实施例所述的方法。
本发明实施例基于动态规划的方式优化了模块列内部模块的排序方法,有效减少了不同信号线连接线路之间的交叉点数量,提高了电路示意图的可读性,进而大幅度提升了用户对芯片设计的验证调试效率。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (8)
1.一种基于动态规划的电路示意图模块列排序方法,其特征在于,
所述电路示意图包括K个模块列{L1,L2,…,Lk,…,LK},其中,Lk为第k个模块列,k的取值范围为1到K,Lk中包括f(k)个模块,第k个模块列包括f(k)!种排列方式{Dk,1,Dk,2,…,Dk,x,…,Dk,f(k)!},Dk,x为第k个模块列的第x种排列方式,x的取值范围为1到f(k)!,f(k)!表示f(k)的阶乘;
所述方法包括以下步骤:
步骤S1、设置V1,z=0,k=2;
步骤S2、基于预设的动态转移方程获取前k个模块列在第k个列模块Lk的第r种排列方式Dk,r下信号线交叉点数量的最小值Vk,r,以及Vk,r对应的前k个模块列的排序方式序列(D1,x1,D2,x2,…,Dv,xv,…,Dk,r),所述预设的动态转移方程为:
Vk,r=min{Vk-1,z+Xk-1,z,r|z=1,2,…,f(k-1)!}
其中,Vk-1,z为前k-1个模块列在第k-1个模块列Lk-1在第z种排列方式Dk-1,z下信号线交叉点的最小值;Xk-1,z,r为第k-1个模块列Lk-1在第z种排列方式Dk-1,z下,第k个模块列Lk在第r种排列方式Dk,r下,第k-1个模块列Lk-1和第k个模块列Lk之间信号线交叉点的数量;min{}表示取大括号中的最小值;r的取值范围为1到f(k)!;Dv,xv为Vk,r对应的第v个模块列对应的排序方式,v的取值范围为1到k,xv为1到f(v)!中的一个值;
步骤S3、若k<K,则设置k=k+1,返回执行步骤S2,若k=K,则获取Vk,r的最小值,并将Vk,r的最小值对应的当前的前k个模块列的排序方式序列(D1,x1,D2,x2,…,Dv,xv,…,Dk,r)确定为目标电路示意图模块列排序。
3.根据权利要求2所述的方法,其特征在于,
所述步骤S21包括:
步骤S211、获取当第k-1个模块列Lk-1的排序方式为Dk-1,z,第k个模块列Lk的排序方式为Dk,r时,第k-1个模块列Lk-1和第k个模块列Lk之间的邻接矩阵Ck-1:
其中,邻接矩阵中的Cm,n为第k-1个模块列Lk-1的第m个模块与第k个模块列Lk的第n个模块的连接标识,若第k-1个模块列Lk-1的第m个模块与第k个模块列Lk的第n个模块相连接,则Cm,n=1,若第k-1个模块列Lk-1的第m个模块与第k个模块列Lk的第n个模块不相连,则Cm,n=0,m的取值范围为1到f(k-1),n的取值范围为1到f(k),任何两个模块之间的连接关系为已知参数;
步骤S212、基于第k-1个模块列Lk-1和第k个模块列Lk之间的邻接矩阵Ck-1,获取Ci,j和Cs,t。
4.根据权利要求1所述的方法,其特征在于,
所述方法还包括:
步骤S0、获取所述电路示意图对应的所有电路模块,将电路模块划分为不同的层次,层次相同的模块属于同一个模块列,按照模块列的排列顺序生成所述K个模块列{L1,L2,…,Lk,…,LK}。
5.根据权利要求1所述的方法,其特征在于,
所述步骤S3中,将当前的前k个模块列的排序方式序列(D1,x1,D2,x2,…,Dv,xv,…,Dk,r)确定为目标电路示意图模块列排序,包括:
步骤S31、v从1开始取值直至v=K,按照Dv,xv,将第v个模块列的模块排序,生成第v个模块列;
步骤S32、对排序后的K个模块列中的模块左对齐调整,生成电路示意图的K个目标模块列。
6.根据权利要求1所述的方法,其特征在于,
所述步骤S3还包括:
步骤S33、基于相邻目标模块列的模块之间的信号线连接关系,建立相邻目标模块列的模块之间信号线连接,生成目标电路示意图。
7.一种电子设备,其特征在于,包括:
至少一个处理器;
以及,与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被设置为用于执行前述权利要求1-6任一项所述的方法。
8.一种计算机可读存储介质,其特征在于,存储有计算机可执行指令,所述计算机可执行指令用于执行前述权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310040114.8A CN116205198B (zh) | 2023-01-11 | 2023-01-11 | 基于动态规划的电路示意图模块列排序方法、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310040114.8A CN116205198B (zh) | 2023-01-11 | 2023-01-11 | 基于动态规划的电路示意图模块列排序方法、设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116205198A true CN116205198A (zh) | 2023-06-02 |
CN116205198B CN116205198B (zh) | 2024-02-27 |
Family
ID=86507070
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310040114.8A Active CN116205198B (zh) | 2023-01-11 | 2023-01-11 | 基于动态规划的电路示意图模块列排序方法、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116205198B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4745546A (en) * | 1982-06-25 | 1988-05-17 | Hughes Aircraft Company | Column shorted and full array shorted functional plane for use in a modular array processor and method for using same |
CN101706834A (zh) * | 2009-11-26 | 2010-05-12 | 杭州电子科技大学 | 电力调度大屏输电网单线图的自动布局方法 |
CN109284578A (zh) * | 2018-02-27 | 2019-01-29 | 上海安路信息科技有限公司 | 逻辑电路布局布线方法、图形化显示方法及其*** |
CN112445621A (zh) * | 2020-11-30 | 2021-03-05 | 海光信息技术股份有限公司 | 静态路由规划方法、装置、电子设备、存储介质 |
CN113919279A (zh) * | 2021-12-09 | 2022-01-11 | 深圳佑驾创新科技有限公司 | 高效pcb布局方法、装置、设备及计算机可读存储介质 |
CN114297258A (zh) * | 2021-12-28 | 2022-04-08 | 上海右云信息技术有限公司 | 一种获取多列数据的综合排列数据的方法与设备 |
CN114564905A (zh) * | 2022-02-25 | 2022-05-31 | 东南大学 | 一种基于迭代禁忌搜索算法的电路示意图布局布线方法 |
CN115544947A (zh) * | 2022-11-02 | 2022-12-30 | 西安电子科技大学广州研究院 | 基于遗传算法的大规模集成电路布局优化方法 |
-
2023
- 2023-01-11 CN CN202310040114.8A patent/CN116205198B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4745546A (en) * | 1982-06-25 | 1988-05-17 | Hughes Aircraft Company | Column shorted and full array shorted functional plane for use in a modular array processor and method for using same |
CN101706834A (zh) * | 2009-11-26 | 2010-05-12 | 杭州电子科技大学 | 电力调度大屏输电网单线图的自动布局方法 |
CN109284578A (zh) * | 2018-02-27 | 2019-01-29 | 上海安路信息科技有限公司 | 逻辑电路布局布线方法、图形化显示方法及其*** |
CN112445621A (zh) * | 2020-11-30 | 2021-03-05 | 海光信息技术股份有限公司 | 静态路由规划方法、装置、电子设备、存储介质 |
CN113919279A (zh) * | 2021-12-09 | 2022-01-11 | 深圳佑驾创新科技有限公司 | 高效pcb布局方法、装置、设备及计算机可读存储介质 |
CN114297258A (zh) * | 2021-12-28 | 2022-04-08 | 上海右云信息技术有限公司 | 一种获取多列数据的综合排列数据的方法与设备 |
CN114564905A (zh) * | 2022-02-25 | 2022-05-31 | 东南大学 | 一种基于迭代禁忌搜索算法的电路示意图布局布线方法 |
CN115544947A (zh) * | 2022-11-02 | 2022-12-30 | 西安电子科技大学广州研究院 | 基于遗传算法的大规模集成电路布局优化方法 |
Non-Patent Citations (3)
Title |
---|
FAHAD ALIF, A.F.M: "Design and implementation of sorting algorithms based on FPGA", 2019 INTERNATIONAL CONFERENCE ON COMPUTER, COMMUNICATION, CHEMICAL, MATERIALS AND ELECTRONIC ENGINEERING (IC4ME2), vol. 2019, pages 1 - 4, XP033741569, DOI: 10.1109/IC4ME247184.2019.9036675 * |
赵越;李培;王震;王平;: "单线图动态规划最优布局成图技术", 计算机***应用, no. 03, pages 249 - 254 * |
黄钢, 洪先龙, 乔长阁, 蔡懿慈: "带软模块的VLSI布图规划优化设计", 计算机辅助设计与图形学学报, no. 02, pages 39 - 43 * |
Also Published As
Publication number | Publication date |
---|---|
CN116205198B (zh) | 2024-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7159202B2 (en) | Methods, apparatus and computer program products for generating selective netlists that include interconnection influences at pre-layout and post-layout design stages | |
US6532572B1 (en) | Method for estimating porosity of hardmacs | |
CN108897716B (zh) | 通过存储器读写操作来缩减计算量的数据处理装置及方法 | |
CN108180918A (zh) | 一种点云测地路径正向跟踪生成方法及装置 | |
US11663383B2 (en) | Method and system for hierarchical circuit simulation using parallel processing | |
US7003745B2 (en) | Performance modeling for circuit design | |
CN109684731A (zh) | 一种高效的详细布线驱动轨道分配算法 | |
CN112257366A (zh) | 一种用于等价性验证的cnf生成方法及*** | |
CN106156857A (zh) | 用于混合模型选择的方法和装置 | |
CN115146580A (zh) | 基于特征选择和深度学习的集成电路路径延时预测方法 | |
JP2021532605A (ja) | 二進コードによるデジタル集積回路の配線方法および端末装置 | |
CN116205198B (zh) | 基于动态规划的电路示意图模块列排序方法、设备和介质 | |
US11675951B2 (en) | Methods and systems for congestion prediction in logic synthesis using graph neural networks | |
CN111797588B (zh) | 一种形式验证比较点匹配方法、***、处理器及存储器 | |
CN112513861A (zh) | 使用并行处理进行层次电路模拟的方法和*** | |
JPH0850600A (ja) | データパス自動配置方法及びその装置 | |
US7424461B2 (en) | Multi-module genetic programming with multiple genetic data representations | |
CN107561852A (zh) | 播种进入光学临近校正(opc)处理的***和方法 | |
CN116011395A (zh) | 基于模块交换的电路示意图模块列排序方法、设备和介质 | |
Allen | Adaptive Nonconvex Optimization for AI and Machine Learning, I | |
JP2009104403A (ja) | 再構成ユニットによる解探索の方法およびデータ処理装置 | |
CN111428436A (zh) | 一种程序化分析集成电路线路结构的方法 | |
CN111291529A (zh) | 一种基于多阶段模拟退火的静态异构可重构阵列布局方法 | |
CN118278327A (zh) | 逻辑层芯片设计信息分组处理方法、电子设备和介质 | |
CN116127902A (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 |