Presentation on theme: "Discrete Mathematical Structures: Theory and Applications"— Presentation transcript:
1 Discrete Mathematical Structures: Theory and Applications Chapter 10.3: Logic GatesBased on Slides fromDiscrete Mathematical Structures:Theory and Applicationsand by Aaron Bloomfield
2 Learning ObjectivesExplore the application of Boolean algebra in the design of electronic circuits. The basic elements of circuits are gates. Each type of gate implements a Boolean operation.We will study combinational circuits - the circuits whose output depends only on the input and not on the current state of the circuit (no memory).
6 Logical Gates and Combinatorial Circuits In circuitry theory, NOT, AND, and OR gates are the basic gates. Any circuit can be designed using these gates. The circuits designed depend only on the inputs, not on the output. In other words, these circuits have no memory. Also these circuits are called combinatorial circuits.The symbols NOT gate, AND gate, and OR gate are also considered as basic circuit symbols, which are used to build general circuits.
20 A circuit for two light switches EXAMPLE 3, p. 714F(x,y)=1 when the light is onF(x,y)=0 when the light is offWhen both switches are closed, the light is on: F(1,1)=1, this impliesWhen we open one switch, the light is off: F(1,0)=F(0,1)=0When the other switch is also open, the light is on: F(0,0)=1
21 Thus, we get:xyF(x,y)1Which Boolean expression is given by F?F(x,y) = xy + x'y'Draw a circuit for F,i.e., a circuit to control two light switches.
31 Logical Gates and Combinatorial Circuits A NOT gate can be implemented using a NAND gate (a).An AND gate can be implemented using NAND gates (b).An OR gate can be implemented using NAND gates (c).
32 Logical Gates and Combinatorial Circuits Any circuit which is designed by using NOT, AND, and OR gates can also be designed using only NAND gates.Any circuit which is designed by using NOT, AND, and OR gates can also be designed using only NOR gates.
33 Adders: Logical gates to add two numbers We need to use a circuit with more than one output, which clearly more powerful than a Boolean expression.
34 How to add binary numbers Consider adding two 1-bit binary numbers x and y0+0 = 00+1 = 11+0 = 11+1 = 10Carry is x AND ySum is x XOR yThe circuit to compute this is called a half-adderxyCarrySum1
36 A full adder is a circuit that accepts as input thee bits x, y, and c, and produces as output the binary sum cs of a, b, and c.x1ycs (sum)c (carry)
37 The full adderThe full circuitry of the full adder
38 Adding bigger binary numbers We can use a half-adder and full adders to compute the sum of two Boolean numbers1?1
39 Adding bigger binary numbers Just chain one half adder and full adders together, e.g., to add x=x3x2x1x0 and y=y3y2y1y0 we need:
40 Adding bigger binary numbers A half adder has 4 logic gatesA full adder has two half adders plus a OR gateTotal of 9 logic gatesTo add n bit binary numbers, you need 1 HA and n-1 FAsTo add 32 bit binary numbers, you need 1 HA and 31 FAsTotal of 4+9*31 = 283 logic gatesTo add 64 bit binary numbers, you need 1 HA and 63 FAsTotal of 4+9*63 = 571 logic gates
41 More about logic gatesTo implement a logic gate in hardware, you use a transistorTransistors are all enclosed in an “IC”, or integrated circuitThe current Intel Pentium IV processors have 55 million transistors!
42 Flip-flops Consider the following circuit: What does it do? R S Function1ResetSetHold1/1RQQ’SIt holds a single bit of memory.
43 Memory A flip-flop holds a single bit of memory The bit “flip-flops” between the two NAND gatesIn reality, flip-flops are a bit more complicatedHave 5 (or so) logic gates (transistors) per flip-flopConsider a 1 Gb memory chip1 Gb = 8,589,934,592 bits of memoryThat’s about 43 million transistors!In reality, those transistors are split into 9 ICs of about 5 million transistors each