You are on page 1of 43

3/2/2016

4. Basic Digital Circuits — Introduction to Digital Circuits

BIBLICA

4. Basic Digital Circuits
Digital circuits are compositions of logic gates. A small number of digital circuits occur frequently in larger digital designs, such as multiplexers, encoders,
decoders, and memory elements. In this chapter, we use the method of logical effort to study those basic digital circuits that serve as building blocks
for the construction of larger digital systems.

4.1. Logic Gates
In Section Logic Gates, we introduce logic gates with one and two inputs. Often, we need gates with more than 2 inputs, or wish to design new logic
gates for specific logic functions or timing behavior. In the following we study the design and characterization of logic gates as elementary building blocks
for digital circuits.

4.1.1. Logic Gates with Multiple Inputs
Assume we design a digital circuit and need a NAND gate with 3 inputs. We may assemble the 3­input NAND gate using 2­input NAND gates and an
inverter as building blocks, see Figure 4.1. Using Boolean algebra, it is straightforward to show that this circuit implements the logic function 
There are several problems with this implementation, though. First, the delay from inputs   and   to   is larger than from input   Such asymmetries
can be confusing when designing larger circuits with delay constraints. Second,  the  delay  of  the  longest  path  is  larger  than  necessary,  and,  third,  the
CMOS implementation needs 10 transistors, which is also more than necessary.
A
B
C

Y

Figure 4.1:  3­input NAND gate built from 2­input NAND gates.
An alternative design for the 3­input NAND gate uses CMOS transistors as building blocks, as shown in Figure 4.2. This circuit needs only 6 transistors,
and is symmetric w.r.t. its inputs. Output   is 0 only if all inputs are 1.

 A = 0    

 B = 0    

 C = 0

Figure 4.2:  CMOS circuit of 3­input NAND gate and interactive switch model.
The circuit topology in Figure 4.2 extends to  ­input NAND gates for 
: compose   pMOS transistors in parallel and   nMOS transistors in series.
[1] The series composition of the nMOS transistors determines the on­resistance of the pull­down path. The larger number of inputs, the smaller the pull­
down current and, hence, the larger the delay of the gate. The model of logical effort reflects this dependence of delay on the number of inputs in the
logical  effort  of  the  gate.  The  matched  ­input  NAND  gate  increases  the  width  of  the  nMOS  transistors  to  match  the  drive  current  of  the  reference
inverter. Increasing the transistor widths reduces the on­resistance at the expense of increasing the input capacitance of the gate. This transistor sizing
does not solve the problem that the delay increases with increasing numbers of inputs. It merely shifts the burden from the gate itself to its driver.
To determine the logical effort and parasitic delay of the 3­input NAND gate, we size the transistors to match the output current of the reference inverter.
Figure 4.3 shows the matched 3­input NAND gate with transistor widths. When all inputs are 1, all three nMOS transistors are switched on. The series of
on­resistances sums to a total of 
 To be equal to on­resistance 
 of the reference inverter, we need to triple the widths of the nMOS
transistors of the NAND gate, 
 If one of the NAND inputs is 0, then one pMOS transistor is switched on. To match the on­
resistanace of the reference inverter, we assign the same width 
 to the pMOS transistors of the NAND gate. If more than one
NAND input is 0, then the parallel composition of pMOS transistors has a lower on­resistance than for a single input. The corresponding pull­up delay is
https://bibl.ica.jku.at/app/read/dc/build/html/basiccircuits/basiccircuits.html

1/43

3/2/2016

4. Basic Digital Circuits — Introduction to Digital Circuits

smaller if only one input is 0. Therefore,  using  normalized  pMOS  widths  of  2  units  matches  the  reference  inverter  in  the  worst  case  when  the  pull­up
delay of the NAND gate is largest.

2

2

2
Y

A

3

B

3

C

3

Figure 4.3:  Matched 3­input NAND gate.
The matched 3­input NAND gate enables us to determine the logical effort of a 3­input NAND gate by means of the normalized input capacitances. Each
input, e.g. input   drives two parallel gate capacitances of one pMOS and one nMOS transistor:

Therefore, the logical effort of the 3­input NAND gate is

per  input.  Note  that  the  logical  effort  of  the  3­input  NAND  gate  is  by 
  larger  than  the  logical  effort  of  the  2­input  NAND  gate.  Furthermore,  we
determine the parasitic delay of the 3­input NAND gate by calculating the normalized output capacitance:

Thus, the parasitic delay of a 3­input NAND gate is

We find that the parasitic delay of the 3­input NAND gate is by one delay unit larger than that of the 2­input NAND gate.
For NAND gates with   inputs, the matched gate has nMOS transistors of width   and pMOS transistors of width 2. Therefore, the logical effort of the  ­
input NAND gate is
(1)
per input, and has parasitic delay
(2)
The larger the number of inputs   the larger the logical effort and the parasitic delay of the NAND gate. As a consequence, the more inputs the gate
has, the slower it is, or, from the circuit designer perspective, the more effort we need to invest in the driver circuit to keep the path delay low.
The  design  of  an  ­input NOR gate  procedes  analogously  to  the  ­input  NAND  gate.  The  ­input  NOR  gate  has    parallel  nMOS  transistors  and 
pMOS transistors in series. The matched  ­input NOR gate has nMOS transistors of width 
 and pMOS transistors of width 
 As a result
each input of the  ­input NOR gate has logical effort

and the parasitic delay of the gate is

For  example,  a  3­input  NOR  gate  has  logical  effort 

  per  input  and  parasitic  delay 

https://bibl.ica.jku.at/app/read/dc/build/html/basiccircuits/basiccircuits.html

 The  logical  effort  of  an  ­input  NOR  gate  is
2/43

3/2/2016

4. Basic Digital Circuits — Introduction to Digital Circuits

larger than the logical effort of an  ­input NAND gate. Thus, if we have the choice to implement the logic of a circuit path with NAND gates or NOR gates,
we commonly prefer NAND gates, because they tend to yield lower path delays.

4.1.2. Tree­Structured Logic Gates
When the number of inputs of logic gates is large, tree­structured gates offer superior performance compared to CMOS gates. As a concrete example,
consider  a  16­input  NAND  gate.  The  logical  effort  of  a  CMOS  NAND  gate  with  a  pull­down  network  of  16  nMOS  transistors  in  series  is 
according  to  Equation  (1),  and  the  parasitic  delay  is 
  according  to  Equation  (2).  Figure  4.4  shows  an  alternative,  tree­structured
implementation that uses 2­input NAND gates and inverters as building blocks. The tree has a path logical effort of 
 and a path
parasitic delay of 
 The tree structure improves both quantities.

Figure 4.4:  A tree­structured 16­input NAND gate using 2­input NAND gates and inverters as building blocks.
The tree structure of the NAND circuit is inspired by Boolean algebra, more succinctly the associativity of the AND operation:

Associativity  implies  that  we  can  parenthesize  an  expression  any  way  we  want  to.  We  may  even  omit  the  parentheses  altogether  because,
mathematically,  the  parenthesization  does  not  affect  the  value  of  the  expression.  From  the  perspective  of  the  circuit  designer,  however,  parentheses
express an evaluation order. For example, given a binary AND operation and 8 operands 
 there are many different evaluation orders.
One of them corresponds to the left­skewed parenthesization

which  groups  the  operations  such  that  all  7  AND  operations  must  be  executed  one  after  each  other.  The  corresponding  circuit  has  a  depth  of  7
operations. In contrast, the tree­structured parenthesization yields the minimum depth of 
 operations:

Figure 4.5 shows the corresponding circuits. We note that the tree structure is asymptotically optimal, i.e. for a large enough number of inputs    no
other circuit topology has a depth smaller than 
 up to constant factors. The constants depend on the number of inputs of the building blocks. For
example,  if  we  replace  subtrees  of  three  2­input  AND  gates  with  one  4­input  AND  gate,  the  depth  of  the  tree­structured  AND  gate  in  Figure  4.5
decreases from 3 to 2 levels.

https://bibl.ica.jku.at/app/read/dc/build/html/basiccircuits/basiccircuits.html

3/43

3/2/2016

4. Basic Digital Circuits — Introduction to Digital Circuits
(a)

A0
A1
A2
A3
A4
A5
A6
A7

(b)

Y

A0
A1
A2
A3
A4

Y

A5
A6
A7

Figure 4.5:  Left­skewed (a) and tree­structured (b) conjunction of 8 inputs with 7 binary AND operators.
Given  a  tree­structured  ­input  AND  gate,  we  obtain  an  ­input  NAND  gate  by  complementing  the  output.  The  16­input  NAND  gate  in  Figure  4.4
implements each 2­input AND gate of the tree with a 2­input CMOS NAND circuit followed by an inverter. To complement the output, we omit the inverter
at the root of the tree. The 3­input NAND gate in Figure 4.1 is an example of an unbalanced NAND tree, where the number of inputs is not a power of 2.
In contrast, the trees in Figure 4.4 and Figure 4.5 are balanced, because each path from input to output has the same depth, or number of gates.

4.1.3. Asymmetric Gates
An asymmetric gate has inputs with different logical efforts. Asymmetric gates require additional attention from the circuit designer, but facilitate faster
circuits if used appropriately. The asymmetry may be caused by the circuit topology or by deliberate transistor sizing to reduce the delay of the critical
path. We design a majority gate to motivate asymmetric circuit topologies, and then discuss how to trade logical effort between inputs.
Majority Gate
The majority operation is a ternary Boolean operation, cf. majority function:
(3)
In terms of a truth table the majority operation is specified as:
A

B

C

M

0

0

0

0

0

0

1

0

0

1

0

0

0

1

1

1

1

0

0

0

1

0

1

1

1

1

0

1

1

1

1

1

As the name suggests, the output of the majority operation is the value that occurs more often in inputs 

 

 and 

 The inverting 3­input majority gate

in Figure 4.6 computes the complement 

https://bibl.ica.jku.at/app/read/dc/build/html/basiccircuits/basiccircuits.html

4/43

ica. The majority gate has six arms. Observe in Figure 4. C B 4 A 4 A 4 C 4 B 4 4 Y A 2 B 2 A C 2 2 B 2 C 2 Figure 4. we make the transistors in each arm of the majority gate twice as wide as those of the reference inverter. if we share the transistors of input   we cannot also share the transistors of inputs   and   across arms without altering the logic function. we can reduce the logical effort by reducing the number of transistors from two to one.3/2/2016  A = 0     4. If two arms share one transistor. sharing the transistors of input   reduces its logical effort. To match the on­resistances of the reference inverter. each of which is a series composition of two transistors. One option for reducing the logical effort and parasitic delay of the majority gate is transistor sharing. However. Basic Digital Circuits — Introduction to Digital Circuits  B = 0      C = 0 Figure 4. We classify these input combinations as exceptionally fast. In this case all three  arms  of  either  pull­up  or  pull­down  network  are  switched  on. the majority gate is relatively slow. Therefore.jku. As shown in Figure 4. and also the parasitic delay of the entire gate. Thus.8.7:  Matched inverting majority gate.  such  that  the  parallel  composition  yields  a  three  times  smaller  equivalent  on­ resistance. all pMOS transistors have width    and  all  nMOS  transistors  have  width   These transistor widths match the reference inverter for all combinations of input values.6:  Symmetric CMOS circuit of inverting 3­input majority gate and interactive switch model. The pull­down network exhibits the same structure only with nMOS transistors. analogous to the exceptional input combinations of the NAND or NOR gates. all three inputs     and   have logical effort The normalized output capacitance of the majority gate consists of three pMOS and three nMOS transistors.html 5/43 . the parasitic delay of the majority gate is Compared to a NAND or NOR gate. Therefore. We characterize the delay of the majority gate by deriving its logical effort and parasitic delay. This does not work for all inputs simultaneously.7 that the two pMOS transistors that one input drives in the pull­up network are in distinct arms. Each input of the majority gate drives two pMOS and two nMOS transistors.7. https://bibl. except when all input values are equal.at/app/read/dc/build/html/basiccircuits/basiccircuits. as shown in Figure 4.

8. has a larger equivalent on­resistance than the gate in Figure 4.8:  Asymmetric inverting 3­input majority gate with transistor sharing and interactive switch model. For example. Only sharing the transistors driven by input   reduces the parasitic delay.  our  goal  is  to minimize the logical effort of input   which means to reduce   from 4/3 to that of a reference inverter  https://bibl.at/app/read/dc/build/html/basiccircuits/basiccircuits. the total logical effort permits a quantitative comparison of the symmetric and asymmetric majority gates. A path from supply rail to output consists of a series composition of two transistors. it is sometimes sufficient to use a single number instead.  thus.9. Sharing the transistors of input   as shown in Figure 4.html 6/43 . the majority gate in Figure 4. the matched version of the majority gate in Figure 4.  and  we  wish  to  reduce  its  delay. As  an  example.  Thus.8 is an asymmetric gate. Basic Digital Circuits — Introduction to Digital Circuits  B = 0      C = 0 Figure 4.8  has  transistor  widths    and   While  the  logical  efforts  of  inputs    and    remain  unchanged. but is still faster than the regular case. we can trade logical effort between inputs by transistor sizing. Thus. inherent to NAND and NOR gates for instance. The  resulting  asymmetry may be desirable to speed up the critical path of a circuit. transistor sharing halves the logical effort of input  : Since the logical effort of input   differs from the logical effort of inputs   and   the majority gate in Figure 4.6 is a symmetric gate.3/2/2016  A = 0     4. when all three input values are equal.ica. Assume that input    is  critical. The total logical effort is the sum of the logical efforts of all inputs.7. In contrast. we prefer sharing those transistors connected to the output of the gate in order to reduce the parasitic delay as added benefit. The benefit of the reduced logical effort is a reduced gate delay for signal transitions on the corresponding input. Rather than characterizing an asymmetric gate by listing the logical efforts for all inputs. however. Asymmetric Transistor Sizing The asymmetric majority gate sacrifices the symmetry of the circuit topology for a reduced logical effort of one input without affecting the logical effort of the other inputs. does not affect the transistor widths of the matched majority gate.jku.7. The exceptional case. Thus.  the  parasitic  delay  of  the  asymmetric majority gate: Note that we can construct alternative gate designs by sharing the transistors of input   or of input   The resulting asymmetric gates do not reduce the output capacitance. if we have the choice. just like in Figure 4.  consider  the  2­input  NAND  gate  in  Figure 4. either in the pull­up or pull­down network. because all inputs have equal logical effort. Even with a symmetric gate topology. The  symmetric  majority gate has total logical effort   Transistor sharing reduces the total logical effort of the asymmetric gate to  Sharing  the  transistors  of  input    reduces  not  only  the  logical  effort  but  also  the  output  capacitance  and.

