IP Library Granted Patent US 7,099,812
Granted Patent B2
US 7,099,812 · App. 09/966,049 · Granted Aug 29, 2006

Grid that tracks the occurrence of a N-dimensional matrix of combinatorial events in a simulation using a linear index

Assignee: Intrinsity, Inc.
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,099,812
App. No.
09/966,049
Granted
Aug 29, 2006
Kind
B2
Abstract

The disclosed invention is a grid that monitors a design simulation to support design verification coverage analysis. The disclosed invention includes n ordered axis declarations 72 that each correspond to a functional attribute and list at least two valid functional states, logic expressions 78 that test for the functional states and set axis variables, and a grid declaration 80 that converts the axis variables to a unique linear index value corresponding to the cross-product of the achieved functional states and records hits. The linear index is calculated by multiplying the integer value of each axis variable (except the nth axis variable) by the product of the sizes of each higher-order axis than the axis to which said axis variable corresponds, summing the results, and adding the integer value of the nth said axis variable.

Claims (50)

1. A grid that monitors a design simulation to support design verification coverage analysis, comprising:

a monitor declaration that provides a unique name for the grid;

n ordered axis declarations wherein n is at least 1, each said axis declaration names an axis comprising a first axis through a nth axis, wherein each said axis corresponds to a functional attribute of the design and has an axis size that comprises two or more functional states of said functional attribute and has a corresponding axis variable;

one or more logic expressions that evaluate whether the design has achieved one or more of said functional states, said logic expressions set each one of said n axis variables to an integer value corresponding to said functional state when said logic expressions evaluate true; and

a grid declaration that converts said n axis variables to an integer that is a unique linear index value that corresponds to the cross-product of said functional states achieved by the design, said grid declaration also records a hit at said unique linear index value.

2. A method that makes a grid that monitors a design simulation to support design verification coverage analysis, comprising:

providing a monitor declaration that provides a unique name for the grid;

providing n ordered axis declarations wherein n is at least 1, each said axis declaration names an axis comprising a first axis through a nth axis, wherein each said axis corresponds to a functional attribute of the design and has an axis size that comprises two or more functional states of said functional attribute and has a corresponding axis variable;

providing one or more logic expressions that evaluate whether the design has achieved one or more of said functional states, said logic expressions set each one of said n axis variables to an integer value corresponding to said functional state when said logic expressions evaluate true; and

providing a rid declaration that converts said n axis variables to an integer that is a unique linear index value that corresponds to the cross-product of said functional states achieved by the design, said grid declaration also records a hit at said unique linear index value.

3. A method that monitors a design simulation using a grid to support design verification coverage analysis, comprising: declaring a monitor in a monitor declaration that provides a unique name for the grid;

declaring n ordered axes using axis declarations, wherein n is at least 1, each said axis declaration names an axis comprising a first axis through a nth axis, wherein each said axis corresponds to a functional attribute of the design and has an axis size that comprises two or more functional states of said functional attribute and has a corresponding axis variable;

evaluating one or more logic expressions to determine whether the design has achieved one or more of said functional states;

setting each one of said n axis variables to an integer value corresponding to said functional state when said logic expressions evaluate true; and

using a grid declaration to convert said n axis variables to an integer that is a unique linear index value that corresponds to the cross-product of said functional states achieved by the design and to record a hit at said unique linear index value.

4. A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform a method that monitors a design simulation using a grid to support design verification coverage analysis, comprising:

declaring a monitor in a monitor declaration that provides a unique name for the grid;

declaring n ordered axes using axis declarations, wherein n is at least 1, each said axis declaration names an axis comprising a first axis through a nth axis, wherein each said axis corresponds to a functional attribute of the design and has an axis size that comprises two or more functional states of said functional attribute and has a corresponding axis variable;

evaluating one or more logic expressions to determine whether the design has achieved one or more of said functional states;

setting each one of said n axis variables to an integer value corresponding to said functional state when said logic expressions evaluate true; and

