← Back to Patent Explorer
US6490545B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Method and apparatus for adaptive co-verification of software and hardware designs

Assignee: Sony Corp
•
Filing: 2000-03-06
•
Granted: 2002-12-03
•
Expires: 2020-03-06
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A simulation system is provided for simulating behavior of a device for implementing an algorithm using a software model and a hardware model which are converted to a common programming language and mathematical notation. The simulation system uses the same input user interface for the software model and the hardware model. Further, the simulation system uses the same output user interface for generating the simulation results for both the software model and the hardware model in the common programming language and mathematical notation, thereby allowing a user to easily verify and analyze the software and hardware simulation results for optimization of the device.

Inventors

  • 👤 Jason Peng

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-07 21:50
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/22; G06F11/26; G06F11/261; G06F30/00; G06F30/30; G06F30/32; G06F30/33

Claims Analysis

Total Claims: 28
Claim 1
Independent Claim 179 words
A method of simulating a behavior of a device in a simulation system, comprising: providing a software model for the device in a first programming language and a first mathematical notation; providing software input data using an input user interface; converting the software model in the first programming language and mathematical notation into a common programming language and mathematical notation; compiling the software model in the common programming language and mathematical notation and using the software input data to generate software executables; providing a hardware model for the device using a second programming language and mathematical notation; providing hardware input data using the input user interface; converting the hardware model in the second programming language and mathematical notation into the common programming language and mathematical notation; compiling the hardware model in the common programming language and mathematical notation and using the hardware input data to generate hardware executables; generating software and hardware simulation results from the software and hardware executables in the common programming language and mathematical notation; and analyzing the software simulation results and the hardware simulation results.
Claim 2
Independent Claim 179 words
A method of simulating a behavior of a device in a simulation system, comprising: providing a software model for the device in a first programming language and a first mathematical notation; providing software input data using an input user interface; converting the software model in the first programming language and mathematical notation into a common programming language and mathematical notation; compiling the software model in the common programming language and mathematical notation and using the software input data to generate software executables; providing a hardware model for the device using a second programming language and mathematical notation; providing hardware input data using the input user interface; converting the hardware model in the second programming language and mathematical notation into the common programming language and mathematical notation; compiling the hardware model in the common programming language and mathematical notation and using the hardware input data to generate hardware executables; generating software and hardware simulation results from the software and hardware executables in the common programming language and mathematical notation; and analyzing the software simulation results and the hardware simulation results.
Claim 3
Dependent Claim 37 words
The method as claimed in claim 1 wherein: the providing of the software model uses floating-point mathematical notation; and the converting of the first programming language and mathematical notation converts the software model to fixed-point mathematical notation.
Claim 4
Dependent Claim 37 words
The method as claimed in claim 1 wherein: the providing of the hardware model uses fixed-point mathematical notation; and the converting of the second programming language and mathematical notation converts the hardware model to floating-point mathematical notation.
Claim 5
Dependent Claim 38 words
The method as claimed in claim 1 wherein: the providing of the software model uses software programming language; and the converting of the first programming language and mathematical notation converts the software model to a hardware programming language.
Claim 6
Dependent Claim 38 words
The method as claimed in claim 1 wherein: the providing of the hardware model uses hardware programming language; and the converting of the second programming language and mathematical notation converts the hardware model to a software programming language.
Claim 7
Dependent Claim 54 words
The method as claimed in claim 1 including: providing the algorithm in the first programming language and mathematical notation; compiling the algorithm in the common programming language and mathematical notation; generating algorithm executables; generating algorithm simulation results for the algorithm in the common programming language and mathematical notation; and analyzing the algorithm simulation results.
Claim 8
Dependent Claim 35 words
The method as claimed in claim 1 wherein: the providing of the algorithm uses floating-point mathematical notation; and the converting of the first programming language and mathematical notation converts the algorithm to fixed-point mathematical notation.
Claim 9
Independent Claim 203 words
A method of simulating an algorithm implementing device in a simulation system, comprising: providing a software model for an algorithm in ANSI-C programming language and a first mathematical notation; providing software and hardware input data using an input user interface; converting the software model in ANSI-C programming language and mathematical notation into ANSI-C programming language and a different mathematical notation; compiling the software model in ANSI-C programming language and the different mathematical notation and using the software input data to generate software executables; generating software simulation results for the software model in ANSI-C programming language and the different mathematical notation using a first output user interface in response to the software executables; providing a hardware model for the algorithm using Verilog programming language and the different mathematical notation; converting the hardware model in Verilog programming language and mathematical notation into ANSI-C programming language and the different mathematical notation; compiling the hardware model in ANSI-C programming language and the different mathematical notation and using the hardware input data to generate hardware executables; generating software and hardware simulation results from the software and hardware executables in ANSI-C programming language and the different mathematical notation; and verifying and analyzing the software and the hardware simulation results.
Claim 10
Independent Claim 203 words
A method of simulating an algorithm implementing device in a simulation system, comprising: providing a software model for an algorithm in ANSI-C programming language and a first mathematical notation; providing software and hardware input data using an input user interface; converting the software model in ANSI-C programming language and mathematical notation into ANSI-C programming language and a different mathematical notation; compiling the software model in ANSI-C programming language and the different mathematical notation and using the software input data to generate software executables; generating software simulation results for the software model in ANSI-C programming language and the different mathematical notation using a first output user interface in response to the software executables; providing a hardware model for the algorithm using Verilog programming language and the different mathematical notation; converting the hardware model in Verilog programming language and mathematical notation into ANSI-C programming language and the different mathematical notation; compiling the hardware model in ANSI-C programming language and the different mathematical notation and using the hardware input data to generate hardware executables; generating software and hardware simulation results from the software and hardware executables in ANSI-C programming language and the different mathematical notation; and verifying and analyzing the software and the hardware simulation results.
Claim 11
Dependent Claim 34 words
The method as claimed in claim 8 wherein: the providing of the software model uses floating-point mathematical notation; and the converting to the different mathematical notation converts the software model to fixed-point mathematical notation.
Claim 12
Dependent Claim 34 words
The method as claimed in claim 8 wherein: the providing of the hardware model uses fixed-point mathematical notation; and the converting to the different mathematical notation converts the hardware model to floating-point mathematical notation.
Claim 13
Dependent Claim 58 words
The method as claimed in claim 8 including: providing the algorithm in ANSI-C programming language and a first mathematical notation; compiling the algorithm in ANSI-C and a different mathematical notation; generating algorithm executables; generating an algorithm simulation result for the algorithm in ANSI-C programming language and the different mathematical notation; and verifying and analyzing the algorithm simulation result.
Claim 14
Dependent Claim 31 words
The method as claimed in claim 8 wherein: the providing of the algorithm uses floating-point mathematical notation; and the converting of the mathematical notation converts the algorithm to fixed-point mathematical notation.
Claim 15
Dependent Claim 185 words
A simulation system, comprising: a software model for an algorithm in a first programming language and a first mathematical notation; an input user interface for providing software and hardware input data; a first program for converting the software model in the first programming language and mathematical notation into a common programming language and mathematical notation; a compiler for compiling the software model in the common programming language and mathematical notation and using the software input data to generate software executables; a hardware model for the algorithm using a second programming language and mathematical notation; a second program for converting the hardware model in the second programming language and mathematical notation into the common programming language and mathematical notation; a compiler for compiling the hardware model in the common programming language and mathematical notation and using the hardware input data to generate hardware executables; an output user interface for generating software and hardware simulation results from the software and hardware executables in the common programming language and mathematical notation; and an analyzing system for analyzing the software and the hardware simulation results and outputting the results.
Claim 16
Dependent Claim 185 words
A simulation system, comprising: a software model for an algorithm in a first programming language and a first mathematical notation; an input user interface for providing software and hardware input data; a first program for converting the software model in the first programming language and mathematical notation into a common programming language and mathematical notation; a compiler for compiling the software model in the common programming language and mathematical notation and using the software input data to generate software executables; a hardware model for the algorithm using a second programming language and mathematical notation; a second program for converting the hardware model in the second programming language and mathematical notation into the common programming language and mathematical notation; a compiler for compiling the hardware model in the common programming language and mathematical notation and using the hardware input data to generate hardware executables; an output user interface for generating software and hardware simulation results from the software and hardware executables in the common programming language and mathematical notation; and an analyzing system for analyzing the software and the hardware simulation results and outputting the results.
Claim 17
Dependent Claim 28 words
The simulation system as claimed in claim 13 wherein: the software model uses floating-point mathematical notation; and the first program converts the software model to fixed-point mathematical notation.
Claim 18
Dependent Claim 28 words
The simulation system as claimed in claim 13 wherein: the hardware model uses fixed-point mathematical notation; and the second program converts the hardware model to floating-point mathematical notation.
Claim 19
Dependent Claim 30 words
The simulation system as claimed in claim 13 wherein: the software model uses software programming language; and the first program converts the software programming language to a hardware programming language.
Claim 20
Dependent Claim 30 words
The simulation system as claimed in claim 13 wherein: the hardware model uses hardware programming language; and the second program converts the hardware programming language to a software programming language.
Claim 21
Dependent Claim 71 words
The simulation system as claimed in claim 13 including: an algorithm in the first programming language and mathematical notation; a compiler for compiling the algorithm in the common programming language and mathematical notation to generate algorithm executables; the output user interface generates an algorithm simulation result for the algorithm in the common programming language and mathematical notation; and the analyzing system for analyzing the algorithm simulation result and outputting a result.
Claim 22
Dependent Claim 26 words
The simulation system as claimed in claim 13 wherein: an algorithm uses floating-point mathematical notation; and the first program converts the algorithm to fixed-point mathematical notation.
Claim 23
Dependent Claim 200 words
A simulation system for simulating an algorithm implementing device, comprising: a software model for the algorithm in ANSI-C programming language and a first mathematical notation; an input user interface for providing software and hardware input data; a first program for converting the software model in ANSI-C programming language and mathematical notation into ANSI-C programming language and a different mathematical notation; a compiler for compiling the software model in ANSI-C programming language and the different mathematical notation and using the software input data to generate software executables; a hardware model for the algorithm implementing device using Verilog programming language and the different mathematical notation; a second program for converting the hardware model in Verilog programming language and mathematical notation into ANSI-C programming language and the different mathematical notation; a compiler for compiling the hardware model in ANSI-C programming language and the different mathematical notation and using the hardware input data to generate hardware executables; an output user interface for generating software and hardware simulation results from the software and hardware executables in ANSI-C programming language and the different mathematical notation; and a verifying and analyzing system for verifying and analyzing the software and the hardware simulation results and outputting a result.
Claim 24
Dependent Claim 200 words
A simulation system for simulating an algorithm implementing device, comprising: a software model for the algorithm in ANSI-C programming language and a first mathematical notation; an input user interface for providing software and hardware input data; a first program for converting the software model in ANSI-C programming language and mathematical notation into ANSI-C programming language and a different mathematical notation; a compiler for compiling the software model in ANSI-C programming language and the different mathematical notation and using the software input data to generate software executables; a hardware model for the algorithm implementing device using Verilog programming language and the different mathematical notation; a second program for converting the hardware model in Verilog programming language and mathematical notation into ANSI-C programming language and the different mathematical notation; a compiler for compiling the hardware model in ANSI-C programming language and the different mathematical notation and using the hardware input data to generate hardware executables; an output user interface for generating software and hardware simulation results from the software and hardware executables in ANSI-C programming language and the different mathematical notation; and a verifying and analyzing system for verifying and analyzing the software and the hardware simulation results and outputting a result.
Claim 25
Dependent Claim 28 words
The simulation system as claimed in claim 20 wherein: the software model uses floating-point mathematical notation; and the first program converts the software model to fixed-point mathematical notation.
Claim 26
Dependent Claim 28 words
The simulation system as claimed in claim 20 wherein: the hardware model uses fixed-point mathematical notation; and the second program converts the hardware model to floating-point mathematical notation.
Claim 27
Dependent Claim 77 words
The simulation system as claimed in claim 20 including: the first program for converting the algorithm into ANSI-C programming language and a first mathematical notation; a compiler for compiling the algorithm in ANSI-C and the different mathematical notation to generate algorithm executables; the output user interface for generating algorithm simulation results for the algorithm in ANSI-C programming language and the different mathematical notation; and the verifying and analyzing system for verifying and analyzing the algorithm simulation results.
Claim 28
Dependent Claim 26 words
The simulation system as claimed in claim 20 wherein: the algorithm uses floating-point mathematical notation; and the first program converts the algorithm to fixed-point mathematical notation.

References Cited (Backward Citations)

US6086628A Cited
US6097886A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2005-12-02 2006-06-03 2006-12-03 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2009-12-02 2010-06-03 2010-12-03 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2013-12-02 2014-06-03 2014-12-03 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag