CN116956807B - 芯片设计的全局布线拥塞图确定方法及相关设备 - Google Patents
芯片设计的全局布线拥塞图确定方法及相关设备 Download PDFInfo
- Publication number
- CN116956807B CN116956807B CN202311206708.8A CN202311206708A CN116956807B CN 116956807 B CN116956807 B CN 116956807B CN 202311206708 A CN202311206708 A CN 202311206708A CN 116956807 B CN116956807 B CN 116956807B
- Authority
- CN
- China
- Prior art keywords
- winding
- target
- congestion
- grid
- result
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000013461 design Methods 0.000 title claims abstract description 56
- 238000010586 diagram Methods 0.000 title claims abstract description 38
- 238000004804 winding Methods 0.000 claims abstract description 426
- 238000003860 storage Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 6
- 230000004044 response Effects 0.000 claims 7
- 238000004364 calculation method Methods 0.000 description 26
- 238000012545 processing Methods 0.000 description 9
- 230000002093 peripheral effect Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 238000005457 optimization Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000011960 computer-aided design Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013215 result calculation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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
Abstract
本申请提供的一种芯片设计的全局布线拥塞图确定方法及相关设备,该方法包括:根据经过全局网格划分的芯片设计版图确定全局网格划分结果;根据全局网格划分结果,确定目标绕线层对应的绕线信息以及目标绕线层中目标网格的绕线资源信息;根据绕线信息以及绕线资源信息,确定目标网格对应的拥塞结果;以及,根据拥塞结果确定预设形状的显示标识,并在目标网格中沿其所在的目标绕线层的绕线方向,显示显示标识以及拥塞结果以得到拥塞图。
Description
技术领域
本申请涉及芯片设计技术领域,尤其涉及一种芯片设计的全局布线拥塞图确定方法及相关设备。
背景技术
电子设计自动化(Electronic Design Automation,简称EDA),是指利用计算机辅助设计(CAD)软件,来完成超大规模集成电路(VLSI)芯片的功能设计、综合、验证、物理设计(包括布局、布线、版图、设计规则检查等)等流程的设计方式。
其中,布线是处于布局和时钟树综合之后的重要物理实施任务,由于布线过程的复杂性,布线在实施过程中一般会分为全局布线和详细布线。其中,全局布线的主要结果包括每个网线(Net)基于全局网格(Global GCell)的路线规划以及整个芯片的全局绕线拥塞图(Global Routing Congestion Map)。然而相关技术中,利用EDA软件对于拥塞图的展示时,通常仅仅在全局网格边界上用无宽度线条和数字表示,存在着无法快速分辨所展示的拥塞结果对应的全局网格的问题。另一些相关技术中则是在全局网格的中心点画无宽度线条,然而也存在着无法直观地展示拥塞结果的具体数值的问题。
发明内容
有鉴于此,本申请提出一种芯片设计的全局布线拥塞图确定方法及相关设备,以解决或部分解决上述问题。
基于上述目的,本申请第一方面,提供了一种芯片设计的全局布线拥塞图确定方法,包括:
根据经过全局网格划分的芯片设计版图确定全局网格划分结果;
根据所述全局网格划分结果,确定目标绕线层对应的绕线信息以及所述目标绕线层中目标网格的绕线资源信息;
根据所述绕线信息、所述索引坐标以及所述绕线资源信息,确定所述目标网格对应的拥塞结果;以及,
根据所述拥塞结果确定预设形状的显示标识,并在所述目标网格中沿其所在的目标绕线层的绕线方向,显示所述显示标识以及所述拥塞结果以得到拥塞图。
本申请第二方面,提供了一种计算机设备,包括一个或者多个处理器、存储器;和一个或多个程序,其中所述一个或多个程序被存储在所述存储器中,并且被所述一个或多个处理器执行,所述程序包括用于执行根据第一方面所述的芯片设计的全局布线拥塞图确定方法的指令。
本申请第三方面,提供了一种包含计算机程序的非易失性计算机可读存储介质,当所述计算机程序被一个或多个处理器执行时,使得所述处理器执行第一方面所述的芯片设计的全局布线拥塞图确定方法。
本申请提供的一种芯片设计的布线规划方法及相关设备,通过先根据经过全局网格划分的芯片设计版图确定全局网格划分结果,然后可以根据全局网格划分结果,确定目标绕线层所对应的绕线信息以及目标绕线层中目标网格的绕线资源信息,进而根据绕线信息以及绕线资源信息,确定目标网格对应的拥塞结果,进而可以根据拥塞结果确定预设形状的显示标识,并在目标网格中沿其所在的目标绕线层的绕线方向,显示该显示标识以及拥塞结果,从而得到并展示最终的拥塞图。在目标网格中沿绕线方向利用显示标识来表征拥塞结果,能够使得用户快速确定所展示的拥塞结果对应的全局网格,并且在目标网格中显示拥塞结果,例如拥塞结果对应的数值,能够更加直观地展示当前目标网格中的拥塞情况。
附图说明
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请实施例所提供的示例性计算机设备的硬件结构示意图。
图2示出了根据本申请实施例的EDA工具的基本结构示意图。
图3示出了根据本申请实施例的EDA工具的一个计算命令的基本执行流程的示意图。
图4示出了本申请实施例所提供的示例性方法的流程示意图。
图5示出了本申请实施例所提供的二维全局网格和三维全局网格的示意图。
图6示出了本申请实施例所提供的横向绕线层和纵向绕线层的初始绕线轨道(track)示意图。
图7示出了本申请实施例所提供的全局绕线规划实例的示意图。
图8示出了本申请实施例所提供的横向绕线层和纵向绕线层的绕线需求的示意图。
图9(a)示出了本申请实施例所提供的针对三维全局网格中纵向绕线层中任一全局网格的拥塞图展示结果的示意图。
图9(b)示出了本申请实施例所提供的针对三维全局网格中横向绕线层中任一全局网格的拥塞图展示结果的示意图。
图9(c)示出了本申请实施例所提供的针对二维全局网格中任一全局网格的拥塞图展示结果的示意图。
图10(a)示出了本申请实施例所提供的针对二维全局网格中全局绕线的拥塞图中关闭拥塞结果的示意图。
图10(b)示出了本申请实施例所提供的针对二维全局网格中全局绕线的拥塞图中打开拥塞结果的示意图。
图10(c)示出了本申请实施例所提供的针对二维全局网格中全局绕线的拥塞图中展示拥塞结果大于显示阈值的全局网格的示意图。
具体实施方式
为使本说明书的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本说明书进一步详细说明。
需要说明的是,除非另外定义,本申请实施例使用的技术术语或者科学术语应当为本申请所属领域内具有一般技能的人士所理解的通常意义。本申请实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
图1示出了本申请实施例所提供的一种计算机设备100的结构示意图。
该计算机设备100可以包括:处理器102、存储器104、网络接口106、外围接口108和总线110。其中处理器102、存储器104、网络接口106和外围接口108通过总线110实现彼此之间在设备内部的通信连接。
处理器102可以是中央处理器(Central Processing Unit,CPU)、图像处理器、神经网络处理器(NPU)、微控制器(MCU)、可编程逻辑器件、数字信号处理器(DSP)、应用专用集成电路(Application Specific Integrated Circuit,ASIC)或者一个或多个集成电路。处理器102可以用于执行与本申请描述的技术相关的功能。在一些实施例中,处理器102还可以包括集成为单一逻辑组件的多个处理器。如图1所示,处理器102可以包括多个处理器102a、102b和102c。
存储器104可以配置为存储数据(例如,指令集、计算机代码、中间数据等)。例如,如图1所示,存储的数据可以包括程序指令(例如,用于实现本申请的技术方案的程序指令)以及待处理的数据。处理器102也可以访问存储的程序指令和数据,并且执行程序指令以对要处理的数据进行操作。存储器104可以包括易失性存储装置或非易失性存储装置。在一些实施例中,存储器104可以包括随机访问存储器(RAM)、只读存储器(ROM)、光盘、磁盘、硬盘、固态硬盘(SSD)、闪存、存储棒等。
网络接口106可以配置为经由网络向计算机设备100提供与其他外部设备的通信。该网络可以是能够传输和接收数据的任何有线或无线的网络。例如,该网络可以是有线网络、本地无线网络(例如,蓝牙、WiFi、近场通信(NFC)等)、蜂窝网络、因特网、或上述的组合。可以理解的是,网络的类型不限于上述具体示例。在一些实施例中,网络接口106可以包括任意数量的网络接口控制器(NIC)、射频模块、接收发器、调制解调器、路由器、网关、适配器、蜂窝网络芯片等的任意组合。
外围接口108可以配置为将计算机设备100与一个或多个外围装置连接,以实现信息输入及输出。例如,外围装置可以包括键盘、鼠标、触摸板、触摸屏、麦克风、各类传感器等输入设备以及显示器、扬声器、振动器、指示灯等输出设备。
总线110可以被配置为在计算机设备100的各个组件(例如处理器102、存储器104、网络接口106和外围接口108)之间传输信息,诸如内部总线(例如,处理器-存储器总线)、外部总线(USB端口、PCI-E总线)等。
需要说明的是,尽管上述设备仅示出了处理器102、存储器104、网络接口106、外围接口108和总线110,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本申请实施例方案所必需的组件,而不必包含图中所示的全部组件。
图2示出了根据本申请实施例的EDA工具200的基本结构示意图。
如图2所示,虚线以上为用户部分;虚线以下为EDA工具200,EDA工具200可以由图1所示的设备100实现。在一些实施例中,该EDA工具200可以实现为EDA软件。更具体地,该EDA工具200可以是基于芯片设计进行布局(Placement)和布线(Routing)的软件。EDA工具200可以包括Tcl命令(或者图形/窗口界面)模块204、各计算模块(例如,Place计算模块206、Route计算模块208、Optimization计算模块210等)以及数据库系统212。用户202可以通过在Tcl命令(或者图形/窗口界面)模块204中输入相关命令来操作该EDA工具200。
Tcl命令模块204,主要起着消息传递或命令传递的功能。Tcl命令模块204可以读取用户202向EDA工具200输入的指令,并可以根据指令的具体内容,分配并传递给相应的计算模块去执行具体任务。
根据计算任务的不同,各计算模块可以分为,例如,Place计算模块206、Route计算模块208、Optimization计算模块210等。Place计算模块206可以用于为所有元器件计算出一个合理的摆放位置,Route计算模块208可以用于计算出各个元器件之间合理的导线连接方式,Optimization计算模块210则可以用于将各个元器件之间的摆放位置和导线连接方式进行优化。这些计算模块的计算过程可以在,例如,图1的处理器102中进行。
数据库系统212可以用于完整全面地记录、存储被仿真或者被设计的芯片的所有信息(如位置、方向、尺寸、结构、导线连接方式等等)。这些信息,例如,可以存储在图1的存储器104中。
图3示出了根据本申请实施例的EDA工具200的一个计算命令的基本执行流程300。
如图3所示,在步骤302,用户202可以通过Tcl命令模块204提供的命令界面或者图形用户界面(GUI)向该EDA工具200下达一个命令(例如,do_place命令)。然后,在步骤304,Tcl命令模块204解析这一命令并将其分发到相应的计算模块(例如,Place计算模块206)。在步骤306,各计算模块执行各自所需进行的具体计算。在这期间,如步骤308所示,各计算模块需要(高频、反复)调取数据库系统212中的数据来进行计算。计算完成后,如步骤310所示,各计算模块可以将计算结果写入数据库系统212,并将计算结果返回给Tcl命令模块204。在步骤312,Tcl命令模块204通过命令界面或者图形用户界面(GUI)将计算结果返回给用户202,该EDA工具200对一个计算命令的处理过程结束。在步骤314,用户可以根据计算结果进行评估,然后确定下一步计划。
在相关技术中,数字集成电路的设计是从电路理论到产品实现的工程手段,集成电路设计强烈依赖于EDA工具。EDA工具作为芯片设计的基础工具,涵盖了芯片设计的全流程,包括功能设计、综合、验证、物理设计等等。而物理设计作为后端设计,需要实现实际的版图,其中物理设计的一个重要环节就是布局布线(placement&routing)。
布线的主要任务是将分布在芯片核内的模块、标准单元和输入输出接口单元等元件按照逻辑关系进行互连,不仅需要百分百的完成它们之间的所有逻辑信号的互连,并为满足各种约束条件进行优化。由于布线过程的复杂性,布线在实施过程中一般会分为全局布线和详细布线,全局布线是为详细布线做准备,做出详细布线需要的具体规划。全局布线具有速度快、时间短,能加快收敛,它为用时很长的最终详细布线做好规划。如果全局布线发现问题,工程师可以及时解决调整,而不必再花费很长时间去做最终布线及其他后续工作。
其中,全局布线的主要结果包括每个网线(Net)基于全局网格(Global GCell)的路线规划以及整个芯片的全局绕线拥塞图(Global Routing Congestion Map)。该全局绕线拥塞图可以为二维或三维的,它不仅展示了绕线阶段是否可以收敛以及可以绕通,而且还可以在更加前面的布局阶段(placement)所使用,用来预估后面绕线阶段的拥塞,从而指导布局引擎进行优化布局结果。
现有的商业EDA软件里对于拥塞图的展示各有不同的方式,例如一种相关技术中,仅仅只是在全局网格边界上用无宽度线条和数字来进行拥塞情况的展示,让用户无法快速分辨是属于哪个全局网格的拥塞结果,存在着无法快速分辨所展示的拥塞结果对应的全局网格的问题。另一种相关技术中,则是在全局网格中心点用无宽度线条来进行拥塞情况的展示,数字展示不够详细,也就存在着无法直观地展示拥塞结果的具体数值的问题。还有一些相关技术中,虽然利用有宽度的线条进行拥塞情况的展示,但是颜色和数字上展示不够清晰,依然存在着不能直观确展示拥塞结果且展示不准确的问题。
鉴于此,本申请提出了一种芯片设计的布线规划方法及相关设备,通过先根据经过全局网格划分的芯片设计版图确定全局网格划分结果,然后可以根据全局网格划分结果,确定目标绕线层所对应的绕线信息以及目标绕线层中目标网格的绕线资源信息,进而根据绕线信息以及绕线资源信息,确定目标网格对应的拥塞结果,进而可以根据拥塞结果确定预设形状的显示标识,并在目标网格中沿其所在的目标绕线层的绕线方向,显示该显示标识以及拥塞结果,从而得到并展示最终的拥塞图。在目标网格中沿绕线方向利用显示标识来表征拥塞结果,能够使得用户快速确定所展示的拥塞结果对应的全局网格,并且在目标网格中显示拥塞结果,例如拥塞结果对应的数值,能够更加直观地展示当前目标网格中的拥塞情况。
图4示出了本申请实施例所提供的示例性方法400的流程示意图。该方法400可以由图1的计算机设备100实现,并可以实现为图2的EDA工具200的一部分功能。如图4所示,该方法400可以进一步包括以下步骤。
步骤402,根据经过全局网格划分的芯片设计版图确定全局网格划分结果。
一般地,芯片设计版图包含有芯片加工的每一层结构,具体晶体管布局、布线、走线、通道过孔层间连接位置等等。根据该芯片设计版图,芯片加工服务商能够直接运行并进行芯片的批量化加工生产。进一步的,芯片设计版图本身是一步步绘制完成的,同时伴随着各项优化,最终完成真个芯片设计版图。在芯片设计版图初期,可能其上仅表明了层级的功能信息,例如某一层是绕线层、某一层是绝缘层等;或是仅设置了各个功能元件,标明了每个功能元件的位置、大小等信息。之后利用EDA工具等进行一步步的设计及优化,最后形成芯片设计版图的完整版本。在本步骤中,由于涉及到的是全局布线拥塞图的确定工序,其芯片设计版图应该是经过全局网格划分后的,其上不仅有芯片层级关系、层级功能、元件设计位置等较为早期的数据,从其中还应该能够获取到全局网格的划分结果,包括每一层绕线层的绕线信息,例如绕线层的排序以及绕线方向,还包括每一层绕线层中每个全局网格的绕线资源信息,例如每个全局网格内可用绕线资源的总量以及每个全局网格内的绕线需求量等信息。
之后,在本步骤中,芯片设计版图可以是局部的(例如将整个设计版图划分成大量的子区域)、也可以是整体的。
在本步骤中,在得到芯片设计版图获得了全局网格划分结果之后,可以先找出芯片设计版图中的绕线层,绕线层即为用于芯片走线绕线的层级结构。在进行绕线层的走线规划时,会预先根据设计规则规划出绕线轨道,这些绕线轨道一般是横向或纵向均匀排布于绕线层中,在进行芯片版图设计时,通常用绕线资源(Routing Resource)来表征绕线轨道数量,表示一个绕线层内可用的绕线轨道数量。
图5示出了本申请实施例所提供的二维全局网格和三维全局网格的示意图。
在一些实施例中,如图5所示,为二维的全局网格和三维的全局网格示意图。其中,全局网格(Global Cell):是全局布线阶段把整个绕线层芯片区域按规整的网格进行划分得到最小的单元格子。每个绕线层都有二维全局网格,所有绕线层的网格组合起来就是三维全局网格。
图6示出了本申请实施例所提供的横向绕线层和纵向绕线层的初始绕线轨道(track)示意图。
之后,如图6所示,为横向绕线层和纵向绕线层的初始绕线轨道(track)示意图,图中横向或纵向的实线即为绕线轨道。其中,根据芯片设计规则一个全局网格的网格中都对应一个建议的轨道数量,进而可以将这个建议的轨道数量设定为网格中允许的最大绕线轨道数量。并且,每个全局网格中的绕线轨道可以表示该全局网格内可用绕线资源总量,这也与该全局网格内建议的轨道数量相关。
图7示出了本申请实施例所提供的全局绕线规划实例的示意图。
参考图7,示出了一个网线(Net)的全局绕线实例,其中M1是第一层绕线方向为横向的绕线层中的走线,经过了5个全局网格。其中一条M2则是第二层绕线方向为纵向的绕线层中的走线,经过了3个全局网格,另一条M2也是第二层绕线方向为纵向的绕线层中的走线,经过了3个全局网格。M3则是第三层绕线方向为横向的绕线层中的走线,经过了4个全局网格。其中,M1的一端连接有网线端点,另一端则通过VIA1_2与其中一条M2的一端进行连接,而该M2的另一端通过一个VIA2_3与M3连接。进一步地,M3的另一端通过另一个VIA2_3与另一条M2的一端连接,最终该M2的另一端连接有另一个网线端点,实现了一个网线的全局绕线规划。其中,VIA表示联通上下层的堆栈过孔,以供绕线穿过连接。
图8示出了本申请实施例所提供的横向绕线层和纵向绕线层的绕线需求的示意图。
具体地,如图8所示,在横向绕线层和纵向绕线层中都可以看到绕线位置以及堆栈过孔的位置,其中每一层绕线层上的绕线可以看作是该绕线层的绕线需求(RoutingDemand),也即可以表示每个全局网格内绕线资源的需求和使用情况。
步骤404,根据所述全局网格划分结果,确定目标绕线层对应的绕线信息以及所述目标绕线层中目标网格的绕线资源信息。
在本步骤中,全局布线阶段会生成把整个芯片区域划分为整齐的三维全局网格(GCell Pattern),然后在这些网格点(GCell)上进行布线规划以及拥塞计算。最终的全局布线结果是会针对每个网线(Net)产生3D的绕线规划。由于上述实施例中得到了全局网格划分结果,进而可以从全局网格划分结果中获取到任意一层绕线层对应的绕线信息,以及任意一个全局网格的绕线资源信息。因此,也就能够获取想要确定拥塞情况的目标绕线层的绕线信息以及该目标绕线层中目标网格的绕线资源信息。
步骤406,根据所述绕线信息以及所述绕线资源信息,确定所述目标网格对应的拥塞结果。
在本步骤中,对于任意一个全局网格而言,都可以根据其所在的绕线层的绕线信息以及该全局网格的绕线资源信息,对其对应的拥塞结果进行计算。具体地,针对于其中一层绕线层而言,可以将其作为目标绕线层,并将其中的任意一个全局网格作为目标网格,根据目标绕线层的绕线信息可以确定该目标绕线层的绕线方向。
由于想要被展示拥塞结果的绕线层以及全局网格的数量可以为至少一个,也即存在需要计算每层绕线层中的每个全局网格的拥塞结果的场景。因此,可以确定全部目标绕线层的绕线方向是否相同,若全部目标绕线层对应的绕线方向相同,则可以进一步确定目标绕线层的数量。
当确定目标绕线层的数量为1时,则可以根据全局网格划分结果确定该目标绕线层中目标网格对应的索引坐标。其中,对于三维的全局网格而言,每一层绕线层对应索引坐标系是相同的,也即每一层绕线层使用同一套xy坐标系来表征其上的各个点的索引坐标。而对于二维的全局网格而言,其视角为芯片设计版图的俯视角,将所有绕线层投影在芯片设计版图所在平面上,因此每一层绕线层对应索引坐标系也是相同的,并且与三维的全局网格中所使用的索引坐标系也相同,因此二维的全局网格和三维的全局网格中每个相同位置的点对应的索引坐标的xy值相同。
进一步地,对于三维的全局网格而言,由于每一层绕线层都可以单独来展示,所以除索引坐标中的xy值以外,还包括用于表征当前绕线层的绕线信息L,例如L1可以表征在芯片设计版图中自下而上设置的第一层绕线层,假设绕线层的设置顺序为绕线方向为横向的绕线层和绕线方向为纵向的绕线层依次叠加,则L1还可以表征该绕线层的绕线方向为横向或纵向,具体方向根据实际应用中的需求所确定,在此不做具体限定。
在本实施例中,目标绕线层的数量为1,则可以将该目标绕线层中的任意一个网格作为一个三维的全局网格进行拥塞结果的计算,在得到目标网格对应的索引坐标后,例如目标网格的数量也为1,则可以得到x1和y1,其中x1和y1分别表示全局网格的x方向和y方向的索引坐标。并根据绕线信息L和索引坐标x和y确定该目标网格的拥塞结果。
具体地,每个绕线层只有一个绕线方向,要么是横向绕线方向,要么是纵向绕线方向。例如该目标绕线层的绕线方向为横向,则可以根据绕线信息L和索引坐标x和y确定在横向绕线方向上,该目标网格对应的绕线资源需求量以及可用绕线资源总量。进而,可以根据绕线资源需求量以及可用绕线资源总量之间的差值,确定拥塞结果。例如,通过以下公式计算拥塞结果:
其中,表示拥塞结果,/>表示绕线资源需求量,/>表示可用绕线资源总量。需要说明的是,当目标网格的数量至少为2时,每个目标网格对应的拥塞结果的计算方式都与上述实施例中一个目标网格对应的拥塞结果的计算方式相同,在此不再赘述。
在一些实施例中,目标绕线层的数量至少为2,由于目标网格的位置是确定的,并且每一层绕线层对应的索引坐标系相同,所以可以将全部目标绕线层中的目标网格作为一个二维的全局网格进行拥塞结果的计算。具体地,可以根据全局网格划分结果确定任一层目标绕线层中目标网格对应的索引坐标,例如目标网格位置为一层绕线层中的第一个全局网格,则每一层绕线层中该目标网格位置对应的索引坐标是相同的。
在得到目标网格对应的索引坐标后,例如目标网格的数量为1,则可以得到x1和y1,其中x1和y1分别表示全局网格的x方向和y方向的索引坐标。具体地,每个绕线层只有一个绕线方向,要么是横向绕线方向,要么是纵向绕线方向。而前述实施例中已经确定全部目标绕线层的绕线方向是相同的,并且目标绕线层的数量至少为2,则拥塞结果应该为每一层目标绕线层上的目标网格的拥塞结果的叠加结果。例如该目标绕线层的绕线方向为横向,则可以根据索引坐标x和y确定在横向绕线方向上,全部目标网格对应的绕线资源需求量的加和以及可用绕线资源总量的加和。进而,可以根据绕线资源需求量的加和以及可用绕线资源总量的加和之间的差值,确定拥塞结果。例如,通过以下公式计算拥塞结果:
其中,表示横向绕线方向上的拥塞结果,/>表示横向绕线方向上的绕线资源需求量的加和,/>表示横向绕线方向上的可用绕线资源总量的加和。需要说明的是,当目标网格的数量至少为2时,每个目标网格对应的拥塞结果的计算方式都与上述实施例中一个目标网格对应的拥塞结果的计算方式相同,在此不再赘述。
在一些实施例中,目标绕线层对应的绕线方向可能不同,那么也就确定目标绕线层的数量至少为2。进一步地,由于目标网格的位置是确定的,并且每一层绕线层对应的索引坐标系相同,所以可以将全部目标绕线层中绕线方向相同的绕线层中的目标网格作为一个二维的全局网格进行拥塞结果的计算。具体地,可以根据全局网格划分结果确定任一层绕线方向为横向的目标绕线层中目标网格对应的索引坐标,例如目标网格位置为一层绕线层中的第一个全局网格,则每一层绕线层中该目标网格位置对应的索引坐标是相同的。
在得到目标网格对应的索引坐标后,例如目标网格的数量为1,则可以得到x1和y1,其中x1和y1分别表示全局网格的x方向和y方向的索引坐标。具体地,每个绕线层只有一个绕线方向,要么是横向绕线方向,要么是纵向绕线方向。而前述实施例中已经确定全部目标绕线层中绕线方向是横向的绕线层,则拥塞结果应该为每一层绕线方向是横向的目标绕线层上的目标网格的拥塞结果的叠加结果。则可以根据索引坐标x和y确定在横向绕线方向上,全部目标网格对应的绕线资源需求量的第一加和以及可用绕线资源总量的第一加和。进而,可以根据绕线资源需求量的第一加和以及可用绕线资源总量的第一加和之间的差值,确定横向绕线方向上的拥塞结果。例如,通过以下公式计算拥塞结果:
其中,本实施例中,表示横向绕线方向上的拥塞结果,/>表示横向绕线方向上的绕线资源需求量的第一加和,/>表示横向绕线方向上的可用绕线资源总量的第一加和。需要说明的是,对于绕线方向为横向的目标绕线层而言,当目标网格的数量至少为2时,每个目标网格对应的拥塞结果的计算方式都与上述实施例中一个目标网格对应的拥塞结果的计算方式相同,在此不再赘述。
再进一步地,可以根据全局网格划分结果确定任一层绕线方向为纵向的目标绕线层中目标网格对应的索引坐标,例如目标网格位置为一层绕线层中的第一个全局网格,则每一层绕线层中该目标网格位置对应的索引坐标是相同的。
在得到目标网格对应的索引坐标后,例如目标网格的数量为1,则可以得到x1和y1,其中x1和y1分别表示全局网格的x方向和y方向的索引坐标。具体地,每个绕线层只有一个绕线方向,要么是横向绕线方向,要么是纵向绕线方向。而前述实施例中已经确定全部目标绕线层中绕线方向是纵向的绕线层,则拥塞结果应该为每一层绕线方向是纵向的目标绕线层上的目标网格的拥塞结果的叠加结果。则可以根据索引坐标x和y确定在横向绕线方向上,全部目标网格对应的绕线资源需求量的第二加和以及可用绕线资源总量的第二加和。进而,可以根据绕线资源需求量的第二加和以及可用绕线资源总量的第二加和之间的差值,确定纵向绕线方向上的拥塞结果。例如,通过以下公式计算拥塞结果:
其中,本实施例中,表示纵向绕线方向上的拥塞结果,/>表示纵向绕线方向上的绕线资源需求量的第二加和,/>表示纵向绕线方向上的可用绕线资源总量的第二加和。需要说明的是,对于绕线方向为纵向的目标绕线层而言,当目标网格的数量至少为2时,每个目标网格对应的拥塞结果的计算方式都与上述实施例中一个目标网格对应的拥塞结果的计算方式相同,在此不再赘述。
无论是上述哪一种场景下计算得到的拥塞结果,无论是横向绕线方向还是纵向绕线方向,得到的拥塞结果可能为正值,也可能为负值,还可能为零。当拥塞结果为正值时,则表示绕线需求大于可用的绕线资源,会有拥塞产生。当拥塞结果为负值时,则表示可用绕线资源足够该网格内的绕线需求,不存在拥塞情况。当拥塞结果为零时,则表示可用绕线资源正好满足该网格内的绕线需求,也不存在拥塞情况。
步骤408,根据所述拥塞结果确定预设形状的显示标识,并在所述目标网格中沿其所在的目标绕线层的绕线方向,显示所述显示标识以及所述拥塞结果以得到拥塞图。
在本步骤中,在获取全局网格的绕线拥塞结果后,就是需要进行展示的步骤了,可以根据拥塞结果确定一个预设形状的显示标识,用来表征拥塞情况,并在目标网格中显示该显示标识,显示方向则可以为沿该目标网格所在的目标绕线层的绕线方向进行显示,并且还可以显示拥塞结果,例如拥塞结果对应的数值。好的拥塞图可以让用户对有问题的拥塞区域一目了然,以及快速评估绕线结果。
图9(a)示出了本申请实施例所提供的针对三维全局网格中纵向绕线层中任一全局网格的拥塞图展示结果的示意图。
在一些实施例中,可以确定拥塞结果的数值,当目标绕线层的数量为1时,则可以将其中的目标网格作为三维全局网格进行显示,也即可以同时展示和绘制横向或纵向的绕线拥塞结果。在显示过程中,可以在目标网格中显示该显示标识,例如图9(a)中的三角形。并将显示标识从垂直于绕线方向的任意边界位置,向目标网格的中心位置延伸,也即在图9(a)中,当绕线方向为纵向时,也即垂直方向时,则可以将三角形的显示标识从垂直于绕线方向的上边界位置,向目标网格的中心位置延伸,其中三角形显示标识的顶角指向本目标网格,也即能够准确清晰地表示所显示的显示标识以及拥塞结果是本目标网格的。
进一步地,为了更加方便用户观察该区域的可用绕线资源情况,还可以在目标网格对应位置显示该目标网格的绕线资源需求量以及可用绕线资源总量,例如图9(a)中,该目标网格的绕线资源需求量为14,可用绕线资源总量为15,拥塞结果为-1,其中-1/15表示可用绕线资源总量为15且拥塞结果为-1,本例中表示该目标网格在纵向绕线方向上不存在拥塞情况。
并且,三角形显示标识的高度会随着拥塞结果进行变化。当拥塞结果越大(例如大于0),表示该网格内绕线越拥塞,所以三角形显示标识的高度越高,这样高拥塞区域就可以很醒目的展示给用户。在一些实施例中,拥塞结果的数值与显示标识的显示面积成正比。
图9(b)示出了本申请实施例所提供的针对三维全局网格中横向绕线层中任一全局网格的拥塞图展示结果的示意图。
在一些实施例中,可以确定拥塞结果的数值,当目标绕线层的数量为1时,则可以将其中的目标网格作为三维全局网格进行显示,也即可以同时展示和绘制横向或纵向的绕线拥塞结果。在显示过程中,可以在目标网格中显示该显示标识,例如图9(b)中的三角形。并将显示标识从垂直于绕线方向的任意边界位置,向目标网格的中心位置延伸,也即在图9(b)中,当绕线方向为横向时,也即水平方向时,则可以将三角形的显示标识从垂直于绕线方向的右边界位置,向目标网格的中心位置延伸,其中三角形显示标识的顶角指向本目标网格,也即能够准确清晰地表示所显示的显示标识以及拥塞结果是本目标网格的。
进一步地,为了更加方便用户观察该区域的可用绕线资源情况,还可以在目标网格对应位置显示该目标网格的绕线资源需求量以及可用绕线资源总量,例如图9(b)中,该目标网格的绕线资源需求量为18,可用绕线资源总量为15,拥塞结果为3,其中3/15表示可用绕线资源总量为15且拥塞结果为3,本例中表示该目标网格在横向绕线方向上存在拥塞情况。
同样的,三角形显示标识的高度会随着拥塞结果进行变化。当拥塞结果越大(例如大于0),表示该网格内绕线越拥塞,所以三角形显示标识的高度越高,这样高拥塞区域就可以很醒目的展示给用户。在一些实施例中,拥塞结果的数值与显示标识的显示面积成正比。
图9(c)示出了本申请实施例所提供的针对二维全局网格中任一全局网格的拥塞图展示结果的示意图。
在一些实施例中,可以确定拥塞结果的数值,当目标绕线层的数量至少为2时,则可以将其中的目标网格作为二维全局网格进行显示,也即可以同时展示和绘制横向和纵向的绕线拥塞结果。在显示过程中,可以在目标网格中显示该显示标识,例如图9(c)中的三角形。并将显示标识从垂直于绕线方向的任意边界位置,向目标网格的中心位置延伸,也即在图9(c)中,当绕线方向为纵向时,也即垂直方向时,则可以将三角形的显示标识从垂直于绕线方向的上边界位置,向目标网格的中心位置延伸,其中三角形显示标识的顶角指向本目标网格,也即能够准确清晰地表示所显示的显示标识以及拥塞结果是本目标网格的。
进一步地,为了更加方便用户观察该区域的可用绕线资源情况,还可以在目标网格对应位置显示该目标网格的绕线资源需求量以及可用绕线资源总量,例如图9(c)中,该目标网格的绕线资源需求量为14,可用绕线资源总量为15,拥塞结果为-1,其中-1/15表示可用绕线资源总量为15且拥塞结果为-1,本例中表示该目标网格在纵向绕线方向上不存在拥塞情况。
当绕线方向为横向时,也即水平方向时,则可以将三角形的显示标识从垂直于绕线方向的右边界位置,向目标网格的中心位置延伸,其中三角形显示标识的顶角指向本目标网格,也即能够准确清晰地表示所显示的显示标识以及拥塞结果是本目标网格的。
进一步地,为了更加方便用户观察该区域的可用绕线资源情况,还可以在目标网格对应位置显示该目标网格的绕线资源需求量以及可用绕线资源总量,例如图9(c)中,该目标网格的绕线资源需求量为18,可用绕线资源总量为15,拥塞结果为3,其中3/15表示可用绕线资源总量为15且拥塞结果为3,本例中表示该目标网格在横向绕线方向上存在拥塞情况。
并且,三角形显示标识的高度会随着拥塞结果进行变化。当拥塞结果越大(例如大于0),表示该网格内绕线越拥塞,所以三角形显示标识的高度越高,这样高拥塞区域就可以很醒目的展示给用户。在一些实施例中,拥塞结果的数值与显示标识的显示面积成正比,其中用来表征纵向绕线方向上拥塞情况的三角形显示标识的面积明显小于用来表征横向绕线方向上拥塞情况的三角形显示标识的面积。
需要说明的是,显示标识的形状可以为三角形、圆形或其他任意多边形,在此不做具体限定。
为了更加清晰直观地显示当前网格对应的拥塞结果,当确定当前网格的拥塞结果的数值大于预设阈值,例如3时,则以第一预设颜色显示显示标识,例如红色。当确定当前网格的拥塞结果的数值小于或等于预设阈值,例如3时,则以第二预设颜色显示显示标识,例如黄色。其中,还可以分类更加细致,例如设置多个预设阈值进行比较,对应的则设置多个不同的颜色来对应显示该显示标识。
图10(a)示出了本申请实施例所提供的针对二维全局网格中全局绕线的拥塞图中关闭拥塞结果的示意图。
参考图10(a),显示的是针对二维全局网格中全局绕线的拥塞图,用户可以关闭拥塞结果的显示,仅显示每个网格中对应不同绕线方向的预设形状的显示标识。
图10(b)示出了本申请实施例所提供的针对二维全局网格中全局绕线的拥塞图中打开拥塞结果的示意图。
参考图10(b),显示的是针对二维全局网格中全局绕线的拥塞图,用户可以开启拥塞结果的显示,除了显示每个网格中对应不同绕线方向的预设形状的显示标识以外,还可以显示每个网格中对应不同绕线方向上的拥塞结果对应的数值。
图10(c)示出了本申请实施例所提供的针对二维全局网格中全局绕线的拥塞图中展示拥塞结果大于显示阈值的全局网格的示意图。
根据每个全局网格的拥塞值,还可以控制只显示处于某一拥塞值范围内的全局网格。例如,当接收到显示指令,根据显示指令确定显示阈值,并在拥塞图中,显示拥塞结果大于显示阈值的目标网格中的显示标识以及拥塞结果,和或,在拥塞图中,隐藏拥塞结果小于或等于显示阈值的目标网格中的显示标识以及拥塞结果。图10(c)中只显示了拥塞值大于0的全局网格,这些网格因为有拥塞,所以需要用户特别关注。
例如,对于本实施例的方法在单一设备上执行的应用场景,可以将统计结果直接在当前设备的显示部件(显示器、投影仪等)上以显示的方式输出,使得当前设备的操作者能够从显示部件上直接看到拥塞图的内容。
又如,对于本实施例的方法在多个设备组成的系统上执行的应用场景,可以将拥塞图通过任意的数据通信方式(有线连接、NFC、蓝牙、wifi、蜂窝移动网络等)发送至系统内的其他作为接收方的预设设备上,即同步终端上,以使得同步终端可以对其进行后续处理。可选的,该同步终端可以是预设的服务器,服务器一般设置在云端,作为数据的处理和存储中心,其能够对统计结果进行存储和分发;其中,分发的接收方是终端设备,该些终端设备的持有者或操作者可以是芯片的各级设计者、设计监管者、生产者等等。
再如,对于本实施例的方法在多个设备组成的系统上执行的应用场景时,可以将拥塞图通过任意的数据通信方式直接发送至预设的终端设备,终端设备可以是前述段落列举中的一种或多种。
从上述实施例可以看出,本申请实施例提供的芯片设计的布线规划方法及相关设备,通过先根据经过全局网格划分的芯片设计版图确定全局网格划分结果,然后可以根据全局网格划分结果,确定目标绕线层所对应的绕线信息以及目标绕线层中目标网格的绕线资源信息,进而根据绕线信息以及绕线资源信息,确定目标网格对应的拥塞结果,进而可以根据拥塞结果确定预设形状的显示标识,并在目标网格中沿其所在的目标绕线层的绕线方向,显示该显示标识以及拥塞结果,从而得到并展示最终的拥塞图。在目标网格中沿绕线方向利用显示标识来表征拥塞结果,能够使得用户快速确定所展示的拥塞结果对应的全局网格,并且在目标网格中显示拥塞结果,例如拥塞结果对应的数值,能够更加直观地展示当前目标网格中的拥塞情况。
需要说明的是,本申请实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本申请实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本申请实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
需要说明的是,上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于上述实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
基于同一发明构思,与上述任意实施例方法相对应的,本申请还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的方法400。
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的方法400,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法400相对应的,本申请还提供了一种计算机程序产品,其包括计算机程序。在一些实施例中,所述计算机程序由一个或多个处理器可执行以使得所述处理器执行所述的方法400。对应于方法400各实施例中各步骤对应的执行主体,执行相应步骤的处理器可以是属于相应执行主体的。
上述实施例的计算机程序产品用于使处理器执行如上任一实施例所述的方法400,并且具有相应的方法实施例的有益效果,在此不再赘述。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本申请的范围(包括权利要求)被限于这些例子;在本申请的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本申请实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本申请实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本申请实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本申请实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本申请的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本申请实施例。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本申请的具体实施例对本申请进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本申请实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本申请实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (11)
1.一种芯片设计的全局布线拥塞图确定方法,其特征在于,包括:
根据经过全局网格划分的芯片设计版图确定全局网格划分结果;
根据所述全局网格划分结果,确定目标绕线层对应的绕线信息以及所述目标绕线层中目标网格的绕线资源信息;
根据所述绕线信息以及所述绕线资源信息,确定所述目标网格对应的拥塞结果;以及,
根据所述拥塞结果确定预设形状的显示标识,并在所述目标网格中沿其所在的目标绕线层的绕线方向,显示所述显示标识以及所述拥塞结果以得到拥塞图;其中,所述显示标识用于指示所述目标绕线层的绕线方向。
2.根据权利要求1所述的方法,其特征在于,所述绕线资源信息,包括:所述目标绕线层中所述目标网格对应的绕线资源需求量以及可用绕线资源总量;
所述根据所述绕线信息以及所述绕线资源信息确定所述目标网格对应的拥塞结果,包括:
根据所述绕线信息确定所述目标绕线层对应的绕线方向,并确定所述绕线方向是否相同;
响应于所述目标绕线层对应的绕线方向相同,确定所述目标绕线层的数量;
响应于所述目标绕线层的数量为1,则根据所述全局网格划分结果,确定所述目标绕线层中目标网格对应的索引坐标;
根据所述索引坐标和所述绕线信息,确定在所述绕线方向上,所述目标绕线层中所述目标网格对应的所述绕线资源需求量以及所述可用绕线资源总量;
根据所述绕线资源需求量以及所述可用绕线资源总量之间的差值,确定所述拥塞结果。
3.根据权利要求2所述的方法,其特征在于,所述响应于所述目标绕线层对应的绕线方向相同,确定所述目标绕线层的数量之后,还包括:
响应于所述目标绕线层的数量至少为2,则根据所述全局网格划分结果,确定任一层所述目标绕线层中目标网格对应的索引坐标;
根据所述索引坐标和所述绕线信息,确定在所述绕线方向上,全部所述目标绕线层中的所述目标网格对应的所述绕线资源需求量的加和以及所述可用绕线资源总量的加和;
根据所述绕线资源需求量的加和以及所述可用绕线资源总量的加和之间的差值,确定所述拥塞结果。
4.根据权利要求2所述的方法,其特征在于,所述绕线方向,包括:横向和纵向;所述索引坐标,包括:第一索引坐标和第二索引坐标;
所述确定所述绕线方向是否相同之后,还包括:
响应于所述目标绕线层对应的绕线方向不同,则根据所述全局网格划分结果,确定任一层绕线方向为横向的所述目标绕线层中目标网格对应的第一索引坐标;
根据所述第一索引坐标和所述绕线信息,确定在横向绕线方向上,全部所述目标绕线层中的所述目标网格对应的所述绕线资源需求量的第一加和以及所述可用绕线资源总量的第一加和;
根据所述绕线资源需求量的第一加和以及所述可用绕线资源总量的第一加和之间的差值,确定横向绕线方向上的所述拥塞结果。
5.根据权利要求4所述的方法,其特征在于,所述响应于所述目标绕线层对应的绕线方向不同之后,还包括:
根据所述全局网格划分结果,确定任一层绕线方向为纵向的所述目标绕线层中目标网格对应的第二索引坐标;
根据所述第二索引坐标和所述绕线信息,确定在横向绕线方向上,全部所述目标绕线层中的所述目标网格对应的所述绕线资源需求量的第二加和以及所述可用绕线资源总量的第二加和;
根据所述绕线资源需求量的第二加和以及所述可用绕线资源总量的第二加和之间的差值,确定纵向绕线方向上的所述拥塞结果。
6.根据权利要求2所述的方法,其特征在于,所述绕线方向,包括:横向和纵向;
所述在所述目标网格中沿其所在的目标绕线层的绕线方向,显示所述显示标识以及所述拥塞结果以得到拥塞图,包括:
在所述目标网格中显示所述显示标识,并将所述显示标识从垂直于所述绕线方向的任一边界位置,向所述目标网格的中心位置延伸;
在所述目标网格中显示所述拥塞结果,和或,所述目标绕线层中所述目标网格对应的所述绕线资源需求量以及所述可用绕线资源总量以得到所述拥塞图;
其中,所述拥塞结果的数值与所述显示标识的显示面积成正比。
7.根据权利要求5所述的方法,其特征在于,所述在所述目标网格中沿其所在的目标绕线层的绕线方向,显示所述显示标识以及所述拥塞结果以得到拥塞图,包括:
在所述目标网格中显示所述显示标识,并将所述显示标识从垂直于横向绕线方向的任一边界位置,向所述目标网格的中心位置延伸;
在所述目标网格中显示横向绕线方向上的所述拥塞结果,和或,所述目标绕线层中所述目标网格对应的所述绕线资源需求量的第一加和以及所述可用绕线资源总量的第一加和以得到所述拥塞图;
其中,所述横向绕线方向上的拥塞结果的数值与所述显示标识的显示面积成正比;
和或,
在所述目标网格中显示所述显示标识,并将所述显示标识从垂直于纵向绕线方向的任一边界位置,向所述目标网格的中心位置延伸;
在所述目标网格中显示纵向绕线方向上的所述拥塞结果,和或,所述目标绕线层中所述目标网格对应的所述绕线资源需求量的第二加和以及所述可用绕线资源总量的第二加和以得到所述拥塞图;
其中,所述纵向绕线方向上的拥塞结果的数值与所述显示标识的显示面积成正比。
8.根据权利要求6或7所述的方法,其特征在于,所述方法,还包括:
响应于所述拥塞结果的数值大于预设阈值,则以第一预设颜色显示所述显示标识;
和或,
响应于所述拥塞结果的数值小于或等于所述预设阈值,则以第二预设颜色显示所述显示标识。
9.根据权利要求1所述的方法,其特征在于,所述方法,还包括:
响应于接收到显示指令,根据所述显示指令确定显示阈值,并在所述拥塞图中,显示所述拥塞结果大于所述显示阈值的所述目标网格中的所述显示标识以及所述拥塞结果,和或,在所述拥塞图中,隐藏所述拥塞结果小于或等于所述显示阈值的所述目标网格中的所述显示标识以及所述拥塞结果。
10.一种计算机设备,包括一个或者多个处理器、存储器;和一个或多个程序,其中所述一个或多个程序被存储在所述存储器中,并且被所述一个或多个处理器执行,所述程序包括用于执行根据权利要求1至9任意一项所述的方法的指令。
11.一种包含计算机程序的非易失性计算机可读存储介质,当所述计算机程序被一个或多个处理器执行时,使得所述处理器执行权利要求1至9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311206708.8A CN116956807B (zh) | 2023-09-19 | 2023-09-19 | 芯片设计的全局布线拥塞图确定方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311206708.8A CN116956807B (zh) | 2023-09-19 | 2023-09-19 | 芯片设计的全局布线拥塞图确定方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116956807A CN116956807A (zh) | 2023-10-27 |
CN116956807B true CN116956807B (zh) | 2023-12-01 |
Family
ID=88460503
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311206708.8A Active CN116956807B (zh) | 2023-09-19 | 2023-09-19 | 芯片设计的全局布线拥塞图确定方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116956807B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6405358B1 (en) * | 1999-10-08 | 2002-06-11 | Agilent Technologies, Inc. | Method for estimating and displaying wiring congestion |
CN108170992A (zh) * | 2018-01-24 | 2018-06-15 | 盛科网络(苏州)有限公司 | 一种芯片设计中定位绕线拥塞的方法及系统 |
CN113792519A (zh) * | 2021-11-18 | 2021-12-14 | 芯行纪科技有限公司 | 对电路进行布局规划的方法、电子设备及存储介质 |
CN116090396A (zh) * | 2022-12-29 | 2023-05-09 | 芯行纪科技有限公司 | 显示芯片设计的数据流的方法及相关设备 |
CN116738911A (zh) * | 2023-07-10 | 2023-09-12 | 苏州异格技术有限公司 | 布线拥塞预测方法、装置及计算机设备 |
-
2023
- 2023-09-19 CN CN202311206708.8A patent/CN116956807B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6405358B1 (en) * | 1999-10-08 | 2002-06-11 | Agilent Technologies, Inc. | Method for estimating and displaying wiring congestion |
CN108170992A (zh) * | 2018-01-24 | 2018-06-15 | 盛科网络(苏州)有限公司 | 一种芯片设计中定位绕线拥塞的方法及系统 |
CN113792519A (zh) * | 2021-11-18 | 2021-12-14 | 芯行纪科技有限公司 | 对电路进行布局规划的方法、电子设备及存储介质 |
CN116090396A (zh) * | 2022-12-29 | 2023-05-09 | 芯行纪科技有限公司 | 显示芯片设计的数据流的方法及相关设备 |
CN116738911A (zh) * | 2023-07-10 | 2023-09-12 | 苏州异格技术有限公司 | 布线拥塞预测方法、装置及计算机设备 |
Non-Patent Citations (1)
Title |
---|
基于深度学习的布局布线违规预测算法研究;樊沁春;《中国优秀硕士学位论文全文数据库 信息科技辑》(第4期);I135-275 * |
Also Published As
Publication number | Publication date |
---|---|
CN116956807A (zh) | 2023-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109451532B (zh) | 一种基站位置的核查方法及装置 | |
US20140189617A1 (en) | Displaying a congestion indicator for a channel in a circuit design layout | |
EP4116935A2 (en) | High-definition map creation method and device, and electronic device | |
US10949600B2 (en) | Semiconductor package floating metal checks | |
CN116151179B (zh) | 芯片设计的布局规划方法及相关设备 | |
CN116911246B (zh) | 芯片设计的布线规划方法及相关设备 | |
CN114970439A (zh) | 自动布线方法、装置、计算机设备、存储介质 | |
US8863062B2 (en) | Methods and apparatus for floorplanning and routing co-design | |
CN116127908A (zh) | 电路版图的布线方法、装置、设备及存储介质 | |
CN116306486B (zh) | 芯片设计的设计规则检查方法及相关设备 | |
CN113792519B (zh) | 对电路进行布局规划的方法、电子设备及存储介质 | |
CN114556352A (zh) | 用于执行自动布线的方法和系统 | |
US20190377850A1 (en) | Semiconductor package metal shadowing checks | |
CN116227407B (zh) | 形成物理版图的模块边界的方法及相关设备 | |
US10546096B2 (en) | Semiconductor package via stack checking | |
CN116956807B (zh) | 芯片设计的全局布线拥塞图确定方法及相关设备 | |
CN116090396B (zh) | 显示芯片设计的数据流的方法及相关设备 | |
CN115965646B (zh) | 区域划分方法、装置、计算机设备及计算机可读存储介质 | |
US20160378900A1 (en) | Non-transitory computer-readable storage medium, circuit design support method, and information processing device | |
CN116362190A (zh) | 芯片设计的交互布局规划方法及相关设备 | |
US20160232275A1 (en) | Method and apparatus for logical design connectivity-based automatic macro placement | |
CN114159777A (zh) | 层次化寻路方法、装置、电子设备及可读介质 | |
US8972910B1 (en) | Routing method | |
SG187302A1 (en) | Dfm improvement utility with unified interface | |
CN117521586B (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 |