CN114004190B - 基于物理版图的多层级信息获取及可扩展操作的方法 - Google Patents
基于物理版图的多层级信息获取及可扩展操作的方法 Download PDFInfo
- Publication number
- CN114004190B CN114004190B CN202210002652.3A CN202210002652A CN114004190B CN 114004190 B CN114004190 B CN 114004190B CN 202210002652 A CN202210002652 A CN 202210002652A CN 114004190 B CN114004190 B CN 114004190B
- Authority
- CN
- China
- Prior art keywords
- data
- item
- matching
- condition
- selectable
- 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
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/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Architecture (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请提供一种基于物理版图的多层级信息获取及可扩展操作的方法。该方法包括:在EDA工具中接收数据获取命令,所述数据获取命令包括基本项;解析所述数据获取命令以确定所述数据获取命令中是否包括可选项;以及响应于所述数据获取命令中包括可选项,根据所述基本项和所述可选项执行对应的操作来获取对应的数据。
Description
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种基于物理版图的多层级信息获取及可扩展操作的方法。
背景技术
电子设计自动化(Electronic design automation,简称EDA)是指利用计算机辅助设计(CAD)软件,来完成超大规模集成电路(VLSI)芯片的功能设计、综合、验证、物理设计(包括布局、布线、版图、设计规则检查等)等流程的设计方式。
在相关技术中,EDA工具提供了多种不同类型的数据,这些数据包括对象数据(Object)和属性数据(Attribute)。其中,针对对象数据,一般通过属性筛选来获取目标对象。但是,EDA工具提供的获取方法存在较多不便。
发明内容
有鉴于此,本申请提出了一种基于物理版图的多层级信息获取及可扩展操作的方法。
本申请第一方面,提供了一种基于物理版图的多层级信息获取及可扩展操作的方法,包括:
在EDA工具中接收数据获取命令,所述数据获取命令包括基本项;
解析所述数据获取命令以确定所述数据获取命令中是否包括可选项;以及
响应于所述数据获取命令中包括可选项,根据所述基本项和所述可选项执行对应的操作来获取对应的数据。
本申请第二方面,提供了一种电子设备,包括:存储器,用于存储一组指令;以及至少一个处理器,配置为执行该组指令以进行如第一方面所述的方法。
本申请第三方面,提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机的一组指令,该组指令用于在被执行时使所述计算机执行第一方面所述的方法。
本申请实施例提供的基于物理版图的多层级信息获取及可扩展操作的方法,通过在数据获取命令中增加可选项来实现特殊操作,在数据获取命令中包括可选项的情况下,结合数据获取命令的基本项和可选项来获取到对应的数据,能够实现快速获取特定数据的效果。
附图说明
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了根据本申请实施例的电子设备的示意图。
图2A示出了根据本申请实施例的示例性仿真工具的示意图。
图2B示出了根据本申请实施例的示例性物理版图中的标准单元示意图。
图2C示出了根据本申请实施例的示例性物理版图中的金属层示意图。
图3A示出了根据本申请实施例的示例性数据获取命令的示意图。
图3B示出了根据本申请实施例的示例性树形结构的示意图。
图4示出了本申请实施例所提供的示例性方法的流程示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本申请进一步详细说明。
需要说明的是,除非另外定义,本申请使用的技术术语或者科学术语应当为本申请所属领域内具有一般技能的人士所理解的通常意义。本申请中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
图1示出了根据本申请实施例的电子设备100的示意图。电子设备100可以是运行EDA软件的电子设备,并可以对集成电路(例如,芯片设计)中的对象数据或其属性数据(属性值)进行获取并进行后续处理。如图1所示,电子设备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可以配置为存储数据(例如,指令集、计算机代码、中间数据等)。在一些实施例中,基于EDA工具的获取数据的方法可以是存储器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,但是在具体实施过程中,该电子设备100的架构还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述电子设备100的架构中也可以仅包含实现本申请实施例方案所必需的组件,而不必包含图中所示的全部组件。
图2A示出了根据本申请实施例的仿真工具200的基本结构示意图。
如图2A所示,虚线以上为用户部分;虚线以下为仿真工具200,仿真工具200可以由图1所示的设备100实现。仿真工具200可以包括图形/窗口界面模块204、各计算模块(例如,位置(Place)计算模块206、路径(Route)计算模块208、优化(Optimization)计算模块210等)以及数据库***212。用户202可以通过在图形/窗口界面模块204中输入相关命令来操作仿真工具200。在一些实施例中,该仿真工具200可以是任意的EDA软件。
图形/窗口界面模块204,主要起着消息传递或命令传递的功能。图形/窗口界面模块204可以读取用户202向仿真工具200输入的指令(或命令),并可以根据指令的具体内容,分配并传递给相应的计算模块去执行具体任务。
根据计算任务的不同,各计算模块可以分为,例如,Place计算模块206、Route计算模块208、Optimization计算模块210等。Place计算模块206可以用于为所有元器件计算出一个合理的摆放位置,Route计算模块208可以用于计算出各个元器件之间合理的导线连接方式,Optimization计算模块210则可以用于将各个元器件之间的摆放位置和导线连接方式进行优化。这些计算模块的计算过程可以在,例如,图1的处理器102中进行。
数据库***212可以用于完整全面地记录、存储被仿真或者被设计的芯片的所有信息(如位置、方向、尺寸、结构、导线连接方式等等)。这些信息,例如,可以存储在图1的存储器104中。
由此可见,在利用仿真工具200对芯片设计进行仿真时,用户202可以通过在图形/窗口界面模块204中输入各种命令来让仿真工具200对该命令进行执行。
在一些场景下,用户202可以通过在图形/窗口界面模块204中输入数据获取命令来获取对象数据或其属性数据。该对象数据(Object)可以是指,数字芯片设计中的操作对象。例如,连线(net)、模块(cell)、引脚(pin)等都属于不同类型的对象数据(Object)。该属性值(Attribute),隶属于对象数据,每个或每种对象数据都可以有一个或多个属性值。例如,高度(height)、宽度(width)等都属于某个模块(cell)的某个对象(Object)的属性值(Attribute),这个属性值可以称为属性数据。
但是,在相关技术中,EDA工具所提供的使用方法存在不便。例如,EDA工具提供的命令行筛选方式较为单一,该相关技术只支持属性名和属性值的完全匹配或通配的方式。若需要获取某些较为特殊的数据(例如,需要多级访问的数据),则需要先获取该数据的相关数据后多次套用命令行才能获取目标数据。或者,在获取数据时,相关技术无法实现用户对指定数据的直接匹配。
集成电路版图(英语:integrated circuit layout),是真实集成电路物理情况的平面几何形状描述。集成电路版图是集成电路设计中最底层步骤物理设计的成果,物理设计通过布局、布线技术将逻辑综合的成果——门级的网表转换成物理版图文件,这个文件包含了各个硬件单元在芯片上的形状、面积和位置信息。物理版图的设计结果必须遵守制造工艺、时序、面积、功耗等的约束。而物理版图的设计一般是借助电子设计自动化(EDA)工具来完成的。
集成电路的物理版图中的所有信息一般以对象(object)的形式存在,且不同的对象具有与之对应的属性(Attribute)。
物理版图的对象可以进一步包含逻辑(logic)特征对象以及物理(位置,形状等)特征对象。其中,逻辑特征对象,可以表征集成电路逻辑结构,如网表(netlist)、逻辑引脚(port)、内部层级引脚(hierarchy term)、功耗数据、时延数据、寄生参数数据等。物理特征对象,可以表征集成电路具有的位置、形状等物理特征的对象,例如,金属绕线(routewire)、标准单元(std)形状、位置等。在一些情况下,有的对象又可以进一步包含一个或者多个层级的子对象(sub object)。
图2B示出了根据本申请实施例的示例性物理版图中的标准单元示意图。如图2B所示,标准单元和用于摆放标准单元的行(row)都可以是物理版图的对象。图2C示出了根据本申请实施例的示例性物理版图中的金属层示意图。如图2C所示,真实绕线是以金属层间互连(Interconnection)的方式实现的。金属层采用相邻横平竖直的上下层走线方式,用通孔(VIA)来连接上下层。图中的金属层M1和M2以及用于连接金属层M1和M2的通孔V1都可以是物理版图的对象,具体的,它们可以是组成金属绕线(route wire)的对象,亦即,金属层M1、M2和通孔V1可以是金属绕线(route wire)这个对象的子对象。
不同的对象可以由不同的属性值。例如,实例单元(instance)作为一个物理特征对象,其属性可以包括位置、方向、时延、动态功耗、静态功耗、名称、物理状态等,其属性的总数目约有400多个。又比如,绕线(route wire)作为一个物理特征对象,其属性可以包括金属层(layer)、位置、宽度、长度等,其属性的总数目约有100多个。
物理版图中对象的种类数量约有260多个,而对象的属性的种类数量则多达1万多个。由此可见,针对物理版图的对象数据和属性数据的获取,若采用相关技术中EDA工具所提供的使用方法,其使用更加不便。
有鉴于此,本申请实施例提供的仿真工具200,可以在一定程度上解决相关技术中获取数据不够便利的问题。
为了实现数据的灵活、高效且智能的获取,本申请实施例提供了一种用于获取数据的命令规则(xget命令行),在数据获取命令中可以包括除基本项之外的可选项,使得仿真工具200在接收到该数据获取命令时(例如,该命令可以是用户202在图形/窗口界面模块204中输入的),可以通过解析到的可选项执行对应的操作,从而快速获取目标数据。
图3A示出了根据本申请实施例的示例性命令300的示意图。
如图3A所示,数据获取命令300可以包括基本项302和可选项304。其中,基本项302中可以待获取的目标数据的基本命令,例如,其中可以包括该目标数据的一些基本信息。可选项304则可以提供一些高效获取数据的操作命令。这样,当数据获取命令300中包括可选项304时,仿真工具200可以执行一些高效的数据获取操作。可以理解的是,如果不需要利用可选项304来执行高效操作,数据获取命令300也可以仅包括基本项302。
在一些实施例中,为了能快速访问不同层级的对象数据,本申请的仿真工具200可以在数据库***212中采用分级存储方式(分层且层级关联)来存储对象数据。例如,采用树形结构来存储对象数据。
图3B示出了根据本申请实施例的示例性树形结构306的示意图。
如图3B所示,树形结构306可以是包括多层的层级结构。以图3B为例,树形结构306包括4层。
树形结构306的第零层(Level 0)可以是树形结构306的叶子节点。如图3B所示,树形结构306的第零层可以是层(Layer)。在芯片领域,Layer可以是指金属层或是制造层级,具体地,可以是指在 CMOS集成电路中用于连接不同电路元件的层。
树形结构306的第一层(Level 1)可以是第零层节点的父节点,亦即,第零层可以是第一层的次层级,并且,第一层中的对象数据与第零层的对象数据具有关联关系。如图3B所示,实例Inst1的引脚Pin1~Pin3可以对应到层Layer,实例Inst2的引脚Pin1~Pin3可以对应到层Layer,实例Inst3的引脚Pin1~Pin3也可以对应到层Layer。在树形结构306的第一层的各父节点中可以存储相应的引脚的相关信息,例如,实例Inst1~Inst3的各引脚Pin1~Pin3的名称。
树形结构306的第二层(Level 2)可以是第一层节点的父节点,亦即,第一层可以是的第二层的次层级,并且,第一层中的对象数据与第二层的对象数据具有关联关系。如图3B所示,实例Inst1可以具有引脚Pin1~Pin3,实例Inst2可以具有引脚Pin1~Pin3,实例Inst3也可以具有引脚Pin1~Pin3。在树形结构306的第二层的各父节点中可以存储相应的实例的相关信息,例如,实例Inst1~Inst3的名称。
树形结构306的第三层(Level 3)可以是第二层节点的父节点,同时,如图3B所示,也可以是树形结构306的根节点,例如,芯片设计中的顶层模块Top。在该根节点中可以存储顶层模块Top的相关信息,例如,顶层模块Top的名称。
通过将对象数据按照树形结构306进行存储,从而在获取数据时分层的存储的方式能够支持快速层级访问,层级关联能够对关联对象进行快速访问。例如,可以提供命令行可选项 -level n,以支持通过指定级数n来指定要匹配对象数据的方式,从而解决了在相关技术中EDA工具在获取对象数据时只能匹配最右边一级对象数据的问题。
一种示例性数据获取命令如下所示。
xget top.insts.pins.layer.name-level 1*CLK
上述数据获取命令中的基本项302可以是“top.insts.pins.layer.name”和“*CLK”,可选项304可以是“-level 1”。
在相关技术中,若数据获取命令不包括可选项“-level 1”,仿真工具在执行该数据获取命令时,仅会用“CLK”作为关键词去匹配“layer”的名称中包含“CLK”的层(layer),然后仿真工具可以返回所有实例(insts)的引脚(pins)的层(layer)中含有“CLK”所在的层(layer)的名字(name)。
在本实施例中,数据获取命令中包括可选项“-level 1”,仿真工具200在执行该数据获取命令时,因为解析到该数据获取命令的可选项“-level 1”,则可以用“CLK”作为关键词去匹配树形结构306的第一层的引脚(pins)的名称中包含“CLK”的层(layer)。然后根据基本项“top.insts.pins.layer.name”,仿真工具200可以返回所有实例(insts)的引脚(pins)的名字中含有CLK所在的层(layer)的名字。类似地,若数据获取命令的可选项是“-level 2”,则匹配时仿真工具200就会用“CLK”作为关键词去匹配实例(insts)的名称。可以理解的是,根据树形结构306的层级结构的不同(例如,层数的不同、每层的对象数据的不同),在利用可选项 -level n获取对象数据时的结果可以是不同的,而树形结构306的层级结构是可以根据需要设计的。
由此可见,用户202利用可选项 -level n的指定级数n来指定要匹配的对象,从而解决了在相关技术中EDA工具在获取对象数据时只能匹配最右边一级对象数据的问题,使得本申请实施例的使用方法更加灵活。
在一些实施例中,为了能快速访问属性数据,本申请的仿真工具200还可以在数据库***212中采用数据表来存储对象数据的属性数据。例如,根据对象数据的不同类型创建不同的对象-属性对照表。
下表1示出了存储对象数据的属性数据的示例性数据表。
表1
对象类型 | 属性 | 属性 | …… |
top | name | size | …… |
insts | name | type | …… |
pins | name | bbox | …… |
这样,当数据获取命令是要获取某些对象数据的属性数据时,仿真工具200可以通过对象数据的类型得到对应的数据表,然后借助对象数据的属性数据的名称在该数据表直接访问相关属性数据,从而通过查表方式快速获得目标属性数据。
在相关技术中,若数据获取命令300中包括“-if”项,则“-if”项中的条件仅支持对象数据的属性数据的直接匹配,并不支持工具命令语言(tcl)命令的实现。
因此,在一些实施例中,可以提供作为匹配条件的可选项“-if”,用户202可用此选项对目标对象数据进行单个或多个条件的逻辑组合进行匹配。
一种示例性数据获取命令如下所示。
xget top.insts.name -if {.lib_cell==[get_attribute [xgettop.insts.name buff_cell] lib_cell]}
上述数据获取命令中的基本项302可以是“top.insts.name”,可选项304可以是“-if {.lib_cell==[get_attribute [xget top.insts.name buff_cell] lib_cell]}”。
在本实施例中,数据获取命令中包括可选项“-if”,仿真工具200在执行该数据获取命令时,因为解析到该数据获取命令中的匹配条件选项“-if”,则可以进一步根据“-if”对应的匹配条件结合所述基本项来匹配数据。于是,仿真工具200在执行该数据获取命令时,则可以根据匹配条件选项“-if”对应的匹配条件,匹配得到与设计lib_cell 和instance buff_cell 相同的所有实例。然后,根据基本项“top.insts.name”,仿真工具200可以返回与设计lib_cell 和instance buff_cell 相同的所有实例的名字。
这样,本申请的实施例中,匹配条件选项“-if”除了支持属性名和属性值的完全匹配或通配的方式外,还可以支持对tcl命令进行处理并匹配。
为了提高算法的性能,本申请实施例在匹配条件选项“-if”中包括两个筛选条件时,可以采用懒匹配模式,从而尽可能快地基于匹配结果对数据进行筛选。
一种示例性数据获取命令如下所示。
xget top.insts.name -if {top.inst.type = = std&&top.inst.name = =BUF*}
上述数据获取命令中的基本项302可以是“top.insts.name”,可选项304中包括第一条件“top.inst.type = = std”和第二条件“top.inst.name = = BUF”。
在本实施例中,数据获取命令中包括可选项“-if”且该可选项对应了两个匹配条件,仿真工具200在执行该数据获取命令时,因为解析到该数据获取命令中的匹配条件选项“-if”,则可以进一步根据“-if”对应的第一条件和第二条件结合所述基本项来匹配数据。于是,仿真工具200在执行该数据获取命令时,则可以根据匹配条件选项“-if”对应的第一条件和第二条件,来筛选实例。例如,仿真工具200可以先匹配第一条件,当第一条件与某个数据匹配成功时,再用第二条件去匹配该数据,若该数据也满足第二条件,则仿真工具200可以返回该数据。如果某个数据不满足第一条件,则仿真工具200会直接忽略第二条件,亦即,不再用第二条件去匹配该数据,而是可以直接排除该数据。这样,通过懒匹配模式,从而尽可能快地基于匹配结果对数据进行筛选。
在经过前述的筛选步骤后,根据基本项“top.insts.name”,仿真工具200可以返回与第一条件和第二条件均匹配的所有实例的名字。
在相关技术中,若需要对获取到的数据做进一步操作,是较难实现的。
例如,在相关技术中,若需要对获取到的对象数据进行高亮(highlight)处理,则需要用另外highlight相关的命令行来对获取到的对象数据进行操作才能实现。或者,若需要对获取到的对象数据的属性数据用图表展现,需要额外的脚本程序对获取的属性数据做处理才能实现。
又例如,在相关技术中,若需要统计获取到的对象数据的数目,需要根据返回的对象数据的数据类型,用额外的tcl命令(例如,llength或sizeof_collection)来统计数目。
鉴于相关技术的上述缺陷,在一些实施例,仿真工具200支持获取到对象数据之后的后序操作。此外,由于前述实施例提供的特殊的数据存储方式、快速的对象属性访问方式以及高效的数据匹配方法,使得仿真工具200能够快速获取数据,使得对数据进行各种后序操作成为可能。
因此,在一些实施例中,仿真工具200可以通过执行基本项302对应的操作来获取对应的数据,然后,仿真工具200可以通过执行可选项304对应的操作来进一步处理获得的数据。在一些实施例中,可选项304可以是动作选项“-action”,当仿真工具200从数据获取命令中识别到该可选项“-action”时,可以知道,需要根据该可选项“-action”对应的操作来处理获取到的数据。
为了对获取到的数据进行高亮处理,当可选项304为高亮处理选项(例如,-actionhighlight)时,仿真工具200可以在图形/窗口界面模块204提供的界面中展示对获取到的数据进行高亮处理的效果,其中,获取到的数据可以是通过执行所述基本项对应的操作而获取的数据。
一种示例性数据获取命令如下所示。
xget top.insts.name ECO* -action highlight
上述数据获取命令中的基本项302可以是“top.insts.name ECO*”,可选项304可以是“-action highlight”。
在本实施例中,数据获取命令中包括可选项“-action highlight”,仿真工具200在执行该数据获取命令时,因为解析到该数据获取命令中的可选项“-action highlight”,则可以进一步根据可选项“-action highlight”来对基于基本项获得的数据进行高亮处理。于是,仿真工具200在执行该数据获取命令时,根据基本项“top.insts.name ECO*”,仿真工具200可以获取到所有名字中含有“ECO”的实例,然后,在界面中对这些实例进行高亮处理。
而在相关技术中,若要实现上述功能,则不能直接通过数据获取命令来实现,而是需要另外的命令行,例如,change_selection、highlightSelected 等。显然,本申请的实施例的数据获取命令的使用更加高效。
类似地,为了对获取到的数据通过图表显示属性数据,当可选项304为图表显示属性选项(例如,-action plot),仿真工具200可以在图形/窗口界面模块204提供的界面中采用图表显示通过执行所述基本项对应的操作而获取的数据。而在相关技术中,需要额外的脚本程序对获取的属性数据做处理才能实现该功能,相比而言,本申请的实施例的数据获取命令的使用更加高效。
为了对获取到的数据进行计数处理,当可选项304为计数选项(例如,-count)时,仿真工具200对获取到的数据进行计数,该数据可以是通过执行所述基本项对应的操作而得到的,然后,仿真工具200可以在图形/窗口界面模块204提供的界面中输出该计数处理的结果。
一种示例性数据获取命令如下所示。
xget top.insts.name ECO* -count
上述数据获取命令中的基本项302可以是“top.insts.name ECO*”,可选项304可以是“-action highlight”。
在本实施例中,数据获取命令中包括可选项“-count”,仿真工具200在执行该数据获取命令时,因为解析到该数据获取命令中的可选项“-count”,则可以进一步根据可选项“-count”来对基于基本项获得的数据进行高亮处理。于是,仿真工具200在执行该数据获取命令时,根据基本项“top.insts.name ECO*”,仿真工具200可以获取到所有名字中含有“ECO”的实例,然后,对这些实例进行计数,接着在界面中展示计数结果(亦即,所有名字中含有ECO的实例的数目)。
而在相关技术中,若要实现上述功能,需要根据获取对象的数据类型,用命令llength或sizeof_collection来获取计数结果。相比而言,本申请的实施例的数据获取命令的使用更加高效。
从上述实施例可以看出,本申请实施例通过在数据获取命令中增加可选项来实现特殊操作,在数据获取命令中包括可选项的情况下,结合数据获取命令的基本项和可选项来获取到对应的对象,能够实现快速获取特定数据的效果,用法便利、高效,算法效率高,同时也能够提高EDA工具的运行速度。
可以理解的是,当数据获取命令中仅包含基本项时,本申请的仿真工具200也可以基于基本项来获取对应的数据,从而该仿真工具200也可以兼容通常的数据获取命令。
本申请实施例还提供了一种基于物理版图的多层级信息获取及可扩展操作的方法,用法便利、高效。图4为本申请实施例所提供的示例性方法400的流程图。该方法400可由运行在电子设备100上的仿真工具200来实施。参照图4所示,该方法400可以包括如下步骤。
在步骤402,在EDA工具(例如,图2A的仿真工具200)中接收数据获取命令(例如,图3A的数据获取命令300),所述数据获取命令包括基本项(例如,图3A的基本项302)。
在步骤404,解析所述数据获取命令以确定所述数据获取命令中是否包括可选项(例如,图3A的可选项304)。
在步骤406,响应于所述数据获取命令中包括可选项,根据所述基本项和所述可选项执行对应的操作来获取对应的数据。
在一些实施例中,所述数据为对象数据,所述对象数据采用分级存储方式进行存储,根据所述基本项和所述可选项执行对应的操作来获取对应的数据,包括:响应于所述可选项为指定存储层级选项(例如,“-level n”),根据所述指定存储层级选项结合所述基本项来匹配对象数据;以及获得匹配得到的对象数据。
在一些实施例中,所述对象数据采用树形结构(例如,图3B的树形结构300)实现分级存储;所述指定存储层级选项对应的指定存储层级是所述树形结构中的对应层级。
在一些实施例中,根据所述基本项和所述可选项执行对应的操作来获取对应的数据,包括:响应于所述可选项为匹配条件选项(例如,“-if”),根据所述匹配条件选项对应的匹配条件结合所述基本项来匹配数据。
在一些实施例中,所述匹配条件包括第一条件和第二条件,根据所述匹配条件选项对应的匹配条件结合所述基本项来匹配数据,包括:响应于所述第一条件和所述第二条件均满足,结合所述基本项来确定所述匹配条件对应的数据;或者响应于所述第一条件不满足,停止执行所述第二条件的匹配操作。
在一些实施例中,根据所述基本项和所述可选项执行对应的操作来获取对应的数据,包括:通过执行所述基本项对应的操作来获取对应的数据;以及通过执行所述可选项对应的操作来处理获得的数据。
在一些实施例中,通过执行所述可选项对应的操作来处理获得的数据,包括:响应于所述可选项为高亮处理选项(例如,“-action highlight”),在界面中展示对通过执行所述基本项对应的操作而获取的数据进行高亮处理的效果;或者响应于所述可选项为图表显示属性选项(例如,“-action plot”),在界面中采用图表显示通过执行所述基本项对应的操作而获取的数据。
在一些实施例中,通过执行所述可选项对应的操作来处理获得的数据,包括:响应于所述可选项为计数选项(例如,“-count”),对通过执行所述基本项对应的操作而获取的数据进行计数;以及输出计数结果。
需要说明的是,本申请的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本申请的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
本申请实施例还提供了一种非暂态计算机可读存储介质,非暂态计算机可读存储介质存储计算机的一组指令,该组指令用于在被执行时使所述计算机执行本申请实施例提供的方法400。
上述对本申请的一些实施例进行了描述。其他实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本申请的范围(包括权利要求)被限于这些例子;在本申请的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本申请的不同方面的许多其它变化,为了简明它们没有在细节中提供。
尽管已经结合了本申请的具体实施例对本申请进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本申请旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本申请的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (9)
1.一种基于物理版图的多层级信息获取及可扩展操作的方法,包括:
在EDA工具中接收数据获取命令,所述数据获取命令包括基本项;
解析所述数据获取命令以确定所述数据获取命令中是否包括可选项;以及
响应于所述数据获取命令中包括可选项,根据所述基本项和所述可选项执行对应的操作来获取对应的数据;
其中,所述数据为对象数据,所述对象数据采用分级存储方式进行存储,根据所述基本项和所述可选项执行对应的操作来获取对应的数据,包括:
响应于所述可选项为指定存储层级选项,根据所述指定存储层级选项结合所述基本项来匹配对象数据;以及
获得匹配得到的对象数据;
其中,根据所述指定存储层级选项结合所述基本项来匹配对象数据,包括:
响应于确定所述基本项包括关键词,利用所述关键词在所述指定存储层级选项对应的指定存储层级进行匹配;以及
得到所述指定存储层级包含的词与所述关键词相匹配的对象数据。
2.如权利要求1所述的方法,其中,所述对象数据采用树形结构实现分级存储;所述指定存储层级选项对应的指定存储层级是所述树形结构中的对应层级。
3.如权利要求1所述的方法,其中,根据所述基本项和所述可选项执行对应的操作来获取对应的数据,包括:
响应于所述可选项为匹配条件选项,根据所述匹配条件选项对应的匹配条件结合所述基本项来匹配数据。
4.如权利要求3所述的方法,其中,所述匹配条件包括第一条件和第二条件,根据所述匹配条件选项对应的匹配条件结合所述基本项来匹配数据,包括:
响应于所述第一条件和所述第二条件均满足,结合所述基本项来确定所述匹配条件对应的数据;或者
响应于所述第一条件不满足,停止执行所述第二条件的匹配操作。
5.如权利要求1所述的方法,其中,根据所述基本项和所述可选项执行对应的操作来获取对应的数据,包括:
通过执行所述基本项对应的操作来获取对应的数据;以及
通过执行所述可选项对应的操作来处理获得的数据。
6.如权利要求5所述的方法,其中,通过执行所述可选项对应的操作来处理获得的数据,包括:
响应于所述可选项为高亮处理选项,在界面中展示对通过执行所述基本项对应的操作而获取的数据进行高亮处理的效果;或者
响应于所述可选项为图表显示属性选项,在界面中采用图表显示通过执行所述基本项对应的操作而获取的数据。
7.如权利要求5所述的方法,其中,通过执行所述可选项对应的操作来处理获得的数据,包括:
响应于所述可选项为计数选项,对通过执行所述基本项对应的操作而获取的数据进行计数;以及
输出计数结果。
8.一种电子设备,包括:
存储器,用于存储一组指令;以及
至少一个处理器,配置为执行该组指令以进行如权利要求1至7任意一项所述的方法。
9.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机的一组指令,该组指令用于在被执行时使所述计算机执行权利要求1至7任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210002652.3A CN114004190B (zh) | 2022-01-05 | 2022-01-05 | 基于物理版图的多层级信息获取及可扩展操作的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210002652.3A CN114004190B (zh) | 2022-01-05 | 2022-01-05 | 基于物理版图的多层级信息获取及可扩展操作的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114004190A CN114004190A (zh) | 2022-02-01 |
CN114004190B true CN114004190B (zh) | 2022-05-13 |
Family
ID=79932567
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210002652.3A Active CN114004190B (zh) | 2022-01-05 | 2022-01-05 | 基于物理版图的多层级信息获取及可扩展操作的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114004190B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116467975B (zh) * | 2023-06-16 | 2023-09-26 | 英诺达(成都)电子科技有限公司 | 数据处理方法、装置、电子设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111753180A (zh) * | 2019-03-27 | 2020-10-09 | 阿里巴巴集团控股有限公司 | 搜索方法、装置、电子设备及计算机存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110955686A (zh) * | 2019-12-02 | 2020-04-03 | 秒针信息技术有限公司 | 数据多维交叉处理方法、装置、电子设备及存储介质 |
CN112269792B (zh) * | 2020-12-11 | 2021-07-02 | 腾讯科技(深圳)有限公司 | 数据查询方法、装置、设备及计算机可读存储介质 |
CN113051293A (zh) * | 2021-04-21 | 2021-06-29 | 中国工商银行股份有限公司 | 基于树形结构的资源查询方法、装置和电子设备 |
CN113569508B (zh) * | 2021-09-18 | 2021-12-10 | 芯行纪科技有限公司 | 基于id进行数据索引与访问的数据库模型构建方法及设备 |
-
2022
- 2022-01-05 CN CN202210002652.3A patent/CN114004190B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111753180A (zh) * | 2019-03-27 | 2020-10-09 | 阿里巴巴集团控股有限公司 | 搜索方法、装置、电子设备及计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114004190A (zh) | 2022-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8117576B2 (en) | Method for using an equivalence checker to reduce verification effort in a system having analog blocks | |
US11604916B2 (en) | Method, system, and electronic device for detecting open/short circuit of PCB design layout | |
US9934354B1 (en) | Methods, systems, and computer program product for implementing a layout-driven, multi-fabric schematic design | |
US7689964B2 (en) | System and method for routing connections | |
CN111859827A (zh) | 一种芯片ip集成方法、装置及电子设备和存储介质 | |
US10896280B1 (en) | Netlist abstraction for circuit design floorplanning | |
CN113255258B (zh) | 逻辑综合方法、装置、电子设备及存储介质 | |
CN116822452B (zh) | 芯片布局优化方法及相关设备 | |
CN114004190B (zh) | 基于物理版图的多层级信息获取及可扩展操作的方法 | |
US20070277138A1 (en) | Method of searching paths suffering from the electrostatic discharge in the process of an integrated circuit design | |
CN111563218A (zh) | 一种页面的修复方法及装置 | |
US9064081B1 (en) | Generating database for cells routable in pin layer | |
CN111427577A (zh) | 代码处理方法、装置及服务器 | |
US9697314B1 (en) | Identifying and using slices in an integrated circuit (IC) design | |
US9652573B1 (en) | Creating and using a wide-gate data structure to represent a wide-gate in an integrated circuit (IC) design | |
US10157253B2 (en) | Multi-bit-mapping aware clock gating | |
CN116090396B (zh) | 显示芯片设计的数据流的方法及相关设备 | |
US20180203952A1 (en) | Non-transitory computer-readable recording medium recording detour wiring check program, detour wiring check method, and information processing apparatus | |
US11829696B2 (en) | Connection analysis method for multi-port nesting model and storage medium | |
US9690890B1 (en) | Creating and using a wide-bus data structure to represent a wide-bus in an integrated circuit (IC) design | |
US10354032B2 (en) | Optimizing an integrated circuit (IC) design comprising at least one wide-gate or wide-bus | |
CN115455891A (zh) | 一种模拟集成电路前仿过程的预测寄生参数方法及*** | |
US9892227B1 (en) | Systems, methods and storage media for clock tree power estimation at register transfer level | |
CN117094262A (zh) | 一种fpga芯片模型的解析绘图方法及装置 | |
CN114548028A (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 |