IP Library Granted Patent US 12,602,279
Granted Patent B2
US 12,602,279 · App. 18/455,663 · Granted Apr 14, 2026

Systems and methods for debugging multi-core processors with configurable isolated partitions

Inventors: Gary L. Miller (Austin, TX); Devendra Bahadur Singh (Lucknow, IN); Jonathan Gamoneda (Austin, TX); Paul Kimelman (Alamo, CA); Oded Yishay (Austin, TX)
Assignee: NXP USA, INC.
G06F11/0793G06F11/0721G06F11/2236G06F11/2242
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,602,279
App. No.
18/455,663
Granted
Apr 14, 2026
Kind
B2
Abstract

Systems and methods for debugging multi-core processors with configurable isolated partitions have been described. In an illustrative, non-limiting embodiment, an integrated circuit, may include: a plurality of Cross-Trigger Matrices (CTMs) configured to establish a debug network among a plurality of multi-cluster tiles (MCTs), where each MCT includes a plurality of processor cores, and where each processor core is assigned to a respective isolated partition of processor cores; and a System Interface (SI) coupled to the plurality of CTMs, where the SI is configured to control the plurality of CTMs to enable or disable at least a portion of the debug network to allow an isolated partition to be debugged independently of another isolated partition. A method may include enabling or disabling, by the SI, buses between the MCTs to create isolated debug networks, each isolated debug network corresponding to a distinct isolated partition of processor cores.

Claims (36)

1 . An integrated circuit, comprising:

a plurality of multi-cluster tiles (MCTs), wherein each MCT is allocated to one of four quartiles and each MCT comprises:

a plurality of processor cores, wherein each processor core is assigned to a respective isolated partition of processor cores, from a plurality of isolated partitions; and

a cross-trigger matrix (CTM) communicatively coupled to the respective plurality of processor cores to transmit a trigger request to a particular isolated partition from the plurality of isolated partitions;

wherein, collectively, the CTMs from each MCT establish a debug network;

a System Interface (SI) coupled to each CTM, wherein the SI is configured to:

determine that a first MCT of the plurality of MCTs is in a first quartile of the four quartiles and includes a first set of processor cores in a first isolated partition out of the plurality of isolated partitions,

determine that a second MCT of the plurality of MCTs is in a second quartile of the four quartiles and includes a second set of processor cores in the first isolated partition out of the plurality of isolated partitions, and

control a first CTM of the first MCT and a second CTM of the second MCT to disable a portion of the debug network associated with the first isolated partition to allow an isolated partition to be debugged independently of another isolated partition.

2 . The integrated circuit of claim 1 , wherein the SI is configured to allow all processor cores within the respective isolated partition to be at least one of: halted, single-stepped, or interrogated, without affecting any operation of any other processor core of any other isolated partition.

3 . The integrated circuit of claim 1 , wherein the SI is configured to allow any processor cores within the respective isolated partition to receive a debug command without affecting any operation of any other processor core of any other isolated partition.

4 . The integrated circuit of claim 3 , wherein the debug command comprises at least one of: a break, a step, or a register dump command.

5 . The integrated circuit of claim 1 , wherein each isolated partition comprises a configuration of either 16, 32, 64, 128, or 256 processor cores of the plurality of processor cores, and wherein the SI is configured to allow any individual processor core within any individual isolated partition to be traced without regard to the configuration of the individual isolated partition.

6 . The integrated circuit of claim 1 , wherein each isolated partition comprises a configuration of either 16, 32, 64, 128, or 256 processor cores of the plurality of processor cores, wherein each isolated partition executes a plurality of virtual applications on its respective processor cores, and wherein the SI is configured to allow each of the virtual applications to be monitored for performance without regard to the configuration of the respective isolated partition.

7 . The integrated circuit of claim 1 , wherein the SI is configured to select the portion of the debug network based, at least in part, upon a configuration of the isolated partitions of processor cores.

8 . The integrated circuit of claim 1 , wherein the SI is configured to enable or disable the portion of the debug network at run-time.

9 . The integrated circuit of claim 1 , wherein the SI is configured to control the plurality of CTMs in response to an indication that the isolated partitions have been reconfigured.

10 . The integrated circuit of claim 9 , wherein the SI is configured to control another one or more of the plurality of CTMs to enable or disable at least another portion of the debug network to allow a reconfigured isolated partition to be debugged independently of another reconfigured isolated partition.

11 . The integrated circuit of claim 1 , wherein at least a given one of the plurality of isolated partitions enables a debugging of applications executed on processor cores of the given isolated partition.

12 . The integrated circuit of claim 11 , wherein the applications comprise virtual applications.

13 . A method, comprising:

receiving, at a System Interface (SI) of a hardware accelerator having a plurality of multi-cluster tiles (MCTs), wherein each MCT is allocated to one of four quartiles and comprises a plurality of processor cores and a dedicated cross-trigger matrix (CTM) communicatively coupled to the respective plurality of processor cores, an indication of configuration of a plurality of isolated partitions of processor cores;

determining, by the SI, that a first MCT of the plurality of MCTs is in a first quartile of the four quartiles and includes a first set of processor cores in a first isolated partition out of the plurality of isolated partitions;

determining, by the SI, that a second MCT of the plurality of MCTs is in a second quartile of the four quartiles and includes a second set of processor cores in the first isolated partition out of the plurality of isolated partitions; and

controlling a first CTM of the first MCT and a second CTM of the second MCT to disable a portion of a debug network associated with the first isolated partition by disabling, by the SI, one or more buses between two or more of the plurality of MCTs via the dedicated cross-trigger matrix to create a plurality of isolated debug networks, each isolated debug network corresponding to a distinct isolated partition of processor cores.