ica.  Consequently.11 1/10 10/9 10 28/27 4 11.9.  For    we  obtain  the  symmetric  matched  NAND  gate  with   Scaling fraction   reduces the logical effort of input   As   approaches 0. we obtain this matching constraint for the asymmetric NAND gate: because the reference inverter has an nMOS transistor of width   We can fulfill this constraint with a scaling fraction     if we choose    and    as  shown  in  Figure  4.jku. consider the Boolean expression If our CMOS gate supply consists of NAND. all Boolean expressions formed with AND and OR operations can be cast into a CMOS gate if all variables appear in uncomplemented form only and the entire AND­OR expression is complemented.0 The price of reducing the logical effort of input   is a rapidly growing logical effort of input   Choosing    appears  to  be  a  good  compromise.  which  results  in  a  smaller  output  current. width   and logical effort  approach value 1. where   is within   of the minimum logical effort.  halving  the  width  of  the  nMOS  transistor  doubles  its  on­resistance. Transistor sharing in the majority gate has exactly this effect. if all we do is reduce the input capacitance of input   the gate becomes mismatched w.  More  specifically.html   and    is    and  the 7/43 . we can balance a change of width   by a corresponding change of   so that the pull­down network of the asymmetric  NAND  gate  remains  matched  to  the  reference  inverter. In case of the 2­input NAND gate. we might be tempted to use the involution theorem.  matching  an  asymmetric  2­input  NAND  gate  requires  that equivalent  on­resistance    of  the  series  composition  of  nMOS  transistors  must  be  equal  to  on­resistance    of  the  reference inverter: Since the on­resistance is indirectly proportional to the transistor width. and transform the expression such that we can implement   with these gates: The  circuit  for    is  shown  in  Figure  4.  To  obtain  a  delay  reduction.4.67 1/4 4/3 4 10/9 2 3.r. The table below lists the relevant quantities for several values of  1/2 2 2 4/3 4/3 2.e. yet the total logical effort of the gate increases by   only. As an example.1.  i.t. 4. NOR.  The  logical  effort  of  the  longest  paths  https://bibl. In  fact.at/app/read/dc/build/html/basiccircuits/basiccircuits. Compound Gates There exist complex Boolean expressions that we can implement in a single CMOS gate.9:  Matched asymmetric NAND gate with nMOS scaling fraction  Since  the  matched  NAND  gate  has  normalized  nMOS  transistor  widths    reducing  width    to  1  reduces  the  input capacitance of input   as desired.04 1/100 100/99 100 298/297 34 101. and NOT gates.  the  gate would  be  slower  rather  than  faster  as  planned. the reference inverter.10.3/2/2016 4. In particular. Two widely used families of compound gates are the inverting AND­OR (AOI) gates and the inverting OR­AND (OAI) gates.  we  wish  to  reduce  the  input capacitance of input   without changing the equivalent on­resistance of the pull­down network. Basic Digital Circuits — Introduction to Digital Circuits 2 2 Y A 1 1­α 1­α B 1 α Figure 4. However.  we  need  to  reduce  the  logical  effort.

at/app/read/dc/build/html/basiccircuits/basiccircuits. which tells us that any Boolean expression of AND and OR operations can be realized with a series­parallel switch network.10:  Implementation of  Y  with NAND.html  per input and 8/43 . the family of OAI gates. or inverting  OR­AND  gates. As an example.ica. with logical effort  parasitic delay  https://bibl.  the compound gate is an inverting AND­OR gate or AOI gate for short.12 by fusing an AND  gate  with  a  NOR  gate. Figure 4. In our example. To emphasize the fact that our CMOS gate is a compound gate. The pull­up network uses pMOS instead of nMOS transistors. With the pull­down network in place.jku.11:  CMOS gate for  4 Y A B 4 (b) C 2 (c) : (a) pull­down network.13. We implement the conjunction of   and   with a series composition of nMOS transistors. and annotates the transistor sizes needed to match the reference inverter.11(c) redraws the pull­up network slightly for the sake of clarity.11(a). and NOT gates. A B A C C Y A B 4 Y A C 2 C B 1 B (a) Figure 4.3/2/2016 4. we introduce the symbol in Figure 4.  consists  of  compound  gates  for  Boolean  expressions  in  complemented POS normal form. (c) matched CMOS gate.  Since  the  output  of  the  AND  gate  drives  the  input  of  the  OR  gate  whose  output  is  complemented  by  an  inverter. (b) pull­up network is dual of pull­down network. A B C Y Figure 4. NOR. the CMOS gate offers improvements in terms of speed and number of transistors. consider Boolean expression The OAI gate for   and the corresponding OAI symbol are shown in Figure 4.11(b) systematically by applying the principle of duality.12:  The AOI gate symbol reflects the logic function. AOI gates exist for the complement of all Boolean expressions in SOP normal form. Basic Digital Circuits — Introduction to Digital Circuits corresponding path parasitic delay is  A B C Figure 4. Analogous to AOI gates.10. because the logical efforts of the inputs differ: The parasitic delay of the gate is   Compared to the logically equivalent circuit in Figure 4. recall the completeness theorem. Now. The matched gate is symmetric. The gate is asymmetric. and we replace the parallel composition with a series composition and vice versa. we derive the pull­up network in Figure 4.   if and only if   AND   OR if   This  logical  equivalence  translates  directly  into  the  CMOS  pull­ down network in Figure 4. and the disjunction of  and   with a parallel composition.

  If  we  want  an  AO  or  OA  function  without  inverted  output.14 is asymmetric.14:  Matched multilevel compound gate for   and corresponding compound gate symbol.ica. because the logical efforts of the inputs differ: The parasitic delay of the compound gate is  CMOS designers often use compound gates as efficient implementation target.html 9/43 . Besides  the  AOI  and  OAI  gates  for  complemented  two­level  normal  forms. Basic Digital Circuits — Introduction to Digital Circuits A 4 4 C B 4 4 D Y A 2 2 B C 2 2 D Figure 4.  For example. The compound gate in Figure 4. b.  we  may  use  an  additional inverter stage to complement the output of the corresponding AOI or OAI gate. then it is easy to introduce a separate  inverter  stage  to  drive  the  input  of  the  compound  gate. Solution https://bibl. If one of the inputs must be complemented. c. Design a CMOS compound gate to compute a.  we  can  design  compound  gates  for  multilevel  expressions  as  well. Deduce the complementary network using the principle of duality.13:  Matched OAI gate for  A B C D Y  and corresponding OAI gate symbol. d.3/2/2016 4.at/app/read/dc/build/html/basiccircuits/basiccircuits.jku. Derive either the pull­down or the pull­up network. Boolean expression has a pull­down network consisting of a series composition of   and a parallel composition of   and a series composition of   and  B 4 4 C 2 A D 4 Y D A B C A D Y 2 4 B 4 C 2 Figure 4. Perform transistor sizing to match the compound gate. Determine the logical effort(s) and parasitic delay.

 Unlike NAND or NOR gates. For example. we make the transistors in each arm of the XOR gate twice as wide. the XOR gate uses twice as many transistors. https://bibl. To match the on­resistances of the reference inverter. B 4 4 B A 4 4 A Y A 2 2 A B 2 2 B Figure 4.42 deserves a closer look. each input has logical effort The normalized output capacitance of the XOR gate consists of two pMOS and two nMOS transistors. which outputs a 1 if the number of inputs with value 1 is odd.15. one per minterm. A B C Y 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 1 The odd­parity property suggests a design for an XOR CMOS circuit. so that the parasitic delay is Compared to the 2­input NAND and NOR gates. Symmetric XOR Gates XOR gates with  ­inputs implement the odd­parity operation.3/2/2016 4.  First. Half of the arms are in the pull­up network. Whenever you toggle one of the inputs output   toggles. The other half of the arms are in the pull­down network. Each arm is a series composition of two transistors.at/app/read/dc/build/html/basiccircuits/basiccircuits.5.ica.1.       and   drives one pMOS and one nMOS transistor. whose capacitances make it relatively slow. ref:parity function <parity­ function>. we need   arms with   transistors each.  we characterize the delay of the 2­input XOR gate by deriving its logical effort and parasitic delay. For each combination of input values. The truth table shows the 3­input XOR function or odd­parity function. Figure 4.15:  Matched 2­input XOR gate. exactly one arm is switched on. Basic Digital Circuits — Introduction to Digital Circuits 4.16 shows the CMOS circuit for a 3­input XOR gate. the XOR gate assumes that the inputs are  available  in  complemented  and  uncomplemented  form. XOR and XNOR Gates Our CMOS implementation of the XOR gate in Figure 1. Therefore. and each has an odd number of complemented inputs. cf. for   function   equals 1 if the number of 1­inputs is 1 or 3.html 10/43 . because changing one input changes the parity from odd to even or vice versa. The matched 2­input XOR gate is shown in Figure 4.  and  the  pull­up  and  pull­down  networks  are  not  duals  of  each  other. To build an  ­input XOR gate.jku.  however. Each of the four inputs of the 2­input XOR gate.

 The parasitic delay of the  ­input XOR gate amounts to The exponential growth of both logical effort and parasitic delay in the number of inputs   limits the applicability of this CMOS circuit to small   For larger numbers of inputs tree­structured topologies based on 2­input XOR gates as building blocks are faster.16.  Like  the  symmetric  XOR  gate. we find that per input. Asymmetric XOR Gates We can reduce the logical effort and parasitic delay of the XOR gate by transistor sharing. If two arms share one transistor. that contribute to the output capacitance and parasitic delay  the  ­input XOR gate has logical effort  Each of the six inputs           per input.3/2/2016  A = 0     4.16 that each input drives two pMOS and two nMOS transistors. we can reduce the logical effort of the corresponding input. observe that any path from supply to output consists of a series composition of 3 transistors. The matched 3­input XOR gate has pMOS transistors of width   and nMOS transistors of width  and   drives two pMOS and two nMOS transistors. just like an arm in Figure  4.16:  CMOS circuit of 3­input XOR gate and interactive switch model. Basic Digital Circuits — Introduction to Digital Circuits  B = 0      C = 0 Figure 4.17 we share the transistors of inputs   and   to reduce their logical efforts and the parasitic delay of the entire gate. Notice in Figure 4.ica. As shown in Figure 4. Therefore.  all  pMOS  transistors  of  the https://bibl.at/app/read/dc/build/html/basiccircuits/basiccircuits. Then.  sharing  transistors  does  not  affect  the  transistor  widths  of  the  matched  gate. To match the XOR gate. we can also share the transistors of inputs   and   A = 0      B = 0      but not those of inputs   and   without altering the logic function. Sharing does not work for all inputs simultaneously.html 11/43 .  C = 0 Figure 4.17:  Asymmetric CMOS circuit of 3­input XOR gate and interactive switch model. resulting in a logical effort of  nMOS transistors.jku. The output is connected to four pMOS and four  Since the gate topology generalizes to   inputs.

jku. Basic Digital Circuits — Introduction to Digital Circuits matched gate have width  inputs     and all nMOS transistors width   As a result. and (c) interactive switch model. we obtain the equivalent XOR logic:  if (  AND  ) OR if (  AND   and   to   and   to simplify the ). (b) the pull­down network is the dual of the pull­up network.15 violates the principle of duality. and therefore. https://bibl.18:  2­input XOR gate: (a) pull­up network derived from logic function. We transform the parallel arms of the pull­up network into a series composition of parallel nMOS transistors.17 is asymmetric. The interactive switch model enables you to verify the truth table of the XOR gate.at/app/read/dc/build/html/basiccircuits/basiccircuits. we can derive the pull­down network by forming the dual. which translates directly into the series­parallel pull­up network in Figure 4.  Given the pull­up network.18(b). In this section. because the pull­up and pull­down networks are not duals of each other. Then. The Boolean expression consists of AND and OR operations.  : A B Y 0 0 0 0 1 1 1 0 1 1 1 0 The SOP normal form for the XOR function is Interpret this equality as   if   AND   OR if   AND   Negate predicates  argument for the switch model of pMOS transistors. XOR Gates and Duality The symmetric 2­input XOR gate in Figure 4. Recall the truth table of the 2­input XOR gate. we use the 2­input XOR gate to demonstrate that duality is a sufficient but not a necessary property of CMOS gates.ica. the parasitic delay of the asymmetric XOR gate is The asymmetric XOR gate has smaller total logical effort and smaller parasitic delay than the symmetric gate.3/2/2016 4. The logical efforts of    and   are while the logical efforts of inputs   and   remain unchanged compared to the symmetric design: Sharing the transistors connected to the output of the gate halves the output capacitance. as shown in Figure 4.html 12/43 .  A = 0      B = 0 Figure 4. the XOR gate in Figure 4.18(a).

