Error detection/correction and fault detection/recovery – Pulse or data error handling – Digital logic testing
Reexamination Certificate
1999-04-30
2004-01-13
Decady, Albert (Department: 2133)
Error detection/correction and fault detection/recovery
Pulse or data error handling
Digital logic testing
C714S729000, C714S731000
Reexamination Certificate
active
06678847
ABSTRACT:
FIELD OF THE INVENTION
The present invention pertains to semiconductor logic devices and, more particularly, to a system for storing and retrieving the contents of functional registers in semiconductor logic devices at selected stages of operation without interrupting logic execution.
BACKGROUND OF THE INVENTION
In connection with the design and development of microprocessors and other semiconductor logic devices it is necessary to debug functional problems that arise during testing of the devices. This testing is a large component of the overall development time for a new logic device, and consumes significant computing and human resources. Current product design cycles and development costs do not permit complete regression analysis at design time due to the large number of possible opcode/function combinations, limited bandwidth of the test case generation and computing and human resource constraints.
As such, testing of logic devices must be performed in a carefully targeted manner using, for example, trace buffers or JTAG (joint test action code) support functionality. To test a logic device using JTAG support, hooks are provided in the logic design that breakpoint or halt an operating function when a breakpoint instruction is received. After breakpointing the operation the JTAG support function reads out data from the requested registers through a JTAG port. Then the application is restarted and runs until the next breakpoint is encountered. Unfortunately, the freezing of a function can break the application undergoing debug. In timing critical or real-time code, e.g., code for controlling a disk drive, such breakage of the application can render the JTAG support function inoperable.
For these and other reasons current techniques for testing and debugging logic devices, particularly pipelined microprocessor designs, are not entirely satisfactory.
SUMMARY OF THE INVENTION
One aspect of the present invention is a logic device having a functional execution period with a plurality of execution cycles. The device comprises a plurality of functional registers, each for storing data during an execution cycle and a plurality of shadow registers, each associated with one of the plurality of functional registers and capable of storing a copy of data provided to the associated one of the plurality of functional registers during the functional execution period without interrupting the execution cycles. The device further includes control logic connected to the plurality of shadow registers for controlling when data provided to the plurality of functional registers is stored in the plurality of shadow registers and for retrieving data from the plurality of shadow registers without interrupting the plurality of execution cycles.
Another aspect of the present invention is a logic register combination for use in a logic device having a functional execution period with a plurality of execution cycles. The combination comprises a plurality of functional registers, each for storing data during an execution cycle and a plurality of shadow registers, each associated with one of the plurality of functional registers and capable of storing a copy of data provided to the associated one of the plurality of functional registers during the functional execution period without interrupting the execution cycles.
Still another aspect of the present invention is a method of determining the operational state of a logic device having a plurality of first registers in which data is stored and a plurality of second registers, each second register associated with at least one of said first registers, further wherein the logic device has an execution period with a plurality of execution cycles. The method comprises the step of storing data present in each of the plurality of first registers in an associated one of the plurality of second registers without interrupting execution cycles of the plurality of first registers. Next, data stored in the plurality of second registers is retrieved without interrupting execution cycles of the plurality of first registers. Finally, the data retrieved in the previous step is used to determine the operational state of the logic device.
Yet another aspect of the present invention is a method of debugging a microprocessor having a plurality of L
1
registers, a plurality of L
2
registers and a plurality of shadow registers, all arranged so that one of the plurality of L
1
registers and one of the plurality of L
2
registers is associated with each of the plurality of shadow registers, with the plurality of L
1
registers, the plurality of L
2
registers and plurality of shadow registers being arranged in a pipelined architecture. As the first step of the method, data is provided to the plurality of shadow registers. Next, the data in each of the plurality of shadow registers is provided to a corresponding respective one of the plurality of L
2
registers as a function of event type, execution cycle and shadow register address. Finally, a logic operation is performed on the data provided to the L
2
registers.
REFERENCES:
patent: 4932028 (1990-06-01), Katircioglu et al.
patent: 4954988 (1990-09-01), Robb
patent: 5229999 (1993-07-01), Cushing et al.
patent: 5257223 (1993-10-01), Dervisoglu
patent: 5383143 (1995-01-01), Crouch et al.
patent: 5448430 (1995-09-01), Bailey et al.
patent: 5477545 (1995-12-01), Huang
patent: 5488688 (1996-01-01), Gonzales et al.
patent: 5490151 (1996-02-01), Feger et al.
patent: 5491793 (1996-02-01), Somasundaram et al.
patent: 5530706 (1996-06-01), Josephson et al.
patent: 5546406 (1996-08-01), Gillenwater et al.
patent: 5590354 (1996-12-01), Klapproth et al.
patent: 5596584 (1997-01-01), Warren
patent: 5598421 (1997-01-01), Tran et al.
patent: 5623502 (1997-04-01), Wang
patent: 5640404 (1997-06-01), Satish
patent: 5717701 (1998-02-01), Angelotti et al.
patent: 5724505 (1998-03-01), Argade et al.
patent: 5768289 (1998-06-01), James
patent: 5859657 (1999-01-01), Donahue et al.
patent: 5900753 (1999-05-01), Cote et al.
patent: 5986962 (1999-11-01), Bertin et al.
patent: 6000051 (1999-12-01), Nadeau-Dostie et al.
patent: 6012155 (2000-01-01), Beausang et al.
patent: 6052808 (2000-04-01), Wu et al.
patent: 6055649 (2000-04-01), Deao et al.
patent: 6122762 (2000-09-01), Kim
patent: 6134517 (2000-10-01), Baxter et al.
patent: 6182256 (2001-01-01), Qureshi
patent: 6185710 (2001-02-01), Barnhart
patent: 6304099 (2001-10-01), Tang et al.
patent: 6442178 (2002-08-01), Arato et al.
IEEE Standard Test Access Port and Boundary-Scan Architecture, IEEE Std 1149.1-1990.*
IBM Technical Disclosure Bulletin, “Efficient Mechanism for Multiple Debug Modes.” vol. 38, No. 11, Nov. 1995.
Perry Patrick E.
Ventrone Sebastian T.
De'cady Albert
Downs Rachlin & Martin PLLC
Torres Joseph D.
LandOfFree
Real time function view system and method does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Real time function view system and method, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Real time function view system and method will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3206893