Professional Documents
Culture Documents
By - Aeikansh
Structure -static arrangement of the parts (plan) Organization - dynamic interaction of these parts and their management (design) Implementation - the design of specific building blocks (construction) Performance evaluation - the behavior study of the system (decorative treatment)
Tally Sticks
Original wooden tally sticks from Westminster, England, ca. 12501275 A.D.
( SSPL/The ImageWorks.)
Chinese Abacus
Representation of 39,017 on a Chinese abacus.
(Source: http://www.liveauctioneers.com/auctions/ebay/497199.html.)
( SSPL/The ImageWorks.)
Enigma
Siemens Halkse T-52 Sturgeon (Enigma) cipher machine.
Colossus
The Colossus (ca. 1944).
(Source: http://www.turing.org.uk/turing/scrapbook/electronic.html.)
The ENIAC
Moores Law
Computing power doubles every 18 months, for the same price.
(Source: Best Servers of 2004, Kevin Krewell, 1/18/05, Microprocessor, www.MPRonline.com, Reed Electronics Group, ref: h10018.www1.hp.com/.)
A refinement of the von Neumann model, the system bus model has a CP (ALU and control), memory, and an input/output unit.
Communication among components is handled by a shared pathway calle the system bus, which is made up of the data bus, the address bus, and the control bus. There is also a power bus, and some architectures may also ha a separate I/O bus.
The Motherboard
An AMD Opteron 200 based motherboard.
Logic functions, truth tables, and switches NOT, AND, OR, NAND, NOR, XOR, . . .
minimal set
Axioms and theorems of Boolean algebra proofs by re-writing proofs by perfect induction
Gate logic
Translates a set of inputs into a set of outputs according to one or more mapping functions. Inputs and outputs for a CLU normally have two distinct (binary) values: high and low, 1 and 0, 0 and 1, or 5 V. and 0 V. for example. The outputs of a CLU are strictly functions of the inputs, and the outputs are updated immediately after the inputs change. A set of inputs i0 in are presented to the CLU, which produces a set of outputs according to mapping functions f0 fm.
Truth Tables
Developed in 1854 by George Boole further developed by Claude Shannon (Bell Labs) Outputs are computed for all possible input combinations (how many input combinations are there?
Logically identical truth table to the original (see previous slide), if the switches are configured up-side down.
The more frequently used functions have names: AND, XOR, OR, NOR, XOR, and NAND. (Always use upper case spelling.)
NOT
X
X X Y Z Y
X 0 1 X 0 0 1 1 X 0 0 1 1 Y 0 1 0 1
Y 1 0 Z 0 0 0 1 Z 0 1 1 1
AND X.Y
XY
OR
X+Y
X Y
Y 0 1 0 1
NOR X+Y
X Y
XOR X Y
X Y
X Y Z 0 0 00 1 11 0 11 1 0
Can we implement all logic functions from NOT, NOR, and NAND?
For example, implementing X and Y is the same as implementing not (X nand Y)
NAND and NOR are "duals", that is, its easy to implement one using the other
X nand Y not ( (not X) nor (not Y) ) X nor Y not ( (not X) nand (not Y) )
More than one way to map expressions to gates e.g., Z = A' B' (C + D) = (A' (B' (C + D)))
T2 T1
B
C D
Reduce the number of inputs? (variables, e.g., A, X and their complements, e.g., A are also called literals) Reduce number of gates? Reduce number of levels? More options (e.g., limited fan-in and fan-out)
CAD tools Logic minimization: Reduce number of gates and complexity Logic optimization: Minimization vs. speed and delay
1. the set B contains at least two elements, a, b, such that a b 2. closure: a + b is in B a b is in B 3. commutativity: a+b=b+a ab=ba 4. associativity: a + (b + c) = (a + b) + c a (b c) = (a b) c 5. identity: a+0=a a1=a 6. distributivity: a + (b c) = (a + b) (a + c) a (b + c) = (a b) + (a c) 7. complementarity: a + a' = 1 a a' = 0
Any logic function that can be expressed as a truth table can be written as an expression in Boolean algebra using the operators: ', +, and
Y 0 1 0 1 XY 0 0 0 1 X 0 0 1 1 Y 0 1 0 1 X' 1 1 0 0 X' Y 0 1 0 0
X 0 0 1 1
X 0 0 1 1
Y 0 1 0 1
X' 1 1 0 0
Y' 1 0 1 0
XY 0 0 0 1
X' Y' 1 0 0 0
X=Y
Boolean expression that is true when the variables X and Y have the same value and false, otherwise
Identity
Null
Idempotent Involution Commutativity
a+0=a
a1=a
a+1=1
a+a=a (a) = a
a0=0
aa=a a a' = 0 ab=ba
Associativity
Distributivity Uniting Absorbtion Absorbtion # 2
a + (b + c) = (a + b) + c
a + (b c) = (a + b) (a + c) a b + a b = a a+ab=a (a + b) b = a b
a (b c) = (a b) c
a (b + c) = (a b) + (a c) (a+b) (a + b) = a a (a + b) = a (a b)+ b = a+ b
)D = (a+b+c+..)
Generalized duality {f(X1,X2,...,Xn,0,1,+,) } D = f(X1,X2,...,Xn,1,0,,+) Factoring (a+b) (a+c) = a c + ab (a b)+(a c) = (a+c) (a+b) (a+b) (b+c) (a+c) = (a+b) (a+c)
Consensus a b + b c + a c = a b + a c
F' = (A + B + C') (A + B' + C') (A' + B + C') (A' + B' + C) (A' + B' + C')
CSE 370 Winter 2002 - Combinational Logic - 38
Sum-of-products
F' = A'B'C' + A'BC' + AB'C'
Apply de Morgan's
(F')' = (A'B'C' + A'BC' + AB'C')' F = (A + B + C) (A + B' + C) (A' + B + C)
Product-of-sums
F' = (A + B + C') (A + B' + C') (A' + B + C') (A' + B' + C) (A' + B' + C')
Apply de Morgan's
(F')' = ( (A + B + C')(A + B' + C')(A' + B + C')(A' + B' + C)(A' + B' + C') )' F = A'B'C + A'BC + AB'C + ABC' + ABC
CSE 370 Winter 2002 - Combinational Logic - 39
F = ABC + AB + BC
Product-of-sums OR gates to form sum terms (maxterms) AND gates to form product
G = (A+B)(B+C)(A+B+C)
6/23/2012
Step 1: Replace minterm AND gates with NAND gates and place compensating inversion at inputs of OR gate
6/23/2012
Step 2: OR gate with inverted inputs is a NAND gate de Morgan's: A' + B' = (A B)'
6/23/2012
Step 1: Replace maxterm OR gates with NOR gates and place compensating inversion at inputs of AND gate
6/23/2012
Step 2: AND gate with inverted inputs is a NOR gate de Morgan's: A' B' = (A + B)' Two-level NOR-NOR network inverted inputs are not counted in a typical circuit, inversion is done once and signal distributed
6/23/2012
Multi-level logic
x=ADF + AEF + BDF + BEF + CDF + CEF + G reduced sum-of-products form already simplified
6 x 3-input AND gates + 1 x 7-input OR gate (that may not even exist!)
25 wires (19 literals plus 6 internal wires)
x = (A + B + C) (D + E) F + G
Easy to eliminate static hazards (see later) Sometimes requires large fan-ins
Depends on user-defined goals (number of gates, delay etc.) Use of synthesis (starting with a formal description and proceeding to a logic diagram) to meet the design goals
No simple hand methods like Karnaugh maps CAD tools manipulate Boolean expressions with some heurisitics to achieve goals
6/23/2012 CSE 370 Winter 2002 - Combinational Implementation - 47
The Multiplexer
Multiplexers/selectors: general concept 2n data inputs, n control inputs (called "selects"), 1 output
A 0 1
Z I0 I1
functional form logical form two alternative forms for a 2:1 Mux truth table
I1 0 0 0 0 1 1 1 1
I0 0 0 1 1 0 0 1 1
A 0 1 0 1 0 1 0 1
Z 0 0 1 0 0 1 1 1
6/23/2012
Multiplexers/selectors (cont'd)
2:1 mux: Z = A' I0 + A I1 4:1 mux: Z = A' B' I0 + A' B I1 + A B' I2 + A B I3 8:1 mux: Z = A' B' C' I0 + A' B' C I1 + A' B C' I2 + A' B C I3 + A B' C' I4 + A B' C I5 + A B C' I6 + A B C I7 In general, Z = (mkIk)
2 n -1 k=0
I0 I1
2:1 mux A
I0 I1 I2 I3
4:1 mux
I0 I1 I2 I3 I4 I5 I6 I7
8:1 mux
A B
6/23/2012
A B C
2:1 mux
4:1 mux
6/23/2012
A 2n:1 multiplexer can implement any function of n variables with the variables used as control inputs and the data inputs tied to 0 or 1
6/23/2012
A 2n-1:1 multiplexer can implement any function of n variables with n-1 variables used as control inputs and the data inputs tied to the last variable or its complement
Example:
F(A,B,C) = m0 + m2 + m6 + m7 = A'B'C' + A'BC' + ABC' + ABC = A'B'(C') + A'B(C') + AB'(0) + AB(1)
1 0 1 0 0 0 1 1
0 1 2 3 4 8:1 MUX 5 6 7 S2 S1 S0
A 0 0 0 0 1 1 1 1
B 0 0 1 1 0 0 1 1
C 0 1 0 1 0 1 0 1
F 1 0 1 0 0 0 1 1
C' C' 0 1
C' C' 0 1
0 1 4:1 MUX 2 3 S1 S0 A B
C
6/23/2012 CSE 370 Winter 2002 - Hazards - 54
Principle: Use the mux select to pick out the selected minterms of the function.
Principle: Use the A and B inputs to select a pair of minterms. The value applied to the MUX input is selected from {0, 1, C, C} to pick the desired behavior of the minterm pair.
control inputs (called selects (S)) represent binary index of output to which the input is connected
data input usually called enable (G)
S0 S0 S0 S0
O0 O1 O2 O3 O4 O5 O6 O7
3:8 Decoder: = G S2 S1 S0 = G S2 S1 S0 = G S2 S1 S0 = G S2 S1 S0 = G S2 S1 S0 = G S2 S1 S0 = G S2 S1 S0 = G S2 S1 S0
6/23/2012
Enable
2 3 4 5 6 4:16 7 DEC 8 9 10 11 12 13 14 15
A'B'C'D' A'B'C'D A'B'CD' A'B'CD A'BC'D' A'BC'D A'BCD' A'BCD AB'C'D' AB'C'D AB'CD' AB'CD ABC'D' ABC'D ABCD' ABCD
F1
F2
F3
A B C D
6/23/2012 CSE 370 Winter 2002 - Hazards - 59
A 2-to-4 Decoder
Sequential Logic
The combinational logic circuits we have been studying so far have no memory. The outputs always follow the inputs.
There is a need for circuits with memory, which behave differently depending upon their previous state.
An example is a vending machine, which must remember how many coins and what kinds of coins have been inserted. The machine should behave according to not only the current coin inserted, but also upon how many coins and what kinds of coins have been inserted previously. These are referred to as finite state machines, because they can have at most a finite number of states.
S-R Flip-Flop
The S-R flip-flop is an active high (positive logic) device.
A Hazard
It is desirable to be able to turn off the flip-flop so it does not respond to such hazards.
The clock signal, CLK, enables the S and R inputs to the flip-flop.
Clocked D Flip-Flop
The clocked D flip-flop, sometimes called a latch, has a potential problem: If D changes while the clock is high, the output will also change. The Master-Slave flip-flop (next slide) addresses this problem.
Clocked T Flip-Flop
The presence of a constant 1 at J and K means that the flip-flop will change its state from 0 to 1 or 1 to 0 each time it is clocked by the T (Toggle) input.
Master-Slave Flip-Flop
The rising edge of the clock loads new data into the master, while the slave continues to hold previous data. The falling edge of the clock loads the new master data into the slave.