18 has the same pull­up network as our original XOR gate in Figure 4.  we arrive at the XOR gate design in Figure 4. the XOR gate demonstrates that CMOS gates do not necessarily have pull­up and pull­down networks that are duals of each other. because CMOS gates can implement monotonically decreasing functions only.15. (b) the pull­up network is the dual of the pull­down network.15.  Hence.  A = 0      B = 0 Figure 4. but our CMOS gate in Figure 4. The 2­input NAND and NOR gates have two inputs not only because they realize binary logic functions but also in terms of the number of input wires that their CMOS implementations have. Basic Digital Circuits — Introduction to Digital Circuits The XOR gate in Figure 4. the pull­down networks are different. we define the XOR gate as a binary logic function. To obtain a 2­input XOR gate.19 has the same pull­down network as our original XOR gate in Figure 4. The 3­input XOR gates and the majority gate  are examples of CMOS gates whose pull­up and pull­down networks are not duals either.19:  2­input XOR gate: (a) pull­down network derived from logic function.jku.20.  consider  the  truth  table  of  the  XOR  gate  again. negate the predicates   if (  AND   and  ) OR if (  to   AND   and   and we find the XOR logic: ).15 requires complemented and uncomplemented inputs.ica. This design saves a wire and is simpler than the designs with dual networks. and (c) interactive switch model.  now  with  the  goal  to derive the pull­down network from the logic function. XOR CMOS Circuits The 2­input XOR gate in Figure 4. This Boolean expression translates directly into the series­parallel pull­down network in Figure 4. up to the order of the pMOS gate inputs. In fact. we may specify this CMOS gate as a logic function of four  inputs. However.18 with the pull­down network of Figure 4.15 by combining the pull­up network of Figure 4. In contrast. We see that   if   AND   OR if   AND   To fit the switch model of nMOS transistors.15.3/2/2016 4. The XOR gate in Figure 4. The resulting implementation of the XOR logic gate is shown in Figure 4. However.  In  this  section.  The  input  specification distinguishes the XOR gate from other CMOS gates.15 requires four inputs.19(a). Deriving the dual of the pull­down network yields the pull­up network in Figure 4. To arrive at the XOR gate in Figure 4. Furthermore. We begin with a straightforward extension of the CMOS gate in Figure 4. because the four arms are independent. draw the XOR gate symbol with two inputs.html 13/43 .15. The reason is that there exists no 2­input CMOS gate for the 2­input XOR logic function. https://bibl.  we  discuss  several  CMOS implementations of the 2­input XOR logic gate.19(b).  XOR   with  the  additional  constraints    and    that  the  driving  circuit  has  to  obey.  implementing  a  2­input  XOR  logic  gate  requires  a  CMOS  circuit  rather  than  a  CMOS  gate. but a different pull­up network. the NAND and NOR gates for example.at/app/read/dc/build/html/basiccircuits/basiccircuits.19. we generate the complements of inputs  and   by means of inverters.

 as shown C C 1 C 2 XOR2 in HC C in 2 Figure 4. If we wish to use the 2­input XOR gate in Figure 4.21 given electrical effort   Notice that the circuit does not permit equalizing the delays of the legs of the fork. the stage efforts of the inverter and the XOR CMOS gate are: Now.  First. As discussed in fork design. Thus. but let us ignore this lesson for a moment.3/2/2016 4.  a  close  look  reveals  why  a  2d­analysis  may  not  yield  the  fastest  design. we can scale the inverters and the XOR CMOS gate independently to minimize its delay. the path through the inverter leg adds the inverter delay to the delay through the XOR CMOS gate.  be the input capacitance of inputs   and   of the XOR CMOS gate. we introduce factor   in range   to split the input capacitance between the inverter and the XOR CMOS gate: such that   Then.20 as a building block for the construction of larger circuits.21:  The path of interest of 2­input XOR gate in Figure 4.at/app/read/dc/build/html/basiccircuits/basiccircuits. Thus. Recall that we should avoid 1­forks. say from input   to output   Assume the inverter has input capacitance   The XOR CMOS gate imposes a load of one pMOS and one nMOS gate capacitance on each leg of a fork driven by input   Let  in Figure 4. all we can do by gate sizing is to minimize the delay of the slower leg with the inverter.jku.21. the lower leg of the fork has delay and the upper leg has delay where   We can minimize   by setting the derivative   to zero.html 14/43 . Since the XOR logic gate consists of inverters and an XOR CMOS gate. Since the XOR circuit is a reconverging branch. we insist on minimizing the delay of the path from input to output in Figure 4.20:  2­input XOR gate with input inverters. and find Thus when using the XOR logic gate as part of a larger circuit. we could apply the 2d­analysis method to determine the scale factors  for  a  given  electrical  effort.  However. https://bibl. Basic Digital Circuits — Introduction to Digital Circuits A B B A A Y A A B B B Figure 4.20 includes a 1­fork with equal loads. Instead.  notice  that  the  circuit  is symmetric in inputs   and   if we use a symmetric XOR CMOS gate. the circuit has one path of interest. we can choose   depending on electrical effort   to minimize its delay. This leaves us with the optimization problem of how much input capacitance to assign to the on­path inverter versus the off­path XOR CMOS gate. then our XOR circuit includes a 1­fork with equal loads. we need to characterize its delay as a function of the electrical effort. Instead.ica.

 for all   the 2­fork design is faster than the 1­fork design. Furthermore the 1­fork design slows down much more rapidly than the 2­fork design for increasing  The  speed  difference  between  the  1­fork  and  2­fork  XOR  gate  designs  motivates  the  search  for  even  faster  XOR  gate  circuits.  we  could  make  the  XOR  CMOS  gate  asymmetric  such  that  the  logical  effort  of  the complemented input   is smaller than that of the uncomplemented input.28 below compares the delays of the two XOR gates with 1­fork and 2­fork inputs as a function of electrical effort   Not unexpectedly.22:  2­input XOR gate with 2­fork inputs. it is straightforward to verify that this circuit implements the 2­input XOR function.23.23:  The path of interest of the 2­input XOR gate in Figure 4.  Hence.html 15/43 .  The  path  of  interest  is  shown  in  Figure  4. the minimum delay of the XOR logic gate is   where   Figure 4. https://bibl.  we present three alternative designs. and effort delay   for the XOR CMOS gate. Basic Digital Circuits — Introduction to Digital Circuits If  we  wish  to  minimize  the  delay  of  the  XOR  logic  gate  further. so as to speed up the path through the inverter leg. We begin with the reconverging NAND circuit in Figure 4. we may recall our  lesson  that  a  2­fork  is  preferable  to  a  1­fork. Then. We  can  analyze  this  XOR  circuit  with  our  2d­analysis  method.at/app/read/dc/build/html/basiccircuits/basiccircuits.  In  the  following. the reconverging NAND circuit is faster.3/2/2016 4.24 on the right as superior because it is faster. The comparison of the delays in Figure 4. Alternatively. A B B A A Y A A B B B Figure 4.22.28 shows that the reconverging NAND circuit is slower than the 2­fork XOR gate circuit up to   For larger electrical efforts. Using Boolean algebra. we have identified the 2­fork style modification in Figure 4.22 includes a 2­fork with equal loads. C d  /2 1 C 1 d  /2 1 3   assigned  to  the d2 C 4 C in XOR2 H C in C C 2 d 1 +1 4 Figure 4.ica.24 on the left. as shown in Figure 4. During our study of reconverging branches.  with  effort  delay  inverters of the 2­fork.jku. The 2d­analysis enables us to express effort delay   as a function of  : such that the path effort delay becomes Minimizing the path effort delay by setting the derivative  For a given electrical effort   we determine delay   to zero yields the polynomial in  :  by finding the positive real root of the polynomial.  our  second  attempt  for  an  XOR  logic  gate  uses  2­forks  to  generate  the  complemented  and uncomplemented inputs.

Since NAND gates have not only a relatively small logical effort but also small parasitic delay compared to other 2­input gates. so that we expect this circuit to be better suited for larger electrical efforts.  we  may  use  a  1­fork  or  the  2­fork  shown  in  Figure  4. The resulting XOR circuit has four stages on the 2­inverter leg.26:  Path of interest of 2­level NAND circuit with 2­fork inputs. This circuit is indeed slower than the more complex version on the right of Figure 4. To  determine  the  minimum  delay  as  a  function  of  electrical  effort    we  apply  the  1d­analysis method  with  effort  delay    assigned  to  the  gates  as shown in Figure 4. The 2­fork style (right) yields a faster circuit. d 4 d C C C 2 4 5 H C in 2d+1 Figure 4. We analyze the AOI circuit using a 2d­analysis. Figure 4. the 2d­analysis permits expressing   as a function of   Minimizing the path effort delay by setting its derivative w. Then.jku.25:  A 2­level NAND circuit with 2­fork inputs implements a 2­input XOR gate.26.r. by assigning effort delay    to  the  NAND  gate  and  the  inverter  in  the  upper  leg  and  effort  delay   to the lower leg of the fork. The 1d­analysis of the circuit yields the polynomial Given electrical effort   the positive real root of the polynomal equals effort delay   for which the circuit has minimum path delay  4.27:  2­input XOR gate based on an OAI compound gate (left). This circuit uses a NAND gate that behaves like the inverter of a 1­ fork driving the OAI gate.t.  Again. The 2­fork is faster than the 1­fork.28 plots   over electrical effort   We see that the 2­fork XOR gate is faster up to  C C in d C 1 d 3 C  For   Figure  the 4­stage NAND circuit is faster. a 2­level NAND circuit is another  top  contender  for  an  XOR  gate. as usual.html 16/43 .27 shows on the left an XOR circuit design based on an OAI gate. and with 2­fork inputs and an AOI compound gate (right).  Thus. A A B B Y Y Figure 4.   to zero yields polynomial Given electrical effort   the positive real roots of the polynomial yield minimum path delay   which is plotted in Figure 4.27 that uses a 2­fork structure at the inputs and a AOI gate. https://bibl.ica.3/2/2016 4.at/app/read/dc/build/html/basiccircuits/basiccircuits.24:  The reconverging branch circuit implements a 2­input XOR gate (left). A Y B Figure 4. Compound gates  enable  us  to  implement  two­level  logic  in  a  compact  fashion. Basic Digital Circuits — Introduction to Digital Circuits A A Y Y B B Figure 4.  we  may  implement  an  XOR  gate  using  OAI  or  AOI  compound gates. and effort delay   to the AOI gate.28 as a function of   We find that the AOI circuit has competitive delays xacross the range of   but for no   is the AOI circuit the fastest XOR gate.25  to  generate  the  complemented  and uncomplemented inputs.

 it consists of four arms. The pull­up and pull­ down networks are not duals of each other. XNOR Gates The XNOR gate is very similar to the XOR gate. NAND   2­level NAND  AOI Minimum Delay 30 25 20 15 10 10 20 30 40 Electrical Effort Figure 4.  A = 0      B = 0 Figure 4.29:  CMOS circuit for XNOR gate and interactive switch model. we do not need an output inverter to implement the complement. The truth table below shows the XNOR function for     which equals 1 if the number of 1­inputs is 0 or 2.28:  Minimum delays of XOR circuits over electrical effort.29. which outputs 1 if the number of inputs with value 1 is even. The  comparison  in  Figure  4. In particular. both logical effort and parasitic delay of the XNOR gate are equal to those of the XOR gate: https://bibl.22 is fastest for   whereas for   the two­level NAND circuit of Figure 4. Like the 2­input XOR gate. the 2­fork XOR circuit of Figure 4.ica. Noteworthy is the fact that XOR and XNOR CMOS gates have the same topology.25 is fastest.  Thus.jku. as required for the AND and OR gates.3/2/2016 4. Since the topology of the XNOR gate equals that of the XOR gate.  among  the  studied alternatives.28  suggests  that  the  fastest  XOR  implementation  depends  on  electrical  effort    In  particular.html 17/43 .  an  ­input  XNOR  gate implements the even­parity operation.  the  XNOR  gate  produces  the  complement  of  the  XOR  gate.at/app/read/dc/build/html/basiccircuits/basiccircuits. A B C Y 0 0 0 1 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 0 The CMOS implementation of a 2­input XNOR gate is shown in Figure 4. Basic Digital Circuits — Introduction to Digital Circuits  1­fork XOR   2­fork­XOR  reconv. Logically.

 Then  the  delays  of  the rising and falling transitions of a skewed gate are: where   is the electrical effort of the gate.  Since  the  delay  of  a  gate  depends  on  its  drive  current. As a result logical effort   is less than the logical effort of the matched gate   Similarly. the HI­skew NAND gate in Figure 4.6. we discuss skewed gates whose critical transition is faster than the noncritical transition. because the matched NAND gate has the same pull­up drive current  as  the  reference  inverter. The  corresponding  pMOS  transistor  in  the  pull­up  network  drives  the  output. We distinguish between HI­skew gates and LO­skew gates. We consider the rising output transition first. the drive currents are equal to those of the  reference  inverter. For example. Furthermore. the parasitic delay of the rising transition of the HI­ https://bibl. Basic Digital Circuits — Introduction to Digital Circuits XNOR gates with more than two inputs can be constructed analogous to the XOR gate. consider the matched 2­input NAND gate in Figure 4. we may want the falling transition of a signal from high to low voltage to be faster than the rising transition from low to high voltage or vice versa.30(b). Skewed Gates When optimizing a circuit for speed.1.30(a). However. (c) down­scaled gate. assuming that the CMOS gate is sized to deliver the same drive current as the reference inverter. For example.jku. For example. In this section. because the NAND gate is symmetric. In contrast. and one of the inputs switches from 1 to 0. CMOS gates with equal rising and falling delays are unskewed or normal­skew gates. The output of a 2­input NAND gate transitions from 0 to 1 if initially both inputs   and   are 1.html 18/43 . due to the unmatched transistor sizes. In a HI­skew gate the rising output transition is the faster.30(b) halves the widths of the nMOS transistors compared to the matched NAND gate to speed up the rising transition. the logical effort   of the rising transition of the HI­skew gate is the ratio of the input capacitance of the HI­skew gate and the input capacitance of the reference inverter. each input has input capacitance   because   and   so that Shrinking the pull­down transistors of the HI­skew gate retains the drive current through the pull­up network while reducing the input capacitance.  Which  one  of  the  two  pMOS  transistors switches does not matter in this example. the transistors of the matched NAND gate are sized to provide equal drive currents for the rising and falling transitions. According to Figure 4. both gates produce the same drive current. Also analogous to the XOR logic gate are the design issues of CMOS circuits for a 2­input XNOR logic gate. we determine its logical effort and parasitic delay. (b) HI­skew gate.  Now. We use   and   to denote the logical effort and parasitic delay of the rising output transition driven by the pull­up network. we shrink the nMOS transistors of the pull­ down  network. critical transition. and in LO­skew gates the falling output transition is critical.  recall  our definition of the logical effort of a CMOS gate as the ratio of its input capacitance to that of the reference inverter.30:  Skewing a 2­input NAND gate: (a) matched gate. 2 2 2 2 Y 1 1 Y Y A 2 A 1 A 1 B 2 B 1 B 1 (a) (b) (c) Figure 4. Furthermore. By definition.  the  rising  and  falling  delays  are  equal  if  the  magnitudes  of  the  drive currents of the corresponding transitions are equal.at/app/read/dc/build/html/basiccircuits/basiccircuits. and   and   for the falling output transition driven by the pull­down network. 4. The key insight for designing a skewed gate is to shrink the transistors in the CMOS network that drives the uncritical transition. logical effort and parasitic delay differ for the rising and falling transitions. resulting in a faster transition.  The  effect  is  that  the  pMOS  transistors  deliver  the  same  drive  current  as  the  matched  NAND  gate  on  the  rising  transition.ica. if we wish to speed up the rising transition of the NAND gate.  but  smaller nMOS transistors reduce the logical effort of the gate. Design and Analysis We can skew a gate by transistor sizing. Since the drive currents are equal.3/2/2016 4. To characterize the delay of the HI­skew NAND gate.  we  conclude  that  the  HI­skew  gate  has  the  same  pull­up  drive  current  as  the  reference  inverter. Since the width of the pMOS transistors of the HI­skew gate equals the width in the matched NAND gate.

 To apply the definition of logical effort. although our HI­skew NAND gate has a faster rising transition than the unskewed gate.ica.  This observation simplifies the design and analysis of a skewed gate based the model of logical effort. the average logical effort is  and the average parasitic delay   Thus. The falling transition has parasitic delay  To facilitate a comparison between a HI­skew and normal­skew gates.30(c).3/2/2016 4. Basic Digital Circuits — Introduction to Digital Circuits skew gate is We find that parasitic delay   is less than that of the matched gate  Next. Choose a scale factor   for the nMOS transistors of the pull­down network of the matched gate. so that their drive currents are equal.31(b) has a smaller average logical effort and smaller average parasitic delay than the normal­skew NOR gate. Below is the procedure to design and analyze a HI­ skew gate; the procedure for a LO­skew gate can be viewed as dual: 1.jku.html 19/43 . The parasitic delay   of the rising transition is the ratio of the output capacitance of the HI­skew gate and the reference inverter. The LO­skew 2­input NOR gate in Figure 4. we can argue that the HI­skew NAND gate has the same pull­down drive current as the matched NAND gate scaled by   which in turn has the same pull­down drive current as a reference inverter scaled by   Therefore. The cost of the reduced logical effort   of the rising transition is an increased logical effort   of the falling transition. we determine   and   of the falling transition of the HI­skew gate. the parasitic delay of the falling transition of the HI­skew gate is The rising and falling logical efforts and parasitic delays are related through scale factor   of the down­scaled matched gate:   and  Notice  that  scale  factor    is  also  the  scale  factor  by  which  we  shrank  the  pull­down  nMOS  transistors  of  the  HI­skew  gate  to  begin  with.31:  Skewing a 2­input NOR gate: (a) matched gate. When the gate is in operation as part of a larger circuit. A 4 A 3 A 3 B 4 B 3 B 3 Y 1 1 (a) Y 1 1 (b) Y 3/4 3/4 (c) Figure 4. The falling transition has logical effort  3. This is the case indeed. Fast Skewed Gates Our observation that the HI­skew NAND gate has a larger average delay than the unskewed NAND raises the question whether a skewed gate exists that is faster than its unskewed version. We halve the width of the pull­up transistors. so that the down­scaled gate is a scaled version of the matched NAND gate with scale factor   Now.at/app/read/dc/build/html/basiccircuits/basiccircuits. half of all output transitions are rising and the other half are falling transitions. (b) LO­skew gate. both average logical effort and parasitic delay are larger than   and   of the unskewed gate. Analogously. The logical effort   of the rising transition is the ratio of the input capacitance of the HI­skew gate and the reference inverter. we use the average of the rising and falling quantities: The average provides an accurate measure of the transition delay of a gate over time. the logical effort of the falling transition of the HI­skew gate is the ratio of the input capacitance of the HI­skew gate and the input capacitance of the scaled reference inverter: for each input. For the HI­skew NAND gate in Figure 4. The down­scaled gate has the same nMOS transistor widths as the HI­skew gate. (c) up­scaled gate.30. we construct the down­scaled NAND gate shown in Figure 4. https://bibl. compared to   of the normal­skew gate. 2.

