CN115563910A - UPF command execution method, device, equipment and storage medium - Google Patents

UPF command execution method, device, equipment and storage medium Download PDF

Info

Publication number
CN115563910A
CN115563910A CN202211479302.2A CN202211479302A CN115563910A CN 115563910 A CN115563910 A CN 115563910A CN 202211479302 A CN202211479302 A CN 202211479302A CN 115563910 A CN115563910 A CN 115563910A
Authority
CN
China
Prior art keywords
command
upf
information
target
target command
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.)
Granted
Application number
CN202211479302.2A
Other languages
Chinese (zh)
Other versions
CN115563910B (en
Inventor
肖玉川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 CN202211479302.2A priority Critical patent/CN115563910B/en
Publication of CN115563910A publication Critical patent/CN115563910A/en
Application granted granted Critical
Publication of CN115563910B publication Critical patent/CN115563910B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Stored Programmes (AREA)

Abstract

The application discloses a method, a device, equipment and a storage medium for executing a UPF command, wherein the method comprises the following steps: in the process of sequentially executing the UPF commands, if a target command is detected, storing command information related to the target command in the electronic design automation software in a container, wherein the target command is the UPF command with a dependent object, and the dependent object is an object related to at least one other UPF command except the target command; continuing to execute the next UPF command until the release condition of the container is reached, and reading command information from the container; and executing the target command related to the command information. The method and the device can improve the technical problem of UPF execution errors in the related art.

Description

UPF command execution method, device, equipment and storage medium
Technical Field
The present application relates to the field of integrated circuit design technologies, and in particular, to a method, an apparatus, a device, and a storage medium for executing a UPF command.
Background
With the rapid development of microelectronic technology, the application of chips is more and more extensive. The chip is a silicon chip with an integrated circuit, has small volume and is widely applied to computers or other electronic equipment.
The chip design process comprises a chip verification process, wherein the chip verification process is specifically used for verifying whether the logic codes involved meet expectations and specifications. In the chip design verification stage, a UPF (Unified Power Format) file is introduced, so that the low-Power-consumption design intention of a user can be well described. However, in the execution process of the UPF file, since some statements need to define the usage target before being called, if the usage target is not defined before, an error phenomenon of UPF execution may be caused.
Disclosure of Invention
The embodiment of the application provides a method, a device and equipment for executing a UPF command and a computer readable storage medium, which can improve the phenomenon of UPF execution errors in the related technology.
In one aspect, an embodiment of the present application provides a method for executing a UPF command, where the method includes:
in the process of sequentially executing the UPF commands, if a target command is detected, storing command information related to the target command in the electronic design automation software in a container, wherein the target command is the UPF command with a dependent object, and the dependent object is an object related to at least one other UPF command except the target command;
continuing to execute the next UPF command until the release condition of the container is reached, and reading command information from the container;
and executing the target command related to the command information.
Optionally, storing command information related to the target command in the electronic design automation software in a container may include:
the target command is stored as command information in a container.
Optionally, before storing the command information related to the target command in the electronic design automation software in the container, the method may further include:
acquiring dependent object information corresponding to a target command, wherein the dependent object information is command information;
executing the target command related to the command information may include:
and executing the target command according to the dependent object information.
Optionally, the obtaining of the dependent object information corresponding to the target command may include:
creating a temporary proxy for the dependent object;
and establishing a first power supply connection relation of the target command through the temporary substitute of the dependent object, wherein the first power supply connection relation is dependent object information, and the first power supply connection relation indicates the power supply connection relation between the dependent objects related to the target command.
Optionally, executing the target command according to the dependent object information may include:
acquiring a target dependent object which is created and completed, wherein the target dependent object is a dependent object corresponding to the temporary substitute in the first power connection relation;
and replacing the temporary substitute of the dependent object in the first power supply connection relation with the created target dependent object.
Optionally, after reading the command information from the container, the method may further comprise:
in case it is detected that all dependent objects involved in the target command have been created, the steps are performed: executing a target command related to the command information;
and when detecting that any dependent object related to the target command is not created completely, outputting execution error information.
Optionally, after the target command is detected, the method may further include:
outputting execution error information under the condition that the execution object required to be created by the target command is detected to exist;
under the condition that the execution object to be created by the target command is detected not to exist, executing the following steps: command information related to a target command in the electronic design automation software is stored in a container.
Optionally, after the target command is detected, the method may further include:
acquiring user design information of a UPF file where a UPF command is located;
detecting necessary information of a target command through user design information;
in case the necessary information detection of the target command passes, the steps are performed: command information related to a target command in the electronic design automation software is stored in a container.
Optionally, before all steps, the method may further comprise:
reading in a user design file to obtain user design information;
and reading in UPF files related to the user design information so as to execute the UPF commands in sequence.
On the other hand, an embodiment of the present application provides an apparatus for executing a UPF command, where the apparatus may include:
the acquisition module is used for storing command information related to a target command in electronic design automation software in a container if the target command is detected in the process of sequentially executing the UPF commands, wherein the target command is the UPF command with a dependent object, and the dependent object is an object related to at least one other UPF command except the target command;
the reading module is used for continuously executing the next UPF command until the releasing condition of the container is reached, and reading command information from the container;
and the execution module is used for executing the target command related to the command information.
In another aspect, an embodiment of the present application provides an apparatus for executing an UPF command, where the apparatus for executing an UPF command includes:
a processor and a memory storing computer program instructions;
the steps of the method of execution of UPF commands of the above aspects are implemented when the processor executes the computer program instructions.
In still another aspect, an embodiment of the present application provides a computer-readable storage medium, on which computer program instructions are stored, and the computer program instructions, when executed by a processor, implement the steps of the method for executing the UPF command in the foregoing aspect.
In still another aspect, the present application provides a computer program product, where the computer program product includes a computer program, and when the computer program is executed by a processor, the steps of the method for executing the UPF command in the foregoing aspect are implemented.
The UPF command execution method, the UPF command execution device, the UPF command execution equipment and the UPF command execution computer-readable storage medium can store command information related to the target command in electronic design automation software in a container once the target command is detected in the process of sequentially executing the UPF command. And then continuing to execute the next UPF command until the release condition of the container is reached, and reading the command information from the container to execute the target command related to the command information. When the target command depending on the object is detected to exist, the target command is not executed, but the command information related to the target command is put into the container for storage, then the next UPF command is continuously executed, and when the release condition of the container is met, the target command related to the command information is executed again. Therefore, a certain delay time is given for the execution of the UPF command with the dependent object, the probability of defining the dependent object is relatively increased, and the possibility of UPF execution error is effectively reduced by combining the post-processing execution of the target command, so that the phenomenon of UPF execution error caused in the related technology is improved.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings needed to be used in the embodiments of the present application will be briefly described below, and for those skilled in the art, other drawings can be obtained according to the drawings without creative efforts.
Fig. 1 is a schematic flowchart of a method for executing a UPF command according to an embodiment of the present application;
fig. 2 is a schematic flowchart illustrating a detailed process of acquiring dependent object information corresponding to a target command in an execution method of a UPF command according to an embodiment of the present application;
fig. 3 is a schematic structural diagram of an apparatus for executing a UPF command according to another embodiment of the present application;
fig. 4 is a schematic structural diagram of a device for executing a UPF command according to another embodiment of the present application.
Detailed Description
Features and exemplary embodiments of various aspects of the present application will be described in detail below, and in order to make objects, technical solutions and advantages of the present application more apparent, the present application will be further described in detail below with reference to the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are intended to be illustrative only and are not intended to be limiting. It will be apparent to one skilled in the art that the present application may be practiced without some of these specific details. The following description of the embodiments is merely intended to provide a better understanding of the present application by illustrating examples thereof.
It is noted that, herein, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrases "comprising 8230; \8230;" comprise 8230; "do not exclude the presence of additional identical elements in any process, method, article, or apparatus that comprises the element.
The chip (chip) is small in size and is widely used in computers or other electronic devices. The chip is a silicon chip containing Integrated Circuits (ICs). The integrated circuit is formed by integrating a certain number of commonly used electronic components, such as resistors, capacitors and transistors, and connecting lines among the common electronic components, through a semiconductor process.
To Design an integrated circuit, a designer typically designs the integrated circuit by Computer Aided Design (CAD) software and an Electronic Design Automation (EDA) system.
During the design of an integrated circuit, a designer may create a high-level behavioral Description of the integrated circuit device using an HDL (Hardware Description Language), which may include, by way of example, verilog HDL and VHDL.
Illustrated in an EDA system, which can generally receive HDL data for an integrated circuit device and convert the HDL data to a netlist of various abstraction levels.
In order to conveniently design and verify the chip with low Power consumption, the industry provides a Power supply design definition which cannot be described by the hardware description language by introducing a UPF file, and describes the design intention (Power Intent) of the user with low Power consumption by using some standard sentences.
It should be noted that the UPF file may refer to a Power consumption management file written in IEEE Standard for Design and Verification of Low-Power, energy Aware Electronic System, which is also called a unified Power format file. The UPF file may describe the intent of low power consumption in the chip design. The UPF in the UPF file is a language standard developed by Synopsys specifically designed to describe the power consumption intent of a circuit power supply.
With the cooperation and support of the UPF file, an integrated circuit designer can simultaneously verify the low-power-consumption management strategy related to power state control on an RTL (Register Transfer Level) code file and the UPF file in the verification stage of a hardware description language so as to find the power management problem in time at the early stage of design, thereby playing the roles of ensuring the accuracy of the design, shortening the development period and reducing the design iteration.
In summary, in the application process of an actual EDA system, a UPF file is usually added in the original RTL design flow, so as to implement parallel design of the UPF file and the RTL file.
However, in the related art, the UPF file is usually provided by a designer, which involves thousands of UPF command statements, including some UPF commands (e.g., the UPF commands add _ power _ state, connect _ supply _ net, etc. require the dependent objects group, domain, etc.) to be defined in advance. However, if the designer does not define the dependent object before the UPF commands are called (e.g., the UPF definition statement associated with the dependent object is after the current calling statement), an error may occur during program execution.
Illustratively, the "create _ power _ domain" command in the UPF file needs to rely on "supply _ set". If the command "create _ power _ domin" is executed, the "supply _ set" is not defined before the command "create _ power _ domin", but is after the creation action of "create _ power _ domin", and an error is reported when the program is executed.
Therefore, the related art requires the EDA software user to complete the creation or definition of the dependent object in advance by using the related UPF command before using the UPF command with the dependent object, and this usage has the following technical problems:
1. because such UPF commands require defining the dependent objects in advance, once a program execution error occurs, a great deal of adjustment needs to be performed on the UPF commands of the UPF files again, so that the development process of the integrated circuit is lengthened.
2. For the use of such UPF commands, the definition of the related dependent objects needs to be considered, and the operation process is considered numerous and inconvenient to use.
In order to solve at least one technical problem, embodiments of the present application provide a method, an apparatus, a device, and a storage medium for executing a UPF command. First, a method for executing the UPF command provided in the embodiment of the present application is described below.
Fig. 1 is a flowchart illustrating a method for executing a UPF command according to an embodiment of the present application. As shown in fig. 1, the method may include the steps of:
and S110, in the process of sequentially executing the UPF commands, if the target command is detected, storing command information related to the target command in the electronic design automation software in a container.
The target command may be a UPF command with a dependent object, and the dependent object may be an object related to at least one other UPF command except the target command.
For example: when the UPF file is read by the electronic design automation software, in the process of sequentially executing UPF commands, when a target command 'create _ power _ domain PD 1-elements { } -supply SS 1' is executed, an option-supply SS1 in the target command indicates that the command has a dependent object with the type of supply and the name of SS1, which is required to be created by another UPF command 'create _ supply _ set'.
And S120, continuing to execute the next UPF command until the release condition of the container is reached, and reading the command information from the container.
And S130, executing the target command related to the command information.
According to the method and the device for storing the UPF commands, when the target commands depending on the objects are detected to exist, the target commands are not executed, but the command information related to the target commands is stored in the container, then the next UPF command is continuously executed, and when the release condition of the container is met, the target commands related to the command information are executed. Therefore, for the execution of the target command with the dependent object, the method does not execute the target command immediately, but acquires the command information related to the target command, stores the command information in the container, executes the next UPF command, and executes the detected target command until the release condition of the container is reached. By adopting the mode, a certain delay time is given, the probability of depending on the definition of an object is relatively increased, and the post-processing execution of the target command is combined, so that the possibility of UPF execution errors is effectively reduced, a large amount of changes of the UPF command in the development process can be relatively reduced, the development period is shortened, the use is convenient, and the phenomenon of UPF execution errors caused in the related technology is improved.
By further sampling the mode, before the target command is actually executed, the creation command required by the dependent object is called, so that the related problems of program execution error caused by the fact that the dependent object is not defined in advance in the prior art are avoided.
The method for executing the UPF command may be applied to a device for designing/executing an integrated circuit, for example, the device may be an electronic device equipped with an EDA system. The following is exemplified as applied to an execution device.
In some alternative examples, the user may provide the user design file and the UPF file associated with the user design file prior to step S110. The execution device may load a user design file provided by the user to obtain user design information.
The user design information may include necessary information for the integrated circuit design, for example, the user design information may include current clocks and tops to which the current design belongs.
Illustratively, the executing device may load the user design file by executing:
read_design user_desgins
in this example, by reading in a user design file provided by a user before sequentially executing the UPF commands, thereby facilitating subsequent detection of each object, power region attribution of each object being designed can be quickly confirmed.
After reading in the user design information, the execution device may create a UPF service object and read in a UPF file associated with the loaded user design information. It should be noted that there are thousands of UPF commands in a UPF file, and after the UPF file is read in, the UPF commands can be executed in sequence.
Exemplarily, assuming that there are the following UPF commands to be executed in the UPF file for the loaded user design information, the execution device will execute the following UPF commands in order from front to back.
create_supply_net vdd
create_supply_net vss
create_power_domain PD1 -elements {.} -supply SS1
create_supply_set SS1 -function {power vdd} -function {ground vss}
In this example, user design information is obtained by reading in a user design file; and reading UPF files related to user design information to sequentially execute UPF commands, providing a data base for subsequently detecting necessary information of the UPF commands, and providing a pre-preparation process for sequentially executing the UPF commands.
In some optional examples, in S110, the target command may refer to an UPF command in which a dependent object exists, such as create _ power _ domain, connect _ supply _ net, create _ power _ switch, and so on. The target command needs to rely on the dependent object for successful creation.
As a preferred embodiment, the target commands are Power intent commands (Power _ intent commands) in a unified Power Format File (UPF), and a particular UPF command and its corresponding dependency objects may refer to a Low Power design Standard IEEE Std 1801-2018 ™, for example, but not limited to:
a create power domain command create _ power _ domain-supply of the specified supply network, in which command the dependent object is an object supply _ set SS1 that needs to be created by the create _ supply _ set command;
a connecting power line command connect _ supply _ net-ports specifying a connecting port, in which a dependent object is an object port that needs to be created by another UPF command "create _ supply _ port";
the method comprises the steps that a power switch command create _ power _ switch-supported _ set of a power supply set is specified, in the command, a dependent object needs to be created by a command 'create _ supported _ set _ name', the dependent object is supported _ set, and name information is set _ name.
Among the UPF commands that the electronic design automation software executes in sequence, the UPF commands that do not need to depend on objects are also included, for example: create _ support _ net, create _ support _ set commands, since these commands do not belong to target commands that need to depend on an object for successful execution, therefore, when these commands are run, creation of dependent objects supply _ net, supply _ set of the target command is executed and realized.
Considering the situation that the dependent object may not be created or defined before the target command appears, after the target command is detected, the relevant creating operation of the target command is not continuously executed, but only some command parameters and formats are detected, and the command information relevant to the UPF command can be acquired and stored in the container.
The command information is necessary information required to execute the target command. In some optional examples, the command information may be the target command itself, including information such as options and parameters of the command, or may be dependent object information of the target command.
It should be noted that, the UPF file is a unified power management file, and describes a design intent of low power consumption, so for the UPF command related thereto, if the command information is dependency object information, the dependency object information should also describe a power connection relationship of an execution object to be created by the target command, and the power connection relationship may be formed by the dependency object related to the target command.
Accordingly, in some optional examples, the storing, in the container in S110, command information related to the target command in the electronic design automation software may include: the target command is stored as command information in a container.
In this example, the target command may be an object to be executed in a suspended manner, and the detected target command may be wholly packed and copied into a container corresponding to the target command, so that all information such as an option and a parameter of a command required for executing the target command may be stored in the container. Execution of the target command may then be skipped and execution of the next UPF command may continue. Until the release condition of the container is reached, a target command as command information can be read from the container and then directly executed.
Therefore, the storage of the related information of the target command can be quickly realized by taking the target command as the command information, and because the UPF command without the dependent object is executed before the releasing condition of the container is reached, the dependent object of the target command can be completely executed, so that the target command realizes the relative post-processing execution, the possibility of UPF execution errors is effectively reduced, a great amount of changes of the UPF command in the developing process can be relatively reduced, the developing period is shortened, the use is convenient, and the phenomenon of UPF execution errors in the related technology is also improved.
In other alternative examples, S110 may include: in the process of sequentially executing the UPF commands, if a target command is detected, acquiring dependent object information corresponding to the target command, wherein the dependent object information is the command information, and storing the command information in a container.
On this basis, S130 may execute the target command according to the dependent object information.
In this example, dependent object information is used as the command information stored in the container, and the dependent object information in turn describes the power connection relationship of the execution object that the target command needs to create. Therefore, after the releasing condition of the container is reached, the execution object required to be created by the target command can be obtained according to the object-dependent information, the creation action of the execution object does not need to be executed again, the problem of execution errors possibly caused by the execution of a plurality of target commands can be reduced, and the smooth execution degree of the UPF command is improved.
The explanation continues with the "create _ power _ domain" as the target command. When the execution reaches create _ power _ domain PD 1-elements { } -supply SS1, the detection of the target command is confirmed, and the dependent object information corresponding to the execution object "PD1" is obtained. The dependent object information can be used as temporary reference information for the smooth operation of the target command, and can be replaced by the established dependent object through subsequent steps so as to be used for the subsequent creation operation of the real execution target command.
Therefore, the target command can be pre-processed and executed at the original position, and a real execution object required to be created by the target command is obtained by depending on the object information subsequently, so that the method has the technical effect of effectively processing a large amount of complicated UPF commands.
Optionally, referring to fig. 2, the process of acquiring the dependent object information corresponding to the target command may include S210 and S220.
S210, creating a temporary substitute of the dependent object.
S220, a first power connection relation of the target command is established through the temporary substitute of the dependent object, wherein the first power connection relation can indicate the power connection relation between the dependent objects related to the target command, and the first power connection relation is dependent object information.
In this example, the information required for executing the target command is given to the target command by temporarily replacing the target command, so that the target command can be pre-processed and executed at the original position, and the technical effect of effectively processing a large number of complicated UPF commands is achieved.
The temporary substitute of the dependent object may be an identifier for identifying the dependent object, and there is a corresponding relationship with the dependent object. For example, may be a handle to a dependent object.
It should be noted that, since it is not clear whether the dependent object has been defined or not or whether the UPF statement related to the dependent object has been executed or not before the current target command is executed, a temporary substitute for the dependent object may be created, and a first power connection relationship between dependent objects related to the target command may be formed according to the temporary substitute as a reference, so that a power connection relationship of an execution object to be created by the target command may be well described, and it is convenient to implement post-execution processing of the target command by means of the dependent object information.
For example, an implementation process of acquiring corresponding dependent object information PD1 by taking "create _ power _ domain PD 1-elements { } -supply SS1" as a target command is illustrated below.
//create a power domain object
//create a supply handle
//add supply handle to powerDomain
It should be noted that, in the above example, the handle of the dependent object related to the target command may be created using "create a power domain object" and "create a dependent handle". And then, according to the syntax of the target command, establishing a power connection relation of an execution object PD1 which needs to be created for executing the target command create _ power _ domain through a handle _ handle of the dependent object, and obtaining the dependent object information corresponding to the target command.
In these examples, the dependent object information that enables the target command to be executed smoothly is obtained by creating a temporary substitute for the dependent object and establishing a first power connection relationship between the dependent objects related to the target command according to the temporary substitute for the dependent object, so that a reference basis is provided for subsequent and smooth execution of the target command.
Continuing with the description of the command information as dependent object information, the process of executing the target command according to the dependent object information includes: acquiring a target dependent object which is established and completed, wherein the target dependent object is a dependent object corresponding to the temporary substitute in the first power connection relation; and then the handle corresponding of the dependent object in the first power supply connection relation can be replaced by the created target dependent object.
It should be noted that the first power connection relationship formed by using the temporary substitute (e.g. handle) as a reference well describes the power connection relationship of the execution object to be created by the target command, i.e. the dependent object information, and does not include the essential dependent object at this time. And after the dependent object is created, replacing the temporary substitute with the corresponding created target dependent object, so that the first power connection relation can be updated, wherein the updated first power connection relation is the creation result of the target command, describes the power connection relation of the execution object of the target command, and can express the low-power-consumption design intention of the execution object.
In the examples, by replacing the temporary substitute with the actually created dependent object by the dependent object information obtained after the target command is detected, the actual power connection expression among the dependent objects related to the target command is realized, and the quick creation of the target command is facilitated.
In some alternative examples, after obtaining the command information corresponding to the target command, the command information may be stored in a container, and the next row of commands may be executed instead, thereby facilitating the reading of the information and the post-processing execution of the target command when the release condition is reached.
The operations in terms of code may be expressed as:
//create a power domain PostProcess object
//add power domain PostProcess of ${PostProcess} in a container
continuing with the above-described UPF commands executed from front to back, creation of supply _ set SS1 will occur immediately upon execution of the create _ supply _ set command, since all objects on which it depends are present, at which point the target command is not detected, and execution of the next row of UPF commands can continue.
And the dependent object information of create _ power _ domain stored in the container is related to the SS1, so that the creating action of power domain PD1 can be executed after the SS1 creation is completed.
The embodiment realizes that before executing a target command (for example, creating the command create _ power _ domain PD1 of the power domain PD 1), the target command is executed based on the already created dependent object information by storing the dependent object information in the container until the release condition of the container is reached, so that the target command executes the creating action on the execution object after the dependent object is created, so as to avoid an execution error caused by not defining the dependent object in advance.
In other alternative examples, after the target command is detected, it may be detected whether an execution object required to be created by the target command is defined (or already exists). In the case where the execution object that the target command needs to create is defined, the execution program in the execution device may report an error, at which point execution error information may be output.
The execution error information can indicate that the execution object required to be created by the current target command is defined (or exists), so that the user can know the error content of command execution in time and help to modify in time. And under the condition that the execution object required to be created by the current target command is undefined, the dependent object information corresponding to the target command can be continuously acquired.
The detection of whether an execution object has been defined may be implemented, for example, with reference to the following.
// check if power domain exist.
if(power domain named ${powerDomainName} is already exists in current design.){
printf{“The power domain %s have been defined in current design”,powerDomainNname);
return false;
}
In these examples, after the target command is detected, whether an execution object required to be created by the target command already exists is detected, and post-processing of the target command is correspondingly implemented or an error is directly reported according to different detection results, so that a situation that the execution object is repeatedly defined can be avoided, and an error of repeated definition of the UPF command can be timely found.
In still other alternative examples, after the target command is detected, or in a case that it is determined that the target command is not defined, user design information of a UPF file where the UPF command is located may be acquired, and necessary information of the target command may be detected through the user design information. And acquiring the command information corresponding to the target command when the necessary information of the target command passes the detection.
The user design information may be user design information obtained before the UPF commands are sequentially executed. Necessary information of the target command can be detected through user design information, so that a power supply area to which an execution object required to be created by the target command belongs can be determined during design, and operation related to post-processing of the target command is started when the necessary information of the target command passes detection.
When the necessary information of the target command is not detected to pass, the execution device may output execution error information. The execution error information may indicate that the current target command lacks necessary information related to design, and may enable the designer to make corresponding adjustments accordingly.
Illustratively, the detection of necessary information required for the UPF command may be implemented using a "get design information" statement and with reference to the following.
// get design information
top=get current design.
currentScope=get current scope through the design ${top}.
In these examples, by performing formal detection on the necessary information of the target command, it is possible to find out in time that the user design information and the UPF command do not correspond to each other, thereby helping the designer to perform targeted improvement.
In some optional examples, in S130, the release condition of the container may be that the last UPF command in the automation software of the electronic device is executed completely, that dependent objects related to the target command are all defined when detected, that the number of UPF commands executed after the target command reaches a number threshold, or the like.
For example, after the last UPF command in the automation software of the electronic device is executed, the container is considered to reach the release condition, the command information, such as dependent object information, can be obtained from the container, and the target command related to the command information is executed, so that the execution success rate of the creation action related to the final target command can be ensured to the maximum extent.
It can be understood that, when the last UPF command in the electronic device automation software is executed, if there is a definition operation on all dependent objects related to the target command, it indicates that all dependent objects have been defined/created, and at this time, the target command must be executed. Similarly, the same is true when the release condition is that all dependent objects related to the detected target command are defined, and redundant description is omitted here.
The following description is an example of the last UPF command in the automation software of the electronic device being executed according to the release condition of the container.
//This container’s object will be exec when all Process finished
That is, when all processes are completed, the creation action of executing the target command using the command information stored in the container can be extracted.
In some optional examples, after the release condition of the container is reached and the command information is read from the container, the creation of all dependent objects involved in the target command may also be detected.
In the case that all the dependent objects related to the target command are detected to be created, the target command related to the command information can be executed. Conversely, when it is detected that any dependent object involved in the target command is not created, execution error information can be output.
It will be appreciated that if any dependent object involved in the target command is not created, the creation operation associated with the target command may still be unsuccessful. By detecting the creation condition of each dependent object, the executable condition of the target command can be known in time according to different detection results, and the undefined dependent object can be quickly found.
In some optional examples, after each UPF command is executed and loading of each user design information is completed, a defect of the design may be checked according to a UPF design standard, useless power consumption existing in the design may be found, and an unreasonable setting of a voltage region in the design may be found, for example, a situation where a voltage conversion device is not provided but a connection exists in different voltage regions in the design may be found, and an abnormal state functional power domain existing in the design may also be found.
Fig. 3 is a schematic diagram illustrating a hardware structure of an apparatus for executing a UPF command according to an embodiment of the present application. In fig. 3, the means for executing the UPF command may include:
the obtaining module 310 may store, in the container, command information related to a target command in the electronic design automation software if the target command is detected during sequential execution of the UPF commands, where the target command is a UPF command with a dependent object, and the dependent object is an object related to at least one other UPF command except the target command.
The reading module 320 may be configured to continue executing the next UPF command until the container release condition is reached, and read command information from the container.
The execution module 330 may be configured to execute the target command related to the command information.
Optionally, the obtaining module 310 may be further configured to store the target command as the command information in a container.
Optionally, the obtaining module 310 may be further configured to obtain dependent object information corresponding to the target command, where the dependent object information is the command information.
The executing module 330 may be further configured to execute the target command according to the dependent object information.
Optionally, the obtaining module 310 may include:
a creating unit, which can be used for creating a temporary substitute of the dependent object;
the establishing unit may be configured to establish a first power connection relationship of the target command through a temporary substitute of the dependent object, where the first power connection relationship is dependent object information, and the first power connection relationship indicates a power connection relationship between dependent objects related to the target command.
Optionally, the executing module 330 may include:
the acquisition unit may be configured to acquire a target dependent object that has been created, where the target dependent object is a dependent object corresponding to the temporary substitute in the first power connection relationship;
and the replacing unit can be used for correspondingly replacing the temporary substitute of the dependent object in the first power supply connection relation with the created target dependent object.
Optionally, the execution module 330 may be further configured to execute the target command related to the command information in a case that it is detected that all the dependent objects related to the target command have been created; and when detecting that any dependent object related to the target command is not created completely, outputting execution error information.
Optionally, the obtaining module 310 may be further configured to store, in a container, command information related to the target command in the electronic design automation software when it is detected that the execution object to be created by the target command does not exist; and outputting the execution error information when detecting that the execution object to be created by the target command exists.
Optionally, the obtaining module 310 may be further configured to obtain user design information of a UPF file where the UPF command is located; detecting necessary information of a target command through user design information; in the case where the necessary information of the target command is detected to pass, command information related to the target command in the electronic design automation software is stored in a container.
Optionally, the apparatus for executing the UPF command may further include:
the reading module is used for reading in a user design file to obtain user design information; and reading in a UPF file related to the user design information so as to execute the UPF commands in sequence.
Fig. 4 is a schematic diagram illustrating a hardware structure of a UPF command execution device according to an embodiment of the present application. The UPF command execution device comprises a processor 401 and a memory 402 in which computer program instructions are stored. Specifically, the processor 401 may include a Central Processing Unit (CPU), or an Application Specific Integrated Circuit (ASIC), or may be configured to implement one or more Integrated circuits of the embodiments of the present Application.
Memory 402 may include mass storage for data or instructions. By way of example, and not limitation, memory 402 may include a Hard Disk Drive (HDD), floppy Disk Drive, flash memory, optical Disk, magneto-optical Disk, tape, or Universal Serial Bus (USB) Drive or a combination of two or more of these. Memory 402 may include removable or non-removable (or fixed) media, where appropriate. The memory 402 may be internal or external to the execution device of the UPF command, where appropriate. In a particular embodiment, the memory 402 is a non-volatile solid-state memory.
The memory 402 may include Read Only Memory (ROM), flash memory devices, random Access Memory (RAM), magnetic disk storage media devices, optical storage media devices, electrical, optical, or other physical/tangible memory storage devices. Thus, in general, the memory 402 comprises one or more tangible (non-transitory) computer-readable storage media (e.g., a memory device) encoded with software that may include computer-executable instructions and that, when executed (e.g., by one or more processors), is operable to perform the operations described with reference to the methods in accordance with the above-described aspects of the disclosure.
The processor 401 reads and executes the computer program instructions stored in the memory 402 to implement the execution method of any one of the UPF commands in the above embodiments.
In one example, the UPF command execution device may also include a communication interface 403 and a bus 410. As shown in fig. 4, the processor 401, the memory 402, and the communication interface 403 are connected via a bus 410 to complete communication therebetween.
The communication interface 403 is mainly used for implementing communication between modules, apparatuses, units and/or devices in the embodiments of the present application.
The bus 410 may include hardware, software, or both to couple the elements of the UPF command execution device to one another. By way of example, and not limitation, a bus may include an Accelerated Graphics Port (AGP) or other graphics bus, an Enhanced Industrial Standard Architecture (EISA) bus, a Front Side Bus (FSB), a Hyper Transport (HT) interconnect, an Industrial Standard Architecture (ISA) bus, an infiniband interconnect, a Low Pin Count (LPC) bus, a memory bus, a Micro Channel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a Serial Advanced Technology Attachment (SATA) bus, a video electronics standards association local (VLB) bus, or other suitable bus or a combination of two or more of these. Bus 410 may include one or more buses, where appropriate. Although specific buses are described and shown in the embodiments of the present application, any suitable buses or interconnects are contemplated by the present application.
The UPF command execution device may implement the UPF command execution method and apparatus described in conjunction with fig. 1 to 3 based on the UPF command execution method.
In addition, in combination with the execution method of the UPF command in the foregoing embodiment, the embodiment of the present application may provide a computer storage medium to implement. The computer storage medium having computer program instructions stored thereon; the computer program instructions, when executed by a processor, implement a method of executing a UPF command as in any of the above embodiments.
In addition, the present application also provides a computer program product, which includes a computer program, and when the computer program is executed by a processor, the steps and the corresponding contents of the foregoing method embodiments can be implemented.
In addition, the term "and/or" herein is only one kind of association relationship describing the association object, and means that there may be three kinds of relationships, for example, a and/or B, and may mean: a exists alone, A and B exist simultaneously, and B exists alone. In addition, the character "/" herein generally indicates that the former and latter associated objects are in an "or" relationship.
It should be understood that in the embodiment of the present application, "B corresponding to a" means that B is associated with a, from which B can be determined. It should also be understood that determining B from a does not mean determining B from a alone, but may also be determined from a and/or other information.
While the invention has been described with reference to specific embodiments, the scope of the invention is not limited thereto, and those skilled in the art can easily conceive various equivalent modifications or substitutions within the technical scope of the invention, and these modifications or substitutions are intended to be included in the scope of the invention. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims (12)

1. A method for executing a UPF command, comprising:
in the process of sequentially executing UPF commands, if a target command is detected, storing command information related to the target command in electronic design automation software in a container, wherein the target command is the UPF command with a dependent object, and the dependent object is an object related to at least one other UPF command except the target command;
continuing to execute the next UPF command until the release condition of the container is reached, and reading the command information from the container;
and executing the target command related to the command information.
2. The method of claim 1, wherein storing command information associated with the target command in electronic design automation software in a container comprises:
storing the target command as the command information in a container.
3. The method of claim 1, wherein prior to storing command information associated with the target command in the electronic design automation software in a container, further comprising:
acquiring dependent object information corresponding to the target command, wherein the dependent object information is the command information;
the executing the target command related to the command information includes:
and executing the target command according to the dependent object information.
4. The method according to claim 3, wherein the obtaining dependent object information corresponding to the target command includes:
creating a temporary proxy for the dependent object;
and establishing a first power connection relation of the target command through the temporary substitute of the dependent object, wherein the first power connection relation is the dependent object information, and the first power connection relation indicates the power connection relation between the dependent objects related to the target command.
5. The method of claim 4, wherein said executing the target command according to the dependent object information comprises:
acquiring a target dependent object which is established and completed, wherein the target dependent object is a dependent object corresponding to the temporary substitute in the first power connection relation;
and replacing the temporary substitute of the dependent object in the first power connection relation with the created target dependent object correspondingly.
6. The method of claim 1, wherein after reading the command information from the container, the method further comprises:
in case it is detected that all the dependent objects involved in the target command have been created, the steps are executed: executing the target command related to the command information;
and when detecting that any dependent object related to the target command is not created completely, outputting execution error information.
7. The method of claim 1, wherein after detecting the target command, further comprising:
outputting execution error information under the condition that the execution object needing to be created by the target command is detected to exist;
under the condition that the execution object to be created by the target command is detected not to exist, executing the following steps: storing command information associated with the target command in the electronic design automation software in a container.
8. The method of claim 1, wherein after detecting the target command, further comprising:
acquiring user design information of a UPF file where the UPF command is located;
detecting necessary information of the target command through the user design information;
in case the necessary information detection of the target command passes, performing the steps of: storing command information associated with the target command in the electronic design automation software in a container.
9. The method of claim 8, wherein prior to all steps, the method further comprises:
reading in a user design file to obtain the user design information;
and reading in the UPF file related to the user design information so as to execute the UPF commands in sequence.
10. An apparatus for executing a UPF command, the apparatus comprising:
the acquisition module is used for storing command information related to a target command in electronic design automation software in a container if the target command is detected in the process of sequentially executing UPF commands, wherein the target command is the UPF command with a dependent object, and the dependent object is an object related to at least one other UPF command except the target command;
the reading module is used for continuously executing the next UPF command until the releasing condition of the container is reached, and reading the command information from the container;
and the execution module is used for executing the target command related to the command information.
11. An apparatus for executing a UPF command, the apparatus comprising: a processor and a memory storing computer program instructions;
the steps of the method for execution of UPF commands according to any of claims 1-9 are implemented by the processor when executing the computer program instructions.
12. A computer-readable storage medium, characterized in that the computer-readable storage medium has stored thereon computer program instructions which, when executed by a processor, implement the steps of the method of execution of UPF commands according to any of claims 1-9.
CN202211479302.2A 2022-11-24 2022-11-24 UPF command execution method, device, equipment and storage medium Active CN115563910B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211479302.2A CN115563910B (en) 2022-11-24 2022-11-24 UPF command execution method, device, equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211479302.2A CN115563910B (en) 2022-11-24 2022-11-24 UPF command execution method, device, equipment and storage medium

Publications (2)

Publication Number Publication Date
CN115563910A true CN115563910A (en) 2023-01-03
CN115563910B CN115563910B (en) 2023-02-03

Family

ID=84770145

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211479302.2A Active CN115563910B (en) 2022-11-24 2022-11-24 UPF command execution method, device, equipment and storage medium

Country Status (1)

Country Link
CN (1) CN115563910B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116501415A (en) * 2023-06-30 2023-07-28 英诺达(成都)电子科技有限公司 Command execution method and device, electronic equipment and computer readable storage medium
CN117195818A (en) * 2023-11-07 2023-12-08 英诺达(成都)电子科技有限公司 Power supply design command generation method and device, electronic equipment and storage medium
CN117436401A (en) * 2023-12-19 2024-01-23 英诺达(成都)电子科技有限公司 Data processing method, device, equipment and storage medium of power state table

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040108642A (en) * 2001-10-09 2004-12-24 가부시키가이샤 야스카와덴키 Servo control apparatus control method
CN103634441A (en) * 2012-08-24 2014-03-12 腾讯科技(深圳)有限公司 Method and device for testing mobile terminal
KR20190030974A (en) * 2017-09-15 2019-03-25 주식회사 티맥스 소프트 Easy-to-use type of compile-time dependency injection method and device in the java platform
WO2019097084A1 (en) * 2017-11-20 2019-05-23 Telefonaktiebolaget Lm Ericsson (Publ) Security context handling in 5g during handover
CN109933337A (en) * 2019-03-25 2019-06-25 北京易链天下技术服务有限公司 A kind of key deployment strategy method that single machine services more
CN110245004A (en) * 2019-06-13 2019-09-17 深圳前海微众银行股份有限公司 Command executing method, device, equipment and computer readable storage medium
CN112564979A (en) * 2020-12-17 2021-03-26 金蝶软件(中国)有限公司 Execution method and device for construction task, computer equipment and storage medium
US20210313000A1 (en) * 2020-04-03 2021-10-07 Montage Technology Co., Ltd. Apparatus and method for testing a defect of a memory module and a memory system
CN113886008A (en) * 2021-09-19 2022-01-04 苏州浪潮智能科技有限公司 Virtual machine management method, system, device and medium
EP4006737A1 (en) * 2020-11-26 2022-06-01 Nutanix, Inc. Concurrent multiprotocol access to an object storage system
CN114861575A (en) * 2022-07-07 2022-08-05 英诺达(成都)电子科技有限公司 Element set acquisition method, device, equipment and storage medium
CN114861594A (en) * 2022-07-08 2022-08-05 英诺达(成都)电子科技有限公司 Low-power-consumption verification method, device, equipment and storage medium of chip

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040108642A (en) * 2001-10-09 2004-12-24 가부시키가이샤 야스카와덴키 Servo control apparatus control method
CN103634441A (en) * 2012-08-24 2014-03-12 腾讯科技(深圳)有限公司 Method and device for testing mobile terminal
KR20190030974A (en) * 2017-09-15 2019-03-25 주식회사 티맥스 소프트 Easy-to-use type of compile-time dependency injection method and device in the java platform
WO2019097084A1 (en) * 2017-11-20 2019-05-23 Telefonaktiebolaget Lm Ericsson (Publ) Security context handling in 5g during handover
CN109933337A (en) * 2019-03-25 2019-06-25 北京易链天下技术服务有限公司 A kind of key deployment strategy method that single machine services more
CN110245004A (en) * 2019-06-13 2019-09-17 深圳前海微众银行股份有限公司 Command executing method, device, equipment and computer readable storage medium
US20210313000A1 (en) * 2020-04-03 2021-10-07 Montage Technology Co., Ltd. Apparatus and method for testing a defect of a memory module and a memory system
EP4006737A1 (en) * 2020-11-26 2022-06-01 Nutanix, Inc. Concurrent multiprotocol access to an object storage system
CN112564979A (en) * 2020-12-17 2021-03-26 金蝶软件(中国)有限公司 Execution method and device for construction task, computer equipment and storage medium
CN113886008A (en) * 2021-09-19 2022-01-04 苏州浪潮智能科技有限公司 Virtual machine management method, system, device and medium
CN114861575A (en) * 2022-07-07 2022-08-05 英诺达(成都)电子科技有限公司 Element set acquisition method, device, equipment and storage medium
CN114861594A (en) * 2022-07-08 2022-08-05 英诺达(成都)电子科技有限公司 Low-power-consumption verification method, device, equipment and storage medium of chip

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116501415A (en) * 2023-06-30 2023-07-28 英诺达(成都)电子科技有限公司 Command execution method and device, electronic equipment and computer readable storage medium
CN116501415B (en) * 2023-06-30 2023-09-22 英诺达(成都)电子科技有限公司 Command execution method and device, electronic equipment and computer readable storage medium
CN117195818A (en) * 2023-11-07 2023-12-08 英诺达(成都)电子科技有限公司 Power supply design command generation method and device, electronic equipment and storage medium
CN117195818B (en) * 2023-11-07 2024-02-06 英诺达(成都)电子科技有限公司 Power supply design command generation method and device, electronic equipment and storage medium
CN117436401A (en) * 2023-12-19 2024-01-23 英诺达(成都)电子科技有限公司 Data processing method, device, equipment and storage medium of power state table
CN117436401B (en) * 2023-12-19 2024-03-12 英诺达(成都)电子科技有限公司 Data processing method, device, equipment and storage medium of power state table

Also Published As

Publication number Publication date
CN115563910B (en) 2023-02-03

Similar Documents

Publication Publication Date Title
CN115563910B (en) UPF command execution method, device, equipment and storage medium
US8984458B2 (en) Dynamic rule checking in electronic design automation
CN107784136B (en) Method and system for creating standard cell library
US8719752B1 (en) Hierarchical crosstalk noise analysis model generation
CN116205171B (en) Matching method, device, equipment and storage medium of power switch unit
US7882483B2 (en) Method for checking constraints equivalence of an integrated circuit design
CN117094269B (en) Verification method, verification device, electronic equipment and readable storage medium
KR20200139235A (en) Hardware design validation for data transformation pipeline
US8762907B2 (en) Hierarchical equivalence checking and efficient handling of equivalence checks when engineering change orders are in an unsharable register transfer level
US7299446B2 (en) Enabling efficient design reuse in platform ASICs
US7406671B2 (en) Method for performing design rule check of integrated circuit
US7210109B2 (en) Equivalence checking of scan path flush operations
US10372860B2 (en) Netlist abstraction for circuit design floorplanning
CN117113907B (en) Verification method, verification device, electronic equipment and readable storage medium
CN107784185B (en) Method and device for extracting pseudo path in gate-level netlist and terminal equipment
US8413102B2 (en) Vectorless IVD analysis prior to tapeout to prevent scan test failure due to voltage drop
JP3304912B2 (en) ASIC design method and ASIC design device
US8910097B2 (en) Netlist abstraction
CN114861594B (en) Low-power-consumption verification method, device, equipment and storage medium of chip
US12073159B2 (en) Computing device and method for detecting clock domain crossing violation in design of memory device
US10885248B1 (en) Method for modeling glitches during circuit simulation
US10049174B2 (en) Exact delay synthesis
US7191412B1 (en) Method and apparatus for processing a circuit description for logic simulation
US11494540B1 (en) Method, system, and computer program product for implementing electronic design closure with reduction techniques
CN111695321B (en) Circuit design method and related computer program product

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant