TIMING EVENT DETECTION
20210143808 · 2021-05-13
Assignee
Inventors
Cpc classification
H03K5/05
ELECTRICITY
International classification
Abstract
It is an objective to provide timing event detection. According to a first aspect, a device, comprises: a clocked conditional buffer configured to set an output of the clocked conditional buffer to a first state during a non-detection period; the clocked conditional buffer further configured to toggle the output from the first state to the second state during a detection period, wherein the toggling being enabled by either one of the two states; and the clocked conditional buffer further configured to guarantee that the output is toggling only to one direction during the detection period. This may prevent false event detections. Furthermore, with respect to a timing point of view, one is able to operate without pulses, where pulse width may be difficult to manage in low voltages.
Claims
1.-20. (canceled)
21. A device, comprising: a clocked conditional buffer having a data input, a further input, and an output, the clocked conditional buffer configured to set the output to a first state during a non-detection period defined by a first value at the further input; the clocked conditional buffer further configured to toggle the output from the first state to the second state during a detection period defined by a second value at the further input, wherein the toggling is enabled by only one of the two possible states at the data input; and the clocked conditional buffer further configured to guarantee that the output is toggling only to one direction during the detection period.
22. The device of claim 21, wherein the clocked conditional buffer is further configured to lack an ability to toggle, during the detection period, to an additional direction other than the one direction.
23. The device of claim 21, wherein: the device comprises a generate block and an event detection device coupled to receive signals generated by the generate block, and the generate block comprises at least one of the clocked conditional buffer according to claim 21.
24. The device of claim 21, further including a second clocked conditional buffer in which the toggling is enabled during the detection period by that one of the two possible states at the data input of the second clocked conditional buffer that is different from the state at the data input of the first clocked conditional buffer that enables the toggling of the first clocked conditional buffer during the detection period.
25. The device of claim 24, wherein the two clocked conditional buffers are connected in parallel.
26. The device of claim 24, wherein the two clocked conditional buffers are connected in series.
27. The device of claim 24, wherein: the first clocked conditional buffer comprises a first clocked conditional inverting buffer, the second clocked conditional buffer comprises a second clocked conditional inverting buffer, the first clocked conditional inverting buffers and the second clocked conditional inverting buffer are each configured to output a first state when a latch associated with the clocked conditional buffers is non-transparent, the first clocked conditional inverting buffer is configured to perform the toggling of its output from the first state to the second state, and the second clocked conditional inverting buffer is configured to perform the toggling of its output from the second state to the first state.
28. The device of claim 27, wherein the first and second clocked conditional buffers are outside a signal path of the latch.
29. The device of claim 27, wherein a transistor is configured to be common to the first and second clocked conditional inverting buffers so that pull-up paths of the first and second clocked inverting buffers are controlled by the common transistor.
30. The device of claim 27, wherein the detection period is a period during which the latch is transparent, and the non-detection period is a period during which the latch is non-transparent.
31. The device of claim 27, wherein: the first and the second clocked conditional inverting buffers receive an inversed clock (XCLK) of a clock (CLK) of the latch, the first clocked conditional inverting buffer receives a data signal as input and the first clocked conditional inverting buffer outputs a first comparative signal, and the second clocked conditional inverting buffer receives the first comparative signal as input and the second clocked conditional inverting buffer outputs a second comparative signal.
32. The device of claim 31, wherein the first comparative signal is a delayed and inverted version of the data signal and the second comparative signal is a delayed and inverted version of the first comparative signal.
Description
DESCRIPTION OF THE DRAWINGS
[0029] The present description will be better understood from the following detailed description read in light of the accompanying drawings, wherein:
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
[0037]
[0038]
[0039]
[0040]
[0041]
[0042]
[0043]
[0044]
[0045]
[0046]
[0047] Like references (such as numerals and abbreviations in capitals) are used to designate like parts in the accompanying drawings.
DETAILED DESCRIPTION
[0048] The detailed description provided below in connection with the appended drawings is intended as a description of the embodiments and is not intended to represent the only forms in which the embodiment may be constructed or utilized. However, the same or equivalent functions and structures may be accomplished by different embodiments.
[0049] Typically, the latch 20 has two different states, a first state and a second state. The states of the latch may be described as being low LOW or high HIGH, which illustrate an example of two different states of a state machine, for example as illustrated in
[0050] There is a general trend to increase the efficiency of microprocessors. The main efficiency increase comes from ultra-low or low voltage subthreshold operation of the circuit and latch 20 and other digital technology processor components. With the low to ultra-low voltage operation, it is feasible to operate approximately at the minimum energy point, which is where energy per digital operation is reduced. Additionally, the elimination of timing margins may bring gains at nominal operating voltages.
[0051] A purpose of an embodiment may be to detect data changing, such as an event, during a detection time, for example a clock phase that a data latch 20 is transparent or a separately generated detection time. The detection device comprises a clocked conditional buffer that is configured to generate output for event detection in either case, the input having changed from low to high or high to low during the detection period. According to an embodiment, one requires two clocked conditional buffers to be able to detect data changes for both directions. However, due to various connection possibilities of two clocked conditional buffers, an embodiment is more concisely described by introducing the operation of one clocked conditional buffer first.
[0052] A clocked conditional buffer may be referred to as a circuit arrangement with one input and one output, wherein during the non-detection phase, for example the associated monitored latch is non-transparent, the output of the buffer is set to either low or high and the input of the buffer has no effect on the output. During the detection phase, the buffer can conditionally toggle its output to the other polarity that it was set to. The toggling operation may be dependent on the input polarity only and the toggling may thus not dependent on input change. The operation of the clocked conditional buffer is configured such that it is not allowed for the buffer to toggle back to the set value once it has been toggled once from the set value, and this functionality gives the buffer the feature ‘conditional’.
[0053] Due to the operation of the clocked conditional buffer, an event during the detection period has occurred, when the buffer output has been toggled and the input of the buffer is at a logic level that does not toggle the buffer. This type of event condition can be easily evaluated by a following digital block.
[0054] There are various embodiments to implement a circuit block with the functionality described above. The buffer can be set to either low LOW or high HIGH state during the non-detection phase and can be toggled to one direction by either low LOW or high HIGH input level during the detection phase. In a CMOS case, NMOS-transistors are used to pull a node to low LOW and PMOS transistors are used to pull a node high HIGH. However, especially at low voltages, NMOS-transistor can also be used to pull-up and PMOS-transistor can be used for pulling down a node. When using NMOS for pull-down and PMOS for pull-up, two different exemplary buffers can be constructed, where in the first buffer, the set phase sets the output LOW, and in the second exemplary buffer the output is set high HIGH during the non-detection phase. Transistor level arrangements are shown in
[0055]
[0056] In
[0057]
[0058] In
[0059] Since it is also possible to have (at least partial) a pull-up functionality with an NMOS transistor and (at least partial) a pull-down functionality with PMOS transistor, non-inverting buffers may also be embodied implementations. Two embodied configurations are shown in
[0060] To be able to detect data input change to both directions one requires two clocked conditional buffers where one monitors the input changing from high HIGH to low LOW and the other monitors the low LOW to HIGH transition. There are various possibilities to connect the two buffers to receive the input value during the detection phase so that changes in the data during that phase can be monitored. The buffers can be connected in parallel or in series where the only requirement for the selection of the types of the two buffers is that one is monitoring the LOW-to-HIGH transition and the other is monitoring the HIGH-to-LOW transition. In
[0061] The arrangement for the following logic to extract the event occurrence from the inputs and outputs of the buffers varies from buffer type selection to selection. One of the most efficient manners to connect the two buffers is to connect two similar inverting buffers in series. This type of arrangement is described in more detail next.
[0062] According to an embodiment, a data signal polarity change may be detected during the latch transparency period. Consequently, a possible event may be detected.
[0063] Consequently, because the latch 20 is transparent during the clock CLK being high HIGH, the output of the circuit 10 is always low LOW during the non-transparent phase of the latch 20. This may eliminate the possibility of the event signal. Furthermore, because each of the inventing buffers may only operate in one direction, from a timing point of view the circuit and latch 20 may be operated completely without pulses, where a pulse width may be extremely difficult to manage, especially in the low voltages.
[0064] According to an embodiment, the event detection device comprises a detect block (for example reference 101 in
[0065] Referring to
[0066] The generate block 100 receives a clock signal CLK and a data input signal D as inputs. The generate block 100 is configured for generating a delayed version XD and/or an inverted version XXD of the data input D for the detect block 101. The generate block 100 also passes on the data input D to the detect block 101. The detect block 101 is configured for performing a simple logic operation between the input D and it's delayed and/or inverted versions XD, XXD. According to an embodiment, to have a simple detect block 100, the inverted/delayed versions XD, XXD of the data input D may be essentially set to predetermined logic values during the non-detection phase within the generate block 100. The detect block 101 may trigger an event as an outcome of the signals D, XD and/or XXD. For example, a certain event may be triggered by a certain combination of the states of the signals D, XD, and XXD. The event may be further used and processed within a computing device for detecting the event.
[0067] The generate and detect blocs 100,101 are described separately, whereby both blocks 100,101 can have different embodiments. The circuit diagrams in
[0068] Referring to
[0069] According to an embodiment, the generation of XD and XXD may be blocked during the non-transparent phase of the main latch operation. Therefore, the simple inverters of
[0070] The inverting buffer, for example, comprises transistors M1, M2 and M3. The inverting buffer receives inputs of an inversed clock XCLK and a data signal IN. Furthermore, the inverting buffer is connected to the operation voltage VDD and ground GND. In the embodiment of
[0071] The generate block 100, according to an embodiment, is illustrated in
[0072] The operation of the embodiment of
[0073] In the first option, the input D is high HIGH at the beginning of the detection phase and stays high HIGH for the whole detection period. At the beginning of the detection period, the signal XD is low LOW and the signal XD stays low LOW for the whole detection period. Furthermore, at the beginning of the detection period, since the signal XD is low LOW, the signal XXD is pulled high HIGH, and the signal XXD stays high HIGH for the whole detection period.
[0074] In the second option, the input D is low LOW at the beginning of the detection phase and stays low LOW for the whole detection period. At the beginning of the detection period, the signal XD is low LOW and is pulled high HIGH, and the signal XD stays high HIGH for the whole detection period. At the beginning of the detection period, the signal XXD is initially low LOW, and since the signal XD is pulled high HIGH, the signal XXD stays low LOW for the whole detection period.
[0075] In the third option, the input D is low LOW at the beginning of the detection phase and turns high HIGH during the detection period. At the beginning of the detection period, the signal XD is low LOW and the signal XD is pulled high HIGH, and the signal XD stays high HIGH for the whole detection period, since the first clocked conditional inverting buffer lacks the pull-down operation. At the beginning of the detection period, the signal XXD is initially low LOW, and since the signal XD is pulled high HIGH, the signal XXD stays low LOW for the whole detection period.
[0076] In the fourth option, the input D is high HIGH at the beginning of the detection phase and turns low LOW during the detection period. At the beginning of the detection period, the signal XD is low LOW and the signal XD stays low LOW until the signal D goes low LOW, and then the signal XD is pulled high HIGH and stays high HIGH for the rest of the detection period. At the beginning of the detection period, since the signal XD is low LOW, the signal XXD is pulled high HIGH, and the signal XXD stays high HIGH for the whole detection period, since the second clocked conditional inverting buffer lacks the pull-down operation.
[0077] From these four possible scenarios, according to the embodiment, an event EVENT is detected in the third and fourth options and not detected in the first and second options. The event may be extracted by monitoring options where signals D and XD are simultaneously high HIGH or where signals XD and XXD are simultaneously high HIGH. The monitoring is performed by the detect block 101 for example as described in the embodiments below.
[0078] According to an embodiment, there are certain design issues that are considered for the generate block 101. For example, the nodes XD and XXD may be conditionally floating, leaving them possibly susceptible of either transistor leakage or power supply disturbance to destroy the floating logic levels. Moreover, the timing of the clocked conditional inverting buffers may be arranged in such a manner that if the first clocked conditional inverting buffer is to be pulled high HIGH during the beginning of the detection period (signal D being low LOW), the second clocked conditional inverting buffer does not have time to go high HIGH (for example for the third option above).
[0079]
[0080] The conditional floating of the node XD can be removed by adding a weak pull-down keeper M7 as illustrated in
[0081]
[0082] The detect block 101 may be implemented by performing a logic function of the signals XD(D+XXD), or according to another embodiment having the inverted version as illustrated
[0083] This is not the case in the third option above when the signal D goes high HIGH during the detection period, since the corresponding pull-down transistor M5 in
[0084] Whereas the detection arrangement of
[0085] According to an embodiment, more than one pull-down networks may be connected to the same pull-up network. Moreover, there is no need to have a dedicated reset transistor RESET in the pull-down path (in series with other pull-down transistors) taking care of inhibiting short-circuit currents during the reset operation RESET. This additional transistor may create a transistor stack of three in the pull-down path. The transistor may be an NMOS transistor.
[0086] The transistor may encompass both N-type and P-type metal oxide field effect (MOS) transistors, depending on circuit. Further encompassed are MOS transistors where different parameters such as VT, material type, gate size and configuration, insulator thickness, etc. vary. According to another embodiment, the transistor can also include other FET-type and bipolar-junction transistors and other types of transistors.
[0087] The functionality described herein can be performed, at least in part, by one or more hardware logic components. Alternatively, or in addition, the functionality described herein can be performed, at least in part, by one or more computer program product components such as software components. According to an embodiment, the device comprises a processor configured by the program code when executed to execute the embodiments of the operations and functionality described.
[0088] Any range or device value given herein may be extended or altered without losing the effect sought. Also any embodiment may be combined with another embodiment unless explicitly disallowed.
[0089] Although the subject matter has been described in language specific to structural features and/or acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as examples of implementing the claims and other equivalent features and acts are intended to be within the scope of the claims.
[0090] It will be understood that the benefits and advantages described above may relate to one embodiment or may relate to several embodiments. The embodiments are not limited to those that solve any or all of the stated problems or those that have any or all of the stated benefits and advantages. It will further be understood that reference to ‘an’ item may refer to one or more of those items.
[0091] The steps of the methods described herein may be carried out in any suitable order, or simultaneously where appropriate. Additionally, individual blocks may be deleted from any of the methods without departing from the spirit and scope of the subject matter described herein. Aspects of any of the embodiments described above may be combined with aspects of any of the other embodiments described to form further embodiments without losing the effect sought.
[0092] The term ‘comprising’ is used herein to mean including the method, blocks or elements identified, but that such blocks or elements do not comprise an exclusive list and a method or apparatus may contain additional blocks or elements.
[0093] It will be understood that the above description is given by way of example only and that various modifications may be made by those skilled in the art. The above specification, examples and data provide a complete description of the structure and use of exemplary embodiments. Although various embodiments have been described above with a certain degree of particularity, or with reference to one or more individual embodiments, those skilled in the art could make numerous alterations to the disclosed embodiments without departing from the spirit or scope of this specification.