[go: up one dir, main page]

CN117408193B - Virtuoso-based instance call information extraction method - Google Patents

Virtuoso-based instance call information extraction method Download PDF

Info

Publication number
CN117408193B
CN117408193B CN202311507266.0A CN202311507266A CN117408193B CN 117408193 B CN117408193 B CN 117408193B CN 202311507266 A CN202311507266 A CN 202311507266A CN 117408193 B CN117408193 B CN 117408193B
Authority
CN
China
Prior art keywords
view
unit
instance
association table
level
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
Application number
CN202311507266.0A
Other languages
Chinese (zh)
Other versions
CN117408193A (en
Inventor
陈嫄
林婷婷
王澧
朱瑜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuxi Zhongwei Yixin Co Ltd
Original Assignee
Wuxi Zhongwei Yixin Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuxi Zhongwei Yixin Co Ltd filed Critical Wuxi Zhongwei Yixin Co Ltd
Priority to CN202311507266.0A priority Critical patent/CN117408193B/en
Publication of CN117408193A publication Critical patent/CN117408193A/en
Application granted granted Critical
Publication of CN117408193B publication Critical patent/CN117408193B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level

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)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

The application discloses an instance call information extraction method based on Virtuoso, which relates to the field of integrated circuit design, and the method utilizes a Skill program interface to write a program script file to be configured in a Virtuoso software environment and form a menu in views, when the Virtuoso software is started, the view information of a plurality of unit views called by a target top-level circuit in a view list file is sequentially traversed, the database address of the unit views is sequentially traversed from top to bottom until the traversing reaches a bottom device, and the corresponding relation between the unit identifier of the unit view of each traversed instance and the circuit library identifier of the unit view of the calling instance is recorded in a correlation table, so that the correlation table of the instance call information of the target top-level circuit in all the unit views can be output, the automatic instance call information batch extraction is realized, and the extraction efficiency is improved.

Description