1:  Path with Skewed Gates Consider the 3­stage path in Figure 4.  because  its  average  logical  effort    is  less  than    and  the average  parasitic  delay    is  the  same. and the outputs of the gates with even   fall. The design procedure is the same as for unskewed gates. the path delay of the noncritical falling transition.  In  Figure  4.  every  second  stage  of  the  path  transitions  in  one  direction. it is not the average delay but the worst­case delay that limits the overall  performance. the outputs of all gates with odd index   rise. We conclude that for all electrical efforts   the average delay of the LO­skew NOR gate. Multistage Paths The delay of an  ­stage path with skewed gates depends on its output transition. in many circuits. Therefore.  Before  you  decide  to  use  LO­skew  NOR  gates  in  your  circuits. the path delay is   The average path delay is a function of the average logical efforts and parasitic delays: If we wish to minimize the average path delay. choosing    will  approximate  the  minimum  average  delay  reasonably  well  for  all    The  resulting  LO­skew  NOR  gate  has  pMOS  widths    This  gate  is  slightly  faster  than  the  matched  NOR  gate.at/app/read/dc/build/html/basiccircuits/basiccircuits. Using calculus. we apply the method of logical effort for multistage paths as we know it already. Basic Digital Circuits — Introduction to Digital Circuits The  LO­skew  NOR  speeds  up  the  falling  transition  by  shrinking  the  pull­up  pMOS  transistors.   is slightly less than the delay of the normal­skew NOR gate.31(c). a LO­skew NOR gate in stage 2 and a normal­skew inverter in stage 3.  Similarly.  however.  notice  that  the  speed  benefit compared to the normal­skew NOR is relatively small. then Since  CMOS  gates  implement  monotonically  decreasing  functions.  we  find  the  parasitic  delays    and   The average parasitic delay of   units is less than the parasitic delay   of the normal­skew NOR gate. Analogously. and the average path delay. Furthermore. if the output of the last gate of the path falls. With skewed gates we have an additional design goal at our disposal.  the  drive  current  of  the  falling  transition  through  the  pull­down  network  of  the  LO­skew  gate  is  the  same  as  the  pull­down  drive  current  of  the matched NOR gate and the reference inverter. except that we use the average logical efforts and parasitic delays of the skewed gates for path and gate sizing. and   is equal to the scale factor of the up­scaled matched NOR gate in Figure 4.  we  scale  the  pMOS  transistors  of  the matched NOR gate with factor   to obtain transistor width   Since the nMOS transistors are unchanged compared to the matched NOR gate. the logical effort of the falling transition is   The logical effort of the  rising  transition  is  then    Note  that    is  the  ratio  of  the  input  capacitances  of  the  LO­skew  gate  and  the  ­scaled  reference inverter. https://bibl.32 and load capacitance   determine the path delay of the critical rising transition. Path delay   is the sum of the corresponding skewed gate delays.  and  all  other  stages transition in the opposite direction. Therefore. Let index    the path delays of the rising and falling output transition are:  denote the   gate from the last stage.3/2/2016 4.  The  worst­case  delay  of  the  LO­skew  NOR  is  the  delay  of  the  noncritical  rising  transition. ■  Example 4.jku. we find that scale factor minimizes  the  average  delay  if  it  is  chosen  as  a  function  of  electrical  effort   For    the  range  of    is  very  small. which is to minimize the delay of the critical transition. The average logical effort of the LO­skew NOR gate  is    which  is  less  than  the  logical  effort    of  the  normal­skew  gate. if the output of gate 1 in the last stage rises.ica.html 20/43 .   We can formulate a minimization problem to determine scale factor   for the LO­skew NOR gate such that the average delay assumes its minimum.    Therefore.31.  which  is  larger  than  the  delay  of  the matched NOR gate.32 with a HI­skew NAND gate in stage 1. Given the transistor widths in Figure 4.

 simpler circuits exist. Comparators Comparator circuits compare two  ­bit signals   and   The magnitude comparisons.5 delay units faster than the average delay.at/app/read/dc/build/html/basiccircuits/basiccircuits.2. we assume that the mobility ratio is    Value  2  is  convenient  for  back­of­the­envelope  estimates. whereas the   in the NOR equality denotes a single bit. see Chapter 7 in [SSH99]. i.  where  typical  values  are  in  range    In  CMOS  processes  where    we  may  skew  the  gates  to  equalize  the  rise  and  fall  times. Equality  Thus. for two special cases. the output of the NOR gate. For larger values of   we may use a tree­structured NOR gate to minimize the delay. at the expense of the noncritical transition which is 2.jku. However.2.  The  model  of  logical  effort enables to determine the desired transistor widths. and a normal­skew inverter. Analysis of the gate logical efforts and parasitic delays yields the tabulated values. The critical transition of the path is the rising output transition.e. 4.3/2/2016 4.  but  is  merely  an  approximation  to  reality. Equality to Zero Given an  ­bit signal   we wish to determine whether   is true or false.ica. if for each signal     we have   refers to an n­bit signal of 0’s.33 shows one possible tree­structure for  is due to the Boolean identity: https://bibl. Figure 4. We close this section with a brief note on another practically relevant application of skewed gates. equality comparison and equality to zero. The rising delay is The maximum delay is the delay of the falling output transition We find that the critical transition of the path is 2. the design of gates with equal rising and falling delays if the ratio of the carrier mobilities of the CMOS fabrication process is not   Throughout this text.1.html  which 21/43 . a LO­skew NOR. which the path speeds up with the HI­skew NAND gate followed by the LO­skew NOR gate. 4. Basic Digital Circuits — Introduction to Digital Circuits 2 2 C 2 2 A 1 B 1 2 Y 1 1 1 Figure 4.32:  A 3­stage path with a HI­skew NAND.5 delay units slower. including   or   are commonly implemented with an arithmetic circuit. we may use an  ­input NOR gate to compute the equality to zero: Note that value   in equality   is true. HI­skew NAND 1 2 3/2 5/3 10/3 5/2 LO­skew NOR 2 1 3/2 8/3 4/3 2 NOT 1 1 1 1 1 1 The average path delay from input   or   to output   is the sum of the average gate delays: The minimum delay is the delay of the critical transition.

 Note that this switch model differs from our standard model.3/2/2016 4. (right) one possible tree­structured AND gate. The 2:1 mux has three inputs. we first construct a truth table.   and  Y The circuit symbol of the 2:1 mux signifies that select signal   steers input   to output   if   and otherwise input   We can model the functional behavior of a 2:1 multiplexer using a switch with two closed positions. 4. Equality Comparator Given two  ­bit signals   and   we wish to determine whether  case of the equality comparison where   is identical to zero. the fastest design for an  ­bit equality­to­zero comparator depends on the number of inputs  A0 A1 A2 A3 A0 A1 Y Y A2 A3 Figure 4. The equality­to­zero comparison may be viewed as a special  is true if for each bit position   we have   More precisely: Recall that the 2­input  XNOR  gate realizes the equality relation.  Figure  4.34:  Equality comparator for 4­bit signals: (left) conjunction with 4­input AND gate.  we  may  implement  an  equality  comparator  using one 2­input XNOR gate for each bit position.ica. also called 2:1 mux to emphasize 2 inputs and 1 output. a 2­input multiplexer.  where  a  switch  is either open or closed.34  shows  a  4­bit  equality comparator with a NAND­NOR tree implementation of the 4­input AND gate on the right.   Thus. or mux for short.at/app/read/dc/build/html/basiccircuits/basiccircuits. Equality   is true or false.3. has  and   select input   Output   is defined such that S D0  data inputs   data inputs.  https://bibl. and an  ­input AND gate to compute the all quanitfication by means of a conjunction: Output    if   For  larger  values  of    we  implement  the  AND  gate  as  a  tree  structure. Basic Digital Circuits — Introduction to Digital Circuits As for any tree structure. A0 A0 B0 B0 A1 A1 B1 B1 Y A2 Y A2 B2 B2 A3 A3 B3 B3 Figure 4.33:  Equality­to­zero comparator for a 4­bit signal: (left) 4­input NOR gate. S=0 D0 D1 S=1 Y D0 To design a circuit for 2:1 mux. (right) one possible tree­structured NOR gate.html Y D1    and   and one output   We  transliterate  the 22/43 .2. Multiplexer A multiplexer.2.jku. is a circuit with  inputs and steer it to output  0 D1 1    and   select inputs     that choose one of the   data For example.  For  example. 4.

 Select arm   drives the complement of   onto output   if select input   All other select signals      must  be   Otherwise.  The  output  value  depends  on  the corresponding data input.jku.  Since  the  circuit  produces  the  complemented  output    it implements  an  inverting  2:1  mux. The critical path of this circuit is a 3­stage path from input   through the inverter. we can replicate the select arm   times to construct the  ­way multiplexer in Figure 4.ica. The complemented and uncomplemented select inputs enable one of  the  select  arms  to  drive  output    If  select  input    the  left  arm  is  enabled.36.35:  CMOS circuit for inverting 2:1 mux and interactive switch model.  Each  data  input  drives  one  vertical  select  arm  consisting  of  two D1 nMOS and two pMOS transistors. The inverting 2:1 multiplexer in Figure 4.  and  if    the  right  arm.   for the left arm and   for the right arm.g.html 23/43 . one AND gate and the OR gate to output  A faster implementation of the 2:1 mux can be based on a compound gate. or with the CMOS circuit D0 Y shown  in  Figure  4.  by  means  of  a  decoder.at/app/read/dc/build/html/basiccircuits/basiccircuits. Basic Digital Circuits — Introduction to Digital Circuits specification logic straight into the truth table: if  S D1 D0 Y 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 0 1 1 0 1 1 1 1 1  then set output   (top four rows).  S = 0      D1 = 0      D0 = 0 Figure 4. If we are  willing  to  generate  one  select  signal  per  data  input.3/2/2016 4. https://bibl. else if   set  Output   of this truth table is represented by the Boolean expression:  (bottom four rows): S This  expression  suggests  an  implementation  of  the  2:1  mux  using  logic  gates  as  shown  on  the  right. two enabled select arms might drive different values on output   effectively short circuiting   and GND.   even if   is not a power of 2.  e.35 has a remarkably flexible structure that extends to   data inputs.35.

 each of the   data inputs. S0 S1 Sn­1 Y S0 S1 D0 D1 Sn­1 . that 4­way muxes as building blocks produce generally the fastest tree structures for  data inputs. the tree mux is faster than the 4­way circuit for electrical effort   This delay analysis neglects the fact that the 4­way mux circuit is inverting whereas the tree mux is not.ica.  as  shown  on  the  left  in Figure 4. Note that   select inputs enable us to select one of   data inputs.at/app/read/dc/build/html/basiccircuits/basiccircuits.  consider  a  4:1  multiplexer  with  four  data  inputs  and  two  select  inputs.  As  an  example..  the  parasitic  delay    grows proportional to the number of inputs   Nevertheless. because   per data input. the design space for tree­ structured muxes is quite large.  the matched  ­way  multiplexer  has  pMOS  width    and  nMOS  width    Therefore.   and  steers its 0­input to   because   The 0­input of the level­1 mux is driven by the top level­0 mux. We may also design tree­structured multiplexers with 4­way or 8­way muxes as building blocks.37:  A 4:1 multiplexer (left) built as a tree of 2:1 multiplexers (right).. Tristate Inverter and Transmission Gates A single select arm of the multiplexer circuit in Figure 4. whereas the 4:1 tree mux with two 2­way muxes on its critical path has a minimum delay of   delay units per data input.37 has   inputs and   levels. Since  each  select  arm  consists  of  two  series  pMOS  transistors  in  the  pull­up  network  and  two  series  nMOS  transistors  in  the  pull­down  network. Unfortunately. The 4:1 multiplexer steers data input   to output   if the select signal equals   in binary format.3/2/2016 4. which steers  Therefore output   for   We argue analogously about the other cases of the perfect induction: 0 0 0 1 1 0 1 1 A delay analysis reveals that a  ­way mux with independent select arms has a delay of   then the level­1 output mux  to its output.36 is a tristate inverter. however. The multiplexer tree on the right in S0 S 2 D0 00 D1 01 D2 10 D3 11 D0 0 D1 1 S1 0 Y S0 Y 1 D2 0 D3 1 Figure 4.36:  An  ­way multiplexer with one select arm per data input..4.  the  logical  effort  of  each  data  input  is  independent of the number of inputs. if   i.37. Thus..  In  this  case. For  larger  numbers  of  inputs    the  parasitic  delay  of  the  ­way  circuit  in  Figure  4.html 24/43 . Chapter 11 of [SSH99] studies tree structures in more detail. This property is unique feature of the multiplexer circuit. Basic Digital Circuits — Introduction to Digital Circuits . It has been shown. The functionality of the 4:1 multiplexer is easy to verify by perfect induction. Due to the flexibility of the  ­way mux circuit.  tree­structured multiplexers  provide  a  fast  alternative.  In particular. 4. we note that the effort delay of the multiplexer circuit is independent of its fan­in. The name tristate refers to the fact that the output can assume a third https://bibl.e. For example.jku. because a binary number with   bits can represent unsigned numbers in range  select signals may be used as select input for one of   levels in a binary tree of 2:1 muxes with  Figure 4. Dn­1 Figure 4.36  may  dominate  the  total  delay.

 and is commonly defined as a 2­input gate. there is always one selected arm. (b) select arm with additional wire   (c) inverter driving a transmission gate. such that   If  inverter drives output  EN A Y   and  connects  its  two  terminals  if   output   is disconnected from   and floats. The function of the tristate inverter is defined as https://bibl.39:  Three equivalent circuits: (a) select arm.  this  is  the  expected  behavior  from  a  multiplexer. and denote this third state with letter Z.38 shows that the output of the select arm floats if select signal   S = 0      Otherwise.e. we play the following circuit trick. This circuit is called tristate inverter.39(c). Otherwise. Now.  Tristate  inverters  expand  the applicability of select arms. Note that we can introduce a new wire in the select arm. The selected arm does not float. shown in Figure 4.39(b).3/2/2016 4. The parallel composition of an nMOS and pMOS transistor in Figure 4.39(c) is a transmission gate with the function: The  transmission  gate  disconnects  its  two  terminals. i. and drives output   In a figurative sense. Therefore.39(c). with a distinguished enable input.ica. we obtain the topologically equivalent circuit in Figure 4. To arrive at the traditional circuit realization of a tristate inverter. Then.at/app/read/dc/build/html/basiccircuits/basiccircuits. It assumes that the enable signal is complemented internally.  that  an  implementation  with  logic  gates  produces  as  well. for example as drivers for shared buses where all arms may float. and the output never floats. without affecting its functionality.html 25/43 .38:  Interactive switch model of one multiplexer select arm. Figure 4.  terminal    is  driven  by  an  output   is connected to terminal    and  the  through the transmission gate. In an  ­way multiplexer with   arms.jku. We say the output floats.   D = 0 Figure 4. the floating arms shut up. leaving the word to the only selected arm. In the third state.  if  inverter. In a multiplexer circuit. The symbol of the tristate inverter is shown on the left. Basic Digital Circuits — Introduction to Digital Circuits state in addition to the usual binary states 0 and 1. In general. output   of the tristate inverter is connected neither to   nor GND. all but one select arm float. if   In Figure 4. if   the arm functions like an inverter. X S S S Y Y S S D D X D Y S (a) (b) (c) Figure 4. the output has an undetermined voltage. imagine we could pull output   to the right like a rubber band.

