CoE 197U CMOS Gates

From Microlab Classes
Jump to navigation Jump to search

In this lecture, we will cover the following:

  • Review of combinational logic
  • CMOS gate sizing
  • Designing for speed

Use the provided slide deck to guide you through this discussion. The main reference for this lecture is Chapter 6 of the Digital IC book[1].

Combinational Logic Review

Combinational logic funstions are functions whose output value/s depend only on the current input values. They are typically expressed as Boolean functions, truth tables or logic gate networks. Common logic gates used are inverters (as discussed in previous lecture), AND gates, NAND gates, OR gates, NOR gates, etc. Static complementary gates are implemented using complementary (or dual) networks: a pull-up network (PUN) composed of PMOS transistors and a pull-down network (PDN) composed of NMOS transistors. The simplest of these gates is the inverter, where the PUN is a single PMOS and the PDN is a single NMOS, as shown in figure 1. Slide 5 also shows the corresponding layout (middle figure) and stick diagram (right figure) of an inverter.


CMOS Logic Gates

To design these logic gates, we can treat the transistors as controlled switches, similar to how we analyzed the inverter. We recall that NMOS switch closes when the control is HIGH, while PMOS switch closes when the control input is LOW. Connecting them in series or in parallel performs the logic as shown in figure 2.


One thing we need to remember is that the PUN is composed of PMOS transistors ONLY while the PDN is composed of NMOS transistors ONLY. The reason for this is because PMOS transistors produce "strong 1's" while NMOS transistors produce "strong 0's" as illustrated in figure 3 below. As such, to have a full rail-to-rail output, we use the PUN (with PMOS transistors) to drive the output to '1' (VDD) and the PDN (with NMOS transistors) to set the output to '0' (GND).


To construct a NAND gate, we can start from the truth table (shown in the figure below). The output will be '0' if both inputs (A and B) are HIGH. Since we need the output to be '0', we use the PDN and since both have to be high (at the same time), then we connect the NMOS transistors in series. In the same manner, the output will be '1' if either (or both) of the inputs are LOW. So using the PUN, since only one of the inputs need to be LOW, we connect them in parallel. Thus the NAND gate implementation as shown in figure 4 below. Slide 11 will show the implementation of the NOR gate.


Note that the PUN and PDN are duals. Being duals, transistors in parallel in the PUN will be in connected in series in the PDN and vice versa. For more complex gates

Designing for Speed

References

  1. J. Rabaey, A. Chandrakasan, B. Nikolic, Digital Integrated Circuits, 2nd ed., 2002