IP Library Granted Patent US 7,844,929
Granted Patent B2
US 7,844,929 · App. 12/117,381 · Granted Nov 30, 2010

Optimizing test code generation for verification environment

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,844,929
App. No.
12/117,381
Granted
Nov 30, 2010
Kind
B2
Abstract

A method of optimizing test code generation is disclosed. The method generally includes the steps of (A) reading from a database (i) a plurality of assertions, (ii) a testbench and (iii) a target code coverage all of a design under test, (B) generating together (i) a plurality of first test vectors to test the assertions and (ii) a plurality of second test vectors applicable to the testbench, (C) identifying one or more redundant test vector sets between the first test vectors and the second test vectors and (D) generating the test code to test the design under test on the testbench using a subset of the first test vectors and the second test vectors, the subset comprising single instances of the redundant test vector sets.

Claims (36)

1. A method of optimizing test code generation, comprising the steps of:

(A) reading from a database to an apparatus (i) a plurality of assertions of a design under test, (ii) a model of said design under test and (iii) a target test coverage of said design under test;

(B) generating in parallel (i) a plurality of first test vectors to test said assertions and (ii) a plurality of second test vectors to test said model;

(C) identifying one or more redundant test vector sets between said first test vectors and said second test vectors; and

(D) generating said test code to test said design under test, wherein (i) said test code comprises a subset of a sum of said first test vectors and said second test vectors and (ii) said subset excludes duplicate instances of said redundant test vector sets.

2. The method according to claim 1 , further comprising the step of:

analyzing a coverage of said test code against said design under test to determine a portion of said design under test not covered by said test code.

3. The method according to claim 2 , further comprising the step of:

writing said test code in a file where said coverage exceeds said target test coverage.

4. The method according to claim 2 , further comprising the step of:

generating an error report identifying said portion of said design under test not covered by said test code where said coverage is less than said target test coverage.

5. The method according to claim 2 , further comprising the step of:

adding a plurality of additional test vectors to said test code to test said portion of said design under test.

6. The method according to claim 5 , further comprising the step of:

re-analyzing said coverage of said test code against said design under test after adding said additional test vectors.

7. The method according to claim 1 , wherein said identifying of said one or more redundant test vector sets utilizes at least one of (i) an analysis based approach and (ii) a simulation based approach.

8. The method according to claim 1 , further comprising the step of:

dividing both said first test vectors and said second test vectors into a plurality of sequences, wherein said identifying of said one or more redundant test vector sets utilizes a single one of (i) an analysis based approach and (ii) a simulation based approach on said sequences.

9. The method according to claim 1 , wherein each of said assertions comprise a respective statement of a true relationship between at least two signals of said design under test during testing.

10. The method according to claim 1 , wherein said model of said design under test comprises a plurality of declarations of (a) input signals of said design under test and (b) output signals of said design under test.

11. An apparatus comprising:

a database storing a plurality of assertions of a design under test, a model of said design under test and a target test coverage of said design under test; and

a processor configured to (i) read from said database (a) said assertions, (b) said model and (c) said target test coverage, (ii) generate in parallel (a) a plurality of first test vectors to test said assertions and (b) a plurality of second test vectors to test said model, (iii) identify one or more redundant test vector sets between said first test vectors and said second test vectors and (iv) generate said test code to test said design under test, wherein (a) said test code comprises a subset of a sum of said first test vectors and said second test vectors and (b) said subset excludes duplicate instances of said redundant test vector sets.

12. The apparatus according to claim 11 , said processor being further configured to analyze a coverage of said test code against said design under test to determine a portion of said design under test not covered by said test code.

13. The apparatus according to claim 12 , the processor being further configured to write said test code in a file where said coverage exceeds said target test coverage.

14. The apparatus according to claim 12 , the processor being further configured to generate an error report identifying said portion of said design under test not covered by said test code where said coverage is less than said target test coverage.

15. The apparatus according to claim 12 , the processor being further configured to add a plurality of additional test vectors to said test code to test said portion of said design under test.

16. The apparatus according to claim 15 , the processor being further configured to re-analyze said coverage of said test code against said design under test after adding said additional test vectors.

17. The apparatus according to claim 11 , wherein said identifying of said one or more redundant test vector sets utilizes at least one of (i) an analysis based approach and (ii) a simulation based approach.

18. The apparatus according to claim 11 , the processor being further configured to divide both said first test vectors and said second test vectors into a plurality of sequences, wherein said identifying of said one or more redundant test vector sets utilizes a single one of (i) an analysis based approach and (ii) a simulation based approach on said sequences.

19. The apparatus according to claim 11 , wherein each of said assertions comprise a respective statement of a true relationship between at least two signals of said design under test during testing.

20. A non-transitory storage medium for use in a computer to optimize test code generation, the storage medium recording a computer program that is readable and executable by the computer, when executed the computer program comprising the steps of:

(A) reading from a database (i) a plurality of assertions of a design under test, (ii) a model of said design under test and (iii) a target test coverage of said design under test;

(B) generating in parallel (i) a plurality of first test vectors to test said assertions and (ii) a plurality of second test vectors to test said model;

(C) identifying one or more redundant test vector sets between said first test vectors and said second test vectors; and

(D) generating said test code to test said design under test, wherein (i) said test code comprises a subset of a sum of said first test vectors and said second test vectors and (ii) said subset excludes duplicate instances of said redundant test vector sets.

Assignments (9)
RELEASE OF SECURITY INTEREST Recorded Apr 15, 2022
From: CORTLAND CAPITAL MARKET SERVICES LLC
To: HILCO PATENT ACQUISITION 56, LLC; BELL SEMICONDUCTOR, LLC; BELL NORTHERN RESEARCH, LLC
Reel/Frame 059720/0223 →
SECURITY INTEREST Recorded Feb 1, 2018
From: HILCO PATENT ACQUISITION 56, LLC; BELL SEMICONDUCTOR, LLC; BELL NORTHERN RESEARCH, LLC
To: CORTLAND CAPITAL MARKET SERVICES LLC, AS COLLATERAL AGENT
Reel/Frame 045216/0020 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 17, 2017
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.; BROADCOM CORPORATION
To: BELL SEMICONDUCTOR, LLC
Reel/Frame 044887/0109 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041710/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037808/0001 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032856-0031) Recorded Feb 2, 2016
From: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
To: LSI CORPORATION; AGERE SYSTEMS LLC
Reel/Frame 037684/0039 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 3, 2015
From: LSI CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 035390/0388 →
PATENT SECURITY AGREEMENT Recorded May 8, 2014
From: LSI CORPORATION; AGERE SYSTEMS LLC
To: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
Reel/Frame 032856/0031 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 12, 2008
From: CHATURVEDULA, KAVITHA; LAHNER, JUERGEN K.; BALASUBRAMANIAN, BALAMURUGAN
To: LSI CORPORATION
Reel/Frame 020931/0927 →