jku. Figure 4.  Due  to  a  threshold  voltage  ( )  drop.   as well as the terminal voltages in a more differentiated fashion than our simple switch model  suggests.40 on the left.  The  voltage between gate and source is   which is larger than threshold voltage   The current   flowing from drain to source depends on drain  voltage   and on­resistance    of  the  transistor.  Thus.  pMOS transistors a suited for pull­up but not for pull­down networks of CMOS circuits. a pMOS transistor pulls the drain terminal to a strong 1 at  the  source.  nMOS  transistors  pass  a  weak  1  and pMOS transistors a weak 0. In Figure 4. which effectively reduces on­current   In the digital abstraction we say that the nMOS transistor pulls the source terminal to a weak 1  at  the  drain.  so  that  a pMOS transistor is closed if   and is open if   The pMOS transistor pulls the source terminal to a weak 0 at the drain. shown in Figure 4.at/app/read/dc/build/html/basiccircuits/basiccircuits.  consider  the  case  where  the  source  is  tied  to  GND. where all polarities are reversed.  Now. for example. However.40  on  the  left.  Instead.40 on the left.  current  depends on source voltage   Since the transistor is switched on only if   the source voltage of the closed transistor cannot rise to   without external  force.40 shows two cases where the source terminal of the nMOS transistor is connected to GND (left).40  on  the  right. we need to understand the pass characteristics of the transmission gate. For today’s nMOS transistors.3/2/2016 4.e. because the minimum drain voltage equals source voltage 0.ica. The  key  to  understanding  the  transmission  gate  is  the  threshold voltage  which is a characteristic process parameter of a transistor.    implies    by  KVL.40:  Refined  switch  model  of  MOS  transistors  for  ON  position. An nMOS transistor is switched off if the voltage between gate and source is smaller than the threshold voltage. Vd nMOS g = 1 VDD VDD d Vds >= 0 strong 0 VDD Vgs Vgs pMOS g = 0 d=1 Vds >= Vt weak 1 Vgs GND s=0 Vs s GND Vds <= Vt GND Vgs weak 0 d=0 Vs s VDD s=1 GND Vds <= 0 Vd strong 1 d Figure 4.40 on the right.  because  the  maximum  drain  voltage  is    if    which  is  smaller  than    see  Figure  4. we introduce a refinement of our simple transistor switch model.    see  Figure  4. the nMOS transistor pulls the drain terminal to a strong 0 at the source.  g  =  1  in  the  digital abstraction.html 26/43 . since nMOS transistors pass a strong 0 they are suited for pull­down networks.  so  that    The  source­drain  voltage  suffers  the  so­called  threshold  drop.e. both gate and drain terminals of the nMOS transistor are tied to   so that   In  this  circuit. because the maximum source voltage is by   smaller than drain voltage   In contrast.  We  assume  the  gate  voltage  of  the  nMOS  transistor  equals    In  our  simple  switch  model    i.  closes  the  nMOS  transistor. i.39(c). and since pMOS transistors pass a strong 1 they are suited for pull­up networks of CMOS circuits. https://bibl.   This cut­off effect influences the current between source and drain. However.   This is the behavior of an nMOS transistor that we know from the pull­down network of the CMOS inverter.  such  that    according  to  our  transistor  RC  model. because the minimum source voltage is by   larger than   see Figure 4.   is in range   and for pMOS transistors   has opposite polarity. The  threshold  voltage  of  a  pMOS  transistor  is  negative. Basic Digital Circuits — Introduction to Digital Circuits To analyze the logical effort of the tristate inverter in Figure 4. In  case  where    the transistor pulls the drain voltage to ground. This behavior is the reason why we use nMOS transistors in pull­down but not in pull­up networks of CMOS circuits. To  that end. The analogous effect occurs in pMOS transistors. and where the drain terminal is connected to    (right).

 we define the weak and strong on­resistances as The on­resistances enable us to model the transmission gate as a resistive switch circuit.41:  The pass transistor model abstracts the refined switch model in Figure 4. source and drain can be used interchangeably as inputs or outputs.43. EN = 0 A=0 A = 0 EN = 0 Y=0 A=1 EN = 1 Y=1 A Y EN = 1 EN = 1 EN = 0 EN = 1 EN = 1 EN = 0 Y = strong 0 A = 1 Y = strong 1 A Y Figure 4.42:  The transmission gate passes both a strong 0 via the nMOS and a strong 1 via the pMOS transistor.jku. so that one of the transistors passes the input strongly. a pMOS transistor passes a strong 1 from input (drain) to output (source). current   is effectively smaller than passing a strong 0 or 1. Figure 4. see Figure 4.42.ica.html 27/43 . but a weak 0. as shown in Figure 4. Since transistors are symmetric. it acts like a closed switch in the RC model. Current   is determined by the on­resistance.3/2/2016 4. Basic Digital Circuits — Introduction to Digital Circuits nMOS Vd =0 Vd = VDD ­ Vt g = 1 s = 0 g = 1 d = strong 0 pMOS s = 1 d = weak 1 Vs = Vt Vs = VDD g = 0 d = 0 g = 0 s = weak 0 d = 1 s = strong 1 Figure 4. We model this behavior by means of an increased on­resistance. As a reasonable estimate.at/app/read/dc/build/html/basiccircuits/basiccircuits. When a transistor passes a strong 0 or 1. However. Analogously. According to the pass transistor model we can use either an nMOS or a pMOS transistor as a switch to pass an input signal to the output. neither passes both inputs 0 and 1 strongly to the output. but a weak 1. when passing a weak 0 or 1. We say that an nMOS transistor passes a strong 0 from input (source) to output (drain).  given  on­resistances   and   of the simple switch model. https://bibl. The transmission gate uses a parallel composition of nMOS and pMOS transistors.40. Then. we assume that the on­resistance is twice as large when passing a weak versus a strong input.41 shows the pass transistor model as a convenient abstraction of the refined switch model. However.

at/app/read/dc/build/html/basiccircuits/basiccircuits. we arrive at the matched tristate inverter shown on the right.5. Basic Digital Circuits — Introduction to Digital Circuits EN = 0 EN = 0 1 A=0 Y = strong 0 1 1 A=1 EN = 1 weak 0 EN = 1 2 Rp A=0 strong 1 Y=0 strong 0 Y = strong 1 1 Rp A=1 Y=1 Rn weak 1 2 Rn Figure 4.1. One­Hot to Binary Encoder The one­hot code with   bits   where  code with   bits defines 4 code words  0 0 0 0 1 1 0 0 1 0 2 0 1 0 0 3 1 0 0 0  sets bit   for   in code word  : The one­hot to binary encoder is a circuit with   inputs   where  format if input   For example.43:  Resistive switch model of transmission gate passing a 0 (left) and a 1 (right).ica. With this approximation. we approximate the on­resistance of the transmission gate with unit­sized transistors to be   in both cases when passing 0 or 1. In this section. an encoder is a circuit that transforms its inputs into a code word of a given code.  the  logical  effort  of  the  tristate  inverter  is  complemented and uncomplemented enable inputs.3/2/2016 4. assuming normalized widths  Given unit­sized transistors.39(c) consists of a series composition of an inverter and a transmission gate. we discuss the one­hot to binary encoder and another useful circuit. the priority encoder. In the narrow sense of digital circuits. this truth table defines a 4:2 encoder for  0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 0 1 0 1 0 0 0 1 1 https://bibl. 4.jku. an encoder commonly denotes a circuit that transforms a one­hot coded word into a binary coded word.  Thus.5. By doubling the size of both.  the  one­hot  such that output   in binary 28/43 .html  and all other bits   and   outputs  :  where   for   For  example. The parasitic delay is    for  input  EN 2 A 2   and    for  the 4. Encoder In the broad sense. we have  passing 0 is:  because of mobility ratio   Then effective on­resistance for 4 EN 2 and for passing 1: Y Since the difference is small. The equivalent tristate inverter circuit in Figure 4. the tristate inverter has the same pull­up and pull­down drive currents as  the  reference  inverter.

