Breakpoint logic unit, debug logic and breakpoint method for a data processing apparatus
First Claim
1. A breakpoint logic unit for a data processing apparatus, comprising:
- a value storage configured to store data indicative of a selected value for an operational characteristic of the data processing apparatus;
comparator logic configured to compare said selected value with a value of said operational characteristic as generated by the data processing apparatus and to generate at least one result signal indicative of a match between said value and said selected value;
a control storage configured to store a match control value, if the match control value has a first value the comparator logic being operable to set the at least one result signal if a match is detected between said value and said selected value, while if the match control value has a second value the comparator logic being operable to set the at least one result signal if a match is not detected between said value and said selected value; and
breakpoint generation logic configured to enable generation of an associated at least one breakpoint signal if the at least one result signal is set;
wherein the at least one result signal comprises a single result signal, and the breakpoint generation logic is configured to enable generation of an associated single breakpoint signal if the result signal is set;
wherein said operational characteristic is an indication of an instruction fetch address, and wherein;
the instructions employed in the data processing apparatus are of variable width;
said control storage is configured to store a mask comprising a number of bits;
the comparator logic includes mask logic configured to receive a width control signal indicative of the width of the instruction the subject of the instruction fetch, and to select one or more bits of the mask dependent on the value of the width control signal and a predetermined number of least significant bits of the instruction fetch address generated by the data processing apparatus, the mask logic being further operable to generate a qualifier value derived from the selected one or more bits of the mask;
the remaining bits of said instruction address forming the value of the operational characteristic compared by the comparator logic with the selected value, and the comparator logic being further configured to generate an intermediate signal indicative of the comparison, the qualifier value being used to qualify the intermediate signal such that a match is only considered to occur if the qualifier value is set.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention provides a breakpoint logic unit, debug logic and breakpoint method for a data processing apparatus. The breakpoint logic unit comprises a value storage operable to store data indicative of a selected value for an operational characteristic of the data processing apparatus, and comparator logic operable to compare the selected value with a value of the operational characteristic as generated by the data processing apparatus. The comparator logic then generates at least one result signal indicative of a match between that value and the selected value. A control storage is also provided for storing a match control value, such that if the match control value has a first value the comparator logic is operable to set the at least one result signal if a match is detected between the value and the selected value, whilst if the match control value has a second value the comparator logic is operable to set the at least one result signal if a match is not detected between the value and the selected value. Breakpoint generation logic is then operable to enable generation of an associated at least one breakpoint signal if the at least one result signal is set. This has been found to provide a particularly flexible and efficient technique for enabling a variety of breakpoint conditions to be programmed within the breakpoint logic unit.
84 Citations
34 Claims
-
1. A breakpoint logic unit for a data processing apparatus, comprising:
-
a value storage configured to store data indicative of a selected value for an operational characteristic of the data processing apparatus; comparator logic configured to compare said selected value with a value of said operational characteristic as generated by the data processing apparatus and to generate at least one result signal indicative of a match between said value and said selected value; a control storage configured to store a match control value, if the match control value has a first value the comparator logic being operable to set the at least one result signal if a match is detected between said value and said selected value, while if the match control value has a second value the comparator logic being operable to set the at least one result signal if a match is not detected between said value and said selected value; and breakpoint generation logic configured to enable generation of an associated at least one breakpoint signal if the at least one result signal is set; wherein the at least one result signal comprises a single result signal, and the breakpoint generation logic is configured to enable generation of an associated single breakpoint signal if the result signal is set; wherein said operational characteristic is an indication of an instruction fetch address, and wherein; the instructions employed in the data processing apparatus are of variable width; said control storage is configured to store a mask comprising a number of bits; the comparator logic includes mask logic configured to receive a width control signal indicative of the width of the instruction the subject of the instruction fetch, and to select one or more bits of the mask dependent on the value of the width control signal and a predetermined number of least significant bits of the instruction fetch address generated by the data processing apparatus, the mask logic being further operable to generate a qualifier value derived from the selected one or more bits of the mask; the remaining bits of said instruction address forming the value of the operational characteristic compared by the comparator logic with the selected value, and the comparator logic being further configured to generate an intermediate signal indicative of the comparison, the qualifier value being used to qualify the intermediate signal such that a match is only considered to occur if the qualifier value is set. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method of enabling generation of a breakpoint signal in a data processing apparatus, comprising:
-
(a) storing data indicative of a selected value for an operational characteristic of the data processing apparatus; (b) comparing within comparator logic said selected value with a value of said operational characteristic as generated by the data processing apparatus and generating at least one result signal indicative of a match between said value and said selected value; (c) storing a match control value; (d) if the match control value has a first value, setting the at least one result signal if a match is detected between said value and said selected value, while if the match control value has a second value setting the at least one result signal if a match is not detected between said value and said selected value; and (e) enabling generation of an associated at least one breakpoint signal if the at least one result signal is set; wherein the at least one result signal comprises a single result signal, and said step (e) enabling generation of an associated single breakpoint signal if the result signal is set; wherein said operational characteristic is an indication of an instruction fetch address and wherein the instructions employed in the data processing apparatus are of variable width, and the method further comprising; storing a mask comprising a number of bits; employing mask logic within the comparator logic to receive a width control signal indicative of the width of the instruction the subject of the instruction fetch, and to select one or more bits of the mask dependent on the value of the width control signal and a predetermined number of least significant bits of the instruction fetch address generated by the data processing apparatus, the mask logic generating a qualifier value derived from the selected one or more bits of the mask; at said step (b) using the remaining bits of said instruction address as the value of the operational characteristic compared with the selected value; and generating an intermediate signal indicative of the comparison, the qualifier value being used to qualify the intermediate signal such that a match is only considered to occur if the qualifier value is set. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A method of enabling generation of a breakpoint signal in a data processing apparatus, comprising:
-
(a) storing data indicative of a selected value for an operational characteristic of the data processing apparatus; (b) comparing within comparator logic said selected value with a value of said operational characteristic as generated by the data processing apparatus and generating at least one result signal indicative of a match between said value and said selected value; (c) storing a match control value; (d) if the match control value has a first value, setting the at least one result signal if a match is detected between said value and said selected value, while if the match control value has a second value setting the at least one result signal if a match is not detected between said value and said selected value; and (e) enabling generation of an associated at least one breakpoint signal if the at least one result signal is set; wherein the at least one result signal comprises a plurality of result signals, and for each said result signal said step (e) enables generation of an associated breakpoint signal if that result signal is set; wherein said operational characteristic is an indication of an instruction fetch address and wherein the instructions employed in the data processing apparatus are of variable length or width, and the method further comprising; storing a mask comprising a number of bits; at said step (b) generating an intermediate signal indicative of the comparison; employing mask logic within the comparator logic to produce a plurality of output signals, each output signal being used in the generation of a corresponding result signal, each output signal being produced by qualifying the intermediate signal by an associated bit of the mask such that that output signal only indicates a match if the intermediate signal is set and the associated bit of the mask is set. - View Dependent Claims (22, 23, 24, 25, 26, 27)
-
-
28. A breakpoint logic unit for a data processing apparatus, comprising:
-
a value storage operable to store data indicative of a selected value for an operational characteristic of the data processing apparatus; comparator logic configured to compare said selected value with a value of said operational characteristic as generated by the data processing apparatus and to generate at least one result signal indicative of a match between said value and said selected value; a control storage configured to store a match control value, if the match control value has a first value the comparator logic being operable to set the at least one result signal if a match is detected between said value and said selected value, while if the match control value has a second value the comparator logic being operable to set the at least one result signal if a match is not detected between said value and said selected value; and breakpoint generation logic configured to enable generation of an associated at least one breakpoint signal if the at least one result signal is set; wherein the at least one result signal comprises a plurality of result signals, and for each said result signal the breakpoint generation logic is configured to enable generation of an associated breakpoint signal if that result signal is set; wherein said operational characteristic is an indication of an instruction fetch address, and wherein; the instructions employed in the data processing apparatus are of variable length or width; said control storage is configured to store a mask comprising a number of bits; the comparator logic is further configured to generate an intermediate signal indicative of the comparison; the comparator logic includes mask logic configured to produce a plurality of output signals, each output signal being used in the generation of a corresponding result signal, each output signal being produced by qualifying the intermediate signal by an associated bit of the mask such that that output signal only indicates a match if the intermediate signal is set and the associated bit of the mask is set. - View Dependent Claims (29, 30, 31, 32, 33, 34)
-
Specification