CN116362190A - 芯片设计的交互布局规划方法及相关设备 - Google Patents
芯片设计的交互布局规划方法及相关设备 Download PDFInfo
- Publication number
- CN116362190A CN116362190A CN202211366327.1A CN202211366327A CN116362190A CN 116362190 A CN116362190 A CN 116362190A CN 202211366327 A CN202211366327 A CN 202211366327A CN 116362190 A CN116362190 A CN 116362190A
- Authority
- CN
- China
- Prior art keywords
- hard
- hard core
- cores
- target
- window
- 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 67
- 238000013461 design Methods 0.000 title claims abstract description 29
- 230000002452 interceptive effect Effects 0.000 title claims abstract description 26
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 6
- 230000001788 irregular Effects 0.000 claims description 14
- 230000004044 response Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 10
- 230000003993 interaction Effects 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 30
- 238000004364 calculation method Methods 0.000 description 16
- 238000012545 processing Methods 0.000 description 12
- 238000005457 optimization Methods 0.000 description 9
- 230000002093 peripheral effect Effects 0.000 description 7
- 238000004804 winding Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012856 packing Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 241000699666 Mus <mouse, genus> Species 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000011960 computer-aided design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012795 verification 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
-
- 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]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
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)
Abstract
本申请提供一种芯片设计的交互布局规划方法及相关设备。该方法,包括:读取所述芯片设计的初始布局规划数据并显示在主页面中;确定所述初始布局规划数据中的待处理的硬核组,所述硬核组包括多个硬核;按照自动规整对齐算法,在约束模板中对所述待处理的硬核组进行自动规整对齐,得到自动规整对齐后的硬核组并在所述主页面的第一窗口中显示所述自动规整对齐后的硬核组;响应于针对所述第一窗口中的所述自动规整对齐后的硬核组中的目标硬核的交互操作,根据所述交互操作调整所述目标硬核的位置;基于位置调整后的硬核组,输出布局规划数据。
Description
技术领域
本申请涉及芯片技术领域,尤其涉及一种芯片设计的交互布局规划方法及相关设备。
背景技术
电子设计自动化(Electronic Design Automation,简称EDA),是指利用计算机辅助设计(CAD)软件,来完成超大规模集成电路(VLSI)芯片的功能设计、综合、验证、物理设计(包括布局、布线、版图、设计规则检查等)等流程的设计方式。
在数字芯片物理设计布局规划(floorplan)阶段,可以使用混合摆放(mixed-place)的方法来解决布局规划问题。该方法将硬核(hard macros)和标准单元(standardcells)同时摆放,减少了工程师的工作量和布局规划设计时间。
但是,本申请的发明人发现,相关技术中,在混合摆放后的硬核排列不整齐,这会导致多种问题。
发明内容
鉴于此,本申请提出一种芯片设计的交互布局规划方法及相关设备,以解决或部分解决上述问题。
本申请第一方面,提供了一种芯片设计的交互布局规划方法,包括:
读取所述芯片设计的初始布局规划数据并显示在主页面中;
确定所述初始布局规划数据中的待处理的硬核组,所述硬核组包括多个硬核;
按照自动规整对齐算法,在约束模板中对所述待处理的硬核组进行自动规整对齐,得到自动规整对齐后的硬核组并在所述主页面的第一窗口中显示所述自动规整对齐后的硬核组;
响应于针对所述第一窗口中的所述自动规整对齐后的硬核组中的目标硬核的交互操作,根据所述交互操作调整所述目标硬核的位置;
基于位置调整后的硬核组,输出布局规划数据。
本申请第二方面,提供了一种计算机设备,包括一个或者多个处理器、存储器;和一个或多个程序,其中所述一个或多个程序被存储在所述存储器中,并且被所述一个或多个处理器执行,所述程序包括用于执行根据第一方面所述的方法的指令。
本申请第三方面,提供了一种包含计算机程序的非易失性计算机可读存储介质,当所述计算机程序被一个或多个处理器执行时,使得所述处理器执行第一方面所述的方法。
本申请第四方面,提供了一种计算机程序产品,包括计算机程序指令,当所述计算机程序指令在计算机上运行时,使得计算机执行第一方面所述的方法。
本申请提供的芯片设计的交互布局规划方法及相关设备,通过在自动规整对齐硬核组之后,又提供了对自动规整对齐后的硬核组进行交互操作的窗口,供用户进一步调整硬核组的布局,这样,将自动规整对齐和交互操作规整对齐结合在一起,使得用户能够更方便地完成芯片设计的布局规划,提高开发效率。
附图说明
为了更清楚地说明本申请或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请实施例所提供的示例性计算机设备的硬件结构示意图。
图2A示出了根据本申请实施例的EDA工具的基本结构示意图。
图2B示出了根据本申请实施例的EDA工具的一个计算命令的基本执行流程的示意图。
图3A示出了本申请实施例所提供的示例性方法的流程示意图。
图3B示出了根据本申请实施例的用于混合尺寸硬核规划的子流程示意图。
图3C示出了根据本申请实施例的用于混合尺寸硬核规划的另一子流程示意图。
图4示出了根据本申请实施例的示例性界面的示意图。
图5A示出了根据本申请实施例的一个示例性的硬核初始规划布局示意图。
图5B示出了根据本申请实施例的一个示例性待匹配的硬核组及其目标约束模板的示意图。
图5C示出了根据本申请实施例的一个示例性约束模板的示意图。
图5D示出了根据本申请实施例的不包含封闭区域的硬核匹配结果的示意图。
图6A示出了根据本申请实施例的混合尺寸硬核切分的示意图。
图6B示出了根据本申请实施例的混合尺寸硬核匹配的示意图。
图6C示出了根据本申请实施例的面积压缩的示意图。
图7A示出了根据本申请实施例的另一示例性界面的示意图。
图7B示出了根据本申请实施例的另一示例性界面的示意图。
图7C示出了根据本申请实施例的另一示例性界面的示意图。
图7D示出了根据本申请实施例的另一示例性界面的示意图。
图7E示出了根据本申请实施例的另一示例性界面的示意图。
图7F示出了根据本申请实施例的另一示例性界面的示意图。
图7G示出了根据本申请实施例的另一示例性界面的示意图。
图7H示出了根据本申请实施例的另一示例性界面的示意图。
图7I示出了根据本申请实施例的另一示例性界面的示意图。
图7J示出了根据本申请实施例的另一示例性界面的示意图。
图7K示出了根据本申请实施例的另一示例性界面的示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本申请进一步详细说明。
需要说明的是,除非另外定义,本申请实施例使用的技术术语或者科学术语应当为本申请所属领域内具有一般技能的人士所理解的通常意义。本申请实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
图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,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本申请实施例方案所必需的组件,而不必包含图中所示的全部组件。
图2A示出了根据本申请实施例的EDA工具200的基本结构示意图。
如图2A所示,虚线以上为用户部分;虚线以下为EDA工具200,EDA工具200可以由图1所示的设备100实现。在一些实施例中,该EDA工具200可以实现为EDA软件。更具体地,该EDA工具200可以是基于芯片设计进行布局(Placement)和布线(Routing)的软件。仿真工具200可以包括Tcl命令(或者图形/窗口界面)模块204、各计算模块(例如,Place计算模块206、Route计算模块208、Optimization计算模块210等)以及数据库***212。用户202可以通过在Tcl命令(或者图形/窗口界面)模块204中输入相关命令来操作该EDA工具200。
Tcl命令模块204,主要起着消息传递或命令传递的功能。Tcl命令模块204可以读取用户202向仿真工具200输入的指令,并可以根据指令的具体内容,分配并传递给相应的计算模块去执行具体任务。
根据计算任务的不同,各计算模块可以分为,例如,Place计算模块206、Route计算模块208、Optimization计算模块210等。Place计算模块206可以用于为所有元器件计算出一个合理的摆放位置,Route计算模块208可以用于计算出各个元器件之间合理的导线连接方式,Optimization计算模块210则可以用于将各个元器件之间的摆放位置和导线连接方式进行优化。这些计算模块的计算过程可以在,例如,图1的处理器102中进行。
数据库***212可以用于完整全面地记录、存储被仿真或者被设计的芯片的所有信息(如位置、方向、尺寸、结构、导线连接方式等等)。这些信息,例如,可以存储在图1的存储器104中。
图2B示出了根据本申请实施例的EDA工具200的一个计算命令的基本执行流程300。如图2B所示,在步骤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,用户可以根据计算结果进行评估,然后确定下一步计划。
布局规划(floorplan),通常是指,把硬核(hard macros)放置到设计当中,并满足后续标准单元(standard cells)布局要求。广义的布局规划还包括设计裸片(Die)的高宽比、摆放I/O Pad、纯物理单元(Welltap、Endcap)***、电源地网络规划等。
作为一个可选实施例,可以采用图2B所示的流程来完成初始布局规划,从而得到芯片设计的初始布局规划数据。在进行初步布局规划时,可以采用混合摆放的方法来完成布局规划。混合摆放(mixed-place),通常是指使用解析式摆放器同时摆放硬核和标准单元。该方法将硬核(hard macros)和标准单元(standard cells)同时摆放,减少了工程师的工作量和布局规划设计时间。
但是,在很多时候,混合摆放后的硬核排列不整齐,这会导致多种问题:一、电源地布线困难,容易产生电压降(IR drop)的问题;二、占用更多的绕线资源;三、产生很多的封闭区域(dead area),这些封闭区域会导致时序优化困难和绕线困难。
一种解决办法是,在混合摆放后,对硬核做规整对齐,可以一定程度上解决这些问题。规整对齐(packing),通常是指,把一组硬核在第一方向(例如,水平方向)和第二方向(竖直方向)上进行对齐,并整体移动到指定位置,完成组与组的拼接或者对齐。
在相关技术中,全自动硬核规整对齐(packing)技术对混合摆放(mixed-place)的结果改动很大,破坏了混合摆放的全局优化的结果,因而无论是从功耗、性能、面积的角度,还是从设计收敛的角度,都无法满足要求。
有鉴于此,本申请实施例提供了一种芯片设计的交互布局规划方法,通过在自动规整对齐硬核组之后,又提供了对自动规整对齐后的硬核组进行交互操作的窗口,供用户进一步调整硬核组的布局,这样,将自动规整对齐和交互操作规整对齐结合在一起,使得用户能够更方便地完成芯片设计的布局规划,提高开发效率。
图3A示出了本申请实施例所提供的示例性方法300的流程示意图。该方法300可以由图1的计算机设备100实现,并可以实现为图2A的EDA工具200的一部分功能。如图3A所示,该方法300可以进一步包括以下步骤。
在步骤302,读取所述芯片设计的初始布局规划数据并显示在主页面中,该初始布局规划数据可以是经过混合摆放之后得到的布局规划数据。
图4示出了根据本申请实施例的示例性界面400的示意图。
如图4所示,界面400可以是一种EDA软件的操作界面,该界面400可以展示在计算机设备的显示屏中。该界面400可以具体包括标题栏402、菜单栏404、位于界面400中心的展示(View)区域406、位于展示区域406一侧的侧边(Dock)区域408。其中,展示区域406可以用于展示信息或编辑信息,例如,用于展示芯片设计的布局规划数据。侧边区域408被设置在界面400的一侧并可以被限制在一定区域中,如图4所示。在该界面400中,展示区域406和侧边区域408均可以展示相应的窗口。如图4所示,展示区域406中可以展示窗口4062,被读取的初始布局规划数据可以展示在该窗口4062中。
在步骤304,确定所述初始布局规划数据中的待处理的硬核组,所述硬核组包括多个硬核。可选地,用户可以在图4的界面400的窗口4062中利用鼠标框选一个区域,进而将该区域内的多个硬核确定为待处理的硬核组。
在步骤306,按照自动规整对齐算法,在约束模板中对所述待处理的硬核组进行自动规整对齐,得到自动规整对齐后的硬核组并在所述主页面的第一窗口中显示所述自动规整对齐后的硬核组。
图5A示出了根据本申请实施例的一个示例性的硬核初始规划布局500的示意图。
为了接下来描述的方便,初始规划布局500可以如图5A所示,其中包括初始布局规划数据对应的混合摆放之后得到的布局规划结果,并可以供用户选择所需要进行规整对齐的一组硬核。
如图5A所示,假设用户利用鼠标选择了区域502中的一组硬核来进行规整对齐,则计算机设备100可以确定待处理的硬核组为区域502中圈定的6个硬核504。
接下来,计算机设备100可以基于选定的硬核组来按照自动规整对齐算法进行规整对齐。
图3B示出了根据本申请实施例的用于混合尺寸硬核规划的子流程示意图。如图3B所示,该步骤306可以进一步包括以下步骤。
在步骤3062,根据所述待处理的硬核组的硬核尺寸,确定单元格尺寸。
根据所述硬核组中各硬核的尺寸是否相同的区别,单元格尺寸的确定方法可以是不同的。
在一些实施例中,当所述硬核组中各硬核的尺寸相同时,该步骤3062可以进一步包括:响应于确定所述硬核组中各硬核的尺寸相同,根据所述硬核在第一方向(例如,水平方向或x轴方向)和第二方向(例如,竖直方向或y轴方向)上的尺寸以及硬核间的约束间距,确定所述单元格尺寸。例如,将硬核在x轴上的宽度加上x轴方向的约束间距,就是单元格在x轴上的长度;同理,将硬核在y轴上的宽度加上y轴方向的约束间距,就是单元格在y轴上的长度,这样就得到了单元格的尺寸。
在一些实施例中,当所述硬核组中各硬核的尺寸不同时,该步骤3062可以进一步包括:响应于确定所述硬核组存在尺寸不同的至少两个硬核,采用近似最大公约数方法,根据各硬核在第一方向和第二方向上的尺寸,确定所述单元格尺寸。具体地,由于待处理的硬核组中存在尺寸不同的硬核,单元格的尺寸需要合理规划,否则会导致某些单元格中有大片空白区域未被硬核填满而形成封闭区域。本实施例中,采用近似最大公约数方法分别计算x轴或y轴方向上最优的单元格尺寸,也就是,基于一个近似的最大公约数来确定单元格尺寸,近似程度可以根据需要进行设定。
在步骤3064,确定约束模板的行列数。
约束模板的行列数可以是用户指定的,例如,通过在布局500所在的界面中输入行数和列数来得到约束模板的行列数。
在一些实施例中,当用户没有指定约束模板的行列数时,可以自动计算约束模板的行列数。具体地,如图5B所示,可以确定能够包围所述硬核组的最小矩形506,根据所述最小矩形506的尺寸和所述单元格508的尺寸,确定约束模板的行列数。例如,可以是利用最小矩形506的尺寸除以单元格508的尺寸,从而得到行列数(图5B的示例为3×3)。
在步骤3066,根据所述行列数和所述单元格尺寸,生成所述约束模板。
具体地,根据确定的单元格尺寸与行列数,可以产生完整的约束模板510,如图5C所示。并且,可以进一步将约束模板的原点与硬核组的原点重合,准备进行后续的模板匹配。这里的原点可分为中心、左下、左上、右下、右上等不同类型来供选择。
在步骤3068,将所述硬核组匹配到所述约束模板的单元格中。
根据所述硬核组中各硬核的尺寸是否相同的区别,匹配到所述约束模板的方法可以是不同的。
在一些实施例中,当所述硬核组中各硬核的尺寸相同时,该步骤3068可以使用LP方法来将所述硬核组中的各硬核匹配到所述约束模板中与其距离最近的单元格中。
在一些实施例中,当所述硬核组中各硬核的尺寸不同时,如图3C所示,该步骤3068可以进一步包括:
在步骤30682,响应于确定所述硬核组存在尺寸不同的至少两个硬核,将所述硬核组中尺寸大于单元格尺寸的硬核,按照单元格尺寸切分为至少两个子硬核。在步骤3062中,采用近似最大公约数方法求得了单元格尺寸,因此,对于尺寸大于单元格尺寸的硬核,可以基本为(约等于)单元格尺寸的整数倍,基于此,可以将尺寸大于单元格尺寸的硬核按照单元格尺寸进行切分,得到整数个子硬核。如图6A所示,对于尺寸约等于单元格尺寸两倍的硬核,可以切分为两个子硬核。可以理解,该方法可以沿第一方向和第二方向进行切分,在此不再赘述。
在步骤30684,基于混合整数线性规划方法,将所述硬核组中的各硬核或子硬核匹配到所述约束模板中与其距离最近的单元格中,并使得同一硬核的子硬核处于相邻的单元格中,如图6B所示。
在步骤3070,响应于确定匹配完成的所述硬核组之间存在封闭区域或不规则区域,对匹配完成的所述硬核组进行优化布局以消除所述封闭区域或所述不规则区域。
封闭区域(dead area),一般是指,被硬核包围但可以摆放标准单元的区域,该区域可以有狭窄沟道与外界联通。通过消除封闭区域可以使得硬核排列更加规则整齐,有利于时序优化和绕线。作为一个可选实施例,可以通过确定所述硬核组的硬核数量与所述约束模板的单元格数量的关系来确定是否存在封闭区域或不规则区域。例如,当所述硬核组的硬核数量大于所述约束模板的单元格数量,则说明某些单元格中未填充硬核,容易形成封闭或不规则区域,进而确定匹配完成的所述硬核组之间存在封闭区域或不规则区域。
在一些实施例中,对匹配完成的所述硬核组进行优化布局以消除所述封闭区域或所述不规则区域,包括:
以所述单元格为单位,扫描并计算得到硬核的轮廓线单元格以及封闭区域单元格或不规则区域单元格;
接着,可以将与封闭区域单元格最近的轮廓线单元格用该封闭区域单元格进行填充。
具体地,可以用约束模板的空白单元格填充封闭区域单元格以更新所述约束模板,更新的约束模板为原模板的子集,其单元格数量与硬核数量一致。然后可以基于更新的约束模板重新进行步骤3068,以消除所述封闭区域或所述不规则区域。
由于此时单元格数量与硬核数量一致,重新进行模板匹配后不会形成封闭或不规则区域,如图5D所示。
在一些实施例中,若单元格中的硬核间距大于最小约束间距,则可以进一步减小单元格尺寸直到最小约束间距,以减小总面积。
因此,在一些实施例中,步骤3072可以进一步包括:对优化布局后的所述硬核组的间距进行调整以压缩所述约束模板的总面积;基于调整后的所述硬核组,输出布局规划数据。
具体地,在一些实施例中,对优化布局后的所述硬核组的间距进行调整以压缩所述约束模板的总面积,如图6C所示。
至此,得到的硬核组就是已经规整对齐的硬核组,可以较好地解决混合摆放后出现的问题。
但是,结合前面所述,自动硬核规整对齐(packing)技术对混合摆放(mixed-place)的结果存在改动,可能会影响混合摆放的全局优化的结果。因此,本申请通过提供交互界面来供用户利用交互操作对已经进行自动规整对齐的硬核组进行微调,可以方便用户使用,提升开发效率。
图7A示出了根据本申请实施例的对图4的区域40622中的硬核组进行自动硬核规整对齐之后的示例性界面700的示意图。
如图7A所示,界面700(主页面)可以展示窗口7064(第一窗口),该窗口7064中可以显示自动规整对齐后的硬核组,其中,硬核组中的硬核可以根据窗口7064的大小而自适应等比例调整大小,从而在窗口7064中可以清晰地展示硬核,方便用户操作。可选地,在窗口7064中展示硬核组时,还可以将用于匹配硬核组的约束模板70642展示在窗口7064中。界面700还可以展示窗口7062(第二窗口),该窗口7062中可以显示所述初始布局规划数据。可选地,窗口7062与窗口7064可以并列排布在界面700中,方便用户查看。
在一些实施例中,如图7A所示,计算机设备100还可以将窗口7062的所述初始布局规划数据中与所述自动规整对齐后的硬核组对应的硬核组进行自动规整对齐并展示在窗口7062中,例如,展示在与图4的区域40622对应的区域70622中。
用户可以通过交互操作来调整窗口7064中的硬核的位置。因此,在步骤308,响应于针对窗口7064中的所述自动规整对齐后的硬核组中的目标硬核的交互操作,计算机设备100可以根据所述交互操作调整所述目标硬核的位置。
例如,用户可以通过拖拽操作来调整窗口7064中的硬核的位置。响应于针对所述目标硬核的拖拽操作,计算机设备100可以根据所述拖拽操作的释放位置,将所述目标硬核移动到所述释放位置对应的位置。
作为一个可选实施例,响应于确定所述释放位置处于所述约束模板的空白单元格中,计算机设备100可以将所述目标硬核移动到所述空白单元格中。
可以理解,约束模板70642的空白单元格的数量是有限的,特别是,在规整对齐时消除封闭区域之后,一般不存在空白单元格。
因此,若拖拽操作的释放位置处于所述约束模板70642的非空白单元格中,若所述非空白单元格中的硬核与所述目标硬核的大小相等,将所述非空白单元格中的硬核与所述目标硬核进行位置调换。
如图7B所示,若用户选中了目标硬核70644并沿图7B中箭头方向拖拽目标硬核70644,且拖拽操作的释放位置假设是图7B中箭头所指向的位置,则可以将目标硬核70644与该位置的非空白单元格中的硬核进行位置调换,如图7C所示。
如图7B和图7C所示,在前述的交互操作过程中,窗口7064中的目标硬核70644和窗口7062中的与目标硬核70644对应的硬核都可以被高亮显示,使得用户可以容易地观察到目标硬核70644及其在窗口7062中对应的硬核,方便用户操作。并且,在交互操作结束后,目标硬核70644及其在窗口7062中对应的硬核可以保持高亮状态,直到下次交互操作开始。
在一些实施例中,除了移动单个目标硬核之外,还可以同时移动多个硬核。
如图7D所示,用户可以选择沿第一方向(图中为纵向)并列排布的多个目标硬核70644,并可以沿第二方向(图中的箭头方向,同时也是横向)拖拽多个目标硬核70644。假设多个目标硬核70644的释放位置处于所述约束模板70642的非空白单元格中,若所述非空白单元格中的硬核与所述多个目标硬核的大小和形状均相匹配,则可以将所述非空白单元格中的硬核与所述多个目标硬核进行位置调换。如图7D所示,假设释放位置是箭头指向的位置,该位置的硬核70646沿第一方向占用了4个单元格,而多个目标硬核70644沿第一方向也占用了4个单元格,则可以认为硬核70646与多个目标硬核70644的大小(占用单元格数量)和形状(延伸方向相同)均相匹配,从而可以将二者交换位置,如图7E所示。
可以理解,当非空白单元格中的硬核与用户所选择的多个目标硬核70644的大小或形状不匹配时,则当拖拽操作完成释放时,不能完成硬核的位置交换,界面700可以还原到交互操作之前的状态,例如,图7D所示的状态。
考虑到用户操作的偏差等问题,在一些实施例中,除了可以将目标硬核移动到非空白单元格中来实现硬核位置交换之外,还可以通过将目标硬核移动到相邻的两个非空白单元格之间来完成硬核位置交换。
在一些实施例中,响应于确定所述释放位置处于所述约束模板的两个相邻的非空白单元格之间,若所述非空白单元格中的硬核与所述目标硬核的大小相等,将所述两个相邻的非空白单元格中靠近所述目标硬核的非空白单元格中的硬核,向沿所述两个相邻的非空白单元格的中心连线的方向平移与所述目标硬核的大小相匹配的若干单元格,并将所述目标硬核移动到所述若干单元格中。
例如,当被拖拽的目标硬核的大小占用两个单元格,且两个相邻的非空白单元格中靠近所述目标硬核的非空白单元格中的硬核也占用两个单元格,则需要将靠近所述目标硬核的非空白单元格中的硬核向目标硬核移动方向的相反方向移动两个单元格,这样,相应位置处就会空出两个空白单元格,这样目标硬核就可以放置在这两个空白单元格中。
在一些实施例中,可以同时移动多个目标硬核,因此前述的处理步骤还需要更加的复杂。
如图7F所示,用户同时选中了两个目标硬核70644并沿箭头方向拖拽这两个目标硬核70644,释放位置是箭头指向的位置,该位置处于相邻的两个非空白单元格之间。
此时,需要确定被拖拽的两个目标硬核70644所占用的单元格数量及其延伸方向(本实施例为两个单元格和第一方向),然后,确定该释放位置的靠近目标硬核70644一侧与所述两个目标硬核70644的大小和形状相匹配(占用的单元格数量及其延伸方向相同)的若干硬核,然后将这若干硬核向目标硬核移动方向的相反方向移动若干单元格(数量与两个目标硬核70644所占用的单元格数量相等),从而空出这若干单元格,然后将两个目标硬核70644对应放置其中,如图7G所示。
这样,即使用户没有准确地将释放位置对应于单元格,也能实现硬核位置交换。
在一些实施例中,如图7A所示,还可以在界面700的菜单栏704中显示邻接模式选项7042。
在图7A所示的界面700中,若用户勾选了所述邻接模式选项7042,则计算机设备100可以确定所述自动规整对齐后的硬核组中的相邻硬核之间不存在引脚的硬核侧边;然后根据该不存在引脚的硬核侧板,将所述相邻硬核进行邻接处理,界面700变化为如图7H所示的界面700。
在一些实施例中,在开启邻接模式后,可以是默认将沿第一方向(图中为纵向)和第二方向(图中为横向)的相邻硬核之间不存在引脚的硬核侧边均进行邻接。此时,硬核组中各硬核可以不进行方位调整,而是按照混合摆放之后硬核的摆放方位来进行邻接。具体而言,如图7H所示,图中用黑色条描绘了硬核具有引脚的侧边(不具有黑色条的侧边即为不存在引脚的硬核侧边),可以看到,在开启邻接模式后,不存在引脚的相邻硬核侧边均进行邻接。
为了进一步调整邻接方式,在一些实施例中,如图7H所示,菜单栏704中还可以显示第一水平邻接按钮7044、第二水平邻接按钮7046、第一垂直邻接按钮7048、第二垂直邻接按钮7050。用户通过点击这些按钮,可以通过调转硬核的摆放方位来实现进一步的邻接处理。
例如,根据第一水平邻接按钮7044的图案可知,当第一水平邻接按钮7044被触发,硬核组水平方向上位于最外侧的硬核侧边将不设置引脚。因此,若用户点击了第一水平邻接按钮7044,则图7H中硬核组最左侧的一列硬核朝向最外侧的侧边应该没有引脚,于是,按照这个标准,可以将硬核的摆放方位进行调转,使其引脚朝里,如图7I所示。鉴于此,因为硬核组最左侧的一列硬核的引脚朝里,该处可以添加通道以方便布线,因此,为了节省布线区域以使布局更加紧凑,靠近硬核组最左侧的一列硬核的另一列硬核的引脚可以朝向该最左侧的一列硬核,这样,相邻列的硬核可以在相同的通道中走线,从而节省布线区域。依次类推,完成整个硬核组的邻接处理,如图7I所示。
又例如,根据第二水平邻接按钮7046的图案可知,当第二水平邻接按钮7046被触发,硬核组水平方向上位于最外侧的硬核侧边将需要设置引脚。因此,若用户点击了第二水平邻接按钮7046,则图7H中硬核组最左侧的一列硬核朝向最外侧的侧边应该具有引脚,于是,按照这个标准,图7H中最右侧的一列硬核的摆放方位可以进行调转,使其引脚朝外,如图7J所示。鉴于此,因为最外侧的两列硬核均将引脚朝外,则可以将与其相邻的一列硬核的不设置引脚的侧边与最外侧的两列硬核进行水平邻接,若朝向最外侧的两列硬核的硬核侧边有引脚,则可以调转硬核的摆放方位,然后实现水平邻接。进一步地还可以参考前一实施例来设置布线通道。依次类推,完成整个硬核组的邻接处理,如图7J所示。
类似地,垂直邻接可以参考水平邻接的处理方式,在此不再赘述。
这样,通过邻接处理,使得硬核组布局更加紧凑,能够进一步优化布局结果。
需要说明的是,前述利用交互操作来微调硬核位置的实施例是在混合摆放和自动规整对齐之后进行的,因此为了最大限度地保持混合摆放和自动规整对齐的优化布局结果,前述的交互操作仅提供了有限的操作方式。但是,这些交互操作都十分有效地为用户提供了进一步微调硬核位置的空间,从而可以很好地实现进一步优化布局的效果,同时提高了开发效率。
在步骤310,可以基于位置调整后的硬核组,输出布局规划数据。
如图7A所示,初始布局规划数据中还剩余了其他硬核可以进行进一步处理,因此,作为一个可选实施例,在完成一组硬核的处理后,可以从初始布局规划数据中再选定一组硬核,按照前述步骤进行处理。
在一些实施例中,当用户完成硬核组的微调后,可以在窗口7062中整体移动该硬核组到整个布局规划的指定位置,硬核组的整***置移动可以是边界移动、锚点移动、位置移动。其中,基于边界移动可以以硬核组的某个边界的某个顶点作为基准点,然后以该基准点来对其硬核组的整体。基于锚点移动可以是以硬核组中某个硬核的某个顶点作为基准点,然后以该基准点来对其硬核组的整体。基于位置移动可以是直接计算拖拽距离和拖拽释放位置,来整体移动硬核组。移动后的硬核组可以如图7K所示。这样处理,可以方便剩余硬核的选取和移动。
然后,再整体移动每组对齐好的硬核组和其他组或者硬核按指定间距和方位完成拼接。
重复上述操作直到初始布局规划数据中所有的硬核完成规整和对齐。
最后输出布局规划结果。
从上述实施例可以看出,本申请实施例提供的芯片设计的布局规划方法,可以将混合摆放后的硬核进行规整对齐,使得后续的电源地布线更容易,节省绕线资源,并能够更容易地进行时序优化和绕线。
需要说明的是,本申请实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本申请实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
需要说明的是,上述对本申请的一些实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于上述实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
基于同一发明构思,与上述任意实施例方法相对应的,本申请还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的方法300。
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的方法300,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法300相对应的,本申请还提供了一种计算机程序产品,其包括计算机程序。在一些实施例中,所述计算机程序由一个或多个处理器可执行以使得所述处理器执行所述的方法300。对应于方法300各实施例中各步骤对应的执行主体,执行相应步骤的处理器可以是属于相应执行主体的。
上述实施例的计算机程序产品用于使处理器执行如上任一实施例所述的方法300,并且具有相应的方法实施例的有益效果,在此不再赘述。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本申请的范围(包括权利要求)被限于这些例子;在本申请的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本申请实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本申请实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本申请实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本申请实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本申请的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本申请实施例。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本申请的具体实施例对本申请进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本申请实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本申请实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (13)
1.一种芯片设计的交互布局规划方法,包括:
读取所述芯片设计的初始布局规划数据并显示在主页面中;
确定所述初始布局规划数据中的待处理的硬核组,所述硬核组包括多个硬核;
按照自动规整对齐算法,在约束模板中对所述待处理的硬核组进行自动规整对齐,得到自动规整对齐后的硬核组并在所述主页面的第一窗口中显示所述自动规整对齐后的硬核组;
响应于针对所述第一窗口中的所述自动规整对齐后的硬核组中的目标硬核的交互操作,根据所述交互操作调整所述目标硬核的位置;
基于位置调整后的硬核组,输出布局规划数据。
2.如权利要求1所述的方法,其中,响应于针对所述第一窗口中的所述自动规整对齐后的硬核组中的目标硬核的交互操作,根据所述交互操作调整所述目标硬核的位置,包括:
响应于针对所述目标硬核的拖拽操作,根据所述拖拽操作的释放位置,将所述目标硬核移动到所述释放位置对应的位置。
3.如权利要求2所述的方法,其中,根据所述拖拽操作的释放位置,将所述目标硬核移动到所述释放位置对应的位置,包括:
响应于确定所述释放位置处于所述约束模板的空白单元格中,将所述目标硬核移动到所述空白单元格中;
响应于确定所述释放位置处于所述约束模板的非空白单元格中,若所述非空白单元格中的硬核与所述目标硬核的大小相等,将所述非空白单元格中的硬核与所述目标硬核进行位置调换;或者
响应于确定所述释放位置处于所述约束模板的两个相邻的非空白单元格之间,若所述非空白单元格中的硬核与所述目标硬核的大小相等,将所述两个相邻的非空白单元格中靠近所述目标硬核的非空白单元格中的硬核,向沿所述两个相邻的非空白单元格的中心连线的方向平移与所述目标硬核的大小相匹配的若干单元格,并将所述目标硬核移动到所述若干单元格中。
4.如权利要求2所述的方法,其中,所述目标硬核的数量为多个,多个目标硬核沿第一方向并列排布;
响应于针对所述目标硬核的拖拽操作,根据所述拖拽操作的释放位置,将所述目标硬核移动到所述释放位置对应的位置,包括:
响应于确定所述释放位置处于所述约束模板的非空白单元格中,若所述非空白单元格中的硬核与所述多个目标硬核的大小和形状均相匹配,将所述非空白单元格中的硬核与所述多个目标硬核进行位置调换。
5.如权利要求2所述的方法,其中,所述方法还包括:在所述主页面中显示邻接模式选项;
在约束模板中对所述待处理的硬核组进行自动规整对齐,包括:
响应于确定所述邻接模式选项被勾选,确定所述自动规整对齐后的硬核组中的相邻硬核之间不存在引脚的硬核侧边;
根据所述硬核侧边,将所述相邻硬核进行邻接处理。
6.如权利要求2所述的方法,其中,读取所述芯片设计的初始布局规划数据并显示在主页面中,包括:在所述主页面的第二窗口中显示所述初始布局规划数据;所述第一窗口与所述第二窗口并列排布在所述主页面中;
在所述主页面的第一窗口中显示所述自动规整对齐后的硬核组的同时,所述方法还包括:
将所述第二窗口的所述初始布局规划数据中与所述自动规整对齐后的硬核组对应的硬核组进行自动规整对齐并展示在所述第二窗口中。
7.如权利要求6所述的方法,其中,响应于针对所述第一窗口中的所述自动规整对齐后的硬核组中的目标硬核的交互操作,根据所述交互操作调整所述目标硬核的位置,包括:
在所述第一窗口和所述第二窗口中高亮显示所述目标硬核。
8.如权利要求1所述的方法,其中,按照自动规整对齐算法,在约束模板中对所述待处理的硬核组进行自动规整对齐,包括:
根据所述待处理的硬核组的硬核尺寸,确定单元格尺寸;
确定约束模板的行列数;
根据所述行列数和所述单元格尺寸,生成所述约束模板;
将所述待处理的硬核组匹配到所述约束模板的单元格中;
响应于确定匹配完成的硬核组之间存在封闭区域或不规则区域,对所述匹配完成的硬核组进行优化布局以消除所述封闭区域或所述不规则区域。
9.如权利要求8所述的方法,其中,对所述匹配完成的硬核组进行优化布局以消除所述封闭区域或所述不规则区域,包括:
以所述单元格为单位,扫描并计算得到硬核的轮廓线单元格以及封闭区域单元格或不规则区域单元格;
将与轮廓线单元格最近的封闭区域单元格用该轮廓线单元格进行填充。
10.如权利要求8所述的方法,其中,对所述匹配完成的硬核组进行优化布局以消除所述封闭区域或所述不规则区域之后,还包括:
对优化布局后的硬核组的间距进行调整以压缩所述约束模板的总面积。
11.一种计算机设备,包括一个或者多个处理器、存储器;和一个或多个程序,其中所述一个或多个程序被存储在所述存储器中,并且被所述一个或多个处理器执行,所述程序包括用于执行根据权利要求1-10任意一项所述的方法的指令。
12.一种包含计算机程序的非易失性计算机可读存储介质,当所述计算机程序被一个或多个处理器执行时,使得所述处理器执行权利要求1-10中任一项所述的方法。
13.一种计算机程序产品,包括计算机程序指令,当所述计算机程序指令在计算机上运行时,使得计算机执行如权利要求1-10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211366327.1A CN116362190A (zh) | 2022-10-31 | 2022-10-31 | 芯片设计的交互布局规划方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211366327.1A CN116362190A (zh) | 2022-10-31 | 2022-10-31 | 芯片设计的交互布局规划方法及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116362190A true CN116362190A (zh) | 2023-06-30 |
Family
ID=86938237
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211366327.1A Pending CN116362190A (zh) | 2022-10-31 | 2022-10-31 | 芯片设计的交互布局规划方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116362190A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117521586A (zh) * | 2023-12-29 | 2024-02-06 | 芯行纪科技有限公司 | 芯片设计的布局规划方法及相关设备 |
-
2022
- 2022-10-31 CN CN202211366327.1A patent/CN116362190A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117521586A (zh) * | 2023-12-29 | 2024-02-06 | 芯行纪科技有限公司 | 芯片设计的布局规划方法及相关设备 |
CN117521586B (zh) * | 2023-12-29 | 2024-03-12 | 芯行纪科技有限公司 | 芯片设计的布局规划方法及相关设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116151179B (zh) | 芯片设计的布局规划方法及相关设备 | |
US9552450B2 (en) | Determining a user-specified location in a graphical user interface of an electronic design automation tool | |
US7117469B1 (en) | Method of optimizing placement and routing of edge logic in padring layout design | |
CN116911246B (zh) | 芯片设计的布线规划方法及相关设备 | |
CN116227407B (zh) | 形成物理版图的模块边界的方法及相关设备 | |
CN116362190A (zh) | 芯片设计的交互布局规划方法及相关设备 | |
US20120240090A1 (en) | Clock tree designing apparatus and clock tree designing method | |
CN116090396B (zh) | 显示芯片设计的数据流的方法及相关设备 | |
US20040044969A1 (en) | Functional block design method and apparatus | |
CN113792509B (zh) | 一种复位信号平衡方法和装置 | |
US20160232275A1 (en) | Method and apparatus for logical design connectivity-based automatic macro placement | |
US20090241082A1 (en) | Method and System for Generating an Accurate Physical Realization for an Integrated Circuit Having Incomplete Physical Constraints | |
US8132141B2 (en) | Method and apparatus for generating a centerline connectivity representation | |
US10970452B2 (en) | System for designing semiconductor circuit and operating method of the same | |
JP2018112995A (ja) | 迂回配線チェックプログラム、迂回配線チェック方法、および情報処理装置 | |
CN117521586B (zh) | 芯片设计的布局规划方法及相关设备 | |
CN112395657A (zh) | 箱体构造方法、装置、***和计算机可读介质 | |
US9436796B2 (en) | Method and apparatus for determining common node logical connectivity | |
CN117688894B (zh) | 芯片布局优化方法、装置、计算机设备及存储介质 | |
CN112859982B (zh) | 用于芯片的自适应电压与频率调节的测试电路的实现方法 | |
US11092885B2 (en) | Manufacturing methods of semiconductor devices | |
CN113961296B (zh) | 页面元素布局方法、装置、可读介质及电子设备 | |
CN112763890B (zh) | 用于芯片的自适应电压与频率调节的测试电路的实现方法 | |
CN117688895A (zh) | 电路图生成方法、计算机设备及存储介质 | |
CN117764022A (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 |