45 implements this logic for output   with an  ­ input AND gate.3/2/2016 4.jku. For example. The load presented to the inputs of the encoder differs substantially.2. and signal changes on input   suffer a larger delay than on input   The method of logical effort enables us to assess whether we can speed up the slow inputs.44:  Two implementations of a 4:2 encoder based on OR­gates (left) and NOR­gate (right). 4. a 16:4 encoder based on OR gates has the output equations: Input   drives only one OR gate of output   In contrast.ica. rather than equalizing the delays of the encoder inputs. the electrical effort of   is 4 times larger. here is the truth table of a 3­bit priority encoder: 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 1 1 0 1 0 1 0 0 1 0 0 1 0 1 1 0 0 1 1 0 1 0 0 1 1 1 1 0 0 The  inputs    are  ordered  according  to  their  index    Output    if    and    up  to    and  input    The  values  of  the remaining inputs   does not matter for output   The circuit on the left of Figure 4. However. For example.44 shows two alternative circuits for the 4:2 encoder. input   is connected to all four OR gates.at/app/read/dc/build/html/basiccircuits/basiccircuits. A3 A2 A1 A0 A3 A2 A1 A0 Y0 Y0 Y1 Y1 Figure 4. Priority Encoder An  ­bit priority encoder is a circuit with   inputs   and   outputs   where   such that Informally. we prefer holding the driving circuit responsible for coping with the various load capacitances presented by the encoder inputs. Basic Digital Circuits — Introduction to Digital Circuits Figure 4. except for  https://bibl. for example by inserting buffers. When building larger encoders. Therefore. a priority encoder identifies the first in the sequence of input bits with value 1. between driving just one and driving   output gates.html 29/43 .5. each of the   outputs requires an OR or NOR gate with   inputs.

 resulting in three inverters per input.  The  NAND  gate  in  odd  stage    of  the  chain  computes  the  complement   and the NOR gate in even stage   of the chain computes the uncomplemented conjunction   of the complemented input signals.  We  can  halve  the number  of  gates  by  using  the  inverting  chain  in  Figure  4. If  we  wish  to  design  a  wide  priority  encoder  with  a  large  number  of  inputs  and  outputs    then  the  AND  gate  design  is  not  an  option  because  of  its quadratic area requirements. practical designs will have to settle on a suboptimal delay that is dominated by the gates on the critical path. at the expense of a larger propagation delay. Given 2­input gates only. The price we pay for the area efficiency is the propagation delay of the critical path. for a total of   inverters for   2­forks. The first stage needs only on inverter and the last stage one NAND gate and one inverter.html 30/43 . the total number of gates of an  ­ bit  priority  encoder  with  daisy  chain  structure  is    2­input  NAND  gates  and    inverters. let us count inverters and 2­input gates to assess the area requirements of the two circuits.3/2/2016 4.at/app/read/dc/build/html/basiccircuits/basiccircuits. https://bibl. A tree­structured AND­gate with   inputs requires approximately   2­input NAND gates and the same number of inverters.45  is  approximately   2­input NAND gates and   inverters. which stretches from input   to output   There are   NAND gates and   inverters on this path. The daisy chain circuit on the right of Figure 4.  Furthermore. and the daisy chain would be slow. Thus. A path with   stages requires a path effort of about   to be optimally sized. The daisy chain circuit on the right of Figure 4.45 uses less area than the AND gate circuit on the left.45 uses only a linear number of gates. Basic Digital Circuits — Introduction to Digital Circuits A0 A0A1A2A3A4 Y0 A1 Y1 Y2 A2 Y0 Y1 Y2 Y3 A3 Y3 Y4 A4 Y4 Figure 4. Thus. Each inner stage of the chain consists of two NAND gates and three inverters. As a rough estimate of the area requirements.  For  large    the daisy chain occupies significantly less area than the AND gate design. Therefore.46. For large   this path effort would be humongous. because the critical path is proportional to the height of the largest AND gate of output   which consists of about   2­input AND gates only. all of the AND gates of an  ­bit priority encoder together require roughly 2­input NAND gates and inverters.  we  implement  all  larger  AND  gates  of  the  circuit  on  the  left  as  tree  gates. Therefore.jku.ica. respectively. the circuit can be quite fast. a scary fact. for large   the number of gates grows quadratically.45:  Two implementations of a 5­bit priority encoder with one AND gate per output (left) and a daisy chain (right). In all likelihood.  assume  that  we  make  the  complemented  and uncomplemented inputs available with 2­forks. the total number of gates of the priority inverter on the left in Figure 4. Asymptotically.  we  may  want  to  reduce  the  number  of  gates  on  the  chain. But.

 As a result.1. ■  Example 4. 3 NAND gates. Thus. To get a feel for the delay of the daisy chain assume the load capacitance of each output is   Furthermore. the NAND­INV pairs. second. We proceed in two steps. Thus. and increases the branching effort compared to our initial design.67 2 7 10 36 3.ica.2:  Priority Encoder We wish to size the gates of the 7­bit priority encoder in Figure 4.  all  gates  shall  be  scaled  by factor   Thus. all stages should bear the same effort delay. where the https://bibl. The lesson we have learned from branching circuits is that the delay on the path of interest can be reduced either by decreasing the off­path capacitance or  by  increasing  the  on­path  capacitance  or  both. 1 6 16 8/3 1 2.html 31/43 . with an effort delay of  than   per stage.e. and. Basic Digital Circuits — Introduction to Digital Circuits A0 Y0 A1 A2 Y1 A3 Y2 Y3 A4 Y4 A5 Y5 A6 Y6 Figure 4. The delay computation of our priority encoder design is detailed in Table 4. we obtain a rough estimate for the delay of the chain assuming fixed gate sizes. i.67 2 6 8 10 5/4 4/3 1. We lower the branching effort of the path of interest by reducing the NOR gate sizes of outputs   and   from the original value of    slightly  to   The off­path AND gates. we may even do better if we also resize the output gates.1:  Delay estimates for priority encoder.   is by no means unreasonable.1 suggests obvious improvements to our circuit.3/2/2016 4.33 13 Table 4.  the  best number of stages of an inverter chain for this stage effort is   Thus. we size the gates on the daisy chain according to the method of logical effort. To minimize the delay of the chain. the total effort delay would be   time units. we should spread path effort   across the   stages of the chain.6 5/3 6 2 total 22. we obtain the critical path of the priority encoder shown below.at/app/read/dc/build/html/basiccircuits/basiccircuits.jku.46:  A 7­bit priority encoder with inverting daisy chain.67 2 4 8 20 5/2 4/3 3.33 2 5 10 16 8/5 5/3 2.33 2 3 10 16 8/5 5/3 2. Table 4. and 3 NOR gates  is   The  branching  effort  of  all  stages  except  the  last  is    for  a  path  branching  effort  of   The  electrical effort is   Thus. To obtain minimum delay. that drive outputs     and   have two stages each. First.67 1 2 8 20 5/2 4/3 3. each inverter has input capacitance   each NAND gate input presents capacitance    and  each  NOR  gate  input   Our path of interest is the critical path from input   to output   The logical effort of the path with 1 inverter. if both NAND gate and inverter bear best stage effort    then  the  NAND  gates  can  have  input  capacitance    If  we  use  minimum  sized  NAND  gates  with   we can reduce the branching effort of the path. The resulting improvement compared to our initial design is less  However.  The  method  of  logical  effort  also  teaches  us  that  each  stage  of  a  fast  design  should  bear  effort    If  the  NOR  gates  that  drive  off­path  outputs    and    bear  best  stage  effort    they  should  have  input capacitance   This is almost twice of our initial assumption. the number of stages on the critical path of our daisy chain. Stages 6 and 7 present outliers with   and   deviating the most from the average   We can fix the imbalances between the stage efforts by gate sizing. the path effort of the critical path is   According to the path sizing calculator.46 in order to minimize its delay.

32 1.  given    only.27 9.79 5/3 2.2 summarizes the resulting delays. The primary use of decoders is as address decoders for memories.83 1.13 36 1. our design is pretty close to the minimum delay without further iterations already.98 2 total 19. 1 6 10.  we  use  one  2­input  AND  gate  per  output.27 13.06 10. For the first iteration.71 1 1.  Since  each  output  represents  one  minterm. the circuit requires   AND gates with    inputs  each.1 1.0 20.01 1.jku. In the realm of digital circuits.  A  gate­level  implementation  of  a  3:8  decoder  is  shown  in https://bibl.  and  the  stage  effort  for  minimum  delay  should  be   which is reasonably close to   because the number of stages is close to the optimum.6. and find that our assumption of branching effort  only  on  average.98 2 7 20.  we  know  path  effort    already.79 5/3 2. to obtain the minimum delay for such a problem.98 2 5 7. we proceed as follows.html 32/43 .  The  branching  effort  of  our  sized  path  is    rather  than  64.45 6. Table 4.98 2 4 6.29 1.98 2 6 9.  Each  complemented  and  uncomplemented  input  drives   AND gates. This result confirms that our initial attempt was 4. for a   decoder. such that output   if input   for  0 0 0 0 0 1 0 1 0 0 1 0 1 0 0 1 0 0 1 1 1 0 0 0 Figure 4. the truth table below specifies a 2:4 decoder with   inputs and   outputs.29 14. We find that gate sizing reduces the delay of the original priority encoder from  pretty fast already.47  shows  the  implementation  of  the  2:4  decoder. Working from the output towards the input.79 5/3 2.13 2. but   the  path  effort  is    rather  than  assumed  value   Nevertheless. the term decoder commonly refers to a circuit that transforms a binary code into a one­hot code.71 1 2 6. The address input is 3 bits wide.23 4/3 2.at/app/read/dc/build/html/basiccircuits/basiccircuits. Decoder A decoder computes the inverse transform of an encoder.06 2.06 6.ica. we can compute the input capacitances of each gate based on the relation for  3.29 6.  Thus.  In general.83 7.3/2/2016 4.98 2 3 6.83 15.01 20.28 2. Basic Digital Circuits — Introduction to Digital Circuits input capacitances   of the NAND and NOR gates are yet to be determined: C C 2 3 C 4 C C 5 C 6 7 Y6 6 A0 4 8 4 8 4 36 In general.2:  Delay estimates for optimized priority encoder. For example. we can compute the branching efforts.64 2. with a binary code to cover address range   The 3:8 decoder transforms the binary address into a  one­hot  code  that  asserts  exactly  1  of  its  8  outputs  associated  with  the  selected  register. A binary to one­hot decoder is a circuit with   inputs   where   and   outputs   where   that asserts output   if the binary coded value of the input equals   For example. a register file with 8 registers employs a 3:8 decoder to select 1­out­ of­8 registers.44 1 : Given the gate input capacitances. We assume that  the  branching  efforts  in  each  stage  is   Then.23 4/3 2.  and  the  stage  effort  for  minimum  path  delay  should  be   is almost fulfilled.58 2.1 1 1.6 13 Table 4.  to   time units.23 4/3 2. we need to iterate the gate sizing.

 Thus.48. whereas the others branch off the path of interest.48 on the left.ica.48:  Gate­level implementation of 3:8 decoder (left) and path of interest for delay analysis (right). we multiply the effort delays to obtain: because   For the lower leg.47:  Implementation of a 2:4 decoder.html 33/43 .  one  of  which  is  on  the  path  of interest. the decoder circuit is symmetric. shown on the right­hand side of  Figure  4. the loads of the legs are equal. We use the 1d­analysis method to minimize the delay of the circuit.3/2/2016 4.48. we may minimize the delay of the decoder by analyzing the path of interest. A1 A0 Y3 Y2 Y1 Y0 Figure 4. We use 2­forks to provide each input in complemented and uncomplemented polarity.jku. Assuming also that the loads of the outputs   are equal.  Each  input  has  capacitance    The  load  capacitance  at  each  output shall  be    Each  leg  of  the  fork  drives  4  NAND  gates. the partial products of the effort delays yield: https://bibl. Basic Digital Circuits — Introduction to Digital Circuits Figure 4. A2 A1 A0 Y7 3 C3 Y6 C1 Y5 C3 d+1 d d H Cin Cin C3 C2 d/2 H Cin d/2 Y4 3 C3 Y3 Y2 Y1 Y0 Figure 4.at/app/read/dc/build/html/basiccircuits/basiccircuits. actually the fork of interest. The delays allocated to the individual gates are included in Figure 4. For the upper leg of the fork. Since each input drives 4 NAND gates.

