Programmatic use of software debugging to redirect hardware...

Data processing: structural design – modeling – simulation – and em – Simulating electronic device or electrical system – Software program

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C703S026000

Reexamination Certificate

active

06188975

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to hardware software co-verification. More particularly, the present invention relates to using breakpoints in a debugging program to signify to a hardware software co-verification tool when to redirect hardware calls to a hardware simulator.
2. The Background Art
Embedded systems are by definition special purpose or customized devices controlled by a computer system through software application programs and hardware drivers which run on some form of operating system such as Windows CE from Microsoft Corporation of Redmond, Wash., Solaris 2.6 from Sun Microsystems of Mountain View, Calif., or VxWorks from Windriver of Alameda, Calif. Through software control these embedded systems are customized to provide a variety of features, forming a very broad market for these devices. For example, embedded systems include set-top boxes for cable, satellite, and Internet T.V. use, personal information managers, or any smart device created using a computer system such as a smart dishwasher. Specific examples of an embedded system are the 320LX™ hand-held PC from Hewlett Packard of Cupertino, Calif., the PILOT® personal information manager (PIM) from 3COM, the AutoPC from Volkswagen AG of Stuttgart, Germany, or any other device having a processor and peripheral hardware devices that run under software control.
FIG. 1
shows a typical process flow
10
for developing an embedded system. Process flow
10
is bifurcated into a software design flow
12
and hardware design flow
14
, where both flows develop separately according to a common specification
15
. The testing and verification of software
16
, such as an application program
17
a
and/or hardware drivers
17
b
, do not occur until a suitable hardware prototype, such as through an ASIC, (Application Specific Integrated Circuit), is created at the hardware creation stage
18
(which is preceded by design hardware stage
19
a
and create simulation models and debug stage
19
b
). Waiting to test the software and hardware portions until a hardware prototype has been created extends the overall design cycle if re-work is required to make the software and hardware components compatible with each other.
One method known for detecting design flaws early in the process integrates the development of the software and hardware early in the development path by performing software debugging and verification before an actual working hardware prototype is completed. This approach provides the opportunity for a shorter time to market and higher product quality since testing may be accomplished through either a hardware or software solution (or both), and before any time and money is spent developing a physical implementation that may not be compatible with the software components developed.
This approach requires that the hardware product be emulated/simulated from design (behavioral and/or functional) models while the software product is also being simulated. One such testing apparatus is described in an International Application published under the Patent Cooperation Treaty (PCT) on behalf of inventor John Wilson, having an international publication number WO 95/26000, hereinafter referred to as the Wilson reference. In the Wilson reference, software code that is intended to interact with hardware, such as a software driver, is replaced with high level interface functions from an interface library during testing. However, replacing actual software code with high level interface functions does not accurately simulate the integration between the software and hardware components because replacing actual code with test code results in a program flow different from that if the actual code was actually used to interact with the hardware.
Accordingly, a need exists where hardware software co-verification is performed that accurately simulates the interaction between software code that interacts with the hardware device, such as a software driver, and a simulated hardware device without substituting the original software code with test code or without changing the execution flow of the original software code.
SUMMARY OF THE INVENTION
The present invention is a method that uses breakpoints in a debugging program to signify to a hardware software co-verification tool when to redirect hardware calls to a hardware simulator. The method includes executing a line of software code within a software component, determining whether the line of software code requires interaction with a hardware device, associating the line of software code with an interface module if the line of software code requires interaction with a hardware device, simulating the hardware device with a hardware model running under simulation, using the interface module to request a hardware operation from the hardware model when the line of software code requires a read operation; and providing data generated by the hardware model running under simulation in response to the request.


REFERENCES:
patent: 4736338 (1988-04-01), Saxe et al.
patent: 4989209 (1991-01-01), Littlebury et al.
patent: 5001714 (1991-03-01), Stark et al.
patent: 5111413 (1992-05-01), Lazansky et al.
patent: 5115191 (1992-05-01), Yoshimori
patent: 5418728 (1995-05-01), Yada
patent: 5452225 (1995-09-01), Hammer
patent: 5465335 (1995-11-01), Anderson
patent: 5493507 (1996-02-01), Shinde et al.
patent: 5544348 (1996-08-01), Umeda et al.
patent: 5546562 (1996-08-01), Patel
patent: 5553008 (1996-09-01), Huang et al.
patent: 5610833 (1997-03-01), Chang et al.
patent: 5613098 (1997-03-01), Landau et al.
patent: 5623418 (1997-04-01), Rostoker et al.
patent: 5633812 (1997-05-01), Allen et al.
patent: 5652869 (1997-07-01), Herdeg et al.
patent: 5678028 (1997-10-01), Bershteyn et al.
patent: 5680584 (1997-10-01), Herdeg et al.
patent: 5768567 (1998-06-01), Klein et al.
patent: 5771370 (1998-06-01), Klein
patent: 5838948 (1998-11-01), Bunza
patent: 5870588 (1999-02-01), Rompaey et al.
patent: 5911059 (1999-06-01), Profit, Jr.
patent: 5913052 (1999-06-01), Beatty et al.
patent: 5960182 (1999-09-01), Matsuoka et al.
patent: 6009256 (1999-12-01), Tseng et al.
patent: WO 95/26000 (1995-09-01), None
Viewlogic Systems, Inc., “Windows®CE Design with Workview Office® Overview,” 1996.
Beihl, Gary, “Shared-Memory Multiprocessor Logic Simulator”, 1989, IEEE, pp. 26-28.
Brown et al., “Issues in the design of a logic simulator: an improved caching technique for event-queue management”, Oct. 1995, IEE Proc.-Circuits Devices Syst., vol. 142, No. 5, pp. 293-298.
D. Becker et al.,An Engineering Environment for Hardware/Software Co-Simulation,Design Automation Conference, 29th ACM/IEEE Proceedings, 1992, pp. 129-134.
J. Wilson,Hardware/Software Selected Cycle Solution, Proceedings of the Third International Workshop on Hardware/Software Codesign, 1994, pp. 190-194.
C.A. Valderrama et al.,Automatic Generation of Interfaces for Distributed C-VHDL Cosimulation of Embedded Systems: an Industrial Experience,7th IEEE Int'l Workshop on Rapid System Prototyping, Proceedings, 1996, pp. 72-77.
A. Allara et al., Improving Design Turnaround Time via Two-Levels HW/SW Co-Simulation, 1997 IEEE Int'l Conference on Computer Design, VLSI in Computers and Processors, ICCD '97 Proceedings, pp. 400-405.
J. Marcotte et al., An Approach to the Design of a Deterministic Jitter-Free Dual-Chamber Brady Pacer in an ICD Using Hardware and Software Cooperation, Computers in Cardiology, 1998, pp. 549-552.

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Programmatic use of software debugging to redirect hardware... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Programmatic use of software debugging to redirect hardware..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Programmatic use of software debugging to redirect hardware... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2596729

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.