Data unit breakpointing circuits and methods
US-10621067-B1 · Apr 14, 2020 · US
US10970191B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10970191-B2 |
| Application number | US-201916406845-A |
| Country | US |
| Kind code | B2 |
| Filing date | May 8, 2019 |
| Priority date | May 25, 2018 |
| Publication date | Apr 6, 2021 |
| Grant date | Apr 6, 2021 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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
Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers · CPC title
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.