Virtuoso-based instance call information extraction method
Technical Field
The application relates to the field of integrated circuit design, in particular to an instance call information extraction method based on Virtuoso.
Background
The Virtuoso software is an integrated circuit design software introduced by Cadence, an EDA software supplier, and can complete all aspects of the whole IC design flow, including circuit diagram input, circuit simulation, layout design, layout verification, parasitic parameter extraction and post simulation, so that the Virtuoso software is widely used for developing integrated circuits.
The Virtuoso software has PRINT TREE functions, and after a unit view of a top-level circuit is opened, the function PRINT TREE can be used for printing and viewing layering information of a currently opened unit view calling example. However, in the integrated circuit development process, each unit circuit involves multiple unit views, including multiple schematic unit views and layout unit views, and each unit view needs to be opened and then the call information of the instance is printed and checked by using PRINT TREE functions, which is low in efficiency and time-consuming.
Disclosure of Invention
Aiming at the problems and the technical requirements, the application provides an example calling information extraction method based on Virtuoso, which comprises the following steps:
an instance call information extraction method based on Virtuoso, the instance call information extraction method comprising:
Writing a program script file according to a preset execution step by utilizing a Skill program interface of the Virtuoso software, configuring the program script file into a Virtuoso software environment and forming a menu in a view, automatically loading the program script file when the Virtuoso software is started, and extracting instance calling information of a target top-level circuit in a plurality of unit views according to the program script file;
The method comprises the following steps of writing a program script file to realize the preset execution steps:
(1) Obtaining a view list file of a target top-level circuit, wherein the view list file comprises view information of a plurality of unit views called by the target top-level circuit, and the view information of each unit view comprises a circuit library identifier, a unit identifier and a view type used by the unit view, and the view type is a schematic view or a layout view;
(2) Traversing the view information of each unit view in the view list file, and calling dbOpenCellViewByType functions to determine the database address of each traversed unit view;
(3) For each traversed unit view of the target top-level circuit call, sequentially traversing all the examples in the unit view of the target top-level circuit call from the top level to the bottom level according to the database address of the unit view until the traversal reaches the bottom level device, and recording the corresponding relation between the unit identifier of the unit view of each traversed example and the circuit library identifier of the unit view of the calling example in the association table;
(4) And calling a foreach function to sequentially traverse the view information of each unit view in the view list file and update the association table until the view information of all unit views in the view list file is traversed, and obtaining the association table containing the instance calling information of the target top-level circuit in all unit views.
According to the further technical scheme, all examples in the unit view of the target top-level circuit call are traversed sequentially from the top level to the bottom level according to the database address of the unit view, and the examples comprise:
Sequentially traversing the instances in the unit view according to the database address of the unit view from the unit view called by the target top-level circuit, and recording the corresponding relation between the unit identifier of the unit view of each traversed instance and the circuit library identifier of the unit view of the calling instance into the association table;
When the traversed instance is not the underlying device, invoking dbOpenCellViewByType a function to determine the database address of the cell view of the traversed instance, and performing the step of sequentially traversing the database address of the cell view through the instances within the cell view again until the traversed instance is the underlying device.
The further technical scheme is that the method for determining whether to traverse to the underlying device comprises the following steps:
When the circuit library identifications of the unit views of the traversed examples are contained in the process library list, determining that the traversed to the bottom-layer device is achieved, otherwise, determining that the traversed to the bottom-layer device is not achieved, wherein the process library list comprises the circuit library identifications of all the bottom-layer devices.
The further technical scheme includes that recording the corresponding relation between the traversed unit identifier of the unit view of each instance and the circuit library identifier of the unit view of the calling instance into the association table comprises the following steps:
detecting whether the unit identifier of the unit view of the traversed instance is contained in the association table;
When the unit identifier of the unit view of the traversed instance is already contained in the association table, continuing to traverse other instances;
When the unit identifications of the unit views of the traversed examples are not contained in the association table, the corresponding relation between the unit identifications of the unit views of each traversed example and the circuit library identifications of the unit views of the calling examples is recorded in the association table.
The further technical scheme is that when the view information of each unit view in the view list file is traversed in sequence and the association table is updated:
When traversing view information of which view type is a unit view of a schematic diagram view in the view list file, updating the corresponding relation between the unit identifier of the unit view of each traversed instance and the circuit library identifier of the unit view of the calling instance into a schematic diagram association table;
When traversing view information of a unit view with the view type of the layout view in the view list file, updating the corresponding relation between the unit identifier of the unit view of each traversed instance and the circuit library identifier of the unit view of the calling instance into a layout association table;
After the view information of all unit views in the view list file is traversed, a schematic diagram association table containing the instance calling information of the target top-level circuit in all schematic diagram views is obtained, and a layout association table containing the instance calling information of the target top-level circuit in all layout views is obtained.
The further technical scheme is that the scheduled execution steps for writing the program script file further comprise:
When the current working mode is determined to be a common mode, respectively outputting a schematic diagram association table and a layout association table;
When the current working mode is determined to be a comparison mode, comparing the instance calling information in the schematic diagram association table and the layout association table, and outputting a comparison result.
The further technical scheme is that the comparison of the instance call information in the schematic diagram association table and the layout association table comprises the following steps:
traversing each group of corresponding relations in the schematic diagram association table, detecting whether the traversed corresponding relations are contained in the layout association table, and outputting a comparison result indicating the corresponding relations contained in the schematic diagram association table but not contained in the layout association table;
and/or traversing each group of corresponding relations in the layout association table, detecting whether the traversed corresponding relations are contained in the schematic association table, and outputting a comparison result indicating the corresponding relations contained in the layout association table but not contained in the schematic association table.
The further technical scheme is that the obtaining of the view list file of the target top-level circuit comprises the following steps:
Acquiring an initial top-layer list file of a target top-layer circuit, wherein the initial top-layer list file comprises initial information of a plurality of unit views of the target top-layer circuit;
For the initial information of each unit view, removing a line feed character in the initial information and/or replacing a horizontal tab character in the initial information with a space through rexReplace functions, completing format preprocessing to obtain an effective character string, and dividing the effective character string through PARSESTRING functions to respectively extract a circuit library identifier, a unit identifier and a view type corresponding to the unit view.
The further technical scheme is that the obtaining of the initial top-layer list file of the target top-layer circuit comprises the following steps:
Acquiring an input target file path through a GUI interface, and acquiring an initial top-layer list file of a target top-layer circuit according to the target file path;
or acquiring an initial top-layer list file of the target top-layer circuit according to a preset target file path.
The further technical scheme is that the forming of the menu in the view comprises:
And reading the scheme.menu configuration file and modifying the menu definition according to the program script file.
The beneficial technical effects of the application are as follows:
The application discloses an instance calling information extraction method based on Virtuoso, which utilizes a Skill program interface of Virtuoso software to write a program script file for executing according to a preset executing step, then configures the program script file into a Virtuoso software environment and forms a menu in views, when the Virtuoso software is started, the executing program script file is automatically loaded, view information of a plurality of unit views called by a target top-level circuit in a view list file is sequentially traversed, the unit views are sequentially traversed from top to bottom according to database addresses of the unit views until the unit views reach a bottom device, and the corresponding relation between the unit identifier of each traversed instance unit view and the circuit library identifier of the unit view calling the instance is recorded in a correlation table, so that the correlation table of the instance calling information of the target top-level circuit in all the unit views can be output, the automatic instance calling information batch extraction efficiency is improved.
The method can also extract the instance calling information of all schematic diagram views and the instance calling information of all layout views according to view types respectively, and can output the instance calling information according to the current working mode or output the instance calling information after automatic comparison, and the automation degree is high without comparing the instance calling information with the instance calling information of all schematic diagram views by manpower like the existing method.
Drawings
FIG. 1 is a method flow diagram of an example call information extraction method of the present application.
FIG. 2 is a flow chart of a method of writing predetermined execution steps of a program script file implementation in one embodiment of the application.
FIG. 3 is a flow chart of a method of writing predetermined execution steps of a program script file implementation in another embodiment of the application.
Detailed Description
The following describes the embodiments of the present application further with reference to the drawings.
Cadence develops its own programming language, skill, and a corresponding compiler, and the entire Cadence is understood as a set of executable files built on the Skill language platform, so that Cadence can be extended in the Skill language. The application discloses an example call information extraction method based on Virtuoso, which comprises the following three parts, please refer to a flow chart shown in FIG. 1:
1. The program script file is written according to the predetermined execution steps by using the Skill program interface of the Virtuoso software, and the predetermined execution steps implemented by writing the program script file include, please refer to the flowchart of fig. 2:
Step 1, obtaining a view list file of a target top-level circuit.
The view list file comprises view information of a plurality of unit views called by a target top-level circuit, and the view information of each unit view comprises a circuit library identifier, a unit identifier and a view type used by the unit view, wherein the view type is a schematic view or a layout view. The cell identities of the different cell views are different, and the circuit library identities of the different cell views can be the same or different.
For example, in one example, the schematic representation view type is used as a schematic view, and the layout representation view type is used as a layout view. The acquired view list file of the target top-level circuit comprises view information of three unit views, the view information of the first unit view comprises a circuit library identifier Libname, a unit identifier cellname1 and a view type layout, the view information of the second unit view comprises a circuit library identifier Libname1, a unit identifier cellname and a view type layout, and the view information of the third unit view comprises a circuit library identifier Libname1, a unit identifier cellname3 and a view type schema.
In one embodiment, the initial top-level list file for the target top-level circuit is obtained according to a target file path, and the sources of the target file path are two:
(1) The target file path is input by user definition, so that when the program script file is executed, the GUI interface is displayed first, the user inputs the target file path in the GUI interface, the input target file path is correspondingly acquired through the GUI interface, and then the initial top-layer list file is read according to the acquired target file path.
(2) And directly presetting and writing the target file path in the program script file, and directly reading the initial top-layer list file according to the preset target file path when the program script file is executed. The method has the advantages that the flexibility is not as good as that of a method for inputting the target file path by user definition, the initial top-layer list file at the preset target file path can be processed, but when the initial top-layer list file under a certain target file path needs to be fixed, the method omits the step of inputting the path, and the realization is simpler.
Regardless of which method is used to obtain the target file path, the initial top-level list file of the target top-level circuit is usually not directly read according to the target file path, but is firstly obtained, the initial top-level list file is compiled according to a preset format, wherein the initial information of a plurality of unit views of the target top-level circuit is included, generally, the initial information of each unit view occupies a row respectively, a line feed character can exist at the tail end of each row, each row comprises a circuit library identifier, a unit identifier and a view type, and different types of information can be separated by a space or a horizontal tab. Thus, after the initial top-level list file is obtained, the initial top-level list file needs to be processed to obtain the initial top-level list file, please refer to the flowchart of fig. 3, which includes, for each unit view of the initial information, removing the line-wrapping symbol in the initial information and/or replacing the horizontal tab in the initial information with a blank space through a rexReplace function. And (3) completing format preprocessing to obtain an effective character string, and dividing the effective character string through PARSESTRING functions, and respectively extracting to obtain a circuit library identifier, a unit identifier and a view type corresponding to the unit view, thereby extracting to obtain a view list file of the target top-level circuit.
And step 2, traversing the view information of each unit view in the view list file, and calling dbOpenCellViewByType functions to determine the database address of each traversed unit view.
In this step, considering that there are some anomalies in the actual operation, when traversing the view information of each unit view in the view list file, the ddGetObj function is first used to determine whether the unit view exists, and if the unit view does not exist, the view information of the next unit view in the view list file is continuously traversed. If it is determined that the cell view exists, a call dbOpenCellViewByType function opens the database address (database ID) for the cell view.
And 3, for each traversed unit view of the target top-level circuit call, traversing all the examples in the unit view of the target top-level circuit call from the top level to the bottom level according to the database address of the unit view until the traversal reaches the bottom level device, and recording the corresponding relation between the unit identifier of the unit view of each traversed example and the circuit library identifier of the unit view of the calling example in the association table.
In the traversal process, when the circuit library identification of the cell view of the traversed instance is contained in the process library list, it is determined that the traversal arrives at the underlying device, otherwise it is determined that the traversal arrives at the underlying device. The process library list comprises circuit library identifiers of all bottom devices, and the circuit library identifiers are preset library functions. For example, the preset process library list includes library1, library2, library3, library4, library5, library6, library7 and library8. When the circuit library identification of the unit view of the traversed example is Libname < 1 >, judging that the circuit library identification is not contained in the process library list, and determining that the device reaching the bottom layer is not traversed at the moment.
The traversing method comprises the steps of starting from a unit view called by a target top-level circuit, traversing the instances in the unit view in sequence according to the database address of the unit view, and recording the corresponding relation between the unit identifier of the unit view of each traversed instance and the circuit library identifier of the unit view called the instance into an association table. When the traversed instance is not the underlying device, invoking dbOpenCellViewByType a function to determine the database address of the cell view of the traversed instance, and performing the step of traversing the database address of the cell view sequentially through the instances within the cell view again, continuing traversing for the next level instance. When the traversed instance is a bottom device, the instance that returns to the upper layer continues to traverse other instances until the cell view that called the target top level circuit is traversed.
Considering that the corresponding relation which appears repeatedly may be traversed in the traversing process in the actual application, it is first detected whether the unit identifier of the unit view of the traversed instance is contained in the association table. When the unit identifier of the unit view of the traversed instance is already contained in the association table, the corresponding relationship is not repeatedly recorded in the association table, but the traversing of other instances is continued. When the unit identifications of the unit views of the traversed examples are not contained in the association table, the corresponding relation between the unit identifications of the unit views of each traversed example and the circuit library identifications of the unit views of the calling examples is recorded in the association table.
And 4, calling a foreach function to sequentially traverse the view information of each unit view in the view list file, sequentially adding the corresponding relation into the association table according to the method of the step 3 to update the association table until the view information of all unit views in the view list file is traversed, obtaining the association table containing the instance calling information of the target top-level circuit in all unit views, and realizing batch extraction and output of the instance calling information of the target top-level circuit in all unit views.
On the basis, the example calling information of the schematic view and the layout view can be respectively output, and in the process of traversing the view information of each unit view in the view list file in sequence and updating the association table:
When traversing view information of which view type is a unit view of a schematic diagram view in the view list file, updating the corresponding relation between the unit identifier of the unit view of each traversed instance and the circuit library identifier of the unit view of the calling instance into a schematic diagram association table.
When traversing the view information of the unit views of which the view types are the layout views in the view list file, updating the corresponding relation between the unit identifications of the unit views of each traversed instance and the circuit library identifications of the unit views of the calling instance into the layout association table.
After traversing the view information of all the unit views in the view list file, a schematic diagram association table containing the instance calling information of the target top-level circuit in all the schematic diagram views and a layout association table containing the instance calling information of the target top-level circuit in all the layout views can be obtained respectively. Therefore, the example calling information in all schematic diagram views called by the target top-level circuit can be extracted and output in batches, and the example calling information in all layout views called by the target top-level circuit is extracted and output in batches, so that the extraction and output of different types of unit views are realized respectively.
In another embodiment, on the basis of respectively obtaining the schematic diagram association table and the layout association table, besides respectively outputting the two association tables, the method can also automatically compare the schematic diagram association table and the layout association table and output a comparison result in consideration of the fact that the comparison result of the schematic diagram association table and the layout association table is often needed in the schematic diagram layout consistency checking process. The predetermined execution steps implemented by the program script file also include a function of operating mode switching, which may typically be selected at the beginning of the execution of the program script file. And when the current working mode is determined to be the normal mode, respectively outputting a schematic diagram association table and a layout association table. When the current working mode is determined to be a comparison mode, comparing the instance calling information in the schematic diagram association table and the layout association table, and outputting a comparison result.
The comparison of the instance call information in the schematic diagram association table and the layout association table comprises traversing each group of corresponding relations in the schematic diagram association table, detecting whether the traversed corresponding relations are contained in the layout association table, and outputting a comparison result indicating the corresponding relations contained in the schematic diagram association table but not contained in the layout association table. And/or traversing each group of corresponding relations in the layout association table, detecting whether the traversed corresponding relations are contained in the schematic association table, and outputting a comparison result indicating the corresponding relations contained in the layout association table but not contained in the schematic association table.
2. The program script file is configured into the Virtuoso software environment and forms a menu in the view. The application reads the scheme.menu configuration file and modifies the menu definition according to the program script file without having to reconstruct the executable file or the skip script to view the modification. These menu files provide a very convenient way to define each menu item (particularly menu item symbols, menu text and callback functions) and organize these definitions into respective drop-down menus, which can be easily modified in the same format as the CIW menu files, except that the information contained in the menu item definitions is expanded.
3. When the Virtuoso software is started, the program script file is automatically loaded and executed according to the program script file, so that the instance calling information of the target top-level circuit in a plurality of unit views can be automatically extracted, and the unit views do not need to be sequentially opened to be respectively extracted by utilizing PRINT TREE functions, thereby greatly improving the efficiency.
The above is only a preferred embodiment of the present application, and the present application is not limited to the above examples. It is to be understood that other modifications and variations which may be directly derived or contemplated by those skilled in the art without departing from the spirit and concepts of the present application are deemed to be included within the scope of the present application.

