CN117574821A - Information association method, device, equipment and storage medium based on representing unit - Google Patents

Information association method, device, equipment and storage medium based on representing unit Download PDF

Info

Publication number
CN117574821A
CN117574821A CN202311362365.4A CN202311362365A CN117574821A CN 117574821 A CN117574821 A CN 117574821A CN 202311362365 A CN202311362365 A CN 202311362365A CN 117574821 A CN117574821 A CN 117574821A
Authority
CN
China
Prior art keywords
unit
representative
target
current
functional
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
Application number
CN202311362365.4A
Other languages
Chinese (zh)
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.)
Innoda Chengdu Electronic Technology Co ltd
Original Assignee
Innoda Chengdu Electronic Technology 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 Innoda Chengdu Electronic Technology Co ltd filed Critical Innoda Chengdu Electronic Technology Co ltd
Priority to CN202311362365.4A priority Critical patent/CN117574821A/en
Publication of CN117574821A publication Critical patent/CN117574821A/en
Pending legal-status Critical Current

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
    • G06F30/333Design for testability [DFT], e.g. scan chain or built-in self-test [BIST]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/20Configuration CAD, e.g. designing by assembling or positioning modules selected from libraries of predesigned modules

Abstract

The application belongs to the technical field of integrated circuits, and provides an information association method, device, equipment and storage medium based on a representative unit, wherein the information association method comprises the following steps: acquiring a library file to be processed; determining a unit category for each unit based on the unit information for each unit in the library file: determining the unit category of the current unit as a target unit category, and updating the representative unit; determining the unit category of the current unit as a newly added unit category, and taking the current unit as a representative unit of the newly added unit category; the unit information of each unit is associated into the storage space of the corresponding unit category. The method and the device can solve the problem that the units with the required functions are difficult to locate and the units under the same unit category are not distinguished, can establish the unit category from the dimension of the functions, can take the representative unit as the representative, and provide guidance for unit selection.

Description