14 . The method of claim 13 , wherein the indication is received at run-time.

15 . The method of claim 13 , wherein the one or more buses include a router bus, a message bus, and a broadcast bus.

16 . The method of claim 13 , wherein enabling or disabling the one or more buses further comprises transmitting a signal, by the SI, to the dedicated CTM.

17 . A hardware accelerator, comprising:

an isolated partition control circuit coupled to a plurality of processor cores within multi-cluster tiles (MCTs), wherein each MCT is allocated to one set of a plurality of MCT sets, the isolated partition control circuit configured to dynamically partition the plurality of processor cores into a plurality of isolated partitions to prevent an application executed on one more processor cores of a first isolated partition from corrupting or interfering with another application executed on a different one or more processor cores of a second isolated partition; and

a System Interface (SI) configured to:

determine that a first MCT of the plurality of MCTs is in a first set of the plurality of sets and is associated with a first set of processor cores in a first isolated partition out of the plurality of isolated partitions,

determine that a second MCT of the plurality of MCTs is in a second set of the plurality of sets and includes a second set of processor cores in the first isolated partition out of the plurality of isolated partitions, and

control a first CTM of the first MCT and a second CTM of the second MCT to disable one or more buses between two or more of the plurality of MCTs to create a plurality of isolated debug networks wherein a portion of the plurality of isolated debug networks associated the first isolated portion is disabled, each isolated debug network corresponding to a distinct isolated partition.

18 . The hardware accelerator of claim 17 , further comprising a plurality of mesh routers coupled to the isolated partition control circuit, wherein the isolated partition control circuit is configured to use at least one of the plurality of mesh routers to enable or disable one or more other buses to dynamically partition the plurality of processor cores.

19 . The hardware accelerator of claim 18 , wherein the one or more other buses comprise at least one of: a router bus, a message bus, or a broadcast bus.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 25, 2023
From: MILLER, GARY L.; SINGH, DEVENDRA BAHADUR; GAMONEDA, JONATHAN; KIMELMAN, PAUL; YISHAY, ODED
To: NXP USA, INC.
Reel/Frame 064700/0983 →
Priority Claims (1)
IN 202311009355 · Feb 13, 2023 · national
Continuity (1)
Related Publication 20240272978A1 · Aug 15, 2024
References Cited (30)
US 7743375B2 · Goodman et al. · 2010 [cited by applicant]
US 8738860B1 · Griffin · 2014 [cited by examiner]
US 9665466B2 · Brites et al. · 2017 [cited by applicant]
US 10635622B2 · Bilski · 2020 [cited by examiner]
US 10949352B1 · Kimelman · 2021 [cited by applicant]
US 11119922B1 · Kimelman et al. · 2021 [cited by applicant]
US 11488935B1 · Zaman et al. · 2022 [cited by applicant]
US 11489788B2 · Zheng et al. · 2022 [cited by applicant]
US 20030140263A1 · Arends · 2003 [cited by examiner]
US 20050034017A1 · Airaud · 2005 [cited by examiner]
US 20100174892A1 · Steeb · 2010 [cited by examiner]
US 20110307741A1 · Chen · 2011 [cited by examiner]
US 20120131309A1 · Johnson · 2012 [cited by examiner]
US 20130326203A1 · Usui · 2013 [cited by examiner]
US 20140300490A1 · Kotz et al. · 2014 [cited by applicant]
US 20170199835A1 · Kim et al. · 2017 [cited by applicant]
US 20200183738A1 · Champigny · 2020 [cited by applicant]
US 20200301754A1 · Fumey et al. · 2020 [cited by applicant]
US 20210073125A1 · Duluk, Jr. et al. · 2021 [cited by applicant]
US 20220113915A1 · Ki et al. · 2022 [cited by applicant]
US 20220137819A1 · Dong et al. · 2022 [cited by applicant]
US 20220342702A1 · Drory et al. · 2022 [cited by applicant]
US 20220405454A1 · Kalyanasundaram et al. · 2022 [cited by applicant]
Cilku et al. “A dual-layer bus arbiter for mixed-criticality systems with hypervisors”. IEEE Xplore. Jul. 2014. (Year: 2014). [cited by examiner]
Chi-Neng Wen, et al., “NUDA: A Non-Uniform Debugging Architecture and Non-Intrusive Race Detection for Many-Core,” 2009 46th ACM/IEEE Design Automation Conference, San Francisco, Ca, USA, Date of Conference: Jul. 26-31,… [cited by applicant]
U.S. Appl. No. 18/168,127, filed Feb. 13, 2023, not yet published, 35 pages. [cited by applicant]
Bekim Cilku et al.: “A dual-layer bus arbiter for mixed-criticality systems with hypervisors”, 2014 12th IEEE International Conference on Industrial Informatics (INDIN), Jul. 27, 2014, pp. 147-151. [cited by applicant]
Ramya Jayaram Masti et al. : “Logical Partitions on Many-Core Platforms”, Proceedings of The 2022 International Conference on Management of Data, ACMPUB27, New York, NY, USA, Dec. 7, 2015, pp. 451-460. [cited by applicant]
U.S. Appl. No. 18/168,127 Non Final OA issued on Aug. 12, 2025; 19 pages. [cited by applicant]
Zaruba et al.: “Manticore: A 4096-Core RISC-V Chiplet Architecture for Ultraefficient Floating-Point Computing,” in IEEE Micro, vol. 41, No. 2, pp. 36-42, Mar. 1-Apr. 2021. [cited by applicant]