Method, System, and Program Product for Automated Verification of Gating Logic Using Formal Verification
First Claim
1. A method of verifying gating rules comprising the steps of generating test bench hardware design language code from the design source hardware design language code, and building a formal verification model comprising the testbench hardware design language code and the hardware design language for the design under test to provide a design verification tool.
6 Assignments
0 Petitions
Accused Products
Abstract
As described herein the automated verification methodology parsing scripts auto generate test bench hardware design langaue, such as VHDL or Verilog, from the design source VHDL or Verilog. A formal verification model is then built comprising the testbench VHDL and the design under test. The resulting design verification tool then provides proofs and counterexamples for all of the rules, e.g., auto-generated rules, in the test bench.
-
Citations
23 Claims
- 1. A method of verifying gating rules comprising the steps of generating test bench hardware design language code from the design source hardware design language code, and building a formal verification model comprising the testbench hardware design language code and the hardware design language for the design under test to provide a design verification tool.
-
3. A method of verifying gating rules comprising the steps of generating test bench hardware design language code from the design source hardware design language code, and building a formal verification model comprising the testbench hardware design language code and the hardware design language for the design under test to provide a design verification tool by the method of:
-
(1) generating test bench hardware design language code from the design source hardware design language code by; a. identifying interface signals requiring gating verification, including denoting registers and/or latches that are asserted to remain stable from the design source; b. identify each component to be independently verified using the design source and an assertion that registers and latches within a component will remain stable during gating, c. extracting a list of registers and latches from each component; d. generating a test bench, said test bench driving formal verification step utilizing the list of interfaces and registers as an input to produce the test bench, said test bench having automated rules to verify assertions regarding latch stability; e. compiling the test bench to form a verification model; and (2). building a formal verification model comprising the testbench hardware design language code and the hardware design language for the design under test to provide a design verification tool by the steps of; f. executing a formal verification process to determine that all latches and registers asserted to remain stable under a gating condition are stable;
including attempting to produce a counter example illustrating how a particular latch can change state while its associated fence signal is being applied; andg. if counter examples exist, repetitively updating the design source to fix the error until the design source completes the formal verification step without any counter examples, else characterizing that the verification is complete and all identified interfaces are concluded to be properly gated. - View Dependent Claims (4, 5, 6, 7, 8)
-
- 9. A system for testing a multi-domain microelectronic circuit having built in self testing circuitry, said system building a formal verification model comprising the testbench hardware design language code and the hardware design language for the design under test to provide a design verification tool by the steps of generating test bench hardware design language code from the design source hardware design language code, and building a formal verification model comprising the testbench hardware design language code and the hardware design language for the design under test to provide a design verification tool.
-
11. A system for testing a multi-domain microelectronic circuit, said circuit having built in self testing circuitry, said system adapted to generate test bench hardware design language code from the design source hardware design language code, and build a formal verification model comprising the testbench hardware design language code and the hardware design language for the design under test to provide a design verification tool by the method of:
-
(1) generating test bench hardware design language code from the design source hardware design language code by; a. identifying interface signals requiring gating verification, including denoting registers and/or latches that are asserted to remain stable from the design source; b. identify each component to be independently verified using the design source and an overall assertion that all registers and latches within a component will remain stable during gating, c. extracting a list of registers and latches from each component; d. generating a test bench, said test bench driving formal verification step utilizing the list of interfaces and registers as an input to produce the test bench, said test bench having automated rules to verify assertions regarding latch stability; e. compiling the test bench to form a verification model; and (2) building a formal verification model comprising the testbench hardware design language code and the hardware design language for the design under test to provide a design verification tool by the steps of; f. executing a formal verification process to determine that all latches and registers asserted to remain stable under a gating condition are stable;
including attempting to produce a counter example illustrating how a particular latch can change state while its associated fence signal is being applied; andg. if counter examples exist, repetitively updating the design source to fix the error until the design source completes the formal verification step without any counter examples, else characterizing that the verification is complete and all identified interfaces are concluded to be properly gated. - View Dependent Claims (12, 13, 14, 15, 16)
-
- 17. A program product comprising a substrate having computer readable code thereon, said adapted to control and configure a system to testing a multi-domain microelectronic circuit having built in self testing circuitry, said system building a formal verification model comprising the testbench hardware design language code and the hardware design language for the design under test to provide a design verification tool by the steps of generating test bench hardware design language code from the design source hardware design language code, and building a formal verification model comprising the testbench hardware design language code and the hardware design language for the design under test to provide a design verification tool.
-
19. A program product adapted for configuring and controlling a system for testing a multi-domain microelectronic circuit, said circuit having built in self testing circuitry, said system adapted to generate test bench hardware design language code from the design source hardware design language code, and build a formal verification model comprising the testbench hardware design language code and the hardware design language for the design under test to provide a design verification tool by the method of:
-
(1) generating test bench hardware design language code from the design source hardware design language code by; a. identifing interface signals requiring gating verification, including denoting registers and/or latches that are asserted to remain stable from the design source; b. identify each component to be independently verified using the design source and an overall assertion that all registers and latches within a component will remain stable during gating, c. extracting a list of registers and latches from each component; d. generating a test bench, said test bench driving formal verification step utilizing the list of interfaces and registers as an input to produce the test bench, said test bench having automated rules to verify assertions regarding latch stability; e. compiling the test bench to form a verification model; and (2) building a formal verification model comprising the testbench hardware design language code and the hardware design language for the design under test to provide a design verification tool by the steps of; f. executing a formal verification process to determine that all latches and registers asserted to remain stable under a gating condition are stable, including attempting to produce a counter example illustrating how a particular latch can change state while its associated fence signal is being applied; and g. if counter examples exist, repetitively updating the design source to fix the error until the design source completes the formal verification step without any counter examples, else characterizing that the verification is complete and all identified interfaces are concluded to be properly gated. - View Dependent Claims (20, 21, 22, 23)
-
Specification