Information association method, device, equipment and storage medium based on representing unit
Technical Field
The present disclosure relates to the field of integrated circuits, and in particular, to a method, an apparatus, a device, and a storage medium for information association based on a representative unit.
Background
Electronic design automation (Electronic Design Automation, EDA) refers to a design approach that utilizes computer aided design (Computer Aided Design, CAD) software to complete the process of functional design, synthesis, verification, physical design (including, for example, layout, routing, layout, design rule checking, etc.) of very large scale integrated circuit (Very Large Scale Integration Circuit, VLSI) chips. Integrated circuit designers can design hundreds of thousands to billions of complex integrated circuits of transistors using EDA tools to reduce design bias, improve die success and save die costs.
When using an EDA tool, the EDA tool often needs to read a library (library) file that may be used to describe cell information for each cell (cell) in the integrated circuit design, often with lib as an extension, which may also be referred to as a "Liberty file" in the case of library files written in accordance with industry standards "Liberty user guidance and reference Manual (Liberty User Guides and Reference Manual"). In general, different units may have different characteristics, such as delay, power consumption, area, etc., so as to facilitate analysis and optimization of timing and power consumption during design, and after the EDA tool reads the library file, it is generally required to perform classification processing on each unit, so as to select an appropriate unit for replacement or adjustment according to different design targets and constraints, thereby improving performance of the circuit.
In the related art, the conventional classification method classifies cells directly according to their types, for example, the types of registers (registers), latches (latches), random access memories (Random Access Memory, RAM), and combinational gates (combination gates).
In the actual use of EDA tool design process, it may be necessary to perform processes such as replacement, insertion, etc. on the units, however, units classified based on the existing classification method can only distinguish respective kinds, and functions of units under the same kind may be different, which makes it difficult to quickly locate units with required functions when performing processes such as replacement of units, insertion of units, etc., and excessive time and resources are required to be consumed to re-traverse the whole library file to find units with corresponding functions, especially in the case of performing processes multiple times, it is required to traverse the library file once per process, which consumes more time and resources, affecting the work efficiency and the design progress.
In addition, in the related art, in the process of classifying the units, only whether the types of the units are the same is considered, but the same type of units are not distinguished, so that in the subsequent design and use, when the units are selected, only the types of the units exist, and guidance cannot be provided for the selection among the units of the same type.
Disclosure of Invention
The application provides an information association method, device, equipment and storage medium based on a representative unit, which at least solve the problems that excessive searching time and resources are consumed because a unit with a required function is difficult to locate in the related technology, and the unit in the same unit category is not distinguished, so that further guidance cannot be provided for subsequent design. The technical scheme of the application is as follows:
according to a first aspect of embodiments of the present application, there is provided an information association method based on a representative unit, the information association method being applied to integrated circuit electronic design automation software, wherein the information association method includes: obtaining a library file to be processed, wherein the library file contains unit information of at least one unit for forming an integrated circuit, and the unit information contains functional characteristics and performance characteristics of the unit, and the performance characteristics characterize the performance level of the unit when the corresponding function is realized; based on the unit information of each unit in the library file, the unit category of each unit is determined by: determining a unit class of the current unit as a target unit class corresponding to the target unit in response to the functional characteristics of the current unit being matched with the functional characteristics of the target unit in the representative units in the at least one unit, and comparing the current unit with the target unit class based on the performance characteristics of the current unit, updating the representative units of the target unit class according to the comparison result, wherein each unit class corresponds to one representative unit, the performance characteristics of the representative units reflect the representative performance level of the units under the corresponding unit class, determining the unit class of the current unit as a newly added unit class in response to the functional characteristics of the current unit not being matched with the functional characteristics of all the representative units in the at least one unit, taking the current unit as the representative unit of the newly added unit class, and allocating corresponding storage space for the newly added unit class, wherein each unit class corresponds to one storage space; and associating the unit information of each unit into the storage space of the corresponding unit category.
Optionally, the performance characteristics of the representative units reflect the performance optimal performance level of the units in the corresponding unit category, wherein the comparing the current unit with the target representative unit based on the performance characteristics of the current unit, and updating the representative unit of the target unit category according to the comparison result, includes: replacing the target representative unit with the current unit as a representative unit of the target unit class in response to the performance level of the current unit being greater than or equal to the performance level of the target representative unit; in response to the performance level of the current unit being below the performance level of the target representative unit, the target representative unit is maintained as a representative unit of the target unit class.
Optionally, the library file to be processed includes a plurality of library files, wherein in response to the performance level of the current unit being higher than or equal to the performance level of the target representative unit, the information association method further includes: in response to the current cell being a first read, performing a step of replacing the target representative cell with the current cell; and in response to the current cell being a non-first read, maintaining the target representative cell as a representative cell of the target cell class.
Optionally, the performance characteristics are determined by: determining the performance characteristic according to a design objective of a logic synthesis stage in an integrated circuit electronic design, wherein the design objective comprises: performing logic synthesis by taking power consumption as the most preferable consideration factor, or performing logic synthesis by taking circuit area as the most preferable consideration factor, or performing logic synthesis according to the power consumption weight preset for the power consumption and the area weight preset for the circuit area; the performance characteristics include power consumption characteristics and/or circuit area characteristics.
Optionally, the design objective includes logically integrating a power consumption weight preset for power consumption and an area weight preset for circuit area, and the performance characteristic includes a power consumption characteristic and a circuit area characteristic, wherein the current cell is compared with the target representative cell based on the performance characteristic of the current cell by: weighting the power consumption characteristics and the circuit area characteristics of each of the current unit and the target representing unit based on the power consumption weight and the area weight, and respectively determining the performance level of the current unit and the performance level of the target representing unit; the performance level of the current unit is compared to the performance level of the target representative unit.
Optionally, the performance characteristic is a power consumption characteristic or a circuit area characteristic, wherein the comparing the current unit with the target representative unit based on the performance characteristic of the current unit, and updating the representative unit of the target unit class according to the comparison result, includes: replacing the target representative unit with the current unit as a representative unit of the target unit class in response to the capacitance or circuit area of the current unit being less than or equal to the capacitance or circuit area of the target representative unit; in response to the capacitance or circuit area of the current cell being greater than the capacitance or circuit area of the target representative cell, the target representative cell is maintained as a representative cell of the target cell class.
Optionally, the functional features include output pin functional features and/or group attribute features, wherein matching the functional features of the current unit with the functional features of the target representative unit means: the output pin functional characteristics of the current unit are the same as those of the target representing unit; and/or matching the functional characteristics of the current unit with the functional characteristics of the target representative unit means: the output pin functional characteristics of the current cell are the same as the output pin functional characteristics of the target delegate cell, and the group attribute characteristics of the current cell are the same as the group attribute characteristics of the target delegate cell.
Optionally, the unit information further comprises specification features of the unit, the functional features comprising output pin functional features, the specification features comprising pin specification features, wherein the output pin functional features and the pin specification features are determined by: determining a pin type of each pin of the current unit, wherein the pin type is a power ground pin type or a non-power ground pin type; and extracting functional characteristics and specification characteristics corresponding to the pins of the non-power-supply-ground pin type from the unit information of the current unit to serve as the output pin functional characteristics and the pin specification characteristics.
Optionally, the functional features include an output pin functional feature and a group attribute feature, wherein it is determined that the functional feature of the current unit matches the functional feature of the target representative unit by: first comparing the output pin functional characteristics of the current unit with the output pin functional characteristics of the target representative unit; performing a second comparison of the group attribute characteristics of the current unit with the group attribute characteristics of the target representative unit, if the result of the first comparison indicates that the output pin functional characteristics of the current unit are the same as the output pin functional characteristics of the target representative unit; and determining that the functional characteristic of the current unit matches the functional characteristic of the target representative unit in the case that the result of the second comparison indicates that the group attribute characteristic of the current unit is the same as the group attribute characteristic of the target representative unit.
Optionally, the output pin functional feature includes a functional expression of at least one output pin, wherein the first comparing the output pin functional feature of the current unit with the output pin functional feature of the target representative unit includes: under a specified input signal, respectively carrying out Boolean operation on the functional expression of each output pin of the current unit and the functional expression of each output pin of the target representing unit; and under the condition that the Boolean operation result of the functional expression of each output pin of the current unit is respectively consistent with the Boolean operation result of the functional expression of the corresponding output pin of the target representing unit, determining that the functional characteristics of the output pin of the current unit are the same as the functional characteristics of the output pin of the target representing unit.
Optionally, the unit information further includes specification characteristics of the units, wherein a unit category of each unit is further determined by: in response to the functional and specification characteristics of the current unit both matching the functional and specification characteristics of a target representative unit of the representative units in the at least one unit, performing the step of determining the unit class of the current unit as the target unit class; in response to the absence of a representative unit of the at least one unit that matches both the functional feature and the specification feature of the current unit, the step of determining the unit class of the current unit as a newly added unit class and taking the current unit as a representative unit of the newly added unit class is performed.
Optionally, the functional and specification features of the current unit are both determined to match the functional and specification features of the target representative unit by: performing first matching on the specification characteristics of the current unit and the specification characteristics of the target representative unit; performing second matching on the functional characteristics of the current unit and the functional characteristics of the target representative unit under the condition that the result of the first matching indicates that the specification characteristics of the current unit are matched with the specification characteristics of the target representative unit; and determining that the functional characteristic and the specification characteristic of the current unit are matched with the functional characteristic and the specification characteristic of the target representative unit under the condition that the result of the second matching indicates that the functional characteristic of the current unit is matched with the functional characteristic of the target representative unit.
Optionally, the specification feature includes a pin number and a pin direction, where the pin number is a sum of an input pin number and an output pin number, and the first matching the specification feature of the current unit with the specification feature of the target representative unit includes: determining whether the pin number of the current unit is the same as the pin number of the target representing unit; under the condition that the pin number of the current unit is the same as that of the target representing unit, the pin direction of each pin of the current unit and the pin direction of each pin of the target representing unit are respectively determined; and under the condition that the pin direction of each pin of the current unit is respectively consistent with the pin direction of the corresponding pin of the target representing unit, determining that the specification characteristic of the current unit is matched with the specification characteristic of the target representing unit.
According to a second aspect of embodiments of the present application, there is provided an information-associating device based on a delegate unit, the information-associating device being applied to integrated circuit electronic design automation software, wherein the information-associating device comprises: an acquisition unit configured to acquire a library file to be processed, wherein the library file contains unit information of at least one unit for constituting an integrated circuit, wherein the unit information contains functional characteristics and performance characteristics of the unit, and the performance characteristics characterize performance levels of the unit when corresponding functions are realized; a determining unit configured to determine a unit category of each unit based on the unit information of each unit in the library file by: determining a unit class of the current unit as a target unit class corresponding to the target unit in response to the functional characteristics of the current unit being matched with the functional characteristics of the target unit in the representative units in the at least one unit, and comparing the current unit with the target unit class based on the performance characteristics of the current unit, updating the representative units of the target unit class according to the comparison result, wherein each unit class corresponds to one representative unit, the performance characteristics of the representative units reflect the representative performance level of the units under the corresponding unit class, determining the unit class of the current unit as a newly added unit class in response to the functional characteristics of the current unit not being matched with the functional characteristics of all the representative units in the at least one unit, taking the current unit as the representative unit of the newly added unit class, and allocating corresponding storage space for the newly added unit class, wherein each unit class corresponds to one storage space; and a storage unit configured to associate the unit information of each unit into the storage space of the corresponding unit category.
According to a third aspect of embodiments of the present application, there is provided an electronic device comprising: a processor; a memory for storing the processor-executable instructions, wherein the processor-executable instructions, when executed by the processor, cause the processor to perform a delegate unit-based information correlation method in accordance with an exemplary embodiment of the present application.
According to a fourth aspect of embodiments of the present application, there is provided a computer readable storage medium, which when executed by a processor of an electronic device, causes the electronic device to perform the delegate unit based information correlation method according to exemplary embodiments of the present application.
The technical scheme provided by the embodiment of the application at least brings the following beneficial effects:
according to the embodiment of the invention, the unit category of the unit can be determined by traversing the unit information of each unit in the library file based on whether the functional characteristics of the unit are matched with the functional characteristics of the representing unit in at least one unit in the library file, and according to the matched target unit category of the representing unit, so that the unit category can be established from the dimension of the function of the unit to determine that each unit belongs to the unit categories, the unit category of the required function can be quickly positioned when the unit is required to be subjected to processing such as replacement, insertion and the like, and the unit can be selected in the unit category to be subjected to processing such as replacement, insertion and the like without searching the corresponding unit through traversing the library file during each processing, so that the design time and resources can be saved, and the working efficiency can be improved.
In addition, in the process of determining the unit category of the unit, the embodiment of the application can compare the current unit with the matched representing unit based on the performance characteristics of the current unit, and can update the representing unit of the unit category to which the current unit belongs according to the comparison result, so that the representing unit can always be the unit capable of reflecting the representative performance level of the unit category under the unit category corresponding to the representing unit, and in the subsequent design and use, when the unit under the same unit category is selected, the performance characteristics of the representing unit can be used as the representation or reference of the unit selected under the unit category, and guidance is provided for selecting the unit under the corresponding unit category.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the application.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the application and together with the description, serve to explain the principles of the application and do not constitute an undue limitation on the application.
Fig. 1 is a schematic diagram illustrating a scan replacement shown according to an example embodiment.
Fig. 2 is a schematic diagram illustrating scanning stitching, according to an exemplary embodiment.
Fig. 3 is a schematic diagram illustrating scan insertion, according to an example embodiment.
Fig. 4 is a schematic flow chart diagram illustrating a delegate unit-based information association method, according to an example embodiment.
Fig. 5 is a schematic flow chart illustrating the steps of determining a unit category of a unit in a delegate unit based information correlation method, according to an exemplary embodiment.
Fig. 6 is a schematic diagram showing a unit category of a unit determined based on an information association method of a representative unit according to an exemplary embodiment.
Fig. 7 is a schematic flow chart diagram illustrating updating a delegate unit in a delegate unit based information association method, according to an exemplary embodiment.
FIG. 8 is a schematic flow chart diagram illustrating steps in a delegate unit based information correlation method to detect if a data error exists in a library file, according to an exemplary embodiment.
Fig. 9 is a schematic diagram illustrating an association relationship between a scanning unit and a non-scanning unit established in a delegate unit-based information association method according to an exemplary embodiment.
Fig. 10 is a schematic flow chart diagram illustrating an example of a full flow of a delegate unit-based information correlation method, according to an example embodiment.
Fig. 11 is a block diagram illustrating a delegate unit-based information correlation device, according to an example embodiment.
Fig. 12 is a block diagram of an electronic device, according to an example embodiment.
Detailed Description
In order to enable a person skilled in the art to better understand the technical solutions of the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings.
It should be noted that the terms "first," "second," and the like in the description and claims of the present application and the above figures are used for distinguishing between similar objects and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used may be interchanged where appropriate such that embodiments of the present application described herein may be implemented in sequences other than those illustrated or otherwise described herein. The implementations described in the following exemplary examples are not representative of all implementations consistent with the present application. Rather, they are merely examples of apparatus and methods consistent with some aspects of the present application as detailed in the accompanying claims.
Here, the expression "at least one of the items" in the present application means three cases in parallel including "any one of the items", "a combination of any of the items", "an entirety of the items". For example, "including at least one of a and B" includes three cases side by side as follows: (1) comprises A; (2) comprising B; (3) includes A and B. For example, "at least one of the first and second steps is executed", that is, three cases are juxtaposed as follows: (1) performing step one; (2) executing the second step; (3) executing the first step and the second step.
As previously mentioned, in the electronic design of integrated circuits using EDA tools, the EDA tools often need to read library files, which are important files written in accordance with industry standards Liberty user guidelines and reference manuals. For example, a library file may include two portions of content, a first portion may define basic properties of a cell library, such as cell library name, file version, basic units of voltage-to-current capacitance time, voltage percentage of circuit transmission time and signal conversion time, and so forth; the second portion may include specific information of each unit, such as delay time, leakage power consumption, internal power consumption, and the like.
In the case of classifying based on unit types using existing classification methods, it may be difficult to perform various operations and processes on units using EDA tools. For example, after logic synthesis of RLT (Register Transfer Level ) designs using EDA tools to obtain Gate-level netlists (Gate-level netlists), replacement processing is often required for some cells in the netlists, such as low-power replacement, insertion scan chains (scan chain) (also referred to as scan insertion), which may include replacement and wiring of scan cells, and the like. While not ideal when it is desired to perform these operations and processes, excessive time and resources are consumed to traverse the library file to find the corresponding cell. The following will exemplify scan insertion in design for testability.
Design For Test (DFT) refers to that various hardware logic For improving testability (including controllability and observability, for example) of a chip is inserted in a stage of original Design of the chip, and Test vectors are generated through the logic, so as to achieve the purpose of testing a large-scale chip. Integrated circuit designers often insert design into DFT circuitry through EDA tools quickly to enable agile development.
Scan path design (scan design) is a DFT scheme for sequential circuit chips whose basic principle is that sequential circuits can be modeled as a feedback of a combined circuit network and sequential circuit network with Flip-flops (FFs). Scan insertion may include two steps: scan replacement (scan replacement) and scan stitching (scan stitching), which aim to change a sequential circuit that is not easy to test into a combined circuit that is easy to test.
The scan insertion is briefly described below with reference to fig. 1 to 3, taking a hybrid D flip-flop scan cell (mux-dscan cell) as an example.
As shown in fig. 1, scan replacement is to replace a non-scan cell (e.g., DFF in fig. 1) in a circuit with a scan cell (e.g., SDFF in fig. 1). In the Scan unit SDFF, when the value of the SE (Scan enable), which may also be referred to as "Scan-En", terminal is 0, the circuit operates in a normal function state (function mode) and is capable of latching the value of the D terminal (Data Port); when the value of the SE terminal is 1, the circuit operates in a scan state (scan mode) and latches the value of the SI terminal, where CK is the clock port and Q is the output terminal.
As shown In fig. 2, the Scan stitch is to connect the Q terminal and SI (Scan In) terminal of the Scan cell SDFF obtained In the Scan replacement together to form a Scan chain. The top layer of the chip is provided with a global SE end input signal, an input signal SI and an output signal SO of a scanning chain. The test procedure can be converted from testing a complex sequential circuit to testing a combined circuit by the continuous action of the scan chain.
Fig. 3 shows the distinction between before and after scan insertion. As shown in fig. 3, after the Scan insertion, if the Scan-En terminal is set to 0, the circuit can operate in a normal state, and the Scan insertion has no effect on the normal function of the circuit; if the value at the Scan-En terminal is set to 1, the circuit operates in a Scan state, and the output value of the combinational logic can be shifted (shift) out by the subsequent action of the Scan chain, so that it can be compared with the expected value. In fig. 3, CLK represents a clock signal input terminal, and FF represents a Flip-Flop (Flip Flop).
However, in the above scan insertion process, if the unit classification is performed based on the conventional classification method, the efficiency in selecting the unit is not ideal, and excessive time and resources are consumed to traverse the library file to find the corresponding unit, especially when multiple replacement is desired to be performed to check the replacement effect, more time and resources are consumed.
In addition, when the conventional classification method is adopted to classify the units, only whether the types of the units are the same is considered, and the same types of the units are not distinguished, so that in the subsequent design and use, when the units are selected, the types of the units are only the basis, and guidance cannot be provided for the selection among the units of the same type.
In view of the above, exemplary embodiments of the present application propose an information associating method, an information associating apparatus, an electronic device, and a computer-readable storage medium based on a representative unit, which can solve or at least alleviate the above-mentioned problems.
In a first aspect of exemplary embodiments of the present application, there is provided an information association method based on a delegate unit, which will be described below with reference to fig. 4 to 8.
The information association method according to the exemplary embodiment of the present application may be applied to a scenario where a user interacts with software, for example, integrated circuit EDA software may be loaded on a user terminal, and the user may use the integrated circuit EDA software on the user terminal.
The integrated circuit EDA software may obtain a library file to be processed, wherein the library file may contain unit information for at least one unit constituting the integrated circuit, wherein the unit information may include functional features and performance features of the unit, the performance features characterizing performance levels of the unit when implementing the respective functions.
The integrated circuit EDA software may traverse the cell information for each cell in the library file and determine the cell class for each cell by: in response to the functional characteristics of the current unit matching the functional characteristics of the target representative units in the at least one unit, determining a unit class of the current unit as a target unit class corresponding to the target representative unit, and comparing the current unit with the target representative unit based on the performance characteristics of the current unit, and updating the representative units of the target unit class according to the comparison result, wherein each unit class corresponds to one representative unit and the performance characteristics of the representative units reflect the representative performance level of the units under the corresponding unit class; and in response to the functional characteristics of the current unit being different from the functional characteristics of all the representative units in the at least one unit, determining the unit category of the current unit as a newly added unit category, taking the current unit as the representative unit of the newly added unit category, and allocating a corresponding storage space for the newly added unit category, wherein each unit category corresponds to one storage space.
The integrated circuit EDA software may associate the unit information for each unit into the memory space of the corresponding unit class.
The above user terminal may be, for example, a tablet computer, a notebook computer, a digital assistant, a wearable device, etc., however, the implementation scenario of the above information association method is merely an example scenario, and the information association method according to the exemplary embodiment of the present application may also be applied to other application scenarios, for example, it may also be that a user requests, at a user terminal (for example, a mobile phone, a desktop computer, a tablet computer, etc.), to search for an object from a server through a network, where the server may perform information association by executing the information association method according to the exemplary embodiment of the present application, and the server may be a stand-alone server, a server cluster, or a cloud computing platform or a virtualization center.
Furthermore, software referred to in embodiments of the present application may be, for example, but not limited to, computer programs, procedures, rules, files, documents, data, and the like. Although the application of integrated circuit EDA software in an example scenario is described by way of example in the embodiments of the present application, the embodiments of the present application are not limited thereto and may be applied to other application scenarios of integrated circuit EDA software.
According to the information association method of the exemplary embodiment of the application, the unit category of each unit in the library file is determined, so that when the unit needs to be subjected to processing such as replacement, insertion and the like in the follow-up process, the unit category with the required function can be quickly positioned, the unit can be selected from the unit category to be subjected to processing such as replacement, insertion and the like, and the corresponding unit does not need to be searched through traversing the library file during each processing, so that design time and resources can be saved, and the working efficiency is improved.
In addition, the information association method according to the exemplary embodiment of the present application may further update the representative unit of the unit category to which the current unit belongs in the process of determining the unit category of the unit, so that the representative unit may always be a unit with a representative performance level of the unit category under the unit category corresponding to the representative unit, and thus, in the subsequent design and use, when selecting the unit under the same unit category, the performance feature of the representative unit may be used as a representative or reference of the unit selected under the unit category, and a guidance may be provided for selecting the unit under the corresponding unit category.
Specific steps of an information association method according to an exemplary embodiment will be described below with reference to fig. 4. The information correlation method may be applied to integrated circuit electronic design automation (i.e., integrated circuit EDA) software. As shown in fig. 4, the information association method may include the steps of:
in step S410, a library file to be processed may be acquired.
Here, the library file may contain cell information for at least one cell constituting the integrated circuit.
As an example, library files may be obtained through an interface provided by a main program of integrated circuit EDA software, and in some embodiments, multiple library files may be obtained for the same design architecture (e.g., in the design of the same chip). Here, the library file may be input by a user, or may be automatically imported into the integrated circuit EDA software by another program.
After the integrated circuit EDA software obtains the library file, the library file can be analyzed according to the standard of Liberty user guidance and reference manual, for example, the grammar accuracy check can be performed, the unit information of each unit can be analyzed, and the like. Here, the validity check in terms of grammar may include, for example, but not limited to, a validity check of the functional expression, which may include, for example, but not limited to: whether the variables contained in the functional expression correspond to the input pins, whether the format of the functional expression is legal, whether the operator of the functional expression is legal, and the like.
The unit information may include functional and performance characteristics of the unit, the performance characteristics characterizing the performance level of the unit in implementing the corresponding function.
Here, the functional characteristic may mean a function that the unit can perform, different kinds of units may have different functions, and the same kind of unit may also have different functions. For example, taking a combinational logic gate unit as an example, a combinational logic gate unit implementing an AND (AND) gate function, a combinational logic gate unit implementing an OR (OR) gate function, AND the like may be included. In this way, by acquiring the functional characteristics of each unit recorded in the library file, it is possible to facilitate determination of the unit category of the unit from the dimension of the function, which can make the unit category of the unit more specific and finer than the classification method that distinguishes only the unit category, and it is possible to divide the unit having the same function into the same class, and it is possible to facilitate replacement and insertion of the unit having the desired function in the design, so that the work efficiency can be greatly improved.
As an example, the functional features may include at least one of output pin functional features and group attribute features of the unit.
The output pin function (pin function) feature may refer to, for example, a functional expression of an output pin, for a unit, an input pin having no pin function, and each output pin may have a respective pin function to implement a corresponding logic function according to an input signal. For example, for a combinational logic gate unit, the and gate function or the or gate function may be implemented by a difference in output pin functions in the case where the input signals are the same.
Each cell may have at least one group attribute feature that may include, for example, but not limited to, ff group, latch group, memory group, and the like group attributes.
The performance characteristics may include power consumption characteristics and/or circuit area characteristics, and the power consumption characteristics may include a capacitance of the cell, specifically, the capacitance of the cell is positively correlated with the power consumption of the cell, and the larger the capacitance of the cell, the larger the power consumption thereof.
In step S420, the unit information for each unit in the library file may be traversed to determine the unit category for each unit.
In this step, the unit type of each unit may be determined one by one based on the unit information of each unit obtained by the analysis, and the order in which the units are traversed may be arbitrary.
As shown in fig. 5, the cell category of each cell may be determined by:
in step S510, the functional characteristics of the current cell may be matched with the functional characteristics of a target one of the representative cells in at least one cell in the library file.
Here, the current unit may be a unit of the currently to-be-determined unit category, and the functional characteristics thereof may be obtained from the unit information of the current unit.
The representative units may be units described in the library file, which may be units selected from among the units described in the library file, each unit class may correspond to a representative unit having a functional feature capable of representing the corresponding unit class, and the performance features of the representative units may reflect the representative performance level of the units under the corresponding unit class. For example, a plurality of combinational logic gate units may be described in the library file, and the combinational logic gate units having representative performance characteristics may be used as representative units in the class of combinational logic gate units.
As an example, the representative performance level may be a statistical value, such as a minimum, a maximum, a median, etc., of the performance values of the units in the corresponding unit class, which may reflect the performance of the units in the unit class, e.g., where the representative performance level is an optimal performance level, it may be indicated that the representative unit may be the unit of the unit class that performs optimally, which may be preferentially selected in design considerations requiring optimal performance. However, examples of the representative performance level are not limited thereto, and may be other values, for example, in the case where there is a specific limitation on performance, a unit having a performance value closest to a preset performance value may be taken as a representative unit.
In this step, the current unit may be compared with each of the currently existing representative units one by one, and whether the functional characteristics of the two match may be determined. Here, matching may mean that the current unit is capable of achieving the same function as the representing unit, e.g., the current unit includes the same functional characteristics as the representing unit.
In step S520, a unit category of the current unit may be determined as a target unit category corresponding to the target representative unit in response to the functional characteristics of the current unit matching the functional characteristics of the target representative unit in the representative units in at least one unit in the library file, and the current unit and the target representative unit may be compared based on the performance characteristics of the current unit, and the representative unit of the target unit category may be updated according to the comparison result.
Here, the target representing unit refers to a representing unit matching with the functional characteristics of the current unit among existing representing units. When the target representative unit exists, the current unit and the target representative unit can be considered to have the same function, and then the unit type of the current unit can be determined as the target unit type corresponding to the target representative unit.
The functional characteristics include output pin functional characteristics and/or group attribute characteristics from which it may be determined whether the functional characteristics of the current unit match the functional characteristics of the target delegate unit.
Specifically, in an example, as described above, the functional features may include output pin functional features, in which case matching the functional features of the current unit with the functional features of the target delegate unit may refer to: the output pin functional characteristics of the current unit are the same as the output pin functional characteristics of the target representative unit. Here, since the output pin functional feature of the unit may characterize the key function of the unit, performing unit matching from the dimension of the output pin functional feature may more directly and efficiently implement determining the unit category of the unit according to the function. Here, the output pin function characteristics of the two units being identical may mean that the output pin functions are equivalent in a mathematical sense, for example, whether or not the equivalents are determined by boolean operations.
Alternatively or additionally, in another example, the functional features may also include group attribute features, in which example, matching the functional features of the current unit with the functional features of the target delegate unit may also refer to: the output pin functional characteristics of the current cell are the same as the output pin functional characteristics of the target delegate cell, and the group attribute characteristics of the current cell are the same as the group attribute characteristics of the target delegate cell. In some cases, the group attribute feature may also reflect a part of the functions of the unit, so that unit matching may be performed in consideration of two dimensions, i.e., the output pin function feature and the group attribute feature, so as to achieve fine division of the unit functions.
In the case where the unit class of the current unit is determined as the target unit class corresponding to the target representative unit, in this step S520, the current unit may be compared with the target representative unit based on the performance characteristics of the current unit, and the representative unit of the target unit class may be updated according to the comparison result.
Here, comparing the current unit with the target representative unit is used to determine which of the current unit and the target representative unit is more capable of representing the performance level of the unit class. If the performance of the current unit is more representative, the current unit can be updated to be the representative unit of the unit class; if the performance of the target delegate unit is more representative, then the target delegate unit may continue to be the delegate unit for that unit class.
The performance characteristics may include one or more, for example, the performance characteristics may include power consumption characteristics and/or circuit area characteristics of the cell.
As an example, the performance characteristics may be determined by: the performance characteristics are determined based on design goals of a logic synthesis stage in an integrated circuit electronic design.
Here, the logic synthesis stage may be a process of converting a high-level abstract description (e.g., verilog design) of a digital circuit designed by a designer into a logic Gate-level circuit wiring netlist (also referred to as Gate-level netlist) after boolean function simplification and optimization, which is a process of converting a behavior-level description of a circuit into a Gate-level expression.
In the logic synthesis process, a design target may be preset, and the design target may include, for example: the logic synthesis is performed by taking power consumption as the most preferable consideration, or the logic synthesis is performed by taking circuit area as the most preferable consideration, or the logic synthesis is performed according to the power consumption weight preset for the power consumption and the area weight preset for the circuit area.
The performance characteristics may be determined based on design goals of the logic synthesis stage, e.g., corresponding to the design goals described above, the performance characteristics may include power consumption characteristics and/or circuit area characteristics. In this way, at the time of logic integration, it is possible to judge whether or not the representative unit needs to be updated with the current unit in the process of determining the unit class based on the performance characteristics suited to the design target in accordance with such design target, so that the processing speed of the logic integration stage can be improved.
In the logic synthesis technology mapping (for example, mapping the logic and the functions of the verilog design onto the combination of library units and operations), the implementation of the logic and the functions needs to be completed by using the corresponding library units, so that the corresponding functions can be quickly determined based on the unit types determined in the above manner, and the optimal units can be quickly determined to operate according to design targets such as priority power consumption or priority area.
Taking the circuit area as an example, if logic "a=b+c" needs to be implemented, a corresponding "+" functional unit needs to be found in the units of the library file, at this time, a representative unit with a corresponding function can be quickly found through the "+" function, and according to the method of the embodiment of the present application, the representative unit is the unit with the smallest area under the same function when the representative unit is classified, and the "+" function can be implemented by directly selecting the representative unit. In addition, in the method of the embodiment of the present application, units with the same function may be ranked (to be described later), and a unit required for the function may be quickly found according to the ranking result.
As an example, in the case where the design target includes logic synthesis in terms of a power consumption weight preset for power consumption and an area weight preset for circuit area, and the performance characteristics include a power consumption characteristic and a circuit area characteristic, the current cell and the target representative cell may be compared based on the performance characteristics of the current cell by: weighting the power consumption characteristics and the circuit area characteristics of each of the current unit and the target representative unit based on the power consumption weight and the area weight, and respectively determining the performance level of the current unit and the performance level of the target representative unit; the performance level of the current cell is compared to the performance level of the target representative cell.
In particular, a balance of power consumption and circuit area may be considered in determining the design goals of the chip, both as low as possible and as small as possible to achieve better circuit performance. In this case, corresponding weights can be preset for the power consumption and the circuit area, respectively, and in the logic synthesis phase, a better unit can be selected according to the preset weights to realize corresponding logic. In the logic synthesis stage, the representative unit can be directly selected under the unit category of the corresponding function, namely, the optimal unit can be selected to realize the corresponding logic.
In an example where the performance characteristics of the representative units reflect the optimal level of performance of the units under the corresponding unit category, as shown in FIG. 7, the representative units of the target unit category may be updated by:
in step S710, the performance level of the current unit and the performance level of the target representative unit may be compared.
Here, the performance levels of the current unit and the target representative unit may be compared based on the performance characteristics of the two. For example, the values of the respective performance levels of the current unit and the target representative unit may be calculated based on the methods described above to be compared to determine the relationship of the two performance levels.
In step S720, the target representative unit may be replaced with the current unit as a representative unit of the target unit class in response to the performance level of the current unit being greater than or equal to the performance level of the target representative unit.
In this step, in the case where the performance level of the current unit is higher than or equal to the performance level of the target representative unit, the current unit may be considered to be more advantageous in terms of performance than the target representative unit, and the optimal performance of the unit class may be reflected, and thus, the current unit may be regarded as the representative unit of the unit class.
In step S730, the target representative unit may be maintained as a representative unit of the target unit class in response to the performance level of the current unit being lower than the performance level of the target representative unit.
In this step, in the case where the performance level of the current unit is lower than that of the target representative unit, the current unit may be considered less advantageous in terms of performance than the target representative unit, which is more capable of reflecting the optimal performance of the unit class, and thus, the target representative unit may continue to be taken as the representative unit of the unit class.
For example, in the case where the performance characteristic is a power consumption characteristic, in step S520, the representative unit of the target unit class may be updated according to the comparison result by: replacing the target representative unit with the current unit as a representative unit of the target unit class in response to the capacitance of the current unit being less than or equal to the capacitance of the target representative unit; in response to the capacitance of the current cell being greater than the capacitance of the target representative cell, the target representative cell is maintained as the representative cell of the target cell class. Although the power consumption of the cell is determined by comparing the capacitances here, it is not limited thereto, and the cell power consumption may be calculated by other properties of the cell such as voltage or current.
For another example, in the case where the performance characteristic is a circuit area characteristic, in step S520, the representative unit of the target unit class may be updated according to the comparison result by: replacing the target representative unit with the current unit as a representative unit of the target unit class in response to the current unit having a circuit area less than or equal to the circuit area of the target representative unit; in response to the current cell having a circuit area greater than the circuit area of the target representative cell, maintaining the target representative cell as a representative cell of the target cell class.
By the method, on the basis of realizing the unit category of the determination unit, the unit with high performance advantage can be used as the representative unit in the unit category, so that guidance is provided for unit selection in design, for example, the representative unit with optimal performance can be selected for design.
Furthermore, according to embodiments of the present application, multiple library file files may be obtained for the same design, i.e., the library file to be processed includes multiple library files, and different library files may include some repeating units, so that in the event that the performance level of the current unit is greater than or equal to the performance level of the target representative unit, the target representative unit may be the same unit as the current unit, and therefore may not require replacement.
In particular, in response to the performance level of the current unit being greater than or equal to the performance level of the target representative unit, the information association method may further include: in response to the current cell being read for the first time, performing a step of replacing the target representative cell with the current cell; in response to the current cell being a non-first read, the target representative cell is maintained as the representative cell of the target cell class.
For example, in the case where the performance level of the current unit is higher than or equal to the performance level of the target representative unit, it may be further determined whether the current unit is first read. If the current unit is not read for the first time, the fact that the target representative unit does not need to be replaced is indicated; if the target delegate unit is the first reading, this indicates that the delegate unit needs to be replaced.
Further, in the above-described example in which the functional characteristics include the output pin functional characteristics and the group attribute characteristics in step S520, it is also possible to determine that the functional characteristics of the current unit match the functional characteristics of the target representative unit by: first comparing the output pin functional characteristics of the current unit with the output pin functional characteristics of the target representative unit; performing a second comparison of the group attribute characteristics of the current unit with the group attribute characteristics of the target representative unit, if the result of the first comparison indicates that the output pin function characteristics of the current unit are the same as the output pin function characteristics of the target representative unit; in case the result of the second comparison indicates that the group attribute feature of the current unit is identical to the group attribute feature of the target delegate unit, it is determined that the functional feature of the current unit matches the functional feature of the target delegate unit.
Specifically, it may be determined whether the output pin functional characteristics of the current unit are the same as those of the target representative unit by performing the first comparison, and the second comparison may be continued if the result of the first comparison indicates that the two are the same, whereas it may be directly determined that the functional characteristics of the current unit are not matched with those of the target representative unit if the result of the first comparison indicates that the two are different.
Therefore, by judging whether the output pin function features are the same according to the first comparison and judging whether the group attribute features are the same according to the second comparison, the units with unmatched function features can be filtered out quickly according to the first comparison, and then refined judgment is carried out according to the second comparison, so that the speed and efficiency of matching the function features can be improved, and matching among the units can be completed in a smaller number of comparison processes as much as possible.
Further, as an example, the output pin functional feature may comprise a functional expression of at least one output pin, in which case the above-described first comparison process may comprise: under the appointed input signal, respectively carrying out Boolean operation on the functional expression of each output pin of the current unit and the functional expression of each output pin of the target representing unit; and under the condition that the Boolean operation result of the functional expression of each output pin of the current unit is respectively consistent with the Boolean operation result of the functional expression of the corresponding output pin of the target representing unit, determining that the functional characteristics of the output pin of the current unit are the same as the functional characteristics of the output pin of the target representing unit.
Here, in the case where the boolean operation result of the functional expression of any one of the output pins of the current unit is inconsistent with the boolean operation result of the functional expression of the corresponding output pin of the target representative unit, the output pin functional characteristics of the current unit may be considered to be different from the output pin functional characteristics of the target representative unit.
In the above example, the output pin function features may be parameterized and logically operated to facilitate comparison of the output pin function features of the two units by boolean operations to determine if they are equivalent.
In the description of embodiments of the present application, determining the cell class of the current cell may refer to, for example, but is not limited to: designating a corresponding target unit category for the current unit; designating the current unit as a target representative unit of a target unit class; designating a corresponding target representative unit for the current unit; storing the current unit and the target representative unit in the same space; etc., as long as any direct or indirect manner by which the cell class of the current cell can be determined can be considered as determining the cell class of the current cell.
In step S530, the unit class of the current unit may be determined as the newly added unit class in response to the functional characteristics of the current unit not matching the functional characteristics of all the representative units in at least one unit in the library file, the current unit may be taken as the representative unit of the newly added unit class, and the corresponding storage space may be allocated for the newly added unit class.
In this step, in the case where the functional characteristics of the current unit and all existing representative units do not match, it is indicated that the current unit and the existing representative units do not have the same function, and cannot be assigned to the unit class of the existing representative unit, that is, the current unit does not belong to the generated unit class, in which case the unit class and the representative unit corresponding to the newly-added unit class (that is, the newly-added representative unit) may be newly added.
Thus, when a unit with the functional characteristic is encountered next time, the newly added unit can be used as a generated representative unit, the unit can be matched with the newly added representative unit, and the unit category of the unit is determined as the newly added unit category.
Here, since each of the determined representative units is a unit selected in the library file, it retains all the characteristics of the units in the library file, has information integrity, and does not require additional creation of new units in determining the unit category, saving storage resources.
Furthermore, in this step, a storage space may be allocated for each representative unit, and in determining the unit category of the units of the entire library file, units matching the representative unit are stored into the storage space allocated to the corresponding representative unit.
Through the above-mentioned processes of step S510 to step S530, in the process of traversing each unit in the library file, the representative unit and the unit category may be determined based on the functional characteristics, and the unit category of each unit in the library file may be determined as the corresponding unit category, so that the unit category may be conveniently and rapidly sorted and divided while the unit category of the unit may be determined according to the function, and generally, the unit category of the unit may be determined by traversing the library file only once, without performing multiple traversals, so that not only the detailed division of the unit category may be realized, but also the rapidness and high efficiency of the unit information association process may be ensured.
When determining the unit type of the first unit, since there is no existing representative unit, it may be considered that the functional characteristics of the current unit do not match the functional characteristics of all existing representative units, and thus the steps of adding a unit type and adding a representative unit may be performed.
As an example, the above-described processes of step S510 to step S530 may be as shown in fig. 6, and after obtaining the unit information of each unit from the library file with extension lib, the current unit may be compared with existing representative units (for example, the first representative unit 611 and the second representative unit 612 in fig. 6), and in particular, the functional characteristics of the current unit and the representative unit may be compared. In case the matching is successful, the cell category of the current cell may be determined as the cell category of the corresponding representative cell, e.g. the cell categories of the first cell 621 and the second cell 622 have been determined as the cell category under the first representative cell 611, and the cell category of the third cell 623 has been determined as the cell category under the second representative cell 612; in the case of not matching with all the representative units, a new representative unit (e.g., the new representative unit 613 of fig. 6) may be generated based on the unit information of the current unit, and the unit category of the current unit may be determined as the unit category under the new representative unit 613.
In step S430, the unit information of each unit may be associated into a storage space of a corresponding unit category.
In the process of sequentially reading the units, if no new units are available for reading, it is indicated that all units in the current library file have been read, the determination of the unit category can be ended, and the unit information of each unit can be associated to the storage space of the corresponding unit category for subsequent searching.
By determining the cell category of the cell by the method described above, it is possible to quickly match to a cell having a corresponding function when operating on a design provided by a user (e.g., low power replacement, scan insertion, etc.). For example, when a unit with a corresponding function needs to be replaced, only all units under the representative unit with the corresponding function need to be found out and can be used for replacement, and when a scan insertion is needed, a corresponding scan representative unit and all scan units under the corresponding function can also be found out through the representative unit with the corresponding function. Compared with the conventional common unit classification, the method can effectively reduce the time for processing the file, more quickly find the corresponding scanning unit and/or more quickly find the replaceable unit, improve the running efficiency of the EDA program, and provide new choices for users. In addition, by selecting units from the library file as representative units, performance for each unit class is reflected without creating new units, while saving space and preserving the feature integrity of the units of the library file, it is also possible to provide guidance in performance for subsequent processing.
Further, one representative unit is selected as a representative of the corresponding unit class in the above description to reflect the performance condition, but the embodiments of the present application are not limited thereto, and the performance of each unit in the unit class may be ordered on the basis of this as an example.
Specifically, the information association method according to the exemplary embodiment of the present application may further include: after updating the representative units of the target unit class, other units in the target unit class than the representative units may be performance ordered. As an example, the performance ranking may be ranking from small to large, or ranking from large to small, and the ranking manner is not particularly limited in this application. In this way, in addition to being able to reflect the performance of the corresponding unit class by the delegate unit, the performance of other units in the unit class can be differentiated, thereby facilitating selection of units according to performance in the design process.
The process of determining the cell category is described above by taking the functional characteristics as an example, however, embodiments of the present application are not limited thereto, and in some embodiments, the cell category of each cell may also be determined in conjunction with the specification characteristics of the cell.
As an example, the unit information for each unit in the library file may also include specification features for the unit. The specification features may characterize information related to the specifications of the cell, which may include pin specification features, which may include, for example, but are not limited to, pin count and/or pin orientation.
In this example, the unit information of the unit may include pin information of the unit, which may include pin number (pin number), pin direction (pin direction), and the like. Specifically, the pins (pins) of the cell may include an input (input) pin and an output (output) pin, where the pin count may be a sum of the numbers of the input pin and the output pin.
The pin direction (e.g., input direction or output direction) of each pin may be determined according to the respective attribute information of each pin, for example, the scan unit may have a scan attribute of an input pin that may be an input of a test scan (e.g., denoted as test_scan_in) or a control of a test scan (e.g., denoted as test_scan_enable), the input pin may have no pin function, and the scan attribute of an output pin that may be an output of a test scan (e.g., denoted as test_scan_q) or an opposite output of a test scan (e.g., denoted as test_scan_qn), and the output pin may have a pin function, so the pin direction of the scan unit may be determined according to the scan attribute of the pin and the pin function. For the non-scanning unit, the pin direction of the non-scanning unit can be determined according to the scanning attribute and the pin function of the pin.
In this example, the cell category of each cell may be determined by: in response to the functional and specification characteristics of the current unit matching the functional and specification characteristics of the target one of the representative units in the library file, performing a step of determining the unit class of the current unit as the target unit class (e.g., step S520 described above); in response to there being no representative unit in the representative units that matches both the functional feature and the specification feature of the current unit, a step of determining the unit category of the current unit as a newly added unit category and taking the current unit as a representative unit of the newly added unit category is performed (e.g., step S530 described above).
Specifically, in this example, the cell class of the cell may be determined from both the functional and the gauge dimensions, and the functional features (e.g., the output pin functional features and the group attribute features described above) and the gauge features (e.g., pin count and/or pin direction) of the current cell may be compared to the corresponding features of the representative cell, respectively.
In the case where the functional characteristics and the specification characteristics are the same, the functional characteristics and the specification characteristics of the current unit and the representative unit may be considered to be matched, that is, the representative unit is a target representative unit in the existing representative units, and the unit category of the current unit may be determined as the target unit category corresponding to the target representative unit.
In the case where any one or more of the functional characteristics and the specification characteristics are different, it may be considered that the current unit and the representative unit are not matched, for example, in the case where the functional characteristics include an output pin functional characteristic and a group attribute characteristic and the specification characteristics include the number of pins and the direction of pins, the current unit and any one or more of the output pin functional characteristic, the group attribute characteristic, the number of pins, and the direction of pins of the representative unit are not matched, that is, the current unit and the characteristic of the representative unit are not considered to be matched, and both do not belong to the same unit category. When there is no representative unit matching both the functional feature and the specification feature of the current unit, it may be considered that there is no representative unit belonging to the same category as the current unit, the current unit belongs to a newly added unit category, the newly added representative unit may be generated based on the current unit, and the unit category of the current unit may be determined as the newly added unit category.
In this example, the cell categories of the cells may be determined from both the function and specification dimensions, such that the cell categories are more finely divided, enabling more accurate positioning to the desired cell in subsequent design use.
Further, alternatively, in the above example, it may be determined that the functional feature and the specification feature of the current unit match the functional feature and the specification feature of the target representative unit by: performing first matching on the specification characteristics of the current unit and the specification characteristics of the target representative unit; performing second matching on the functional characteristics of the current unit and the functional characteristics of the target representative unit under the condition that the first matching result indicates that the specification characteristics of the current unit are matched with the specification characteristics of the target representative unit; and determining that the functional characteristic and the specification characteristic of the current unit are matched with the functional characteristic and the specification characteristic of the target representative unit under the condition that the result of the second matching indicates that the functional characteristic of the current unit is matched with the functional characteristic of the target representative unit.
Specifically, whether the specification feature of the current unit matches the specification feature of the target representative unit may be determined by performing the first matching, and the second matching may be continued if the result of the first matching indicates that the two match, whereas the functional feature and the specification feature of the current unit may be directly determined to be not matched with the functional feature and the specification feature of the target representative unit if the result of the first matching indicates that the two do not match.
Because comparing the current unit with the representative unit from the specification dimension can be favorable for quickly screening the representative unit with the specification identical to that of the current unit, the matching judgment is firstly carried out on the specification characteristics of the current unit and the representative unit, then the matching judgment is carried out on the functional characteristics of the current unit and the representative unit, the representative unit with the identical specification can be quickly searched from the existing representative units, then the specific functional characteristic matching judgment is carried out, thus the overall matching speed can be improved, and the time consumption for determining the unit category is saved.
As an example, the specification feature may include a pin number and a pin direction, the pin number may be a sum of an input pin number and an output pin number, in which case the first matching process may include: determining whether the pin number of the current unit is the same as the pin number of the target representing unit; under the condition that the pin number of the current unit is the same as that of the target representing unit, the pin direction of each pin of the current unit and the pin direction of each pin of the target representing unit are respectively determined; and under the condition that the pin direction of each pin of the current unit is consistent with the pin direction of the corresponding pin of the target representing unit, determining that the specification characteristic of the current unit is matched with the specification characteristic of the target representing unit.
Here, in the case where the number of pins of the current unit is not the same as that of the current representative unit or the pin direction of any pin of the current unit is not identical to that of the corresponding pin of the current representative unit, the specification characteristic of the current unit may be considered to be mismatched with that of the current representative unit.
In the above example, the first matching may be performed by determining whether the number of pins is the same, and then determining whether the direction of the pins of each pin is the same, and since the comparison of the number of pins is more convenient and faster, the specification feature of the unit may be determined to be not matched in the first comparison of the number of pins, and after the first comparison is passed, the second comparison of the direction of the pins is performed, so that the number of times of comparing the directions of the pins may be reduced as much as possible, so as to increase the speed of the first matching.
In addition, in determining the above-described output pin function feature or pin specification feature, the pin type of each pin of the current unit may be determined first, and the above-described steps may be performed on the pin feature of the type related to the determined unit category according to the pin type.
As an example, the output pin functional characteristics and pin specification characteristics may be determined by: determining a pin type of each pin of the current unit, wherein the pin type is a power ground pin type or a non-power ground pin type; functional features and specification features corresponding to pins of the non-power ground pin type are extracted from the unit information of the current unit and serve as output pin functional features and pin specification features.
Here, pins of a Power Ground (PG) pin type may include a Power pin and a Ground pin for connecting a Power and a Ground on a circuit board to function to provide the Power and the Ground. In integrated circuit designs, pins of the power ground pin type are used primarily to provide power and ground connections to ensure proper circuit operation and stable power consumption.
The non-power-ground-pin-type pins refer to pins other than the power-ground pins in the unit, and since the power-ground-pin-type pins have no influence on the function of the unit, in order to accelerate judgment, the power-ground-pin-type pin information of the unit may be excluded and not read, and only the non-power-ground-pin-type pin information may be read.
Specifically, since the source of the library files is different, some library files define pins of the power ground pin type, and some library files omit the definition of pins of the power ground pin type, therefore, if pins of the power ground pin type are not excluded when related features are read, units with the same function defined in different library files may be classified into unit types with different functions due to different pin numbers, and pins of the power ground pin type may be excluded according to the above manner, so that the number of pins needed to determine the pin function, the pin function and the pin direction is also reduced, thereby enabling to accelerate the determination.
It is particularly advantageous that if the designer uses a simplified library file, the above-mentioned embodiments of the present application can also be applied, in particular, since the EDA software has a long read time for a lengthy library file, so that when some simple operations, simple design are performed, some of the designer will often choose to simplify the library file, for example, the related attribute, internal power consumption (timing) attribute, etc. of the pins of the power ground pin type may be deleted without affecting the basic function design, and since the above-mentioned embodiments according to the present application only distinguish the functions of the units, and no operations are performed for the pins of the power ground pin type, internal power consumption, timing attribute, etc., the method can also be applied to such a simplified library file, so that the universality of the information association method according to the embodiments of the present application is enhanced.
Several example processes of determining the cell categories of any one cell in the library file will be described below based on the above-described example methods, where the current cell and the representative cell may be matched in the order of the pin number, pin direction, output pin function feature and group attribute feature, assuming that the function feature includes output pin function feature and group attribute feature and the specification feature includes pin number and pin direction.
In an example process, for any one current unit in the library file, a representative unit having the same pin count as the current unit may be searched from all existing representative units as a first candidate representative unit, which may be one or more. In the case where no representative unit having the same pin number as the current unit is found among all the representative units, it may be considered that the current unit does not match the functional characteristics or specification characteristics of all the representative units among the existing representative units, and the step of generating a newly added representative unit and determining the unit category of the current unit as the newly added unit category is performed.
In the case that the first candidate representing unit is found, the first candidate representing unit having the same pin direction as the current unit may be found from the first candidate representing units as the second candidate representing unit, and the second candidate representing unit may be one or more. In the case where the second candidate representative unit having the same pin direction as the current unit is not found among all the second candidate representative units, it may be considered that there is no representative unit matching both the functional feature and the specification feature of the current unit, the step of generating a new representative unit and determining the unit class of the current unit as the newly added unit class is performed.
The output pin function feature and the group attribute feature of the current unit and each of the second candidate representative units may be compared one by one, and in the case where the output pin function feature and the group attribute feature of the current unit and the second candidate representative unit are the same, the second candidate representative unit may be taken as a target representative unit, and the unit class of the current unit may be determined as the unit class of the target representative unit. In the case where there is no second candidate representing unit matching both the output pin function feature and the group attribute feature of the current unit among all the second candidate representing units, it can be considered that there is no representing unit matching both the function feature and the specification feature of the current unit among the representing units, the step of generating a newly added representing unit and determining the unit class of the current unit as the newly added unit class is performed.
However, embodiments of the present application are not limited to the example processes described above. In another example process, the determination of the first preset condition, the second preset condition, the third preset condition, and the fourth preset condition may be performed for any one of the current units in the library file and any one of the existing representative units to determine whether the current unit matches the function and specification of the representative unit.
The first preset condition may be that the pins have the same number of pins, the second preset condition may be that the pin direction of each pin is the same, the third preset condition may be that the output pin function characteristics of each output pin are the same, and the fourth preset condition may be that the group attribute characteristics are the same. The order of the four preset conditions may be arbitrary, for example, the four preset conditions may be sequentially determined according to the first preset condition, the second preset condition, the third preset condition, and the fourth preset condition.
In the case where the above four preset conditions are simultaneously satisfied, indicating that the current unit has the same function as the representative unit, the unit category of the current unit is determined as the unit category of the representative unit, and the current unit is stored into the storage space allocated to the corresponding representative unit.
In the process of executing the four preset condition judgment according to any sequence, if any condition is not satisfied, the current unit and the representing unit do not have the same function and cannot be assigned to the unit category of the representing unit. If the current unit and all the generated representing units do not have the same function, a new representing unit can be generated according to the functional characteristics and the specification characteristics of the current unit, and the unit category of the current unit is determined as the unit category of the new representing unit.
The above describes an example process of determining a unit category of a unit in a library file, and according to an embodiment of the present application, whether a data error exists in the library file may also be detected based on the determination result of the unit category.
For example, as shown in fig. 8, after determining the unit category of each unit, the information association method may further include the steps of:
in step S810, it may be determined that each of the existing representative units is a scanning unit or a non-scanning unit.
In this step, each representative unit may be classified to determine whether each representative unit is a scanning unit or a non-scanning unit.
As an example, where the functional feature includes a group attribute feature, each representative unit may be determined to be a scanning unit or a non-scanning unit by: group attribute characteristics of the representative units can be obtained; determining that the representative unit is a scan unit in response to the group attribute feature including the test unit group attribute; the representative unit may be determined to be a non-scanning unit in response to the test unit group attribute not being included in the group attribute feature.
In particular, in the case where the functional features include group attribute features, it may be detected whether a test cell group attribute (which may be expressed as a test_cell group, for example) exists in the group attribute feature of each representative cell, which may be detected, for example, according to the "Liberty user guide and reference manual" representative. Here, the test element group attribute may be a group attribute related to scanning. If the test unit group attribute exists, the representative unit is a scanning unit; if the test unit group attribute does not exist, the representative unit is a non-scanning unit, so that the scanning unit and the non-scanning unit in the representative unit can be distinguished.
In step S820, an association relationship of a scanning unit and a non-scanning unit having the same functional characteristics among existing representing units may be established.
In this step, in the case of distinguishing between the scanning units and the non-scanning units in all the representing units, the scanning units and the non-scanning units having the same function in the representing units may be connected to establish the association relationship. "connection" here is understood to mean the creation and preservation of an association of the pointing direction with the pointed direction between both scanning units and non-scanning units having the same function.
In the process of establishing the association relationship, when determining whether the functional characteristics between the scanning unit and the non-scanning unit are the same, the functional characteristics between the scanning unit and each non-scanning unit may be determined for each scanning unit to establish the association relationship, but the present invention is not limited thereto, and the functional characteristics between the non-scanning unit and each scanning unit may be determined for each non-scanning unit to establish the association relationship.
As an example, the functional feature may include a functional expression of at least one output pin, in which case step S820 may include: setting the scanning control end of any scanning unit and any non-scanning unit to be zero, and carrying out Boolean operation on the functional expression of each output pin of the scanning unit and the functional expression of each output pin of the non-scanning unit under a specified input signal; under the condition that the Boolean operation result of the functional expression of each output pin of the scanning unit is respectively consistent with the Boolean operation result of the functional expression of the corresponding output pin of the non-scanning unit, determining that the scanning unit and the non-scanning unit have the same functional characteristics; and establishing an association relationship between the scanning unit and the non-scanning unit.
Specifically, for any scanning unit and any non-scanning unit, if the boolean operation results of the functional expressions of the output pins of the scanning unit and the non-scanning unit are equivalent under any given input signal when the SE (Scan-En) ends of the scanning unit and the non-scanning unit are equal to 0, the scanning unit and the non-scanning unit can be considered to have the same functional characteristics, and the association relationship between the scanning unit and the non-scanning unit can be established. If the boolean operation results of the functional expressions of the output pins of the two output signals are inconsistent or are not equivalent under the input signals, the functional characteristics of the scanning unit and the non-scanning unit are inconsistent, the functions of the scanning unit and the non-scanning unit are different, and the association relationship does not exist.
As an example, as shown in fig. 9, association relation may be established for a scanning unit and a non-scanning unit having the same functional characteristics, and pointing and pointed association relation information between the two may be created and stored in respective storage spaces. In this way, units under the category of the two representative units for which the association relationship is established can be associated.
In step S830, it may be determined that there is a data error in the library file in response to the presence of a unit for which an association relationship is not established among the existing representing units.
In this step, in the case where one representative unit fails to establish an association relationship with other representative units, for example, the representative unit is a scanning unit (or a non-scanning unit), but there is no non-scanning unit (or scanning unit) having the same functional characteristics as it, it can be considered that the current library file has a data error.
In particular, in an actual implementation of EDA software, the scan cells must have corresponding non-scan cells, and the scan cells may prompt an error if there are no corresponding non-scan cells; while some non-scanning units (e.g., some timing units) may issue an alarm (warning) if there is no corresponding scanning unit.
Through the steps, the scanning representing units and the non-scanning representing units can be distinguished from each other in the representing units, and the scanning representing units and the non-scanning representing units with the same function can be connected, so that the scanning representing units and the non-scanning representing units can be quickly replaced when the scanning insertion is required to be executed, and the design efficiency is improved.
An example of a full flow of information association of units by the information association method according to an exemplary embodiment of the present application will be described below with reference to fig. 10.
In step S1010, the library file may be acquired and parsed, for example, through an interface provided by the EDA main program, and then parsed according to the standard of Liberty user guide and reference manual.
In step S1020, it may be determined whether the units in the library file have all been read. If all the cells have been read, step S10120, which will be described later, may be performed. If there are unread cells, in step S1030, cell information of one of the unread cells may be read.
In step S1040, it may be found whether or not there is a representative unit having the same number of pins among the existing representative units according to the read corresponding number of pins of the current unit. If so, continuing to execute step S1050; if not, step S1080 is performed.
In step S1050, it may be determined whether the pin direction and output pin function characteristics of each pin of the current unit and the representative unit having the same number of pins are the same. If the two types are the same, continuing to execute the step S1060; if not, step S1080 is performed.
In step S1060, it may be determined whether the group properties of the current unit and the representative unit having the same pin direction and output pin function characteristics are the same. If so, continuing to execute step S1070; if not, step S1080 is performed.
In step S1070, the current unit read in step S1030 may be stored under the unit category of the representative unit having the same set of attributes determined in step S1060, that is, the target representative unit described above is found, the unit category of the current unit is determined as the unit category corresponding to the target representative unit, and in this step, step S1020 may be performed back to continue the determination of the unit categories of the other units.
In step S1080, the currently read unit (the unit read in step S1030) may be taken as a new representative unit, and the current unit may be stored under the unit category of the new representative unit, that is, the unit category of the current unit is determined as the newly added unit category corresponding to the newly added representative unit, and in this step, step S1020 may be performed back to continue the determination of the unit categories of the other units.
In step S1090, the current unit read in step S1030 may be compared with the target representative unit determined in step S1070 to determine whether the representative unit needs to be updated. If the representative unit needs to be updated with the current unit, step S10100 may be performed; if not, step S10110 may be performed to determine the unit category of the current unit read in step S1030 as the target unit category, and the current unit read in step S1030 may be stored under the target unit category corresponding to the target representative unit.
In step S10100, the current unit read in step S1030 may be taken as a new representative unit of the target unit class, and the process returns to step S1020.
In step S10110, the unit category of the current unit read in step S1030 may be determined as the target unit category, and the process returns to step S1020.
In step S10120, it may be determined whether each of the representative units is a scanned or a non-scanned representative unit, which may be judged according to, for example, the standard of Liberty user guidance and reference manual.
In step S10130, the output pin functional characteristics of each scanned and non-scanned delegate unit may be matched, e.g., determined using boolean operations. If the output pin functional characteristics of one scanned delegate unit and one non-scanned delegate unit are the same, step S10140 may be performed; if there are different or no delegate units that do not perform the matched scan, the process may end.
In step S10140, the scanned representing units and the non-scanned representing units matched in step S10130 may be connected, and step S10130 is performed back to perform the next matching.
By the method, the pin number (the number of input pins, the number of output pins and the like) of each read unit can be calculated first, and then the functions (including but not limited to output pin functional characteristics, next state attributes such as triggers, group attributes such as clearing attributes and the like) of the unit are read, if all the information meets judgment conditions, the unit is indicated to have a certain representativeness, and the unit can be used as a representative unit under a corresponding unit category so as to provide guidance for selecting the unit under the unit category in subsequent design.
In this way, by determining the unit category of the unit based on the representative unit, the unit category of the unit having the same functional characteristics and/or specification characteristics can be determined as the unit category of the corresponding representative unit, so that not only the unit category of the unit can be determined, but also how many units of the same function but different specifications exist in the standard digital circuit library file provided by the user can be clearly analyzed, and when the operation such as the replacement of the unit is desired, all units of the same function but with the same or different performances in the same unit category can be quickly obtained, so that the designer can conveniently select.
Fig. 11 is a block diagram illustrating a delegate unit-based information correlation device, according to an example embodiment. Referring to fig. 11, an information associating apparatus applied to integrated circuit electronic design automation software may include an acquisition unit 100, a determination unit 200, and a storage unit 300.
The acquisition unit 100 is configured to acquire a library file to be processed, wherein the library file contains unit information for at least one unit constituting the integrated circuit, wherein the unit information contains functional features and performance features of the unit, the performance features characterizing performance levels of the unit when the respective functions are implemented.
The determination unit 200 is configured to determine a unit category of each unit based on the unit information of each unit in the library file by: in response to the functional characteristics of the current unit matching the functional characteristics of the target representative unit of the representative units in the at least one unit, determining the unit class of the current unit as the target unit class to which the target representative unit corresponds, and based on the performance characteristics of the current unit, comparing the current unit with the target representative unit, updating the representative units of the target unit classes according to the comparison result, wherein each unit class corresponds to one representative unit, the performance characteristics of the representative units reflect the representative performance level of the units under the corresponding unit class, in response to the functional characteristics of the current unit not matching the functional characteristics of all the representative units in the at least one unit, determining the unit class of the current unit as the representative unit of the newly increased unit class, and allocating a corresponding storage space for the newly increased unit class, wherein each unit class corresponds to one storage space.
The storage unit 300 is configured to associate unit information of each unit into a storage space of a corresponding unit category.
As an example, the performance characteristics of the representative units reflect the optimal performance level of the units under the respective unit categories, wherein the determining unit 200 is further configured to: replacing the target representative unit with the current unit as a representative unit of the target unit class in response to the performance level of the current unit being greater than or equal to the performance level of the target representative unit; in response to the performance level of the current unit being below the performance level of the target representative unit, the target representative unit is maintained as a representative unit of the target unit class.
As an example, the library file to be processed comprises a plurality of library files, wherein in response to the performance level of the current unit being higher than or equal to the performance level of the target representative unit, the determining unit 200 is further configured to: in response to the current cell being read for the first time, performing a step of replacing the target representative cell with the current cell; in response to the current cell being a non-first read, the target representative cell is maintained as the representative cell of the target cell class.
As an example, the determining unit 200 is further configured to determine the performance characteristics by: determining performance characteristics based on design goals for a logic synthesis stage in an integrated circuit electronic design, wherein the design goals include: performing logic synthesis by taking power consumption as the most preferable consideration factor, or performing logic synthesis by taking circuit area as the most preferable consideration factor, or performing logic synthesis according to the power consumption weight preset for the power consumption and the area weight preset for the circuit area; the performance characteristics include power consumption characteristics and/or circuit area characteristics.
As an example, the design objective comprises a logical synthesis of a power consumption weight preset for the power consumption and an area weight preset for the circuit area, the performance characteristics comprising a power consumption characteristic and a circuit area characteristic, wherein the determining unit 200 is further configured to compare the current unit with the target representing unit based on the performance characteristics of the current unit by: weighting the power consumption characteristics and the circuit area characteristics of each of the current unit and the target representative unit based on the power consumption weight and the area weight, and respectively determining the performance level of the current unit and the performance level of the target representative unit; the performance level of the current cell is compared to the performance level of the target representative cell.
As an example, the performance characteristic is a power consumption characteristic or a circuit area characteristic, and the determination unit 200 is further configured to: replacing the target representative unit with the current unit as a representative unit of the target unit class in response to the capacitance or circuit area of the current unit being less than or equal to the capacitance or circuit area of the target representative unit; in response to the capacitance or circuit area of the current cell being greater than the capacitance or circuit area of the target representative cell, the target representative cell is maintained as the representative cell of the target cell class.
As an example, the functional features include output pin functional features and/or group attribute features, wherein matching the functional features of the current unit with the functional features of the target representative unit means: the output pin functional characteristics of the current unit are the same as those of the target representing unit; and/or matching the functional characteristics of the current unit with the functional characteristics of the target representative unit means: the output pin functional characteristics of the current cell are the same as the output pin functional characteristics of the target delegate cell, and the group attribute characteristics of the current cell are the same as the group attribute characteristics of the target delegate cell.
As an example, the cell information further contains specification features of the cell, the functional features comprising output pin functional features, the specification features comprising pin specification features, wherein the determining unit 200 is further configured to determine the output pin functional features and the pin specification features by: determining a pin type of each pin of the current unit, wherein the pin type is a power ground pin type or a non-power ground pin type; functional features and specification features corresponding to pins of the non-power ground pin type are extracted from the unit information of the current unit and serve as output pin functional features and pin specification features.
As an example, the functional features include an output pin functional feature and a group attribute feature, wherein the determining unit 200 is further configured to determine that the functional feature of the current unit matches the functional feature of the target representing unit by: first comparing the output pin functional characteristics of the current unit with the output pin functional characteristics of the target representative unit; performing a second comparison of the group attribute characteristics of the current unit with the group attribute characteristics of the target representative unit, if the result of the first comparison indicates that the output pin function characteristics of the current unit are the same as the output pin function characteristics of the target representative unit; in case the result of the second comparison indicates that the group attribute feature of the current unit is identical to the group attribute feature of the target delegate unit, it is determined that the functional feature of the current unit matches the functional feature of the target delegate unit.
As an example, the output pin functional features comprise a functional expression of at least one output pin, wherein the determining unit 200 is further configured to perform the first comparison by comprising: under the appointed input signal, respectively carrying out Boolean operation on the functional expression of each output pin of the current unit and the functional expression of each output pin of the target representing unit; and under the condition that the Boolean operation result of the functional expression of each output pin of the current unit is respectively consistent with the Boolean operation result of the functional expression of the corresponding output pin of the target representing unit, determining that the functional characteristics of the output pin of the current unit are the same as the functional characteristics of the output pin of the target representing unit.
As an example, the unit information further includes specification features of the units, wherein the determining unit 200 is further configured to determine a unit category of each unit by: in response to the functional and specification characteristics of the current unit both matching the functional and specification characteristics of a target representative unit of the representative units in the at least one unit, performing the step of determining the unit class of the current unit as the target unit class; in response to the absence of a representative unit in the at least one unit that matches both the functional feature and the specification feature of the current unit, the steps of determining the unit class of the current unit as a newly added unit class and taking the current unit as a representative unit of the newly added unit class are performed.
As an example, the determination unit 200 is further configured to determine that the functional feature and the specification feature of the current unit match the functional feature and the specification feature of the target representative unit by: performing first matching on the specification characteristics of the current unit and the specification characteristics of the target representative unit; performing second matching on the functional characteristics of the current unit and the functional characteristics of the target representative unit under the condition that the first matching result indicates that the specification characteristics of the current unit are matched with the specification characteristics of the target representative unit; and determining that the functional characteristic and the specification characteristic of the current unit are matched with the functional characteristic and the specification characteristic of the target representative unit under the condition that the result of the second matching indicates that the functional characteristic of the current unit is matched with the functional characteristic of the target representative unit.
As an example, the specification features include a pin number and a pin direction, the pin number being a sum of an input pin number and an output pin number, wherein the determining unit 200 is further configured to perform the first matching by: determining whether the pin number of the current unit is the same as the pin number of the target representing unit; under the condition that the pin number of the current unit is the same as that of the target representing unit, the pin direction of each pin of the current unit and the pin direction of each pin of the target representing unit are respectively determined; and under the condition that the pin direction of each pin of the current unit is consistent with the pin direction of the corresponding pin of the target representing unit, determining that the specification characteristic of the current unit is matched with the specification characteristic of the target representing unit.
The specific manner in which the individual units perform the operations in relation to the apparatus of the above embodiments has been described in detail in relation to the embodiments of the method and will not be described in detail here.
Fig. 12 is a block diagram of an electronic device, according to an example embodiment. As shown in fig. 12, the electronic device 10 includes a processor 101 and a memory 102 for storing processor-executable instructions. Here, the processor-executable instructions, when executed by the processor, cause the processor to perform the delegate unit-based information correlation method as described in the above-described exemplary embodiments.
By way of example, the electronic device 10 need not be a single device, but may be any means or collection of circuits capable of executing the above-described instructions (or sets of instructions) alone or in combination. The electronic device 10 may also be part of an integrated control system or system manager, or may be configured as a server that interfaces with either locally or remotely (e.g., via wireless transmission).
In electronic device 10, processor 101 may include a Central Processing Unit (CPU), a Graphics Processor (GPU), a programmable logic device, a special purpose processor system, a microcontroller, or a microprocessor. By way of example and not limitation, processor 101 may also include an analog processor, a digital processor, a microprocessor, a multi-core processor, a processor array, a network processor, and the like.
The processor 101 may execute instructions or code stored in the memory 102, wherein the memory 102 may also store data. The instructions and data may also be transmitted and received over a network via a network interface device, which may employ any known transmission protocol.
The memory 102 may be integrated with the processor 101, for example, RAM or flash memory disposed within an integrated circuit microprocessor or the like. In addition, the memory 102 may include a stand-alone device, such as an external disk drive, a storage array, or any other storage device usable by a database system. The memory 102 and the processor 101 may be operatively coupled or may communicate with each other, for example, through an I/O port, a network connection, etc., such that the processor 101 is able to read files stored in the memory 102.
In addition, the electronic device 10 may also include a video display (such as a liquid crystal display) and a user interaction interface (such as a keyboard, mouse, touch input device, etc.). All components of the electronic device 10 may be connected to each other via a bus and/or a network.
In an exemplary embodiment, a computer readable storage medium may also be provided, which when executed by a processor of a server, enables the server to perform the delegate unit-based information correlation method as described in the above exemplary embodiment. The computer readable storage medium may be, for example, a memory including instructions, alternatively the computer readable storage medium may be: read-only memory (ROM), random-access memory (RAM), random-access programmable read-only memory (PROM), electrically erasable programmable read-only memory (EEPROM), dynamic random-access memory (DRAM), static random-access memory (SRAM), flash memory, nonvolatile memory, CD-ROM, CD-R, CD + R, CD-RW, CD+RW, DVD-ROM, DVD-R, DVD + R, DVD-RW, DVD+RW, DVD-RAM, BD-ROM, BD-R, BD-R LTH, BD-RE, blu-ray or optical disk storage, hard Disk Drives (HDD), solid State Disks (SSD), card memory (such as multimedia cards, secure Digital (SD) cards or ultra-fast digital (XD) cards), magnetic tape, floppy disks, magneto-optical data storage, hard disks, solid state disks, and any other means configured to store computer programs and any associated data, data files and data structures in a non-transitory manner and to provide the computer programs and any associated data, data files and data structures to a processor or computer to enable the processor or computer to execute the programs. The computer programs in the computer readable storage media described above can be run in an environment deployed in a computer device, such as a client, host, proxy device, server, etc., and further, in one example, the computer programs and any associated data, data files, and data structures are distributed across networked computer systems such that the computer programs and any associated data, data files, and data structures are stored, accessed, and executed in a distributed fashion by one or more processors or computers.
Other embodiments of the present application will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the embodiments of the application following, in general, the principles of the application and including such departures from the present disclosure as come within known or customary practice within the art to which the application pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the application being indicated by the following claims.
Furthermore, it should also be noted that although several examples of steps are described above with reference to specific figures, it should be understood that embodiments of the present application are not limited to the combinations given in the examples, and that the steps appearing in different figures may be combined and are not exhaustive herein.
It is to be understood that the present application is not limited to the precise arrangements and instrumentalities shown in the drawings, which have been described above, and that various modifications and changes may be effected without departing from the scope thereof. The scope of the application is limited only by the appended claims.

