IP Library Granted Patent US 9,594,860
Granted Patent B2
US 9,594,860 · App. 14/134,488 · Granted Mar 14, 2017

Analog mixed signal model equivalence checking

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 9,594,860
App. No.
14/134,488
Granted
Mar 14, 2017
Kind
B2
Abstract

An approach is provided in which a hybrid mixed signal equivalence checking system partitions a mixed signal reference model and a mixed signal model under verification into analog sections and digital sections. The hybrid mixed signal equivalence checking system simulates the analog sections from the two different models to determine analog equivalence. As such, the hybrid mixed signal equivalence checking system verifies digital equivalence between the digital reference section and the digital section model under verification in response to evaluating one or more difference functions that represent at least a portion of the first digital section and the second digital section. As a result, the hybrid mixed signal equivalence checking system verifies equivalence between the mixed signal reference model and the mixed signal model under verification based upon the verified analog equivalence and the verified digital equivalence.

Claims (68)

1. A method comprising:

solving, by one or more processors included in an equivalence checking system, a difference function that is based upon a first digital section included in a first mixed signal model and a second digital section included in a second mixed signal model, the solving resulting in a digital equivalence result;

determining whether the first mixed signal model is equivalent to the second mixed signal model based upon the digital equivalence result and an analog equivalence verification between a first analog section included in the first mixed signal model and a second analog section included in the second mixed signal model; and

generating, by at least one of the one or more processors, an equivalence notification based upon the determination.

2. The method of claim 1 further comprising:

locating a first set of interface cut points in the first mixed signal model that correspond to one or more first analog to digital signal conversions in the first mixed signal model;

locating a second set of interface cut points in the second mixed signal model that correspond to one or more second analog to digital signal conversions in the second mixed signal model; and

collecting, during the analog equivalence verification, one or more first sets of digitized analog output values at the first set of interface cut points, and collecting one or more second sets of digitized analog output values at the second set of interface cut points.

3. The method of claim 2 wherein the analog equivalence verification further comprises:

determining that each of the one or more first sets of digitized analog output values match each of the corresponding one or more second sets of digitized analog output values.

4. The method of claim 2 wherein the one or more first sets of digitized analog output values are inputs to the first digital section, and wherein the one or more second sets of digitized analog output values are inputs to the second digital section.

5. The method of claim 4 further comprising:

determining that the difference function generates a non-equivalent outcome result based upon a set of non-reducing input values;

comparing the set of non-reducing input values to one of a selected one or more sets of digitized analog output values selected from the group consisting of the one or more first sets of digitized analog output values and the one or more second sets of digitized analog output values; and

determining that the first digital section is equivalent to the second digital section in response to determining that the set of non-reducing input values fails to match one of the selected one or more sets of digitized analog output values.

6. The method of claim 2 further comprising:

selecting a first analog signal in the first mixed signal model that fails to correspond to one of the analog to digital signal conversions;

adding a first analog to digital converter into the first mixed signal design that couples to the selected first analog signal, resulting in an additional first set of interface cut points that generate a portion of the collected one or more first sets of digitized analog output values;

selecting a second analog signal in the second mixed signal model that fails to correspond to one of the analog to digital signal conversions; and

adding a second analog to digital converter into the second mixed signal design that couples to the selected second analog signal, resulting in an additional second set of interface cut points that generate a portion of the collected one or more second sets of digitized analog output values.

7. The method of claim 6 wherein the added first analog to digital converter and the added second analog to digital converter are represented in the difference function.

8. The method of claim 1 further comprising:

generating the difference function, wherein the generation of the difference function further comprises:

selecting a first digital output from the first digital section and selecting a second digital output from the second digital section that corresponds to the first digital output;

creating a miter circuit that includes the first digital output and the second digital output; and

canonically reducing the miter circuit based upon one or more of the first sets of digitized analog output values, the canonical reduction resulting in the difference function.

9. The method of claim 1 wherein the first mixed signal model is an RTL model corresponding to a mixed signal design, and wherein the second mixed signal model is a transistor level model corresponding to the mixed signal design.

10. A system comprising:

