1. Technical Field
This disclosure relates to integrated circuits, and more particularly to one-of-n logic circuits.
2. Description of the Related Art
Generally speaking, N-nary logic, which is commonly referred to as N-nary dynamic logic or NDL, refers to a logic family which supports a variety of signal encodings that are of the 1 of n form where n may be any integer greater than one. A more common implementation of NDL uses 1 of four encodings, which uses four wires or signals to indicate one of four possible values.
In the N-nary design style, a 1 of four (or a 1 of n) signal corresponds to a bundle of wires kept together throughout the inter-cell route, which requires the assertion of no more than one wire either while precharging or evaluating. A traditional binary logic design in comparison would use only two wires to indicate four values by asserting neither, one, or both wires together. The number of additional wires represents one difference of the N-nary logic style, and on the surface makes it appear unacceptable for use in microprocessor designs. One-of-n signals are less information efficient than traditional signals because they require at least twice the number of wires, but N-nary signals have the advantage of including signal validation information, which is not possible with traditional signals. It is this additional information (the fact that when zero wires are asserted the result is not yet known) that indirectly allows us to eliminate P-channel logic and all of the series synchronization elements required in traditional designs.
In designs that use the one-of-n encodings, it is sometimes necessary to use a storage element. However, to use a conventional storage element, the one-of-n signal encoding must first be converted to a one of one encoding, which is inefficient. In addition, conventional storage elements are typically clocked devices, which causes additional power consumption.
Various embodiments of a one-of-n storage cell of an integrated circuit are disclosed. Broadly speaking, a one-of-n storage cell is contemplated for use in an N-nary dynamic logic (NDL) circuit. The storage cell may accept an input value and provide a complemented output value that corresponds to the input value. However, if an input value that corresponds to a precharge input value is received, the output value remains the previous output value. The storage cell may be implemented to accept either inverted or non-inverted one-of-n NDL signals and to provide as an output either non-inverted or inverted one-of-N NDL signals, respectively, where N is greater than two.
In one embodiment, the storage cell includes a number of logic tree circuits that may receive an input value including a number of input signals and provide a corresponding output value including a number of output signals in response to receiving the input value. Depending on the configuration, one of the of input signals or the output signals may correspond to N-Nary one-of-N signals, where N is greater than two. In addition, in response to receiving an input value that corresponds to a precharge input value, the logic tree circuits may output a last previous output value, and for each other input value, the logic tree circuits may output a complemented input value.
In one specific implementation, the input value is an encoded value and in response to the input signals corresponding to N-Nary one-of-N signals, at most one signal of the input value is asserted to a logic value of one at any given time for a valid input value.
In yet another specific implementation, the output value is an encoded value and in response to the output signals corresponding to N-Nary one-of-N signals, at most one signal of the output value is asserted to a logic value of one at any given time for a valid output value.
Specific embodiments are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the drawings and detailed description are not intended to limit the claims to the particular embodiments disclosed, even where only a single embodiment is described with respect to a particular feature. On the contrary, the intention is to cover all modifications, equivalents and alternatives that would be apparent to a person skilled in the art having the benefit of this disclosure. Examples of features provided in the disclosure are intended to be illustrative rather than restrictive unless stated otherwise.
As used throughout this application, the word “may” is used in a permissive sense (i.e., meaning having the potential to), rather than the mandatory sense (i.e., meaning must). Similarly, the words “include,” “including,” and “includes” mean including, but not limited to.
Various units, circuits, or other components may be described as “configured to” perform a task or tasks. In such contexts, “configured to” is a broad recitation of structure generally meaning “having circuitry that” performs the task or tasks during operation. As such, the unit/circuit/component can be configured to perform the task even when the unit/circuit/component is not currently on. In general, the circuitry that forms the structure corresponding to “configured to” may include hardware circuits. Similarly, various units/circuits/components may be described as performing a task or tasks, for convenience in the description. Such descriptions should be interpreted as including the phrase “configured to.” Reciting a unit/circuit/component that is configured to perform one or more tasks is expressly intended not to invoke 35 U.S.C. §112, paragraph six, interpretation for that unit/circuit/component.
The scope of the present disclosure includes any feature or combination of features disclosed herein (either explicitly or implicitly), or any generalization thereof, whether or not it mitigates any or all of the problems addressed herein. Accordingly, new claims may be formulated during prosecution of this application (or an application claiming priority thereto) to any such combination of features. In particular, with reference to the appended claims, features from dependent claims may be combined with those of the independent claims and features from respective independent claims may be combined in any appropriate manner and not merely in the specific combinations enumerated in the appended claims.
Turning now to
In the illustrated embodiment, the NDL gate 17 includes an evaluation circuit, which includes the transistor designated ‘eval’, a pre-charge circuit, which includes the transistor designated as ‘pre-charge’ and a logic tree circuit 117. In addition, as is typical of most NDL gates, the NDL gate 17 also includes an output circuit 120 which includes an inverter I10 and a holding transistor designated ‘hold’. In various embodiments, the CKA clock signal precharges the output during a precharge pulse portion (i.e., CKA is low) of the CKA signal. The output hold circuit 120 latches the precharge value. When CKA transitions to a logic value of one, the input value that appears at inputs to the logic tree 117 are evaluated. Typically, the logic tree of an NDL gate includes a stack of n-type transistors configured to perform a particular logic function, for example. If the logic evaluates to a logic zero, the eval transistor provides a path to ground, and for that portion of the CKA clock cycle, the output value will correspond to the input value based upon the logic function.
Generally speaking, an NDL gate such as NDL gate 17 provides an output which has zero or at most one asserted signal at any given time. This is sometimes referred to as zero or one-hot signaling. Accordingly, the NDL gate 17 provides one-hot signaling to the one-of-n storage cell 15. As will be described in greater detail below in conjunction with the description of
It is noted that there are other ways to send the signals to the storage cell 15. Accordingly,
Referring to
More particularly, although not an ideal configuration, the output signal may be taken from the NDL gate 217 at the input of the output inverter I10. Doing so would provide inverted input signals Ā through
Turning to
As shown, the NDL gate 317 includes an additional inverter I11 at its output. Accordingly, similar to the embodiment of
Referring to
Turning to
As shown in
The interconnection of the transistors in each logic tree circuit provides outputs that correspond to inputs as shown in the truth table shown in Table 1 below. In the illustrated embodiment, the storage cell 515 is an inverting cell, in which the output value corresponds to a complemented input value, with the exception of when all the inputs are all ones. This input value corresponds to a pre-charge input value. This is the storage (or latched) state of the storage cell, and corresponds to the (inverted) value produced by a sending NDL gate during the pre-charge portion of the cycle. Thus, the storage cell 15 may hold the input value or a next NDL gate, while the sending NDL gate goes into pre-charge.
The inputs are listed on the left side of the truth table, and the outputs are on the right side. As shown, when the inputs are all ones, the output remains the same value that was output from the previous input value. In all other cases the output value is a complemented input value.
In the present one-of four embodiment of
Referring now to
Turning to
Accordingly, as shown in
It is noted that as described above, since downstream NDL gates may require one-hot signaling, in one embodiment, there may be local inversion (not shown in
Turning to
In the illustrated embodiment, the system 800 includes at least one instance of the integrated circuit 810. The integrated circuit 810 may be representative of any of the integrated circuits 10, 210, 310, and 410 and include one or more instances of the one-of-n storage cell (from
The peripherals 807 may include any desired circuitry, depending on the type of system. For example, in one embodiment, the system 800 may be included in a mobile device (e.g., personal digital assistant (PDA), smart phone, etc.) and the peripherals 807 may include devices for various types of wireless communication, such as WiFi, Bluetooth, cellular, global positioning system, etc. The peripherals 807 may also include additional storage, including RAM storage, solid-state storage, or disk storage. The peripherals 807 may include user interface devices such as a display screen, including touch display screens or multitouch display screens, keyboard or other input devices, microphones, speakers, etc. In other embodiments, the system 300 may be included in any type of computing system (e.g. desktop personal computer, laptop, workstation, net top etc.).
The external system memory 805 may include any type of memory. For example, the external memory 805 may be in the DRAM family such as synchronous DRAM (SDRAM), double data rate (DDR, DDR2, DDR3, etc.), or any low power version thereof. However, external memory 805 may also be implemented in SDRAM, static RAM (SRAM), or other types of RAM, etc.
Although the embodiments above have been described in considerable detail, numerous variations and modifications will become apparent to those skilled in the art once the above disclosure is fully appreciated. It is intended that the following claims be interpreted to embrace all such variations and modifications.
Number | Name | Date | Kind |
---|---|---|---|
5850157 | Zhu et al. | Dec 1998 | A |
6066965 | Blomgren | May 2000 | A |
6069497 | Blomgren et al. | May 2000 | A |
6202194 | Seningen et al. | Mar 2001 | B1 |
6317350 | Pereira et al. | Nov 2001 | B1 |
6529045 | Ye et al. | Mar 2003 | B2 |
6570408 | Nowka | May 2003 | B2 |
6590423 | Wong | Jul 2003 | B1 |
6714045 | Potter et al. | Mar 2004 | B2 |
6911846 | Blomgren et al. | Jun 2005 | B1 |
6956406 | Seningen et al. | Oct 2005 | B2 |
7268633 | von Kaenel | Sep 2007 | B2 |
7395286 | Koh et al. | Jul 2008 | B1 |
7598774 | Belluomini et al. | Oct 2009 | B2 |
7679979 | Kim | Mar 2010 | B1 |
7782126 | Cagno et al. | Aug 2010 | B2 |
7894226 | Ali et al. | Feb 2011 | B2 |
7932750 | Kim | Apr 2011 | B2 |
8169246 | Malik et al. | May 2012 | B2 |
8174918 | Hess | May 2012 | B2 |
20030110404 | Seningen et al. | Jun 2003 | A1 |
20090294822 | Batude et al. | Dec 2009 | A1 |
20100052743 | Kamizuma et al. | Mar 2010 | A1 |
20100117703 | Zhu et al. | May 2010 | A1 |
20110140753 | Papaefthymiou et al. | Jun 2011 | A1 |
20120151426 | Marrou | Jun 2012 | A1 |
Entry |
---|
U.S. Appl. No. 13/454,830, entitled “Method for Testing Integrated Circuits with Hysteresis”, by Anh T. Hoang, Brian S. Park and Patrick D. McNamara, filed Apr. 24, 2012. 30 pages. |
U.S. Appl. No. 13/274,662, entitled “Reduced Voltage Swing Clock Distribution”, by Michael E. Runas and James S. Blomgren, filed Oct. 17, 2011. 36 pages. |
Stroud; “Anatomy of a Flip-Flop ELEC 4200 Set-Reset (SR) Latch;” Auburn University, Aug. 2006. |
Number | Date | Country | |
---|---|---|---|
20130049805 A1 | Feb 2013 | US |