Claims (7)

1.一种基于Virtuoso的实例调用信息提取方法,其特征在于,所述实例调用信息提取方法包括:1. A method for extracting instance call information based on Virtuoso, characterized in that the method for extracting instance call information comprises: 利用Virtuoso软件的Skill程序接口,按照预定执行步骤编写程序脚本文件,并将所述程序脚本文件配置到Virtuoso软件环境中并在视图中形成菜单,Virtuoso软件启动时自动加载所述程序脚本文件,并按照所述程序脚本文件提取目标顶层电路在多个单元视图中的实例调用信息;Using the Skill program interface of the Virtuoso software, a program script file is written according to predetermined execution steps, and the program script file is configured in the Virtuoso software environment and forms a menu in the view, the program script file is automatically loaded when the Virtuoso software is started, and instance call information of the target top-level circuit in multiple unit views is extracted according to the program script file; 其中,编写所述程序脚本文件实现的预定执行步骤包括:The predetermined execution steps implemented by writing the program script file include: (1)获取所述目标顶层电路的视图列表文件,所述视图列表文件包括所述目标顶层电路调用的多个单元视图的视图信息,每个单元视图的视图信息包括所述单元视图使用的电路库标识、单元标识以及视图类型,所述视图类型为原理图视图或版图视图;(1) obtaining a view list file of the target top-level circuit, wherein the view list file includes view information of multiple unit views called by the target top-level circuit, wherein the view information of each unit view includes a circuit library identifier, a unit identifier, and a view type used by the unit view, wherein the view type is a schematic view or a layout view; (2)遍历所述视图列表文件中的每个单元视图的视图信息,并调用dbOpenCellViewByType函数确定遍历到的每个单元视图的数据库地址;(2) traversing the view information of each cell view in the view list file, and calling the dbOpenCellViewByType function to determine the database address of each cell view traversed; (3)对于遍历到的所述目标顶层电路调用的每个单元视图,根据所述单元视图的数据库地址从顶层至底层依次遍历所述目标顶层电路调用的所述单元视图内的所有实例,直至遍历到达底层器件,并在关联表中记录遍历到的每个实例的单元视图的单元标识以及调用所述实例的单元视图的电路库标识之间的对应关系;(3) For each unit view called by the target top-level circuit that is traversed, traverse all instances in the unit view called by the target top-level circuit from the top level to the bottom level in sequence according to the database address of the unit view until the traversal reaches the bottom-level device, and record the corresponding relationship between the unit identifier of the unit view of each traversed instance and the circuit library identifier of the unit view that calls the instance in the association table; (4)调用foreach函数依次遍历所述视图列表文件中的各个单元视图的视图信息并更新所述关联表,直至遍历完所述视图列表文件中的所有单元视图的视图信息后,得到包含所述目标顶层电路在所有单元视图中的实例调用信息的关联表;(4) calling the foreach function to sequentially traverse the view information of each unit view in the view list file and update the association table, until the view information of all unit views in the view list file is traversed, thereby obtaining an association table containing instance call information of the target top-level circuit in all unit views; 根据所述单元视图的数据库地址从顶层至底层依次遍历所述目标顶层电路调用的所述单元视图内的所有实例包括:从目标顶层电路调用的所述单元视图开始,根据所述单元视图的数据库地址依次遍历所述单元视图内的实例,检测遍历到的实例的单元视图的单元标识是否包含在所述关联表中;当遍历到的实例的单元视图的单元标识已经包含在所述关联表中时,继续遍历其他的实例;当遍历到的实例的单元视图的单元标识未包含在所述关联表中时,将遍历到的每个实例的单元视图的单元标识以及调用所述实例的单元视图的电路库标识之间的对应关系记录到所述关联表中;当遍历到的实例不是底层器件时,调用dbOpenCellViewByType函数确定遍历到的所述实例的单元视图的数据库地址,并再次执行所述单元视图的数据库地址依次遍历所述单元视图内的实例的步骤,直至遍历到的实例是底层器件;Traversing all instances in the cell view called by the target top-level circuit from the top level to the bottom level in sequence according to the database address of the cell view includes: starting from the cell view called by the target top-level circuit, traversing the instances in the cell view in sequence according to the database address of the cell view, and detecting whether the cell identifier of the cell view of the traversed instance is included in the association table; when the cell identifier of the cell view of the traversed instance is already included in the association table, continuing to traverse other instances; when the cell identifier of the cell view of the traversed instance is not included in the association table, recording the correspondence between the cell identifier of each traversed cell view and the circuit library identifier of the cell view calling the instance in the association table; when the traversed instance is not a bottom-level device, calling the dbOpenCellViewByType function to determine the database address of the cell view of the traversed instance, and executing the step of traversing the instances in the cell view in sequence according to the database address of the cell view again, until the traversed instance is a bottom-level device; 确定是否遍历到达底层器件的方法包括:当遍历到的实例的单元视图的电路库标识包含在工艺库列表中时,确定遍历到达底层器件,否则确定未遍历到达底层器件,所述工艺库列表包括所有底层器件的电路库标识。The method for determining whether traversal reaches the bottom-level device includes: when the circuit library identifier of the unit view of the traversed instance is included in the process library list, it is determined that the traversal reaches the bottom-level device; otherwise, it is determined that the traversal does not reach the bottom-level device, and the process library list includes the circuit library identifiers of all bottom-level devices. 2.根据权利要求1所述的实例调用信息提取方法,其特征在于,在依次遍历所述视图列表文件中的各个单元视图的视图信息并更新所述关联表时:2. The instance call information extraction method according to claim 1, characterized in that when traversing the view information of each unit view in the view list file in sequence and updating the association table: 在遍历所述视图列表文件中视图类型为原理图视图的单元视图的视图信息时,将遍历到的每个实例的单元视图的单元标识以及调用所述实例的单元视图的电路库标识之间的对应关系更新到原理图关联表中;When traversing the view information of the unit view whose view type is the schematic view in the view list file, updating the correspondence between the unit identifier of each traversed unit view instance and the circuit library identifier of the unit view calling the instance into the schematic association table; 在遍历所述视图列表文件中视图类型为版图视图的单元视图的视图信息时,将遍历到的每个实例的单元视图的单元标识以及调用所述实例的单元视图的电路库标识之间的对应关系更新到版图关联表中;When traversing the view information of the unit view whose view type is the layout view in the view list file, updating the correspondence between the unit identifier of each traversed unit view instance and the circuit library identifier of the unit view calling the instance into the layout association table; 遍历完所述视图列表文件中的所有单元视图的视图信息后,得到包含所述目标顶层电路在所有原理图视图中的实例调用信息的原理图关联表,以及得到包含所述目标顶层电路在所有版图视图中的实例调用信息的版图关联表。After traversing the view information of all unit views in the view list file, a schematic association table containing instance call information of the target top-level circuit in all schematic views is obtained, and a layout association table containing instance call information of the target top-level circuit in all layout views is obtained. 3.根据权利要求2所述的实例调用信息提取方法,其特征在于,编写所述程序脚本文件实现的预定执行步骤还包括:3. The method for extracting instance call information according to claim 2, wherein the predetermined execution step implemented by writing the program script file further comprises: 当确定当前的工作模式为普通模式时,分别输出所述原理图关联表和版图关联表;When it is determined that the current working mode is the normal mode, the schematic association table and the layout association table are output respectively; 当确定当前的工作模式为比较模式时,对所述原理图关联表和所述版图关联表中的实例调用信息进行比较后,输出比较结果。When it is determined that the current working mode is the comparison mode, the instance call information in the schematic association table and the layout association table are compared, and the comparison result is output. 4.根据权利要求3所述的实例调用信息提取方法,其特征在于,所述对所述原理图关联表和所述版图关联表中的实例调用信息进行比较包括:4. The method for extracting instance call information according to claim 3, wherein the step of comparing the instance call information in the schematic association table and the layout association table comprises: 遍历所述原理图关联表中的每组对应关系,并检测遍历到的所述对应关系是否包含在所述版图关联表中,输出的比较结果指示包含在所述原理图关联表中但未包含在所述版图关联表中的对应关系;Traversing each set of corresponding relationships in the schematic association table, and detecting whether the traversed corresponding relationships are included in the layout association table, and outputting a comparison result indicating a corresponding relationship included in the schematic association table but not included in the layout association table; 和/或,遍历所述版图关联表中的每组对应关系,并检测遍历到的所述对应关系是否包含在原理图关联表,输出的比较结果指示包含在所述版图关联表中但未包含在所述原理图关联表中的对应关系。And/or, traverse each set of corresponding relationships in the layout association table, and detect whether the traversed corresponding relationships are included in the schematic association table, and the output comparison result indicates the corresponding relationships included in the layout association table but not included in the schematic association table. 5.根据权利要求1所述的实例调用信息提取方法,其特征在于,所述获取所述目标顶层电路的视图列表文件包括:5. The instance call information extraction method according to claim 1, wherein obtaining the view list file of the target top-level circuit comprises: 获取所述目标顶层电路的初始顶层列表文件,所述初始顶层列表文件中包括所述目标顶层电路的多个单元视图的初始信息;Acquire an initial top-level list file of the target top-level circuit, wherein the initial top-level list file includes initial information of multiple unit views of the target top-level circuit; 对于每个单元视图的初始信息,通过rexReplace函数去除所述初始信息中的换行符和/或将所述初始信息中的水平制表符替换为空格,完成格式预处理得到有效字符串,通过parseString函数对所述有效字符串进行分割,分别提取得到所述单元视图对应的电路库标识、单元标识以及视图类型。For the initial information of each unit view, the rexReplace function is used to remove the line breaks in the initial information and/or replace the horizontal tabs in the initial information with spaces, and the format preprocessing is completed to obtain a valid string. The valid string is segmented by the parseString function to extract the circuit library identifier, unit identifier and view type corresponding to the unit view. 6.根据权利要求5所述的实例调用信息提取方法,其特征在于,所述获取所述目标顶层电路的初始顶层列表文件包括:6. The method for extracting instance call information according to claim 5, wherein obtaining an initial top-level list file of the target top-level circuit comprises: 通过GUI界面获取输入的目标文件路径,并按照所述目标文件路径获取所述目标顶层电路的初始顶层列表文件;Obtaining an input target file path through a GUI interface, and obtaining an initial top-level list file of the target top-level circuit according to the target file path; 或者,按照预设的目标文件路径获取所述目标顶层电路的初始顶层列表文件。Alternatively, the initial top-level list file of the target top-level circuit is obtained according to a preset target file path. 7.根据权利要求1所述的实例调用信息提取方法,其特征在于,所述在视图中形成菜单包括:7. The instance call information extraction method according to claim 1, wherein forming a menu in the view comprises: 读取Schematic.menu配置文件并根据所述程序脚本文件修改菜单定义。Reads the Schematic.menu configuration file and modifies the menu definition according to the program script file.
CN202311507266.0A 2023-11-09 2023-11-09 Virtuoso-based instance call information extraction method Active CN117408193B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311507266.0A CN117408193B (en) 2023-11-09 2023-11-09 Virtuoso-based instance call information extraction method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311507266.0A CN117408193B (en) 2023-11-09 2023-11-09 Virtuoso-based instance call information extraction method

