IP Library Granted Patent US 9,053,232
Granted Patent B2
US 9,053,232 · App. 13/715,161 · Granted Jun 9, 2015

Method and apparatus for supporting a unified debug environment

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,053,232
App. No.
13/715,161
Granted
Jun 9, 2015
Kind
B2
Abstract

A field programmable gate array (FPGA) includes a soft processor and a soft processor debug unit implemented by programmable logic on the FPGA. The FPGA includes a system on a chip (SOC) that includes a hard processor and a hard processor debug unit. The FPGA includes a bus bridge, coupled to an input output (IO) of the FPGA, operable to transmit data between the IO and the soft processor debug unit and the hard processor debug unit.

Claims (31)

1. A hybrid field programmable gate array (FPGA), comprising

a soft processor and a soft processor debug unit implemented by programmable logic on the FPGA;

a system on a chip (SOC) that includes a hard processor and a hard processor debug unit; and

a bus bridge, coupled to an input output (IO) of the FPGA, that transmits data between the IO and the soft processor debug unit and the hard processor debug unit.

2. The hybrid FPGA of claim 1 , wherein the hard processor debug unit comprises a memory that identifies tools available on the hard processor debug unit for debugging the hard processor.

3. The hybrid FPGA of claim 1 , wherein the hard processor debug unit comprises a memory that identifies another memory that identifies tools available for debugging one of the hard processor and another processor.

4. The hybrid FPGA of claim 1 , wherein the soft processor debug unit comprises a memory that identifies tool available for debugging the soft processor.

5. The hybrid FPGA of claim 4 , wherein the memory identifies a close trigger interface that halts operation of the soft processor.

6. The hybrid FPGA of claim 1 , further comprising a dedicated bus connecting the bus bridge to the soft processor debug unit.

7. The hybrid FPGA of claim 1 , wherein the bus bridge comprises an address decoder that identifies data to transmit to the soft processor debug unit and to the hard processor debug unit.

8. The hybrid FPGA of claim 1 , wherein the bus bridge comprises a data multiplexing unit that formats data from the soft processor and the hard processor out the IO in a single data stream.

9. The hybrid FPGA of claim 1 , wherein the bus bridge transmits the data from the IO to the soft processor debug unit.

10. A method for designing a system on a target device, comprising:

synthesizing a design for the system which includes a software debug unit with tools to debug a soft processor in the system;

placing the system on the target device;

routing the system on the target device; and

generating a debug unit identification file for programming a memory on the target device to identify the tools and locations of the tools on the target device.

11. The method of claim 10 , further comprising generating a configuration file for each of the tools, wherein the configuration file identifies peripheral identification registers for a tool.

12. The method of claim 10 , wherein one of the tools comprises a close trigger interface that holds operation of the processor.

13. The method of claim 10 , wherein the soft processor is implemented by programmable logic on the target device.

14. The method of claim 10 , wherein the target device comprises a system on a chip that includes a hard processor and tools to debug the hard processor.

15. The method of claim 14 , wherein the target device comprises a bus bridge coupled to an input output (IO) of the target device for routing data between the IO and the tools to debug the soft processor and the tools to debug the hard processor.

16. The method of claim 15 , wherein routing the system on the target device comprises generating a bus to connect the bus bridge to the tools to debug the software processor.

17. A method for debugging a system, comprising:

reading a first memory on a system on a chip (SOC) on a field programmable gate array to identify tools available to debug a hard processor on the SOC; and

reading a second memory, on the FPGA and external to the SOC, identified by the first memory to identify tools available to debug a soft processor implemented using programmable logic on the FPGA.

18. The method of claim 17 , further comprising building a graphical user interface for each tool available to debug the soft processor.

19. The method of claim 17 , wherein reading the second memory to identify tools available to debug the soft processor comprises reading an identity of a tool type and a location of the tools.

20. The method of claim 17 , further comprising transmitting data between a host debugger, external to the FPGA, and the tools available to debug the hard processor and the tools available to debug the soft processor via a bus bridge on the SOC.

21. The method of claim 17 , further comprising receiving data from the tools available to debug the hard processor and the tools available to debug the soft processor via a bus bridge on the SOC on a single data stream.

22. The method of claim 17 , further comprising reading up to an nth memory identified by one of n−1 previously read memories to identify tools available to debug processors on the system, wherein n is a number of processors supported by the system.

Assignments (2)
SECURITY INTEREST Recorded Sep 12, 2025
From: ALTERA CORPORATION
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 073431/0309 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 26, 2013
From: AHMED, MUHAMMAD; REGHUNATH, MANOJ
To: ALTERA CORPORATION
Reel/Frame 030091/0275 →