equivalence checking circuitry configured to:

solve a difference function that is based upon a first digital section included in a first mixed signal model and a second digital section included in a second mixed signal model, the solving resulting in a digital equivalence result;

determine whether the first mixed signal model is equivalent to the second mixed signal model based upon the digital equivalence result and an analog equivalence verification between a first analog section included in the first mixed signal model and a second analog section included in the second mixed signal model; and

generate an equivalence notification based upon the determination.

11. The system of claim 10 wherein the equivalence checking circuitry is further configured to:

locate a first set of interface cut points in the first mixed signal model that correspond to one or more first analog to digital signal conversions in the first mixed signal model;

locate a second set of interface cut points in the second mixed signal model that correspond to one or more second analog to digital signal conversions in the second mixed signal model; and

collect, during the analog equivalence verification, one or more first sets of digitized analog output values at the first set of interface cut points, and collecting one or more second sets of digitized analog output values at the second set of interface cut points.

12. The system of claim 11 wherein the equivalence checking circuitry is further configured to:

determining that each of the one or more first sets of digitized analog output values match each of the corresponding one or more second sets of digitized analog output values.

13. The system of claim 11 wherein the one or more first sets of digitized analog output values are inputs to the first digital section, and wherein the one or more second sets of digitized analog output values are inputs to the second digital section, the equivalence checking circuitry further configured to:

determine that the difference function generates a non-equivalent outcome result based upon a set of non-reducing input values;

compare the set of non-reducing input values to one of a selected one or more sets of digitized analog output values selected from the group consisting of the one or more first sets of digitized analog output values and the one or more second sets of digitized analog output values; and

determine that the first digital section is equivalent to the second digital section in response to determining that the set of non-reducing input values fails to match one of the selected one or more sets of digitized analog output values.

14. The system of claim 11 wherein the equivalence checking circuitry is further configured to:

select a first analog signal in the first mixed signal model that fails to correspond to one of the analog to digital signal conversions;

add a first analog to digital converter into the first mixed signal design that couples to the selected first analog signal, resulting in an additional first set of interface cut points that generate a portion of the collected one or more first sets of digitized analog output values;

select a second analog signal in the second mixed signal model that fails to correspond to one of the analog to digital signal conversions; and

add a second analog to digital converter into the second mixed signal design that couples to the selected second analog signal, resulting in an additional second set of interface cut points that generate a portion of the collected one or more second sets of digitized analog output values.

15. The system of claim 10 wherein the equivalence checking circuitry is further configured to:

generate the difference function, wherein the generation of the difference function further comprises:

select a first digital output from the first digital section and selecting a second digital output from the second digital section that corresponds to the first digital output;

create a miter circuit that includes the first digital output and the second digital output; and

canonically reduce the miter circuit based upon one or more of the first sets of digitized analog output values, the canonical reduction resulting in the difference function.

16. The system of claim 10 wherein the first mixed signal model is an RTL model corresponding to a mixed signal design, and wherein the second mixed signal model is a transistor level model corresponding to the mixed signal design.

17. A computer program product stored in a computer readable storage medium, comprising computer program code that, when executed by an information handling system, causes the information handling system to perform actions comprising:

solving a difference function that is based upon a first digital section included in a first mixed signal model and a second digital section included in a second mixed signal model, the solving resulting in a digital equivalence result;

determining whether the first mixed signal model is equivalent to the second mixed signal model based upon the digital equivalence result and an analog equivalence verification between a first analog section included in the first mixed signal model and a second analog section included in the second mixed signal model; and

generating an equivalence notification based upon the determination.

18. The computer program product of claim 17 wherein the computer readable storage medium stores additional instructions that, when executed by the information handling system, cause the information handling system to perform additional actions comprising:

locating a first set of interface cut points in the first mixed signal model that correspond to one or more first analog to digital signal conversions in the first mixed signal model;

locating a second set of interface cut points in the second mixed signal model that correspond to one or more second analog to digital signal conversions in the second mixed signal model; and

collecting, during the analog equivalence verification, one or more first sets of digitized analog output values at the first set of interface cut points, and collecting one or more second sets of digitized analog output values at the second set of interface cut points.