Cyclic circuits are more difficult to analyze than acyclic circuits.  hence   Since    is  the  input  of  inverter  0.3/2/2016 Since  Given electrical effort  4.  and  connects the output of inverter 1 to the input of inverter 0.50  has  two  wires:    connects  the  output  of  inverter  0  to  the  input  of  inverter  1.     and  Let us analyze the functionality of the two­inverter loop. In this section. Furthermore. In particular. Q0 Q1 Q0 Q1 Q2 Figure 4. that the circuit reinforces   and. We observe that the two­inverter loop reinforces its state in either case   or  https://bibl.7. we discuss two of the most commonly used types of memory elements. by symmetry. for large   we may implement the  ­input NAND gates using a tree structure. time dependent behavior than their acyclic cousins. First.  the  output  of  inverter  0  must  be   This  is  the  same  value  that  we  started  with. the D­latch and the D­flipflop.at/app/read/dc/build/html/basiccircuits/basiccircuits.jku. the input of inverter 1  is  0.50:  Cyclic circuits with one loop of two (left) and three (right) inverters. the three­inverter cycle on the right has three wires. because their  outputs  depend  on  the  input  sequence  including  current  and  past  input  values.  We conclude.49 plots the minimum delay for   D Minimum Delay 35 30 25 20 15 10 20 40 60 80 Electrical Effort Figure 4.  Cyclic  circuits  are  of  particular  interest  for  the  implementation  of memory elements. The minimum delay of the 3:8  Figure 4. Figure 4.7. not counting implicit power supply loops.  The  inverter  pair  on  the  left  of  Figure 4.   Second.1. Analogously. Cyclic Circuits A cyclic circuit has one or more loops.49:  Minimum delay   of 3:8 decoder as a function of electrical effort  Our 3:8 decoder is essentially a 3­stage design.   When the inputs change. 4. which is best suited for path effort   For larger decoders or circuits with larger electrical effort   we may increase the number of stages either by appending inverters to the outputs or by prepending inverters to the inputs.50 shows two cyclic circuits with one loop each. the outputs assume the values defined by   after a circuit specific propagation delay. Acyclic circuits have inputs   and outputs   and implement logic functions of the inputs. Memory Elements All of the logical circuits we have discussed so far are acyclic. For example.50 do not even have distinguished input and output  terminals. The output of each inverter can be 0 or 1. 4. assume that   Thus.ica. Cyclic circuits exhibit a more complex. Basic Digital Circuits — Introduction to Digital Circuits  we obtain the polynomial in  :  we can determine effort delay  decoder is then   where   as the larger of two positive real roots of the polynomial. that is they do not form cycles or loops except implicitly through the power supply. assume that   Then the output of inverter 1 is   which causes the output of inverter 0 to be   This is also the same value with started out with.html 34/43 . the circuits shown in Figure 4.

 and are useful to measure the average propagation delay of an inverter in a given manufacturing process. Therefore.  Q=0  Thus. the inverters enforce that   and   are complements of each other. in Figure 4. The two stable states of the bistable two­inverter loop are   and   When the circuit assumes a stable state.7. and determines whether data input   asserts the state of the bistable inverter loop. loops with even numbers of inverters are useful building blocks. because they are bistable.52 shows a D­latch implementation with a bistable inverter loop and a 2:1 multiplexer to steer the data input signal into the loop.54 illustrates the operation of a D­latch over time. independent of input  opaque. Ring oscillators are not used as logic elements in digital circuits.52:  A D­latch implemented as a bistable inverter loop with an input multiplexer.51:  The two states of a bistable inverter loop.ica. The problem with the bistable inverter loop in Figure 4.51.2.  In  contrast  inverter  loops  with  odd  numbers  of  inverters  as  unstable.  we say the D­latch is Figure 4. fixes this deficiency. A state is stable. The D­latch.53:  Modes of operation of the D­latch. Figure 4. if   the closed loop is disconnected from input   and retains value   because the loop is a bistable cyclic circuit. The mode of operation depends on the position of the multiplexer switch.  the  output  of inverter 1 must be   Since   is the input of inverter 2. Since output   follows input   we say the D­latch is transparent. we find   that is the wire is complemented again. 4. Every  inverter  loop  with  an  even  number  of  inverters  is  stable. the values of the wires toggle at a speed determined by the propagation delay of the inverters. In fact. that we discuss below.  Odd­numbered inverter loops are called ring oscillators. and stores the current state. The diagram shows the voltage levels of the clock and data inputs https://bibl. we distinguish two modes of operation: : D­latch is transparent. The D­latch is either (left) transparent: output   follows input  stores value   or (right) opaque: the inverter loop The waveform diagram in Figure 4. Clock input   of the D­latch serves as select input of the multiplexer. and input   drives the inverter pair. these behaviors can be observed in larger loops as well.jku. and input   drives both output   and the inverter pair. it is not obvious how to transition the circuit from one stable state into the other. Basic Digital Circuits — Introduction to Digital Circuits The  three­inverter  loop  behaves  very  differently  than  the  two­inverter  loop. A bistable circuit is a circuit with two stable states. Since output   retains its value. If   the loop is open.51 is that we cannot control its state. Instead. its output must be   Now. we call the wires simply   and  Q =1 Q=1 Q =0 Figure 4. Otherwise. The inverter loop is open. If we traverse the loop for a second time.3/2/2016 4. The inverter loop is closed. Since the circuit is stable and has no inputs.53 shows the D­latch circuit with the multiplexer replaced by its switch model. Q Q D 1 0 Q Figure 4. We conclude that the two­inverter loop is stable whereas the three­inverter loop is not.at/app/read/dc/build/html/basiccircuits/basiccircuits. if the circuit does not transition into another state without external stimulus. : D­latch is opaque. input   is the input of inverter 0. φ =1 Q φ =0 D Q D Q Q Figure 4. In contrast. the output of inverter 0 must be   which is the complement of the assumption we started with. D­Latch D φ Latch φ A D­latch is a bistable memory element with data input   clock input   and output   The D­latch symbol is shown on the right. Hence.  Assume  that    Since    is  the  input  of  inverter  1. We observe that the circuit does not reinforce its state.html 35/43 .

ica. In the following. Since  this  multiplexer  circuit  inverts  the  output. holds output   unchanged and blocks   from propagating to the output. we have  the  D­latch  is  transparent.e.52. We exploit the circuit equivalence in Figure 4.  When  the  D­latch  is  transparent.at/app/read/dc/build/html/basiccircuits/basiccircuits. indicated by the curved arrow from   to   The D­latch remains transparent as long as the clock signal is   Output   follows input   after a propagation delay. output inverter φ Q feedback inverter X D φ Y φ φ­arm φ φ­arm Figure 4. the output follows input   after a propagation delay. Initially.jku. indicated by the curved arrows from the transitions of   to  When the clock transitions to   the D­latch stores the last value of input   before the clock transition.55. We begin with the implementation of the 2:1 multiplexer with two select arms.  then  node   Since the  when clock input   and   is  disconnected  from  input    and  the  The D­latch is opaque and output   retains its value. The functionality of the D­latch circuit depends essentially on the state of internal node  inverting mux arm changes the polarity. When the D­latch becomes transparent. the D­latch is opaque.39 to implement each mux arm with four transistors.55 shows the multiplexer select arms as tristate inverters in form of an inverter that drives a transmission gate. and holds this value for as long as the D­latch remains opaque. Basic Digital Circuits — Introduction to Digital Circuits and the D­latch output.  when  inverter loop reinforces   The output inverter drives   When the  ­arm is closed. φ­arm φ­arm φ φ X Q φ φ output inverter D Y feedback inverter https://bibl.54:  Waveform  diagram  of  D­latch.html 36/43 .55:  D­latch implementation with multiplexer select arms shown as tristate inverters.3/2/2016 4.  output    follows  input    Otherwise.56. it steers input   to   to output   so that    the  ­arm  is  open  and  the  ­arm  is  closed. integrating  the  ­arm  into  the  inverter  loop  as  shown  in  Figure 4. A compact CMOS implementation of the mux arms is shown in Figure 4. The D­latch is called level­sensitive because its two modes of operation depend on the level of the clock signal. we derive a CMOS circuit for the D­latch in Figure 4. i.  we  add  an  inverter  to  generate uncomplemented output   Figure 4.  during  the  gray  shaded  time intervals. the D­latch is opaque and stores output value   Input   transitions to 1 before the clock signal. transparent opaque transparent φ D Q time Figure  4.  Otherwise.

The propagation delay of the transparent D­latch is the delay of the 2:1 multiplexer plus the delay of the output inverter:   Assuming that  output    drives  capacitive  load    the  output  inverter  has  electrical  effort    and  parasitic  delay    such  that    time  units.html 37/43 . the feedback inverter and the output inverter. the critical path stretches from data input   to output   The signal propagates through internal node   and bypasses the feedback loop entirely. we reduce the capacitance of the off­ path branch and the delay of the path of interest.  the  output  remains  unchanged. the D­latch may https://bibl. the load capacitance of the mux is   Therefore. More succinctly.57 shows the complete 12­transistor CMOS circuit for the D­latch.  For  example.  The  logical  effort  is  the  input  capacitance    of  input    divided  by  the  input capacitance of a reference inverter   Input   drives the pMOS transistor of width 4 and the nMOS transistor of width 2 of the  ­arm. Thus. if both the clock and data inputs change at about the same time.57:  CMOS circuit for D­latch and interactive switch model. Thus.58:  D­latch circuit with matched transistor sizes. Figure 4.  Next.at/app/read/dc/build/html/basiccircuits/basiccircuits.  Therefore.  we  observe  that  the  feedback  inverter  diverts  current  from  the multiplexer output.jku. The delay is independent of clock signal   When the  D­latch  is  opaque. The timing behavior of the D­latch depends on the mode of operation. If we shrink the pMOS transistor of the feedback inverter from 2 to 1 units of normalized width.ica. 4 φ 4 4 2 φ 4 2 X Q Y φ D 2 2 1 φ 2 1 2 Figure 4. When the D­latch is transparent. Note that the output of the feedback inverter is   ϕ = 0      and the circuit also enforces   and   D = 0 Figure 4. Basic Digital Circuits — Introduction to Digital Circuits Figure 4.   and the logical effort of input   of the mux is   To determine the electrical effort of the mux.  it  does  not  make  sense  to  speak  of  a  propagation  delay. including an interactive switch model.3/2/2016 4. we analyze the critical path of the D­latch with the matched transistor sizes shown in Figure 4.  Hence.56:  D­latch implementation with exploded multiplexer select arms.  we  analyze  the  multiplexer. We find that the delay of the multiplexer is   and the propagation delay of the D­latch amounts to This  delay  may  serve  as  a  point  of  reference  for  circuit  optimizations. Propagation delay   is only one of several characteristic quantities of the timing behavior of the D­latch. notice that output   of the mux drives two inverters. Arguably even more important is the timing behavior of the D­latch when the clock input changes. the  electrical  effort  of  input    of  the  mux  is    The  parasitic  delay  of  the  2:1  mux  is    see multiplexer.  we  discuss  the propagation delay of the transparent D­latch.58. In particular.

 the  ­arm.ica. Initially.at/app/read/dc/build/html/basiccircuits/basiccircuits.  because  the feedback loop is bistable only if   If we force   the feedback loop will assume an unpredictable state.59. When the D­latch becomes opaque at time   it stores value   Clock signal   closes.59:  D­latch circuit and timing analysis. or turns on. (right)  input transition of   because   changes too close to the negative edge of clock  In the waveform diagram on the left of Figure 4. At  time   the  ­input changes from 0 to 1. the interval between the transition of input   and clock   is  11 14  misses the  At time  the negative clock edge begins to close the  ­arm and to open the  ­arm. Basic Digital Circuits — Introduction to Digital Circuits become unstable.58 and a load capacitance of  :  Q 9 11 14 20  The D­latch is transparent for   and opaque  the delays of the circuit elements of the D­latch are: ­arm delay;  :   feedback inverter delay;  :  ­arm delay;  :   output inverter delay;  With these element delays. Output   will follow   after the input has propagated through the  ­arm to internal node   at   and then through  the  output  inverter  at  time    The  change  of  internal  node    also  affects  node    which  changes  at  time    from  0  to  1  after propagation delay   of the feedback inverter. Digital circuits with D­latches should avoid this scenario by all means because it can impact the functionality adversely. φ­arm drives φ­arm drives D φ­arm drives φ­arm drives φ φ D Y φ­arm drives X φ φ φ D D D X X X Y Y D X X Y Y D X X Y D Q X 6 Q 9 X 11 15 X X X Y Q Q X time 0 Y Y X Q φ­arm drives φ D Q time 0 6 8 9 11 14 15 17 19 time 0 5 6 9 Figure  4. after the clock transition at   signal   takes propagation delay    time  units  through  the  inverting  ­arm  to  reinforce internal node   at time   It is this switching delay of the multiplexer that can cause trouble. if the time interval   between the transitions of inputs   and   is too small. the transition of input   must occur by  a  sufficiently  long  time  period  before  the  negative  transition  of  clock    to  stabilize  internal  node    through  the  feedback  inverter. We discuss the timing behavior of the D­latch in Figure 4. or turns off. Figure 4. The clock input transitions from 1 to 0 at time  for   The opaque D­latch stores input value  Given the D­latch transistor sizes in Figure 4. Thus.html 38/43 . so that   for   Time interval   is the smallest interval for the D­ https://bibl.60. Internal node   follows   just in time at   to reinforce internal node  after the multiplexer delay of   time units. we can express the propagation delay of the transparent D­latch as   The waveform diagram shows the corresponding transitions. This can happen. the  ­arm and opens. the D­latch is transparent because   and the  ­arm is closed whereas the  ­arm is open. In particular.jku. where data input  transitions at time   and clock input   at time  φ ­arm drives φ ­arm drives φ D φ Q D X D X φ Y Y D X X Y Y X Q φ X time 0 6 Figure 4. Functional bugs caused by careless timing behavior are particularly difficult to uncover.60 illustrates the timing problems of a D­latch.3/2/2016 4.60:  D­latch  timing  problems:  (left)  in  corner  case    the  D­latch  stores  the  input  after  (middle)   causes output   to follow   after a glitch increases the propagation delay.

   to be  dD  larger than the propagation delay of the Q dmax d tsetup 0 D X d + d D X Q Figure  4.60.62 illustrates delay   as a function of interval   Analogous to the setup time. We observe that for a safe operation of the D­latch.    becomes.  since  the  feedback  inverter  produces  output  value    just  1  time  unit  after  the negative  clock  edge  at  time    the  ­arm  pulls  inner  node    back  to  0  at  time    The  resulting  glitch  on  node    propagates  through  the feedback and output inverters. the glitch appears at output   after propagation delay   which is larger than propagation delay   of the transparent D­latch. that is   After the multiplexer delay of   After the negative  time units. D­Flipflop A D­flipflop is a bistable memory element with data input   clock input   and output   A  D­flipflop  is  an  edge­triggered  memory  element  that  is activated by a clock edge. For the circuit designer.61 summarizes the timing behavior of the D­latch in a graph that plots interval   on the horizontal axis and propagation delay   on the vertical axis. which succeeds to pull   to 1. Nevertheless. the feedback loop stabilizes and recovers   However.e.60  assumes  an  even  smaller  interval   The  negative  clock  edge  opens  the  ­arm too early to pull inner node   to 0.60 assumes that interval  clock edge at time   the feedback loop enters unstable state  inverting  ­arm drives value    onto  inner  node   is smaller. at time   the  However. Such a clock signal restricts the design choices but gives the designer a clean time reference for the permitted delay range of the circuit that drives the data input of a D­latch.61:  D­latch  timing:  the  smaller  the interval  between  input  transition  of    and  the negative  clock  edge. The waveform diagram in the middle of Figure 4. reasonable specifications define  transparent D­latch. Basic Digital Circuits — Introduction to Digital Circuits latch to capture input   safely.62:  D­latch setup time and hold time characterize the time interval around the negative clock edge where input   may change safely. If input   transitions before the  ­arm is completely open. The hold time  delay   is the minimum time input   must be stable after the negative clock edge to capture the input value within a reasonable Setup time and hold time characterize the timing behavior of the D­latch around the negative clock edge.    Senarios  (2). and retains the old input value.3. Most manufacturers offer D­latches as basic circuit elements. As a consequence. where the transition of input   occurs sufficiently early before the negative clock edge for  the  D­latch  to  propagate  the  change  safely  to  output   The  propagation  delay  is  the  sum  of  the delays  of  the  ­arm  and  the  output  inverter. The closer the transition of input   gets to the negative clock edge. At the triggering clock edge. Case (1) corresponds to the scenario in Figure 4.  the larger  the  propagation  delay  from  input    to output      becomes. φ thold Figure 4. The setup time   is the minimum time input   must be stable before the negative clock edge to capture the input value within a reasonable delay  dD Q d max (3) (1) (2) dD X + dX Q (4) D tsetup φ (1) (2) (3) φ time (4) D Q For example. the D­latch fails to capture the new input signal altogether.jku. i. 4.  (3). we must ensure that input   does not transition until a time period after the negative clock edge has passed. Since inverters attenuate such glitches.ica. see case (4). the D­flipflop is always opaque except for the short time period around the triggering clock edge.at/app/read/dc/build/html/basiccircuits/basiccircuits. The negative clock edge occurs at  The timing problems of the D­latch occur even when the transition of input   occurs after the negative clock edge. the D­latch fails to capture the input transition entirely. for a glitch­free operation of the D­latch.  When  the  interval becomes too small.html 39/43 .59.7. the larger propagation delay   becomes. it is important to ensure that the data input does not change within the interval around the negative clock edge of the D­latch. The waveform diagram on the right in Figure 4. glitches can propagate to output   Figure 4.3/2/2016 4. When interval   becomes too small. and supply their process specific setup and hold times in their datasheets. the D­latch fails to capture input   and continues to store the old value   The output inverter propagates the glitch of node   to output   before restoring the old output value  Figure 4. the D­flipflop can be build by a series composition of two D­latches with complemented clock https://bibl. interval   must be large enough. This is the reason why the clock input of the D­latch is commonly connected to the regular beat of a clock signal with a well defined clock period. Whereas a D­latch is opaque when the clock input level is low. This behavior is different from a D­latch which is level­sensitive.  and  (4) correspond to the three cases illustrated in Figure 4. we need to guarantee that input   changes sufficiently early before the negative clock edge. The  ­arm fights the closing  ­arm. the D­flipflop stores input   until the next triggering clock edge occurs.

 the slave latch reinforces output value  φ =1 D Q1 φ =0 Q φ D Q1 Q Figure 4. During the positive half­cycle of the clock.66. https://bibl. To  understand  the  functionality  of  the  D­flipflop. input   cannot propagate beyond   to output   Instead.66.  consider  the  switch  model  and  the  associated  waveform  diagrams  in  Figure  4.3/2/2016 4.  If  we  invert  the  clock  input. Figure 4.64 shows a CMOS circuit for the positive­edge triggered D­flipflop. and input   can propagate to inner node  Since the slave latch is opaque. The circuit saves four transistors by removing the output inverter of the master latch and the input inverter of the slave latch. Q1 master D Latch D Latch φ Q Q slave Figure 4.  the  flipflop  would  be  negative­edge triggered.65:  Switch  model  of  D­flipflop  and  operation  during  negative  half­cycle  of  the  clock. the master latch is opaque. Figure 4. and is negative­sensitive. φ φ Q1 D Q φ φ φ φ φ φ Figure 4. illustrated in Figure 4. because it is transparent when clock input   The second D­latch with input   and output   is the slave latch. and store input   at the falling edge of the clock. the master latch stores the last value of input   before the positive clock edge. The slave latch is transparent.ica.jku.at/app/read/dc/build/html/basiccircuits/basiccircuits. and is positive­sensitive.63:  A positive­edge triggered D­flipflop implemented with two back­to­back D­latches and complemented clocks.63. as shown in Figure 4. The  D­flipflop  symbol  on  the  right  has  a  triangle  at  the  clock  input  to  indicate  that  the  flipflop  is edge triggered. because it is transparent when clock input   The D­flipflop is positive­edge  triggered  because  it  stores  input    at  the  rising  edge  of  the  clock.65 illustrates the operation during the negative half­cycle of the clock.html 40/43 .  The  master  latch  is  transparent  and  the  slave  latch  is opaque. Basic Digital Circuits — Introduction to Digital Circuits φ inputs. The master latch is transparent. and propagates the value of   to output  which is the last value of input   before the positive clock edge. The first D­latch with input   and output   is called the master latch.65  and  Figure  4. and disconnects input   from inner node   Thus.64:  A 20­transistor CMOS circuit for the positive­edge triggered D­flipflop saves the output inverter of the master latch and the input inverter of the slave latch.