using a grid declaration to convert said n axis variables to an integer that is a unique linear index value that corresponds to the cross-product of said functional states achieved by the design and to record a hit at said unique linear index value.

5. A claim according to claim 1 , 2 , 3 or 4 wherein said grid declaration maintains a map of hits at each linear index value determined during a simulation, and downloads said map to a database.

6. A claim according to claim 1 , 2 , 3 or 4 wherein said unique linear index value is determined by multiplying the integer value of each said axis variable except the nth said axis variable by the product of the sizes of each higher-order axis than the axis to which said axis variable corresponds, summing the results, and adding the integer value of the nth said axis variable.

7. A claim according to claim 1 , 2 , 3 or 4 , wherein said monitor declaration, said axis declarations, said logic expressions, and said grid declaration are translated into a computer program comprising a higher-order software language using a parser, wherein said parser further translates each said unique linear index value to a character string comprising a concatenation of character strings that correlate to said grid name and to each said functional state within said cross-product achieved by the design.

8. A grid that monitors a design simulation to support design verification coverage analysis, comprising:

a monitor declaration that provides a unique name for the grid;

n ordered axis declarations wherein n is at least 1, each said axis declaration names an axis comprising a first axis through a nth axis, wherein each said axis corresponds to a functional attribute of the design and has an axis size that comprises two or more functional states of said functional attribute and has a corresponding axis variable;

one or more logic expressions that evaluate whether the design has achieved one or more of said functional states, said logic expressions set each one of said n axis variables to an integer value corresponding to said functional state when said logic expressions evaluate true;

a grid declaration that converts said n axis variables to an integer that is a unique linear index value that corresponds to the cross-product of said functional states achieved by the design by multiplying the integer value of each said axis variable except the nth said axis variable by the product of the sizes of each higher-order axis than the axis to which said axis variable corresponds, summing the results, and adding the integer value of the nth said axis variable, said grid declaration also records a hit and maintains a map of hits at each linear index value determined during a simulation, and downloads said map to a database; and

a parser that translates said monitor declaration, said axis declarations, said logic expressions, and said grid declaration into a computer program comprising a higher-order software language, said parser further translates each said unique linear index value to a character string comprising a concatenation of character strings that correlate to said grid name and to each said functional state within said cross-product achieved by the design.

9. A method that makes a grid that monitors a design simulation to support design verification coverage analysis, comprising:

providing a monitor declaration that provides a unique name for the grid;

providing n ordered axis declarations wherein n is at least 1, each said axis declaration names an axis comprising a first axis through a nth axis, wherein each said axis corresponds to a functional attribute of the design and has an axis size that comprises two or more functional states of said functional attribute and has a corresponding axis variable;

providing one or more logic expressions that evaluate whether the design has achieved one or more of said functional states, said logic expressions set each one of said n axis variables to an integer value corresponding to said functional state when said logic expressions evaluate true;

providing a grid declaration that converts said n axis variables to an integer that is a unique linear index value that corresponds to the cross-product of said functional states achieved by the design by multiplying the integer value of each said axis variable except the nth said axis variable by the product of the sizes of each higher-order axis than the axis to which said axis variable corresponds, summing the results, and adding the integer value of the nth said axis variable, said grid declaration also records a hit and maintains a map of hits at each linear index value determined during a simulation, and downloads said map to a database; and

providing a parser that translates said monitor declaration, said axis declarations, said logic expressions, and said grid declaration into a computer program comprising a higher-order software language, said parser further translates each said unique linear index value to a character string comprising a concatenation of character strings that correlate to said grid name and to each said functional state within said cross-product achieved by the design.

10. A method that monitors a design simulation using a grid to support design verification coverage analysis, comprising:

declaring a monitor in a monitor declaration that provides a unique name for the grid;

declaring n ordered axes using axis declarations, wherein n is at least 1, each said axis declaration names an axis comprising a first axis through a nth axis, wherein each said axis corresponds to a functional attribute of the design and has an axis size that comprises two or more functional states of said functional attribute and has a corresponding axis variable;

