IP Library › Granted Patent US 12,422,478
Granted Patent B2
US 12,422,478 · App. 18/269,511 · Granted Sep 23, 2025

Debug architecture

Inventor: Hannu Talvitie (Oulu, FI)
Assignee: Nordic Semiconductor ASA
G01R31/3177
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 12,422,478
App. No.
18/269,511
Granted
Sep 23, 2025
Kind
B2
Abstract

An integrated-circuit chip and method of operating said chip is provided. The integrated-circuit chip includes multiple processors, a system memory and a main system bus for carrying data between each of the processors and the system memory. The chip also has debug logic, a debug port for communicating with the debug logic from outside the chip and a debug connection that connects the debug logic to the main system bus. A power management system is also included for controlling the power supplied to each of a number of power domains on the chip. The debug logic and each of the processors are in different respective power domains. The debug logic is configured to send a debug instruction to any of the processors. The debug instruction is communicated over the debug connection and over the main system bus.

Claims (42)

1. An integrated-circuit chip comprising:

a plurality of processors;

a system memory;

a main system bus for carrying data between each of the plurality of processors and the system memory;

debug logic;

a debug port for communicating with the debug logic from outside the chip;

a debug connection that connects the debug logic to the main system bus; and

a power management system for controlling the power supplied to each of a plurality power domains on the chip;

wherein the debug logic and each of the plurality of processors are in different respective power domains of the plurality of power domains;

wherein the debug logic is configured to send a debug instruction to any of the plurality of processors, wherein the debug instruction is communicated over the debug connection and over the main system bus;

wherein the main system bus comprises a bus arbiter configured to prioritize bus transactions on the main system bus; and

wherein the bus arbiter is configured to prioritize a bus transaction associated with the debug instruction higher or lower than a memory read or write transaction between a processor of the plurality of processors and the system memory.

2. The integrated-circuit chip of claim 1 , wherein the debug logic is further configured to receive debug data from any of the plurality of processors over the main system bus and then over the debug connection.

3. The integrated-circuit chip of claim 1 , wherein the debug logic is further configured to send debug instructions to, and/or receive debug data from, the system memory and/or one or more peripherals over the debug connection and over the main system bus.

4. The integrated-circuit chip of claim 1 , wherein the main system bus comprises a data bus having a set of data lines, and wherein the chip is configured to send debug data over the same set of data lines as data travelling between the system memory and at least one of the plurality of processors.

5. The integrated-circuit chip of claim 1 , wherein the main system bus comprises an Advanced High-performance Bus (AHB) or an Advanced extensible Interface (AXI) bus.

6. The integrated-circuit chip of claim 1 , wherein the system memory comprises random access memory (RAM) and/or non-volatile memory, and wherein the main system bus is arranged to carry data between each of the plurality of processors and a memory controller for the RAM or non-volatile memory.

7. The integrated-circuit chip of claim 1 , wherein the debug connection comprises a line for carrying respective debug instructions for at least two different processors of the plurality of processors, from the debug logic to the main system bus.

8. The integrated-circuit chip of claim 1 , wherein the debug port comprises an external chip interface comprising a set of debug pins or pads.

9. The integrated-circuit chip of claim 1 , wherein the debug logic is configured to be a bus master on the main system bus.

10. The integrated-circuit chip of claim 1 , wherein the debug port is arranged to receive said debug instruction, or data representative of the debug instruction, from a debugger outside the chip.

11. The integrated-circuit chip of claim 1 , wherein one or more of the plurality of processors comprises a respective data watchpoint unit and/or a respective breakpoint unit configured to receive debug instructions from the debug logic over the main system bus.

12. The integrated-circuit chip of claim 1 , wherein the debug instruction comprises: a breakpoint instruction; an instruction to halt a processor of the plurality of processors; an instruction to run a processor of the plurality of processors; an instruction to step a processor of the plurality of processors; or a processor instruction for execution by a processor of the plurality of processors.

13. The integrated-circuit chip of claim 1 , wherein one or more of the plurality of processors comprises a respective access port for outputting debug data to the main system bus for the debug logic.

14. The integrated-circuit chip of claim 1 , wherein the debug port comprises an Arm™ CoreSight™ Debug Access Port (DAP) or a Joint Test Action Group (JTAG) port.

15. The integrated-circuit chip of claim 1 , further comprising trace logic and a trace connection for carrying trace data from the main system bus to the trace logic, wherein the trace connection comprises a line for carrying respective trace data from at least two different processors, of the plurality of processors, to the trace logic.

