ECE 465 Lecture Notes # 1 Introduction to Digital Design Shantanu Dutt ECE Dept. UIC Copyright: Shantanu Dutt Copyright: Shantanu Dutt Copyright: Shantanu Dutt —the analog BW is proportional to n, the the # of distinct values or levels, while the corresponding digital BW is proportional to log n (or more exactly to Vdd(log n)) Copyright: Shantanu Dutt i.e., 2’s complement number system, floating-point number system, etc. Copyright: Shantanu Dutt Copyright: Shantanu Dutt Copyright: Shantanu Dutt Pure if-then-else type constructs can be implemented using combinational circuits Loops generally need to be impl. using sequential circuits, since the circuit/system needs to “remember” where it is in the loop Copyright: Shantanu Dutt Copyright: Shantanu Dutt Copyright: Shantanu Dutt Copyright: Shantanu Dutt Copyright: Shantanu Dutt Copyright: Shantanu Dutt Copyright: Shantanu Dutt There are two switches S1 and S2 to control the a light bulb (e.g., one switch near each door of a room w/ 2 doors). Design a logic circuit so that the bulb can be controlled (essentially, toggled) by either switch (i.e., by flicking/pushing either switch). S1 S2 Z S1 Diff. initial conditions S2 Z np/0 np/0 0 np/0 np/0 1 np/0 p/1 np/0 p/1 1 0 p/1 np/0 1 p/1 np/0 0 p/1 p/1 p/1 p/1 0 1 1-switch flick transition arrows (verifying consistency Legend: np: not pushed (or, say, “up” posn) of corresponding p: pushed (or, say, “down” posn) o/p transitions) Design Steps (for small-size designs w/ up to around 6 vars; we will later learn about hierarchical or divide-and-conquer strategies for larger designs) 1a. If TT can be obtained directly (due to the nature of the problem statement), then encode inputs and outputs, get the TT, and go straight to the minimization step (Step 4). Otherwise go to Step 1b. Copyright: Shantanu Dutt Alternate Statement Design Steps (for small-size designs w/ up to around 6 vars; we will later learn about hierarchical or divide-and-conquer strategies for larger designs) 1b. Copyright: Shantanu Dutt Copyright: Shantanu Dutt Copyright: Shantanu Dutt FPGAs—will do later) Copyright: Shantanu Dutt Copyright: Shantanu Dutt Copyright: Shantanu Dutt Copyright: Shantanu Dutt Drain Source Drain Source Copyright: Shantanu Dutt nMOS Transistor – Logic ‘1’ Transfer VT,MP is the threshold voltage of the nMOS transistor Ack: From http://www.cse.fau.edu/~ankur/courses/IntroVLSIDesign/Pass%20Transistor%20Logic.ppt Copyright: Shantanu Dutt nMOS Transistor – Logic ‘0’ Transfer Ack: From http://www.cse.fau.edu/~ankur/courses/IntroVLSIDesign/Pass%20Transistor%20Logic.ppt Copyright: Shantanu Dutt GATES IN SERIES Vdd weak 1 Vdd -Vt Vdd -2Vt very weak 1 Vdd -3Vt Vdd Vdd -4Vt Vdd The output can thus be a very weak 1 Ack: From http://www.cse.fau.edu/~ankur/courses/IntroVLSIDesign/Pass%20Transistor%20Logic.ppt Copyright: Shantanu Dutt CMOS TRANSMISSION & LOGIC GATES Thus an nMOS transistor passes a strong 0 and a weak 1. A similar analysis (for pMOS, gate to source voltage has to be < the (negative) threhold voltage VT for transistor to conduct) shows that a pMOS transistor passes a strong 1 and a weak 0. This is the basis of CMOS logic gates, where pMOS transistors are used in the “top” n/w connected to Vdd to conduct a strong or good 1, and nMOS transistors are used in the “bottom” or complementary n/w to conduct a strong 0. Also, can Combine the two to make a CMOS pass gate, called a transmission gate, which will pass a strong 0 and a strong 1. Ack: Partly from http://www.cse.fau.edu/~ankur/courses/IntroVLSIDesign/Pass%20Transistor%20Logic.ppt Copyright: Shantanu Dutt Problem w/ Large Switching Networks • Even though pMOS conducts a good 1, a long series of pMOS transistors for a manyinput gate can deteriorate the signal due to accumulation of small IR drops across the trannsistors •Example: Consider an 8-variable NOR function f = (x7+x6+x5+x4+x3+x2+x1+x0)’. Its implementation using a single n/w is given below; we assume that a pMOS transistor has a voltage drop of 0.2 V when conducting a ‘1’—which can be considered conducting a good ‘1’ as by itself this drop is small. Note that f = x7’x6’ ….. x1’x0’ Vdd=3v x7 x6 x5 x4 x3 x2 x1 x0 0.2 V 0.2 V 0.2 V 0.2 V 0.2 V 0.2 V 0.2 V 0.2 V Corresponding compl. n/w (f’=x7+x6+….+x1+x0) GND f Vop=1.4V when f=1; not a reliable logic 1 voltage (probably in the grey/forbidden region) Copyright: Shantanu Dutt • • • • Problem with Large Switching Networks (contd) The solution is using a number of smaller switching n/ws, so that the deterioration of the signal (‘1’ or ‘0’ logic value) is small. Further, each small n/w replenishes the logic value at its o/p from Vdd or GND in spite of the (small) deterioration of the signal at its inputs (assuming these come from other n/ws). Thus any deterioration from previous n/ws do not propagate to subsequent n/ws in the circuit, and such deterioration is in fact “corrected” in n/ws fed by slightly deteriorated signals coming from other n/ws Thus we need to break down a large function (function w/ many variables—generally > 6) into smaller ones that can each be implemented using smaller n/ws. This happens to a large extent when a function is represented as an SOP or POS expression (it is lready broken down into ANDs and ORs) but not always (e.g., an AND or OR term may have a large # of vars). E.g., the 8-i/p NOR function f can be decomposed as (and then impl as below): – Vdd=3V f = [(x7+x6+x5+x4) + (x3+x2+x1+x0)]’ = [(x7’x6’x5’x4’)’ + (x3’x2’x1’x0’)’]’ = NOR(NAND(x7’,x6’,x5’,x4’), NAND(x3’,x2’,x1’,x0’)). Alternatively, f = (x7+..+ x4)’ (x3+..+x0)’ = NOT(NAND(NOR(x7,..,x4), NOR(x3,..x0))) Vdd=3V x7’ x3’ Note: (1) Vth drops accummulate across a series of gates. But (2) IR drops are rectified across a series of gates. x6’ x2’ x5’ x1’ x7’ x6’ x5’ x4’ g h g f Vdd x4’ x0’ 0.2 V 0.2 V GND Compl n/w for g g (=2.8V for ‘1’) GND 0.2 V Compl n/w for h 0.2 V f x3’ x2’ x1’ x0’ h (=2.6V for ‘1’) h (=2.8V for ‘1’) GND Compl n/w for NOR Copyright: Shantanu Dutt Problem with Large Switching Networks (contd) • These small switching networks are called gates • Thus need to use small to medium-size (<= 4 inputs) gates to implement large logic functions 0 strong 1 Vdd strong 1 Vdd strong 0 0 Vdd strong 1 Vdd 0 0 A cascade or series of NAND/NOR gates will produce strong 1’s as well as strong 0’s Copyright: Shantanu Dutt Circuit Delay • • • • • • Assume R is the on-resistance of a single nMOS or pMOS transistor. Then the worst-case “top” network resistance Rtop of a gate gi is the k*R, where k = max. # of transistors in series in tye top n/w of gi. Similarly, for the resistance Rbot of the “bottom” or complementary n/w of gi. If CL is the capacitive load seen by a gate gi (generally = the sum of gate capacitances C of the transistors of the gate(s) that gi drives), then the delay in gi driving its output from 0 1 is Rtop* CL and the delay in gi driving its output from 1 0 is Rbot* CL . In general, we define gate res. Rg = max(Rtop , Rbot), and the delay of its output signal as Rg* CL Example: For the 2 i/p NAND gate in Fig. 1, Rtop = R (note that in the worst-case only 1 pMOS transistor is on, so the res. then is R, and *not* R/2), Rbot = 2R. Thus Rg = 2R, and the gate’s output delay = Rg*CL = 2R*CL . If the gate is driving a 2-input NAND/NOR/AND/OR gate, then = CL= 2C. The delay of a path = S (output delays of gates on the path). The delay of the path shown in Fig. 2 = Rg(g1)*CL(g2) + Rg(g2)*CL(g3) + Rg(g3)*CL(g4) + Rg(g4)*CL(op), where CL(op) is the load at the output of the path. Thus the path delay = 2R*2C + 2R*2C + 2R*2C + 2R* CL(op) = 12RC + 2R* CL(op). Note that in this delay formulation, we have ignored the “intrinsic” delay d(gi) of a gate gi to switch from off to on, though these delays can be added to the above formulation, for each gate on the path. The formulation w/o the d(gi)’s is called the RC delay. The delay of a circuit is the delay in the longest (max-delay) path of the circuit from primary inputs to an output Rg(g1)*CL(g2) + Rg(g2)*CL(g3) + Rg(g3)*CL(g4) + Rg(g4)*CL(op) g1 g2 g3 g4 A circuit path (g1g2g3g4output) Fig. 1: CMOS realization of a 2-i/p NAND gate Fig. 2: A path of a circuit and its delay Copyright: Shantanu Dutt