evaluating one or more logic expressions to determine whether the design has achieved one or more of said functional states;

setting each one of said n axis variables to an integer value corresponding to said functional state when said logic expressions evaluate true;

using a grid declaration that converts said n axis variables to an integer that is a unique linear index value that corresponds to the cross-product of said functional states achieved by the design by multiplying the integer value of each said axis variable except the nth said axis variable by the product of the sizes of each higher-order axis than the axis to which said axis variable corresponds, summing the results, and adding the integer value of the nth said axis variable, said grid declaration also records a hit and maintains a map of hits at each linear index value determined during a simulation, and downloads said map to a database; and

translating said monitor declaration, said axis declarations, said logic expressions, and said grid declaration into a computer program comprising a higher-order software language, and translating each said unique linear index value to a character string comprising a concatenation of character strings that correlate to said grid name and to each said functional state within said cross-product achieved by the design.

11. A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform a method that monitors a design simulation using a grid to support design verification coverage analysis, comprising:

declaring a monitor in a monitor declaration that provides a unique name for the grid;

declaring n ordered axes using axis declarations, wherein n is at least 1, each said axis declaration names an axis comprising a first axis through a nth axis, wherein each said axis corresponds to a functional attribute of the design and has an axis size that comprises two or more functional states of said functional attribute and has a corresponding axis variable;

evaluating one or more logic expressions to determine whether the design has achieved one or more of said functional states;

setting each one of said n axis variables to an integer value corresponding to said functional state when said logic expressions evaluate true;

using a grid declaration that converts said n axis variables to an integer that is a unique linear index value that corresponds to the cross-product of said functional states achieved by the design by multiplying the integer value of each said axis variable except the nth said axis variable by the product of the sizes of each higher-order axis than the axis to which said axis variable corresponds, summing the results, and adding the integer value of the nth said axis variable, said grid declaration also records a hit and maintains a map of hits at each linear index value determined during a simulation, and downloads said map to a database; and

translating said monitor declaration, said axis declarations, said logic expressions, and said grid declaration into a computer program comprising a higher-order software language, and translating each said unique linear index value to a character string comprising a concatenation of character strings that correlate to said grid name and to each said functional state within said cross-product achieved by the design.

Assignments (8)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2010
From: INTRINSITY, INC.
To: APPLE INC.
Reel/Frame 024380/0329 →
RELEASE OF SECURITY INTEREST Recorded Jan 11, 2008
From: SILICON VALLEY BANK
To: INTRINSITY, INC
Reel/Frame 020525/0485 →
GRANT OF SECURITY INTEREST Recorded Dec 13, 2007
From: INTRINSITY INC.
To: PATENT SKY LLC
Reel/Frame 020234/0365 →
RELEASE OF SECURITY INTEREST Recorded Dec 7, 2007
From: ADAMS CAPITAL MANAGEMENT III, L.P.
To: INTRINSITY, INC.
Reel/Frame 020206/0340 →
SECURITY AGREEMENT Recorded Apr 17, 2007
From: INTRINSITY, INC.
To: ADAMS CAPITAL MANAGEMENT III, L.P.
Reel/Frame 019161/0661 →
SECURITY AGREEMENT Recorded Feb 12, 2007
From: INTRINSITY, INC.
To: SILICON VALLEY BANK
Reel/Frame 018923/0404 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 24, 2006
From: BOEHM, FRITZ A.
To: INTRINSITY, INC.
Reel/Frame 017665/0978 →
SECURITY AGREEMENT Recorded May 6, 2002
From: INTRINSITY, INC.
To: ADAMS CAPITAL MANAGEMENT III LP
Reel/Frame 012852/0109 →
Continuity (3)
Continuation In Part 0940601600 · Sep 24, 1999
Provisional Application 6030259300 · Jul 2, 2001
Related Publication 20020040285A1 · Apr 4, 2002