16. The integrated-circuit chip of claim 15 , wherein the trace logic comprises a buffer or region of RAM for storing trace data received from a processor of the plurality of processors and/or comprises a trace port interface unit for outputting trace data through an external chip interface.

17. The integrated-circuit chip of claim 1 , further comprising a plurality of clock sources providing different respective clock signals to a plurality of clock domains on the chip, wherein the debug logic is in a different clock domain from one or more of the plurality of processors.

18. The integrated-circuit chip of claim 1 , further comprising a reset controller for controlling resets in a plurality of reset domains on the chip, wherein the debug logic is in a different reset domain from one or more of the plurality of processors.

19. The integrated-circuit chip of claim 1 , wherein the main system bus is configured to carry a respective identifier for each bus transaction, wherein the identifier identifies a bus master that initiated the respective bus transaction; and wherein the integrated-circuit chip is configured to use the identifiers to prevent or allow bus transactions to access one or more areas of the integrated-circuit chip, including to permit a bus transaction associated with the debug instruction to access the system memory or a processor of the plurality of processors.

20. A method of operating an integrated-circuit chip, wherein the chip comprises:

a plurality of processors;

a system memory;

a main system bus configured to carry data between each of the plurality of processors and the system memory, wherein the main system bus comprises a bus arbiter configured to prioritize bus transactions on the main system bus;

debug logic;

a debug port for communicating with the debug logic from outside the chip;

a debug connection that connects the debug logic to the main system bus; and

a power management system for controlling the power supplied to each of a plurality power domains on the chip; and

wherein the debug logic and each of the plurality of processors are in different respective power domains of the plurality of power domains,

the method comprising:

the debug logic sending a debug instruction to a processor of the plurality of processors, wherein the debug instruction is communicated first over the debug connection and then over the main system bus; and

the bus arbiter prioritizing a bus transaction associated with the debug instruction bus higher or lower than a memory read or write transaction between a processor of the plurality of processors and the system memory.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 5, 2024
From: TALVITIE, HANNU
To: NORDIC SEMICONDUCTOR ASA
Reel/Frame 066346/0777 →
Priority Claims (1)
GB 2100413 · Jan 13, 2021 · national
Continuity (1)
Related Publication 20240044979A1 · Feb 8, 2024
References Cited (17)
EP 1089182A2 · 2001 [cited by applicant]
GB 2543804A · 2017 [cited by examiner]
WO WO2017072500A1 · 2017 [cited by applicant]
WO WO2019238431A1 · 2019 [cited by applicant]
WO WO2020002423A1 · 2020 [cited by applicant]
WO WO2020002441A1 · 2020 [cited by applicant]
WO WO2022152806A1 · 2022 [cited by examiner]
“ARM's System Trace Macrocell (STM),” Asset-Intertech, downloaded from https://www.asset-intertech.com/company/press/media-resources/arm-s-system-trace-macrocell-stm, on Jul. 27, 2020, 2 pages. [cited by applicant]
Blog, “Debugging with ARM Coresight—Part 1,” Nov. 16, 2014, downloaded from https://blog.asset-intertech.com/test_data_out/2014/11/debugging-with-arm-coresight-part-1.html on Nov. 6, 2020, 2 pages. [cited by applicant]
Blog, “How to debug: CoreSight basics (Part 3),” Jul. 13, 2015, downloaded from https://community.arm.com/developer/ip-products/processors/b/processors-ip-blog/posts/how-to-debug-coresight-basics-part-3, on Jul. 7, 2020… [cited by applicant]
“CoreSight™ System Trace Macrocell,” ARM Technical Reference Manual, 20100, 86 pages. [cited by applicant]
International Search Report and Written Opinion for PCT/EP2022/050671, mailed Mar. 7, 2022, 14 pages. [cited by applicant]
IPO Search Report under Section 17(5) for GB2100413.0, mailed Nov. 3, 2021, 3 pages. [cited by applicant]
Orme, “Debug and Trace for Multicore SoCs,” ARM White Paper, Sep. 2008, pp. 1-6. [cited by applicant]
“STM32MP1—DBG,” downloaded from httpswww.st.comcontentcccresourcetrainingtechnicalproduct_traininggroup009651152d0c54842STM32MP1-System-Debug_DBGfilesSTM32MP1-System- Debug_DBG.pdfjcrcontenttranslationsen.STM32MP1-Syste… [cited by applicant]
“System Trace Macrocell Packs Major Benefits for High-Performance SoC System Debug,” Altera®, White Paper WP-01229-1.0, Sep. 2014, 6 pages. [cited by applicant]
Taubinger, “Kill Bugs efficiently with Code Trace,” IAR Systems, undated, 23 pages. [cited by applicant]