Publications (2)

Publication Number Publication Date
CN117408193A CN117408193A (en) 2024-01-16
CN117408193B true CN117408193B (en) 2025-02-18

Family

ID=89496076

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311507266.0A Active CN117408193B (en) 2023-11-09 2023-11-09 Virtuoso-based instance call information extraction method

Country Status (1)

Country Link
CN (1) CN117408193B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118761375B (en) * 2024-09-06 2024-12-06 无锡中微亿芯有限公司 Integrated Circuit Example Design Method Based on Virtuoso
CN118761378B (en) * 2024-09-09 2024-12-13 无锡中微亿芯有限公司 Integrated Circuit Pin Design Method Based on Virtuoso

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109543298A (en) * 2018-11-22 2019-03-29 中国电子科技集团公司第四十七研究所 A kind of method of schematic diagram replacement Component library in cadence
CN115983196A (en) * 2023-03-17 2023-04-18 卓捷创芯科技(深圳)有限公司 Method for analyzing chip physical layout noise coupling and shielding through LVS (Low Voltage differential Signal) inspection

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10331842B2 (en) * 2014-12-16 2019-06-25 Massachusetts Institute Of Technology Methods and apparatus for automated design of semiconductor photonic devices
CN107480369B (en) * 2017-08-10 2020-08-25 苏州浪潮智能科技有限公司 Design and operation method for classified display of DRC in PCB design
EP3903241A4 (en) * 2018-12-24 2022-09-14 Roam Analytics, Inc. BUILDING A KNOWLEDGE GRAPH USING MULTIPLE SUB-GRAPHS AND A LINK LAYER INCLUDING MULTIPLE LINK NODES
US11163587B2 (en) * 2019-10-08 2021-11-02 International Business Machines Corporation Interface that enables streamlined user-friendly initiation/control of modifications and/or initial program loading (IPL) of a target system
CN111368154B (en) * 2020-05-26 2020-08-07 上海冰鉴信息科技有限公司 Index information determination method and index information determination device
CN112966465B (en) * 2021-04-07 2022-04-26 长鑫存储技术有限公司 Circuit simulation method and device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109543298A (en) * 2018-11-22 2019-03-29 中国电子科技集团公司第四十七研究所 A kind of method of schematic diagram replacement Component library in cadence
CN115983196A (en) * 2023-03-17 2023-04-18 卓捷创芯科技(深圳)有限公司 Method for analyzing chip physical layout noise coupling and shielding through LVS (Low Voltage differential Signal) inspection

