Error detection/correction and fault detection/recovery – Data processing system error or fault handling – Reliability and availability
Reexamination Certificate
2001-05-15
2004-10-05
Iqbal, Nadeem (Department: 2184)
Error detection/correction and fault detection/recovery
Data processing system error or fault handling
Reliability and availability
C712S227000
Reexamination Certificate
active
06802026
ABSTRACT:
FIELD OF THE INVENTION
The present invention generally relates to debugging hardware and software arrangements, and more particularly to debugging run-time reconfigurable processing arrangements.
BACKGROUND
Logic cores are generally used as building blocks in creating electronic circuit designs. A logic core typically is a design that when implemented in hardware performs a predetermined function and which has input and output signal lines that can be connected to other logic. For example, one particular logic core may implement a digital filter, and another logic core may implement a constant multiplier.
The traditional tools for creating logic cores generally support design entry via schematics or a hardware description language such as HDL or VHDL. In addition, there are a multitude of proprietary languages for creating logic cores that are specifically suitable for a particular family of devices. Some environments, for example VHDL, support creation of test environments along with the design itself.
In the context of programmable logic devices (PLDs), for example, field programmable gate arrays (FPGAs) from Xilinx, there are numerous tools available for testing the functionality of circuits created from logic cores. The tools include functional and physical simulators, BoardScope™ graphical debugger software, and XHWIF™ hardware interface software.
New developments in the area of creating designs for PLDs are rendering the prior test methodologies and tools inadequate. For example, circuit designs, including run-time parameterizable logic core generators, can be created in the JBits™ environment from Xilinx. The JBits environment is a Java-based tool that includes an application programming interface (API) that allows designers to develop logic and write a configuration bitstream directly to a Xilinx FPGA. The JBits API permits the FPGA bitstream to be modified quickly, allowing for fast reconfiguration of the FPGA. In a run-time reconfiguration system, circuits are configured and then reconfigured based on information supplied in real-time by user software, user data, or sensor data. With Virtex FPGAs, the JBits API can be used to partially or fully reconfigure the internal logic of the hardware device. The JBits environment also supports run-time reconfiguration of FPGAs and also configuration of FPGAs over a communications network, for example, an intranet or the Internet.
Run-time reconfigurable systems are generally co-processor systems. A host processor executes a run-time reconfiguration program, and the run-time reconfiguration program implements application functions on the host processor, defines a circuit design, creates configuration data, and configures the FPGA. Since the host processor- and the FPGA are likely to be independently clocked, debugging a co-processor system is difficult.
Current techniques for debugging co-processor systems generally involve using simulators on the FPGA circuit and/or debug cores inserted into HDL logic. Simulation does not support real-time debugging. While debug cores support real-time debugging, debug cores are static and provide little user control over the structure. Neither simulation nor debug cores provides a suitable environment for debugging co-processor arrangements.
A system and method that addresses the aforementioned problems, as well as other related problems, is therefore desirable.
SUMMARY OF THE INVENTION
In various embodiments, a system and method are provided for debugging a run-time reconfigurable processing arrangement. The processing arrangement includes a host process that hosts a run-time reconfiguration application program and a programmable logic device (PLD). The run-time reconfiguration program specifies a circuit design with references to core generators in a library, generates configuration data that implements the circuit design on the PLD, and configures the PLD with the configuration data. One of the core generators generates a breakpoint circuit that steps the PLD for a selected number of clock cycles. When the PLD is activated, the breakpoint circuit steps the PLD, and state information of one or more selected elements of the PLD is analyzed after stepping the PLD. Depending on the analysis, the breakpoint core generator is re-parameterized and the PLD reconfigured with a new breakpoint circuit to continue debugging.
It will be appreciated that various other embodiments are set forth in the Detailed Description and claims which follow.
REFERENCES:
patent: 6107821 (2000-08-01), Kelem et al.
patent: 6247147 (2001-06-01), Beenstra et al.
patent: 6311316 (2001-10-01), Huggins et al.
patent: 6366117 (2002-04-01), Pang et al.
patent: 6453456 (2002-09-01), Price
patent: 6456961 (2002-09-01), Patil et al.
patent: 6460148 (2002-10-01), Veenstra et al.
patent: 6530071 (2003-03-01), Guccione et al.
patent: 6598178 (2003-07-01), Yee et al.
Patterson Cameron D.
Price Timothy O.
Iqbal Nadeem
Maunu LeRoy D.
Xilinx , Inc.
LandOfFree
Parameterizable and reconfigurable debugger core generators does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Parameterizable and reconfigurable debugger core generators, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Parameterizable and reconfigurable debugger core generators will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3301466