Semiconductor device and debug method

US10970191B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10970191-B2
Application numberUS-201916406845-A
CountryUS
Kind codeB2
Filing dateMay 8, 2019
Priority dateMay 25, 2018
Publication dateApr 6, 2021
Grant dateApr 6, 2021

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Debugging a program in an apparatus using a lockstep method are more efficiently performed and a semiconductor apparatus includes a first processor core, a second processor core, a first debug circuit, a second debug circuit, and an error control circuit capable of outputting an error signal for stopping execution of a program by the first processor core and the second processor core. The second debug circuit performs setting regarding debugging different from that of the first processor core with respect to the second processor core. Even if a first processing result of the first processor core and a second processing result of the second processor core do not coincide with each other, the error control circuit invalidates the output of the error signal when the first processor core executes the program and the second processor core stops execution of the program based on the setting regarding debugging.

First claim

Opening claim text (preview).

What is claimed is: 1. A semiconductor apparatus comprising: a first processor core that executes a program; a second processor core that executes the program, the second processor core having a redundant configuration with respect to the first processor core; a first debug circuit that performs a first debug setting for the first processor core; a second debug circuit that 1) performs a second debug setting for the second processor core and 2) sets a breakpoint for stopping the execution of the program by the second processor core, the second debug setting being different from the first debug setting; a determination circuit that determines whether a first processing result of the program by the first processor core matches a second processing result of the program by the second processor core; and an error control circuit that outputs an error signal for stopping the execution of the program by both the first processor core and the second processor core based on a determination result of the determination circuit that the first processing result does not match the second processing result, wherein when the breakpoint is reached, the second processor core stops the execution of the program, wherein when the second processor core stops the execution of the program in response to the breakpoint being reached while the first processor core continues to execute the program, the error control circuit prevents the error signal from being output even if the first processing result does not match the second processing result, wherein the error control circuit disables outputting the error signal; wherein the second debug circuit injects instructions for a predetermined cycle into an instruction buffer of the second processor core in accordance with an instruction from an emulator, wherein the instructions for the predetermined cycles are not injected into the instruction buffer of the first processor core; wherein the execution of program of the second processor core is delayed by the predetermined cycle from the execution of the program of the first processor core, and wherein the second processor core stops execution of the program when the first processor core stops execution of the program. 2. The semiconductor apparatus according to claim 1 further comprising a selection circuit that selects at least one of the first debug circuit and the second debug circuit to provide the instruction from the emulator, wherein the first debug circuit performs the first setting regarding the debugging in accordance with the instruction from the emulator, wherein the second debug circuit performs the second setting regarding the debugging in accordance with the instruction from the emulator. 3. The semiconductor apparatus according to claim 1 , wherein the second debug circuit acquires internal information of the second processor core in which execution of the program is stopped. 4. The semiconductor apparatus according to claim 1 , wherein stopping the execution of the program by the second processor core includes: executes an instruction included in the program; determines whether the breakpoint is reached based on an execution address of the instruction and the breakpoint set by the second debug circuit; and stops the execution of the program based on 1) determining that the breakpoint is reached and 2) the first processing result not matching the second processing result. 5. The semiconductor apparatus according to claim 1 , wherein the first debug circuit acquires internal information of the first processor core after the first processor core is stopped, and wherein the second debug circuit acquires internal information of the stopped second processor core after the second processor core is stopped. 6. A semiconductor apparatus comprising: a first processor core that 1) executes a program and 2) includes a first initialization target register; a second processor core that 1) executes the program and 2) includes a second initialization target register, the second initialization target register of the second processor core corresponding to the first initialization target register of the first processor core, the second processor core having a redundant configuration with respect to the first processor core; a first debug circuit that 1) performs a first debug setting for the first processor core and 2) sets, in the first initialization target register, an initial value specified by the program to be executed by the first processor core; a second debug circuit that 1) performs a second debug setting for the second processor core, the second debug setting being different from the first debug setting, and 2) sets, in the second initialization target register, the initial value specified by the program to be executed by the second processor core; a determination circuit that determines whether a first processing result of the program by the first processor core matches a second processing result of the program by the second processor core; and an error control circuit that outputs an error signal for stopping the execution of the program by both the first processor core and the second processor core based on a determination result of the determination circuit that the first processing result does not match the second processing result, wherein the first processor core and the second processor core start execution of the program after both the first processor core and the second processor core complete writing the initial value specified by the program into the first initialization target register and the second initialization target register, respectively, wherein the error control circuit disables outputting the error signal; wherein the second debug circuit injects instructions for a predetermined cycle into an instruction buffer of the second processor core in accordance with an instruction from an emulator, wherein the instructions for the predetermined cycles are not injected into the instruction buffer of the first processor core; wherein the execution of program of the second processor core is delayed by the predetermined cycle from the execution of the program of the first processor core, and wherein the second processor core stops execution of the program when the first processor core stops execution of the program. 7. The semiconductor apparatus according to claim 6 , wherein the first debug circuit acquires internal information of the first processor core after the first processor core is stopped, and wherein the second debug circuit acquires internal information of the second processor core after the second processor core is stopped. 8. A debugging method executed by a computer including 1) a first processor core that executes a program and 2) a second processor core that i) executes the program and ii) has a redundant configuration with respect to the first processor core, the debugging method comprising: setting a breakpoint for stopping the execution of the program by the second processor core; performing 1) a first debug setting for the first processor core and 2) a second debug setting for the second processor core, the second debug setting being different from the first debug setting; and outputting an error signal for stopping the execution of the program by both the first processor core and the second processor core based on determining that a first processing result of the program by the first processor core does not match a second processing result of the program by the second processor core, wherein when the breakpoint is reached, the second processor core stops the execution of the program, wherein when the second processor core stops the execution of the program in response to the breakpoint being reached

Assignees

Inventors

Classifications

  • Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers · CPC title

  • G06F11/362Primary

    Debugging of software · CPC title

  • according to data descriptor, e.g. dynamic data typing · CPC title

  • in-circuit-emulation [ICE] arrangements · CPC title

  • where the comparison is not performed by the redundant processing components · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10970191B2 cover?
Debugging a program in an apparatus using a lockstep method are more efficiently performed and a semiconductor apparatus includes a first processor core, a second processor core, a first debug circuit, a second debug circuit, and an error control circuit capable of outputting an error signal for stopping execution of a program by the first processor core and the second processor core. The secon…
Who is the assignee on this patent?
Renesas Electronics Corp
What technology area does this patent fall under?
Primary CPC classification G06F11/362. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 06 2021 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 11 related publications on this page (citations in our corpus or others sharing the same primary CPC).