Also Published As

Publication number Publication date
CN117408193A (en) 2024-01-16

Similar Documents

Publication Publication Date Title
CN117408193B (en) Virtuoso-based instance call information extraction method
US20150074089A1 (en) User Interface Features to Manage a Large Number of Files and Their Application to Management of a Large Number of Test Scripts
CN103631590B (en) The edit methods of automatic test script
CN113672520A (en) Test case generation method and device, electronic equipment and storage medium
CN106598874A (en) Method and device for automatically testing software
CN109189688B (en) Test case script generation method and device and electronic equipment
CN109144871B (en) A kind of identification method and device of automatic test element
CN110737573B (en) Method and device for automatically testing user interface UI
JP2013020437A (en) Requirements management support device
US8032847B2 (en) Layout design method of semiconductor integrated circuit
CN112181809B (en) A graphical user interface automated testing method based on multiple positioning methods
CN111078548B (en) Test case analysis method and device, storage medium and verification platform
CN116090373A (en) Incentive automatic generation method, system and computer readable medium
CN115758950A (en) Automatic drawing method, device and computer readable storage medium
JP6251860B2 (en) Information management apparatus and file management method
WO2016190444A1 (en) Information management device, and file management method
JP2011204069A (en) Testing method, and automatic test specification and test data generation apparatus
CN109657359B (en) A method and device for recognizing package update in PCB design
CN118627438B (en) Object comparison method, device, storage medium, computer apparatus, and program product
JP2013008304A (en) Program analysis device, program analysis method, and program
CN112231218B (en) Method, system, terminal and storage medium for automatically updating test diagnosis script
JP6902513B2 (en) Source code generation support device and source code generation support method
JP2013003729A (en) Test case automatic generation system, test case automatic generation method, and test case automatic generation program
JP6216414B2 (en) Design support apparatus and design support method
CN118606273A (en) Polyhedral mesh-based file conversion method and terminal device

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