This disclosure relates generally to formal verification of circuits and more specifically to annotation of circuits with low power considerations, for effective formal verification.
Formal verification techniques verify whether the design intent of a specification for a circuit design is preserved in a particular implementation of the circuit. The design intent for a circuit design is specified using various assertions. The formal verification techniques verify whether these assertions hold true. Conventional formal verification techniques do not consider certain types of input specification, for example, low power design. Low power design may be specified using unified power format (UPF).
A low power design specification identifies power domains associated with different portions of the circuit. Certain power domains can switch off during certain modes of the circuit. For example, certain portions of a circuit are switched on during normal operations of a device but are switched off in a low power mode. If a component of a circuit is off during a mode, the output of that component carries an undefined signal. This undefined signal can reach as input to other components of the circuit, causing signals propagating through these components to become undefined.
Therefore, power on/off combinations based on various low power modes can cause formal verification results to be invalid. Conventional formal verification techniques do not take into account the low power design specification. Therefore, the results of formal verification of the circuit design may be erroneous. Furthermore, attempting to model low power design input during a formal verification process can lead to significant increase in the complexity of the formal verification process. As a result, conventional formal verification techniques used in design of circuits that include low power specification are inadequate and may not provide conclusive results due to increased complexity of verification.
The above and other issues are addressed by a computer-implemented method, computer system, and computer readable memory storing instructions for performing formal verification of circuits under low power considerations. A low power design specification identifies power domains for the circuit. A power domain may be switched off under certain conditions, thereby providing undefined signals to nodes of the circuit. An undefined signal is a signal that is unconstrained and can take any possible logical value. The formal verification process models undefined signals at nodes of the circuit. The complexity of the formal verification process increases with the number of nodes modeled with the undefined signal. Therefore, the system selects a subset of nodes at which undefined signal reaches for performing formal analysis, thereby reducing the complexity of formal verification process.
The system annotates the circuit design so as to be able to provide undefined signal at selected nodes of the circuit. The system performs formal verification of the annotated circuit. The result of formal verification of the annotated circuit provides the result of formal verification of the input circuit with low power considerations. Annotating all nodes at which undefined signal reaches results in increased complexity of the verification process. Therefore, embodiments of the invention reduce the complexity of the verification process by identifying a subset of nodes at which undefined signal reaches. The subset of nodes at which undefined signal reaches is selected such that the accuracy of the verification process is not reduced in spite of processing fewer nodes.
The system uses different criteria to select the subset of nodes at which undefined signal is injected, i.e., provided as input by annotating the circuit. In an embodiment, the system selects a node for injecting an undefined signal if the node is at a boundary of a power domain. In other words, the system selects nodes that connect components of a power domain with components of a different power domain. Accordingly, the system excludes nodes that are internal to the power domain unless the node is connected to an output of a sequential element.
In an embodiment, the system identifies nodes of the circuit that connect two combinational components, each component powered by a distinct power supply. If the system determines that the power supplies that power the two components are equivalent based on the low power design specification, the system excludes the node from the subset of nodes identified for injecting the undefined signal.
In an embodiment, the system excludes internal nodes connected to output of a sequential element if the system determines that the power control logic of the power domain resets the state of the sequential element when the power domain state changes from off to on.
The features and advantages described in this summary and the following detailed description are not all-inclusive. Many additional features and advantages will be apparent to one of ordinary skill in the art in view of the drawings, specification, and claims hereof.
The Figures (FIGS.) and the following description relate to preferred embodiments by way of illustration only. It should be noted that from the following discussion, alternative embodiments of the structures and methods disclosed herein will be readily recognized as viable alternatives that may be employed without departing from the principles of what is claimed.
Reference will now be made in detail to several embodiments, examples of which are illustrated in the accompanying figures. It is noted that wherever practicable similar or like reference numbers may be used in the figures and may indicate similar or like functionality. The figures depict embodiments of the disclosed system (or method) for purposes of illustration only. Alternative embodiments of the structures and methods illustrated herein may be employed without departing from the principles described herein.
Formal verification of a circuit design in presence of low power design specification is performed by annotating the circuit design with information based on low power design specification. For example, the circuit design may be annotated to include power supplies defined in the low power design, isolation cells between power domains as specified in the low power design, signals for enabling/disabling the isolation cells and so on. The circuit is further annotated to model the state of nodes that receive undefined signal from output of components of power domains that are switched off.
In an embodiment, the system introduces an undefined signal by introducing a new variable that is unconstrained. An unconstrained variable in the formal verification process can take any logical value, for example, true or false. Modelling of undefined signals in the circuit increases the complexity of the formal verification process significantly due to introduction of large number of unconstrained variables. The complexity of formal verification process as a result of introducing N unconstrained variable increases by a factor exponential in the number of unconstrained variables introduced.
Therefore, embodiments select a subset of nodes for introducing undefined signals selectively thereby reducing the number of unconstrained variables introduced in the design. The system selects a subset of nodes such that the excluded nodes do not affect the result of the formal verification process. The reduction in the number of nodes modelled with undefined signals results in less complex circuit design as a result of annotation of the circuit based on the low power annotation. Furthermore, the reduction in the number of nodes modelled with undefined signals results in fewer unconstrained variables being introduced during the formal verification process. This results in efficient execution of the formal verification process with low power considerations.
The system uses different criteria to select the subset of nodes at which undefined signal is injected, i.e., provided as input by annotating the circuit. In an embodiment, the system selects a node for injecting an undefined signal if the node is at a boundary of a power domain. In other words, the system selects nodes that connect components of a power domain with components of a different power domain. Accordingly, the system excludes nodes that are internal to the power domain unless the node is connected to an output of a sequential element.
In an embodiment, the system identifies nodes of the circuit that connect two combinational components, each component powered by a distinct power supply. For example, a node may connect combinational component C1 with combinational component C2, wherein C1 belongs to power domain PD1 and is powered by power supply V1, whereas C2 belongs to power domain PD2 and is powered by power supply V2. If the system determines that the power supplies V1 and V2 that power the two components C1 and C2 respectively, are equivalent based on the low power design specification, the system excludes the node from the subset of nodes identified for injecting the undefined signal.
In an embodiment, the system determines whether the power control logic of the power domain resets the state of sequential elements when the power domain changes state from off to on. The system excludes internal nodes connected to output of a sequential element if the power control logic resets the state of the sequential element when the power domain state changes from off to on. In this situation, the power control logic ensures that the output states of sequential elements are not undefined after the power domain switches from off to on. Accordingly, the system determines that there is no need to inject undefined signal for these nodes.
Methods and systems for performing formal verification of circuits with low power considerations are described in U.S. patent application Ser. No. 14/542,895 filed on Nov. 17, 2014, the contents of which are incorporated herein by reference in their entirety.
This section describes various stages in the EDA (electronic design automation) flow.
The EDA software 112 may be implemented in one or more computing devices such as the computer 1000 of
During system design 114, designers describe the functionality to implement. They can also perform what-if planning to refine the functionality and to check costs. Note that hardware-software architecture partitioning can occur at this stage. Example EDA software products from Synopsys, Inc. of Mountain View, Calif. that can be used at this stage include: Model Architect®, Saber®, System Studio®, and Designware® products.
During logic design and functional verification 116, VHDL or Verilog code for modules in the circuit is written and the design is checked for functional accuracy. More specifically, the design is checked to ensure that it produces the correct outputs. Example EDA software products from Synopsys, Inc. of Mountain View, Calif. that can be used at this stage include: VCS®, Vera®, 10 Designware®, Magellan®, Formality®, ESP® and Leda® products.
During synthesis and design for test 118, VHDL/Verilog is translated to a netlist. This netlist can be optimized for the target technology. Additionally, tests can be designed and implemented to check the finished chips. Example EDA software products from Synopsys, Inc. of Mountain View, Calif. that can be used at this stage include: Design Compiler®, Physical Compiler®, Test Compiler®, Power Compiler®, FPGA Compiler®, Tetramax®, and Designware® products.
During netlist verification 120, the netlist is checked for compliance with timing constraints and for correspondence with the VHDL/Verilog source code. Example EDA software products from Synopsys, Inc. of Mountain View, Calif. that can be used at this stage include: Formality®, Primetime®, and VCS® products.
During design planning 122, an overall floor plan for the chip is constructed and analyzed for timing and top-level routing. Example EDA software products from Synopsys, Inc. of Mountain View, Calif. that can be used at this stage include: Astro® and IC Compiler® products.
During physical implementation 124, the placement (positioning of circuit elements) and routing (connection of the same) occurs. Example EDA software products from Synopsys, Inc. of Mountain View, Calif. that can be used at this stage include: the Astro® and IC Compiler® products.
During analysis and extraction 126, the circuit function is verified at a transistor level, which permits refinement. Example EDA software products from Synopsys, Inc. of Mountain View, Calif. that can be used at this stage include: Astrorail®, Primerail®, Primetime®, and Star RC/XT® products.
During physical verification 128, the design is checked to ensure correctness for: manufacturing, electrical issues, lithographic issues, and circuitry. Example EDA software products from Synopsys, Inc. of Mountain View, Calif. that can be used at this stage include the Hercules® product.
During resolution enhancement 130, geometric manipulations of the layout are performed to improve manufacturability of the design. Example EDA software products from Synopsys, Inc. of Mountain View, Calif. that can be used at this stage include: Proteus®, Proteus®AF, and PSMGED® products.
During mask-data preparation 132, the ‘tape-out’ data for production of masks to produce finished chips is provided. Example EDA software products from Synopsys, Inc. of Mountain View, Calif. that can be used at this stage include the CATS® family of products.
Formal verification may be performed at the stage of logic design and functional verification 116. Low power design specification is typically processed during stages synthesis and design for test 118 or netlist verification 120. Embodiments process low power design specification early, as part of the formal verification process.
In one embodiment, the computer system 200 can be a conventional computer system executing, for example, a Microsoft Windows-compatible operating system (OS), Apple OS X, and/or a Linux distribution. Some embodiments of the computer system 200 have different and/or other modules than the ones described herein, and the functions can be distributed among the modules in a different manner than described here. For example, the computer system 200 might also include modules for receiving electronic circuit information via a network or modules for transmitting results via the network.
The formal verification module 210 performs formal verification of assertions related to a circuit. The input to the formal verification module 210 includes a set of assertions and constraints. The formal verification module 210 determines whether the assertions and constraints are valid. If the formal verification module 210 determines that the assertions and constraints are not valid, the formal verification module 210 generates a counter example where the assertions and constraints fail.
The constraint generation module 230 generates a set of constraints based on low power specification of a circuit. The set of constraints generated represents power states of power domains specified in the low power design specification. The constraint generation module 230 provides the generated constraints as input to the formal verification module 210, to perform formal verification with low power considerations.
The netlist store 210 stores the information describing the netlists for the electronic circuits. The information stored in the netlist includes various components of the circuit and their interconnections. In an embodiment, the netlist of a circuit may be represented as a graph comprising nodes representing components and edges representing interconnections between the components.
The assertion store 260 stores assertions representing circuits. An assertion may represent connectivity of a circuit. In an embodiment, the assertions are represented as expressions, each expression specifying connectivity between components of a circuit.
The low power design store 270 stores the low power design specification of circuits. In an embodiment, the low power design specification is specified using the unified power format (UPF.) The low power design specification describes various power domains of a circuit, valid power states of the power domains of the circuit, and also circuit design elements for introducing in the circuit based on low power considerations, for example, isolation cells. The low power design specification stored in low power design store 270 is provided as input to the constraint generation module 230 to generate constraints based on the low power specification. The constraint generation module 230 provides the generated constraints as input to the formal verification module 210.
The circuit annotation module 220 modifies an input circuit based on low power design specification. The circuit annotation module 220 may introduce design elements in the circuit based on the low power design specification. For example, the circuit annotation module 220 may include isolation cells between components belonging to two different power domains specified in the low power specification. The circuit annotation module 220 may introduce additional components to be able to inject undefined signals in the circuit at selected nodes of the circuit. An undefined signal is represented by an unconstrained variable that can take any possible logical value. The circuit annotation module 220 stores the annotated circuit in the annotated circuit store 275.
The corrupt node selection module 230 selects nodes of the input circuit that received undefined signals from components of power domains that are switched off. The selected nodes are also referred to herein as corrupted nodes. The corrupt node selection module 230 selects corrupt nodes so as to minimize the number of corrupt nodes that are provides to the circuit annotation module 220, thereby reducing the complexity of the annotated circuit and the complexity of the formal verification process. The corrupt node selection module 230 excludes nodes if the corrupt node selection module 230 determines that excluding the node in the formal verification does not affect the outcome of the formal verification with low power considerations. The corrupt node selection module 230 provides the selected nodes to the circuit annotation module 220 for annotating the circuit to be able to inject undefined signals at the selected nodes.
As shown in
The blocks 310 typically have inputs and outputs.
Embodiments perform formal verification of circuits such as the circuit shown in
The design of the circuit 300 may include low power specification. The low power specification specifies one or more power domains. A power domain specifies a set of components of the circuit and associated criteria determining when the power for the set of components is switched on/off. For example, the circuitry associated with a screen may get turned on/off based on a particular criteria, other circuitry may be turned off/on based on a different criteria.
The circuit design may specify the power domains and criteria describing when a power domain is switched on/off using a UPF specification. The UPF specification for the circuit may specify valid combinations of power modes for the chip. If an input of a component C1 in one domain is driven by a component C2 from another domain that is off, the component C1 gets undefined input. The, UPF specification may include isolation devices to protect components from receiving invalid inputs.
Conventionally, the low power specification is processed very late in the design cycle after formal verification is already performed. Accordingly, conventional techniques realize very late that the results of formal verification are incorrect in view of low power specification. Embodiments consider low power specification early in the design stages, i.e., while performing formal verification to ensure that the formal verification results are consistent with the low power specification.
The circuit design is annotated based on the low power design specification. For example, the power supply inputs VDD 420 and VSS 430 are added to the circuit design. Switches 440a and 440b are added to connect the power supplies to the blocks of circuits associated with the power domain. Isolation cells 440 may be introduced between blocks associated with different power domains. Inputs 430 for enabling/disabling isolation cells 440 are introduced, for example, signal Iso en. Embodiments modify constraints 330 and assertions 340 based on the low power design specification. For example, the constraint generation module 230 may specify constraints based on when the inputs 430 for isolation cells 440 are on/off. Similarly, the constraint generation module 230 may modify the assertions based on power states of the power domains.
The circuit annotation module 220 introduces corruption signals are to model undefined signals caused by power domains switching off. For example, if the power domain corresponding to a block 310 is turned off, the components of the block 310 output undefined signal. An undefined signal is a signal that can take any logical value possible in the circuit for example, zero or one.
Each undefined signal injected into the annotated circuit is modelled as an unconstrained variable that can take any possible logical value, for example, 0, 1, X and Z. The complexity of formal verification of an annotated circuit is typically more than the complexity of the input circuit by a factor exponential in the number of nodes in which undefined signal is injected. Embodiments reduce the number of nodes in which the undefined signal is injected, thereby reducing the complexity of the formal verification performed by a naïve implementation.
The formal verification module 210 receives 630 low power design specification for the circuit. The low power design specification may be stored in the low power design store 270. In an embodiment, the low power design is specified using UPF format.
The corrupt node selection module 230 selects 640 a set of nodes of the circuit for injecting undefined signal for performing formal verification in view of low power design considerations. If the corrupt node selection module 230 selected all nodes of power domains that switch off and carry the undefined signal, the formal verification process will perform very inefficiently since the number of such nodes can be very large. Therefore, the corrupt node selection module 230 selectively identifies nodes for injecting the undefined signal and excludes several nodes from the set of nodes based on various criteria.
The corrupt node selection module 230 selects 640 the set of nodes so as to exclude one or more nodes that have undefined signal as a result of a power domain switching off. The corrupt node selection module 230 selects the nodes such that excluding the one or more nodes does not affect the accuracy of the formal verification process. Accordingly, the formal verification process achieves the same formal verification result by annotating the reduced set of nodes as it would by annotating all nodes that have undefined signal as a result of switching off the power domain. The process of annotation of the circuit minimizes the number of nodes to which the undefined signal is injected without affecting the correctness of the formal verification process. Details of the process for selecting 640 the set of nodes for injecting undefined signal are described below in the flowchart shown in
The circuit annotation module 220 modifies the circuit design by annotating 650 the circuit design based on low power considerations. The circuit annotation module 220 annotates the circuit with various design elements including the power supplies, isolation cells, enable/disable signals for the isolation cells and so on. The circuit annotation module 220 annotates the circuit design to inject undefined signals in the nodes belonging to the set of nodes selected 640. The constraint generation model 230 introduces various constraints representing the power states of the power domains specified in the low power design specification.
The formal verification module 210 performs 660 formal verification of the annotated circuit. If the formal verification determines 660 that all assertions are true, the formal verification module 210 reports the results. If the formal verification module 210 determines that an assertion is false, the formal verification module 210 generates a counter example, indicating that there are issues with the circuit in view of the low power design. The formal verification module 210 sends the results of the formal verification in view of low power design considerations, for example, to the user.
As an example, assume a component C1 is in the power domain PD1 and component C2 is outside the power domain PD1 and C1 and C2 are connected by a node N1. In this example, the node N1 is a boundary node of the power domain. The components C1 and C2 can be connected such that either C1 provides input to component C2 via node N1 or component C2 provides input to component C1 via node N1. Similarly assume that components C3 and C4 are connected by node N2. Also assume that both C3 and C4 are within the same power domain PD1. Accordingly, node N2 is internal to the power domain PD1 and is excluded by the corrupt node selection module 230 (unless N2 is connected to the output of a sequential element belonging to the power domain PD1).
The corrupt node selection module 230 further selects 720 nodes representing outputs of sequential elements such as flip-flops, even if these nodes are internal to a power domain. Unlike combinational elements, sequential elements can store a state after the inputs of the sequential elements have changed. Therefore, the corrupt node selection module 230 selects 720 sequential elements for injecting undefined signals even if the sequential element is internal to the power domain and the output of the sequential element is not a boundary node.
The corrupt node selection module 230 excludes 730 nodes at the boundaries of two power domains if the corrupt node selection module 230 determines that the power supplies of the two power domains are equivalent. The corrupt node selection module 230 determines that the power supplies of the two power domains are equivalent based on their power state tables. The corrupt node selection module 230 determines that two power domains are equivalent if the power state tables specified in the low power design specification indicate that the two power domains are either both on or both off together. For example, if there are two power domains P1 and P2, and P1 and P2 are either both off or both on based on the low power design specification, the power domains P1 and P2 are determined to be equivalent.
The corrupt node selection module 230 excludes nodes that connect two power domains with equivalent power supplies from the set of nodes selected for injecting undefined signals. Accordingly, if there is a chain of combinational components connecting the two power domains, the corrupt node selection module 230 excludes the nodes connecting the combinational components of the chain from the set of nodes for which undefined signal is injected.
In general, the corrupt node selection module 230 excludes a node from the set of nodes for which undefined signal is injected if the node connects two combinational components that are connected to two power supplies that are equivalent based on the low power design specification. The corrupt node selection module 230 also excludes a node from the set of nodes for which undefined signal is injected if the node connects two combinational components that are connected to the same power supply since a power supply is equivalent to itself.
The corrupt node selection module 230 excludes 740 nodes that represent output of sequential elements if the sequential element is reset after the power domain switches on after being switched off. The corrupt node selection module 230 receives information describing behavior of a power controller circuit for the circuit design. The corrupt node selection module 230 determines if the power controller circuit resets sequential elements of a power domain when the power domain switches to on state from an off state.
The state of the output of sequential element of a power domain is undefined after the power domain turns on from an off state since the sequential element can maintain state. However, the power controller circuit may include logic to modify the state of the sequential element to a well-defined state from the undefined state. The corrupt node selection module 230 determines if the power controller circuit resets the state of the sequential element of the power domain to a well-defined state after the power domain turns on from an off state. If the state of a sequential element is reset (or modified to a well-defined state) after the power domain the corrupt node selection module 230 excludes the node corresponding to the output of the sequential element from the set of nodes selected for injecting undefined signal.
The corrupt node selection module 230 determines that the power supplies VDDS and VDDI are equivalent based on power state tables specified in the low power design. Accordingly, the corrupt node selection module 230 excludes nodes 920a, 920b, and 920c that connect the power domains PDA and PDB from the set of nodes selected for injecting undefined signals. The corrupt node selection module 230 excludes nodes 920b and 920c since they connect components 910b, 910c, and 910d that are powered by the same power supply VDDI and a power supply is determined to be equivalent to itself.
The corrupt node selection module 230 also excludes node 920a even though it connects components 910a and 910b that are powered by different power supplies, i.e., components 910a is supplied by power supply VDDS and components 910b is supplied by power supply VDDI. The corrupt node selection module 230 excludes node 920a since it connects components powered by power supplies VDDS and VDDI that are equivalent based on the power state tables specified in the low power specification.
The following figures illustrate how the circuit annotation module 220 annotates a circuit for injecting undefined signals. The circuit annotation module 2 annotates 650 the circuit by introducing one or more components associated with the node selected for injecting the undefined signal. A variable is introduced for representing the undefined signal. The value of the variable representing the undefined signal is un-constrained in the formal verification process. In other words the variable representing the undefined signal can take any possible logical value. Accordingly, the formal verification module 210 performs formal verification of the annotated circuit by assuming all possible logical values to the unconstrained variables.
The role of the different components introduced is as follows. The multiplexor 1230 provides input to the signal S that sets the output of the sequential element 1210 to true. The multiplexor 1240 provides input to the signal R that resets the output of the sequential element 1210 to false. The signal X is input directly to the multiplexor 1230 and input via inverter 1240 to the multiplexor 1240. The supply_net 1250 signal controls the selector of the multiplexors 1230 and 1240. Accordingly, if the supply_net 1250 signal is 0, both the set and reset inputs are 0, thereby disabling the set and reset inputs. However, if the supply_net value 1250 is 1, the outputs of the multiplexors 1230, 1240 are controlled by the X signal. Accordingly, when supply_net 1250 is 0, and X is 1, the sequential element 1210 is set to 1 and if X is 0, the sequential element 1210 is set to 0. Accordingly, the components introduced allow the output of the sequential element 1210 to be set to any value corresponding to the undefined signal X.
The circuits in
The storage device 1408 is a non-transitory computer-readable storage medium such as a hard drive, compact disk read-only memory (CD-ROM), DVD, or a solid-state memory device. The memory 1406 holds instructions and data used by the processor 1402. The pointing device 1414 is a mouse, track ball, or other type of pointing device, and is used in combination with the keyboard 1410 to input data into the computer system 1400. The graphics adapter 1412 displays images and other information on the display 1418. The network adapter 1416 couples the computer system 1400 to one or more computer networks.
The computer 1400 is adapted to execute computer program modules for providing functionality described herein. As used herein, the term “module” refers to computer program logic used to provide the specified functionality. Thus, a module can be implemented in hardware, firmware, and/or software. In one embodiment, program modules are stored on the storage device 1408, loaded into the memory 1406, and executed by the processor 1402. The types of computers 1400 used can vary depending upon the embodiment and requirements. For example, a computer may lack displays, keyboards, and/or other devices shown in
Some portions of above description describe the embodiments in terms of algorithmic processes or operations. These algorithmic descriptions and representations are commonly used by those skilled in the data processing arts to convey the substance of their work effectively to others skilled in the art. These operations, while described functionally, computationally, or logically, are understood to be implemented by computer programs comprising instructions for execution by a processor or equivalent electrical circuits, microcode, or the like. Furthermore, it has also proven convenient at times, to refer to these arrangements of functional operations as modules, without loss of generality. The described operations and their associated modules may be embodied in software, firmware, hardware, or any combinations thereof.
As used herein any reference to “one embodiment” or “an embodiment” means that a particular element, feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment.
Some embodiments may be described using the expression “coupled” and “connected” along with their derivatives. It should be understood that these terms are not intended as synonyms for each other. For example, some embodiments may be described using the term “connected” to indicate that two or more elements are in direct physical or electrical contact with each other. In another example, some embodiments may be described using the term “coupled” to indicate that two or more elements are in direct physical or electrical contact. The term “coupled,” however, may also mean that two or more elements are not in direct contact with each other, but yet still co-operate or interact with each other. The embodiments are not limited in this context.
As used herein, the terms “comprises,” “comprising,” “includes,” “including,” “has,” “having” or any other variation thereof, are intended to cover a non-exclusive inclusion. For example, a process, method, article, or apparatus that comprises a list of elements is not necessarily limited to only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Further, unless expressly stated to the contrary, “or” refers to an inclusive or and not to an exclusive or. For example, a condition A or B is satisfied by any one of the following: A is true (or present) and B is false (or not present), A is false (or not present) and B is true (or present), and both A and B are true (or present).
In addition, use of the “a” or “an” are employed to describe elements and components of the embodiments herein. This is done merely for convenience and to give a general sense of the disclosure. This description should be read to include one or at least one and the singular also includes the plural unless it is obvious that it is meant otherwise.
Upon reading this disclosure, those of skill in the art will appreciate still additional alternative structural and functional designs for a system and a process for formal verification of circuit in view of low power considerations. Thus, while particular embodiments and applications have been illustrated and described, it is to be understood that the embodiments are not limited to the precise construction and components disclosed herein and that various modifications, changes and variations which will be apparent to those skilled in the art may be made in the arrangement, operation and details of the method and apparatus disclosed herein without departing from the spirit and scope as defined in the appended claims.
This application claims the benefit of U.S. Provisional Patent Application 62/085,598, filed on Nov. 30, 2014, which is incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
62085598 | Nov 2014 | US |