Claims (16)

1. An information association method based on a representative unit, wherein the information association method is applied to integrated circuit electronic design automation software, and wherein the information association method comprises:
Obtaining a library file to be processed, wherein the library file contains unit information of at least one unit for forming an integrated circuit, and the unit information contains functional characteristics and performance characteristics of the unit, and the performance characteristics characterize the performance level of the unit when the corresponding function is realized;
based on the unit information of each unit in the library file, the unit category of each unit is determined by:
determining a unit class of the current unit as a target unit class corresponding to the target unit in response to the functional characteristics of the current unit being matched with the functional characteristics of the target unit in the representative units in the at least one unit, and comparing the current unit with the target unit class based on the performance characteristics of the current unit, updating the representative units of the target unit class according to the comparison result, wherein each unit class corresponds to one representative unit, the performance characteristics of the representative units reflect the representative performance level of the units under the corresponding unit class, determining the unit class of the current unit as a newly added unit class in response to the functional characteristics of the current unit not being matched with the functional characteristics of all the representative units in the at least one unit, taking the current unit as the representative unit of the newly added unit class, and allocating corresponding storage space for the newly added unit class, wherein each unit class corresponds to one storage space; the method comprises the steps of,
The unit information of each unit is associated into the storage space of the corresponding unit category.
2. The information association method of claim 1, wherein the performance characteristics of the representative units reflect an optimal performance level of units under the corresponding unit category, wherein the comparing the current unit with the target representative unit based on the performance characteristics of the current unit, and updating the representative units of the target unit category based on the comparison result, comprises:
replacing the target representative unit with the current unit as a representative unit of the target unit class in response to the performance level of the current unit being greater than or equal to the performance level of the target representative unit;
in response to the performance level of the current unit being below the performance level of the target representative unit, the target representative unit is maintained as a representative unit of the target unit class.
3. The information association method according to claim 2, wherein the library file to be processed includes a plurality of library files,
wherein, in response to the performance level of the current unit being greater than or equal to the performance level of the target representative unit, the information association method further comprises:
In response to the current cell being a first read, performing a step of replacing the target representative cell with the current cell;
and in response to the current cell being a non-first read, maintaining the target representative cell as a representative cell of the target cell class.
4. The information correlation method of claim 1, wherein the performance characteristics are determined by:
based on design goals of a logic synthesis stage in an integrated circuit electronic design, determining the performance characteristics,
wherein the design goals include: performing logic synthesis by taking power consumption as the most preferable consideration factor, or performing logic synthesis by taking circuit area as the most preferable consideration factor, or performing logic synthesis according to the power consumption weight preset for the power consumption and the area weight preset for the circuit area; the performance characteristics include power consumption characteristics and/or circuit area characteristics.
5. The information correlation method of claim 4, wherein the design objective includes logically integrating a power consumption weight preset for power consumption and an area weight preset for circuit area, and the performance characteristics include a power consumption characteristic and a circuit area characteristic, wherein the current cell is compared with the objective representation cell based on the performance characteristics of the current cell by:
Weighting the power consumption characteristics and the circuit area characteristics of each of the current unit and the target representing unit based on the power consumption weight and the area weight, and respectively determining the performance level of the current unit and the performance level of the target representing unit;
the performance level of the current unit is compared to the performance level of the target representative unit.
6. The information association method according to claim 1, wherein the performance characteristic is a power consumption characteristic or a circuit area characteristic, wherein the comparing the current unit with the target representative unit based on the performance characteristic of the current unit, and updating the representative unit of the target unit class based on the comparison result, comprises:
replacing the target representative unit with the current unit as a representative unit of the target unit class in response to the capacitance or circuit area of the current unit being less than or equal to the capacitance or circuit area of the target representative unit;
in response to the capacitance or circuit area of the current cell being greater than the capacitance or circuit area of the target representative cell, the target representative cell is maintained as a representative cell of the target cell class.
7. The information association method according to claim 1, wherein the functional features include output pin functional features and/or group attribute features,
wherein the matching of the functional characteristics of the current unit with the functional characteristics of the target representative unit means: the output pin functional characteristics of the current unit are the same as those of the target representing unit; and/or matching the functional characteristics of the current unit with the functional characteristics of the target representative unit means: the output pin functional characteristics of the current cell are the same as the output pin functional characteristics of the target delegate cell, and the group attribute characteristics of the current cell are the same as the group attribute characteristics of the target delegate cell.
8. The information correlation method of claim 1, wherein the unit information further comprises specification features of a unit, the functional features comprising output pin functional features, the specification features comprising pin specification features, wherein the output pin functional features and the pin specification features are determined by:
determining a pin type of each pin of the current unit, wherein the pin type is a power ground pin type or a non-power ground pin type;
And extracting functional characteristics and specification characteristics corresponding to the pins of the non-power-supply-ground pin type from the unit information of the current unit to serve as the output pin functional characteristics and the pin specification characteristics.
9. The information association method of claim 1, wherein the functional features include output pin functional features and group attribute features, wherein the functional features of the current unit are determined to match the functional features of the target representative unit by:
first comparing the output pin functional characteristics of the current unit with the output pin functional characteristics of the target representative unit;
performing a second comparison of the group attribute characteristics of the current unit with the group attribute characteristics of the target representative unit, if the result of the first comparison indicates that the output pin functional characteristics of the current unit are the same as the output pin functional characteristics of the target representative unit;
and determining that the functional characteristic of the current unit matches the functional characteristic of the target representative unit in the case that the result of the second comparison indicates that the group attribute characteristic of the current unit is the same as the group attribute characteristic of the target representative unit.
10. The information-bearing method of claim 9, wherein the output pin functional characteristics include a functional expression of at least one output pin, wherein the first comparing the output pin functional characteristics of the current unit with the output pin functional characteristics of the target representative unit includes:
Under a specified input signal, respectively carrying out Boolean operation on the functional expression of each output pin of the current unit and the functional expression of each output pin of the target representing unit;
and under the condition that the Boolean operation result of the functional expression of each output pin of the current unit is respectively consistent with the Boolean operation result of the functional expression of the corresponding output pin of the target representing unit, determining that the functional characteristics of the output pin of the current unit are the same as the functional characteristics of the output pin of the target representing unit.
11. The information association method according to claim 1, wherein the unit information further includes specification characteristics of units, wherein a unit category of each unit is further determined by:
in response to the functional and specification characteristics of the current unit both matching the functional and specification characteristics of a target representative unit of the representative units in the at least one unit, performing the step of determining the unit class of the current unit as the target unit class;
in response to the absence of a representative unit of the at least one unit that matches both the functional feature and the specification feature of the current unit, the step of determining the unit class of the current unit as a newly added unit class and taking the current unit as a representative unit of the newly added unit class is performed.
12. The information association method according to claim 11, wherein it is determined that the functional characteristics and the specification characteristics of the current unit match the functional characteristics and the specification characteristics of the target representative unit by:
performing first matching on the specification characteristics of the current unit and the specification characteristics of the target representative unit;
performing second matching on the functional characteristics of the current unit and the functional characteristics of the target representative unit under the condition that the result of the first matching indicates that the specification characteristics of the current unit are matched with the specification characteristics of the target representative unit;
and determining that the functional characteristic and the specification characteristic of the current unit are matched with the functional characteristic and the specification characteristic of the target representative unit under the condition that the result of the second matching indicates that the functional characteristic of the current unit is matched with the functional characteristic of the target representative unit.
13. The information association method of claim 12, wherein the specification features include a pin number and a pin direction, the pin number being a sum of an input pin number and an output pin number, wherein the first matching the specification features of the current unit with the specification features of the target representative unit includes:
Determining whether the pin number of the current unit is the same as the pin number of the target representing unit;
under the condition that the pin number of the current unit is the same as that of the target representing unit, the pin direction of each pin of the current unit and the pin direction of each pin of the target representing unit are respectively determined;
and under the condition that the pin direction of each pin of the current unit is respectively consistent with the pin direction of the corresponding pin of the target representing unit, determining that the specification characteristic of the current unit is matched with the specification characteristic of the target representing unit.
14. An information correlating device based on a representative unit, wherein the information correlating device is applied to integrated circuit electronic design automation software, and wherein the information correlating device comprises:
an acquisition unit configured to acquire a library file to be processed, wherein the library file contains unit information of at least one unit for constituting an integrated circuit, wherein the unit information contains functional characteristics and performance characteristics of the unit, and the performance characteristics characterize performance levels of the unit when corresponding functions are realized;
a determining unit configured to determine a unit category of each unit based on the unit information of each unit in the library file by:
Determining a unit class of the current unit as a target unit class corresponding to the target unit in response to the functional characteristics of the current unit being matched with the functional characteristics of the target unit in the representative units in the at least one unit, and comparing the current unit with the target unit class based on the performance characteristics of the current unit, updating the representative units of the target unit class according to the comparison result, wherein each unit class corresponds to one representative unit, the performance characteristics of the representative units reflect the representative performance level of the units under the corresponding unit class, determining the unit class of the current unit as a newly added unit class in response to the functional characteristics of the current unit not being matched with the functional characteristics of all the representative units in the at least one unit, taking the current unit as the representative unit of the newly added unit class, and allocating corresponding storage space for the newly added unit class, wherein each unit class corresponds to one storage space; the method comprises the steps of,
and a storage unit configured to associate the unit information of each unit into a storage space of a corresponding unit category.
15. An electronic device, the electronic device comprising:
a processor;
a memory for storing the processor-executable instructions,
wherein the processor executable instructions, when executed by the processor, cause the processor to perform the delegate unit based information correlation method according to any of claims 1 to 13.
16. A computer readable storage medium, characterized in that instructions in the computer readable storage medium, when executed by a processor of an electronic device, enable the electronic device to perform the delegate unit based information correlation method according to any of claims 1 to 13.
CN202311362365.4A 2023-10-19 2023-10-19 Information association method, device, equipment and storage medium based on representing unit Pending CN117574821A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311362365.4A CN117574821A (en) 2023-10-19 2023-10-19 Information association method, device, equipment and storage medium based on representing unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311362365.4A CN117574821A (en) 2023-10-19 2023-10-19 Information association method, device, equipment and storage medium based on representing unit

