IP Library Granted Patent US 9,372,772
Granted Patent B1
US 9,372,772 · App. 14/671,993 · Granted Jun 21, 2016

Co-verification—of hardware and software, a unified approach in verification

Inventors: Mohan Balan (Santa Clara, CA); Harish Krishnamoorthy (San Jose, CA); Nimalan Siva (San Ramon, CA); Kishore Badari Atreya (San Jose, CA)
Assignee: CAVIUM, INC.
G06F11/27G06F8/427G06F17/505G06F8/71
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,372,772
App. No.
14/671,993
Granted
Jun 21, 2016
Kind
B1
Abstract

A co-verification method and system are described herein. The co-verification method is able to verify software and hardware at the same time. Constraints are provided to a software compiler which generates programming values. The programming values and stimulus from a verification test bench are utilized to test a design such as a microprocessor.

Claims (31)

1. A method of co-verification of a compiler and a device under test within a test bench verification environment implemented by a test bench, the method comprising:

providing verification constraint information including code to implement one or more desired design features for the device under test;

compiling the verification constraint information with the compiler to generate programming values for the device under test;

generating the device under test within the test bench verification environment based on the programming values produced by the compiler such that the device under test operates according to the programming values; and

performing verification tests on the device under test to test one or more of the desired design features using stimulus from the test bench thereby testing both the compiler and the device under test.

2. The method of claim 1 wherein the verification constraint information is written in a format readable by the compiler.

3. The method of claim 1 wherein the verification constraint information includes profile information including a particular device configuration enabling the device to perform specified functions.

4. The method of claim 1 wherein the verification constraint information includes only profile information.

5. The method of claim 1 wherein the one or more desired design features comprise a microchip design.

6. The method of claim 1 wherein compiling the verification constraint information includes testing hardware and software at the same time.

7. The method of claim 1 wherein the programming values comprise programming language code.

8. The method of claim 7 wherein the programming language code comprises C++.

9. A system for co-verification of a compiler and a device under test within a test bench verification environment implemented by a test bench, the system comprising:

a hardware device under test;

a software compiler, wherein the software compiler is configured to receive verification constraint information including code to implement one or more desired design features for the device under test, and compile the verification constraint information to generate programming values for the device under test; and

a test bench operating a test bench verification environment configured to instantiate the device under test within the test bench verification environment based on the programming values produced by the compiler such that the device under test operates according to the programming values and performing verification tests on the device under test to test one or more of the desired design features using a stimulus from the test bench thereby testing both the compiler and the device under test.

10. The system of claim 9 wherein the verification constraint information is written in a format readable by the compiler.

11. The system of claim 9 wherein the verification constraint information includes profile information including a particular device configuration enabling the device to perform specified functions.

12. The system of claim 9 wherein the verification constraint information includes only profile information.

13. The system of claim 9 wherein the one or more desired design features comprise a microchip design.

14. The system of claim 9 wherein compiling the verification constraint information includes testing hardware and software at the same time.

15. The system of claim 9 wherein the programming values comprise programming language code.

16. A test bench for implementing a test bench verification environment including a compiler and testing a device under test, the test bench comprising:

a memory for storing the test bench verification environment and the compiler, wherein the compiler is configured to receive verification constraint information including code to implement one or more desired design features for the device under test and compile the verification constraint information to generate programming values for the device under test, and further wherein the test bench verification environment is configured to instantiate the device under test within the test bench verification environment based on the programming values produced by the compiler such that the device under test operates according to the programming values and performing verification tests on the device under test to test one or more of the desired design features using a stimulus from the test bench thereby testing both the compiler and the device under test; and

a processing component coupled to the memory, the processing component configured for processing the test bench verification environment and the compiler.

17. The device of claim 16 wherein the verification constraint information is written in a format readable by the compiler.

18. The device of claim 16 wherein the verification constraint information includes profile information including a particular device configuration enabling the device to perform specified functions.

19. The device of claim 16 wherein the verification constraint information includes only profile information.

20. The device of claim 16 wherein the one or more desired design features comprise a microchip design.

21. The device of claim 16 wherein compiling the verification constraint information includes testing hardware and software at the same time.

22. The device of claim 16 wherein the programming values comprise programming language code.

Assignments (8)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2020
From: CAVIUM INTERNATIONAL
To: MARVELL ASIA PTE, LTD.
Reel/Frame 053179/0320 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 17, 2020
From: CAVIUM, LLC
To: CAVIUM INTERNATIONAL
Reel/Frame 051948/0807 →
CHANGE OF NAME Recorded Sep 27, 2018
From: CAVIUM, INC.
To: CAVIUM, LLC
Reel/Frame 047577/0653 →
RELEASE OF SECURITY INTEREST Recorded Jul 6, 2018
From: JP MORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: CAVIUM, INC; CAVIUM NETWORKS LLC; QLOGIC CORPORATION
Reel/Frame 046496/0001 →
SECURITY AGREEMENT Recorded Aug 17, 2016
From: CAVIUM, INC.; CAVIUM NETWORKS LLC
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 039715/0449 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 8, 2016
From: CAVIUM NETWORKS LLC
To: CAVIUM, INC.
Reel/Frame 038040/0251 →
MERGER Recorded Mar 8, 2016
From: XPLIANT, INC.
To: CAVIUM NETWORKS LLC
Reel/Frame 038039/0328 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 22, 2015
From: BALAN, MOHAN; KRISHNAMOORTHY, HARISH; SIVA, NIMALAN; ATREYA, KISHORE BADARI
To: XPLIANT, INC.
Reel/Frame 036152/0802 →