and have even become performance limiting.  and  show  that  we  can  reduce  the  signal propagation delay of long wires from a quadratic function in the wire length to a linear function by using repeaters. where the setup time and hold time of the master D­latch must be observed.at/app/read/dc/build/html/basiccircuits/basiccircuits. Each of the  D­flipflops has an independent D­input and Q­output.ica.  exhibit  a more complex timing behavior than meets the eye.66:  Switch  model  of  D­flipflop  and  operation  during  positive  half­cycle  of  the  clock. Basic Digital Circuits — Introduction to Digital Circuits φ =0 D Q1 φ =1 Q φ D Q1 Q Figure  4.3/2/2016 4.1.  we  introduce  the  Elmore delay  as  an  alternative  model  for  the  timing  analysis  of  RC  circuits. Real  wires. The register symbol is shown on the right.8. Modeling long wires is beyond the capabilities of the method of logical effort. In  this  section. φ The D­flipflop is also called register. Wires In circuit diagrams we draw wires to signify the connectivity between terminals of transistors. the D­flipflop is subject to the same timing constraints as a D­latch. Thus.  however. Capacitive  wire:  The  wire  has  negligible  resistance  but  significant  capacitance. the rising clock edge turns into the falling clock edge of the master latch. 4. We distinguish three wire models: Ideal wire: The wire has negligible resistance and capacitance that we can ignore for the purpose of delay analysis. Elmore Delay https://bibl.8. RC wire: The wire has significant resistance and capacitance. In case of the positive­edge triggered D­flipflop.  This  model  applies  to  medium  length  wires. The method of logical effort captures stray capacitances due to wires without changes. Note that output   remains unchanged after the negative clock edge. The triggering clock edge is the timing critical transition of the D­flipflop. In state­of­the­art VLSI chips long wires have delays spanning tens of clock cycles.jku. An  ­bit register consists of   D­flipflops triggered by the same clock signal. and larger circuits. this simple model is relevant for very short wires only. and is one of the most widely used memory elements in digital circuit design. D n n Q A D­latch is transparent when clock   and opaque when   A positive­edge triggered D­flipflop stores input   at the rising edge of clock signal   Complete the waveform diagram below with D­latch output   and D­flipflop output   assuming both memory elements are connected to clock   and input signal  φ D Qlatch Qff Solution 4. A single D­ flipflop implements a 1­bit register. This is the critical clock edge.  For  delay analysis. Input signal   must be stable during the setup time before the positive clock edge and during the hold time after the positive clock edge. gates. because the opaque slave latch stores during the negative half­cycle the value that the master latch stored during the preceding positive half­cycle of the clock. Long wires have significant delay which can be modeled as resistances and capacitances distributed along the extend of the wire.html 41/43 . In practice. we can model the wire capacitance as a lumped capacitance in parallel to the load capacitance of the gate driving the wire.  The  master  latch  is  opaque  and  the  slave  latch  is transparent.

 the methods of calculus apply.  to  reduce  the  overall  delay. we divide a wire of length   into   segments of length   and insert a repeater at the beginning of each segment.67  illustrates  the  situation  with  a  long  wire  driven  by  an  inverter  and  load  capacitance    We  can model the resistance and capacitance of the wire by considering an infinitesimally short segment. if we use repeaters such as inverters or buffers at carefully chosen locations distributed across the wire.68:  Wire RC model with currents for Elmore delay approximation. Assume that a wire segment of length   has lumped resistance  and capacitance   In Figure 4. proportional to the square of the wire length.69. However.68. increasing the size of the driver alone is not an effective method. The Elmore delay enables us to derive the delay of a wire as a function of its length. Therefore.jku. we can reduce the wire delay significantly. we need to account for the wire delay if we wish to minimize  the  delay  of  the  whole  circuit. the Elmore delay of a wire with   segments and length   is: We conclude that the Elmore delay is proportional to the square of the number of wire segments   and is. Basic Digital Circuits — Introduction to Digital Circuits When a wire is so long that it incurs a delay comparable or even larger than the delay of its driver.68.  We  could  solve  the  diffusion equation  numerically.ica.   charges capacitor    whereas  current   flows into the remaining wire segments.  Figure 4.67. More succinctly.  Nevertheless.8.at/app/read/dc/build/html/basiccircuits/basiccircuits.2. we assume that   and   for all nodes   Then.  which  does  not  have  analytic  solutions  for  the  problem  at  hand.  product  grows quadratically in  4. we can interpret the Elmore delay as the sum of the   constants induced by the currents shown in the RC model. Repeater Insertion If we want to reduce the delay of a long wire.67:  RC model of a long wire driven by an inverter and load capacitance  The Elmore delay approximates the delay of an RC wire with   segments very accurately as the sum of time constants: Figure 4. The RC  constant  of  the  first  segment  is   Current    charges  capacitor   Since    flows through   and   the time constant for the second segment is   For the whole wire model in Figure 4. lumped into discrete resistors and capacitors.3/2/2016 4.  we  need  to  strike  the https://bibl.68. Using inverters as  repeaters  minimizes  the  additional  delay  introduced  by  the  repeaters  themselves. as shown in Figure 4. The total drive current flowing from the inverter into the wire is   By KCL. and the model for the  wire  delay  results  in  the  famous  diffusion equation. If we index the resistors and capacitors as shown in Figure 4. CL Ron R1 R2 C1 R3 C2 C3 CL Figure 4.68 illustrates the indexing used in this sum for   Each index corresponds to a branching node with an off­path capacitance. this result is obvious considering (1) that the total resistance of a wire   grows linearly in   and (2) the total capacitance   grows linearly in   viewing the wire as one plate of a capacitor and the rest of the chip as the other. the Elmore delay amounts to: R1 R2 1 i1 C1 R3 2 i2 C2 R4 3 i3 C3 4 i4 C4 Figure 4. as illustrated in Figure 4.  but  a  more  insightful  model  can  be  derived  from  an  approximation  of  the  wire  by  means  of  finite  resistances  and  capacitances.   Intuitively.html 42/43 . Then. hence.

 Too few repeaters. and the wire delay remains quadratic in wire length. Too many repeaters. We assume that the wire of length   with total resistance   and capacitance   has   segments of length   such that each wire segment has resistance    and  capacitance   The RC model of the repeating inverter shall have on­resistance   and output capacitance   Assuming that all inverters have the same size. the load capacitance of the wire segment is the input capacitance of the inverter. The Elmore delay of one wire segment of length   including repeating inverter is Therefore. consider RC model of a single wire segment in Figure 4. independent of wire length   We conclude.  ΔL Rinv Rwire /n Cinv Cwire /n Cinv Figure 4. Footnotes [1] The number of inputs of a gate is also called fan­in.69:  Wire model with inverters as repeaters.e.   and  Here. and the wire delay is dominated by the delay of the inverter chain. To find the optimal number of repeaters. For instance.70:  RC model of one repeated wire segment. at the expense of inserting repeaters. we assume that the inverter size and. can be reduced to be directly proportional to their length. Basic Digital Circuits — Introduction to Digital Circuits proper balance in the number of repeaters. that the delay of long wires does not need to be proportional to the square of their length but.html 43/43 . ΔL ΔL ΔL ΔL R R R R C C C C CL Figure 4.at/app/read/dc/build/html/basiccircuits/basiccircuits. hence. the Elmore delay of the whole repeated wire of length   is Since the optimal number of repeaters   minimizes the wire delay   we set the derivative to zero: and find the optimal number of repeaters With this value of   and utilizing the observation that the total resistance and capacitance of the wire are proportional to its length   we find that the minimum delay of the repeated wire is proportional to  :  i.jku.70. a NAND gate with   inputs has a fan­in of  https://bibl.3/2/2016 4.   and   are constants.ica.