Publications (1)

Publication Number Publication Date
CN117574821A true CN117574821A (en) 2024-02-20

Family

ID=89863261

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311362365.4A Pending CN117574821A (en) 2023-10-19 2023-10-19 Information association method, device, equipment and storage medium based on representing unit

Country Status (1)

Country Link
CN (1) CN117574821A (en)

Similar Documents

Publication Publication Date Title
US5956256A (en) Method and apparatus for optimizing a circuit design having multi-paths therein
CN102112988B (en) Methods and devices for independent evaluation of cell integrity, changes and origin in chip design for production workflow
US8019586B2 (en) Hole query for functional coverage analysis
US6295636B1 (en) RTL analysis for improved logic synthesis
US7685545B2 (en) Methods and devices for independent evaluation of cell integrity, changes and origin in chip design for production workflow
US6205572B1 (en) Buffering tree analysis in mapped design
US5980092A (en) Method and apparatus for optimizing a gated clock structure using a standard optimization tool
US20030125920A1 (en) LSI design verification apparatus, LSI design verification method, and LSI design verification program
US5727187A (en) Method of using logical names in post-synthesis electronic design automation systems
US6289491B1 (en) Netlist analysis tool by degree of conformity
US8037448B2 (en) Language and templates for use in the design of semiconductor products
US5940604A (en) Method and apparatus for monitoring the performance of a circuit optimization tool
CN114118310A (en) Clustering method and device based on comprehensive similarity
US8245166B2 (en) Optimal correlated array abstraction
CN115587554B (en) ATPG library model generation system of combinational logic standard unit
CN117113897B (en) Standard cell-based information association method, apparatus, device and storage medium
CN117574821A (en) Information association method, device, equipment and storage medium based on representing unit
US11829889B2 (en) Processing method and device for data of well site test based on knowledge graph
US7159196B2 (en) System and method for providing interface compatibility between two hierarchical collections of IC design objects
US6854102B1 (en) System and method of acquiring delay, setup and hold values for integrated circuit cells
CN108108441A (en) A kind of database table structure analysis method and system
KR20220141489A (en) Computing devive and method for detecting clock domain crossing violation in design of memory device
CN117250480B (en) Loop detection method, device, equipment and storage medium of combinational logic circuit
CN117648339B (en) Data exploration method and device, server and storage medium
CN115952754B (en) Data processing system for generating standard cell target display structure

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