19. The computer program product of claim 18 wherein the computer readable storage medium stores additional instructions that, when executed by the information handling system, cause the information handling system to perform additional actions comprising:

determining that each of the one or more first sets of digitized analog output values match each of the corresponding one or more second sets of digitized analog output values.

20. The computer program product of claim 18 wherein the computer readable storage medium stores additional instructions that, when executed by the information handling system, cause the information handling system to perform additional actions comprising:

selecting a first analog signal in the first mixed signal model that fails to correspond to one of the analog to digital signal conversions;

adding a first analog to digital converter into the first mixed signal design that couples to the selected first analog signal, resulting in an additional first set of interface cut points that generate a portion of the collected one or more first sets of digitized analog output values;

selecting a second analog signal in the second mixed signal model that fails to correspond to one of the analog to digital signal conversions; and

adding a second analog to digital converter into the second mixed signal design that couples to the selected second analog signal, resulting in an additional second set of interface cut points that generate a portion of the collected one or more second sets of digitized analog output values.

Assignments (22)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040925 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Feb 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V. F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 052917/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040928 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Jan 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 052915/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050744/0097 →
CORRECTIVE ASSIGNMENT TO CORRECT THE NATURE OF CONVEYANCE PREVIOUSLY RECORDED AT REEL: 040626 FRAME: 0683. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER AND CHANGE OF NAME EFFECTIVE NOVEMBER 7, 2016. Recorded Jan 12, 2017
From: NXP SEMICONDUCTORS USA, INC. (MERGED INTO); FREESCALE SEMICONDUCTOR, INC. (UNDER)
To: NXP USA, INC.
Reel/Frame 041414/0883 →
CHANGE OF NAME Recorded Nov 16, 2016
From: FREESCALE SEMICONDUCTOR INC.
To: NXP USA, INC.
Reel/Frame 040626/0683 →
RELEASE OF SECURITY INTEREST Recorded Nov 7, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 040928/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 21, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V., F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 040925/0001 →
SUPPLEMENT TO THE SECURITY AGREEMENT Recorded Jun 16, 2016
From: FREESCALE SEMICONDUCTOR, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039138/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE FILING AND REMOVE APPL. NO. 14085520 REPLACE IT WITH 14086520 PREVIOUSLY RECORDED AT REEL: 037515 FRAME: 0390. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Mar 1, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037926/0642 →
CORRECTIVE ASSIGNMENT OF INCORRECT APPL. NO. 14/085,520 PREVIOUSLY RECORDED AT REEL: 037515 FRAME: 0390. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Feb 11, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037792/0227 →
CORRECTIVE ASSIGNMENT OF INCORRECT NUMBER 14085520 PREVIOUSLY RECORDED AT REEL: 037458 FRAME: 0420. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTON OF SECURITY INTEREST IN PATENTS. Recorded Feb 11, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037785/0568 →
CORRECTIVE ASSIGNMENT OF INCORRECT PATENT APPLICATION NUMBER 14085520 ,PREVIOUSLY RECORDED AT REEL: 037458 FRAME: 0399. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Feb 11, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037785/0454 →
CORRECTIVE ASSIGNMENT TO CORRECT THE INCORRECT APPL. NO. 14/085,520 PREVIOUSLY RECORDED AT REEL: 037515 FRAME: 0420. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Feb 11, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037879/0581 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED ON REEL 037458 FRAME 0420. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Jan 14, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037515/0420 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED ON REEL 037458 FRAME 0399. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Jan 14, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037515/0390 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 7, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FOUNDING, INC.
Reel/Frame 037458/0420 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 7, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FOUNDING, INC.
Reel/Frame 037458/0399 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037357/0790 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded Mar 13, 2014
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., COLLATERAL AGENT
Reel/Frame 032445/0689 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded Mar 13, 2014
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 032445/0577 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded Mar 13, 2014
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 032445/0493 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 19, 2013
From: ANAND, HIMYANSHU; ABADIR, MAGDY S.
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 031821/0192 →