580 likes | 598 Views
Digital Logic. http://www.pds.ewi.tudelft.nl/~iosup/Courses/2011_ti1400_1.ppt. Outline. Basics of Boolean algebra and digital implementation Sum of products form and digital implementation Functional Units Repeated Operations Other Building Blocks. Unit of Information.
E N D
Digital Logic http://www.pds.ewi.tudelft.nl/~iosup/Courses/2011_ti1400_1.ppt
Outline Basics of Boolean algebra and digital implementation Sum of products form and digital implementation Functional Units Repeated Operations Other Building Blocks
Unit of Information • Computers consist of digital (binary) circuits • Unit of information: bit(Binary digIT), e.g. 0and 1 • There are two interpretations of 0and 1: • as data values • as truth values (true andfalse)
Bit Strings • By grouping bits together we obtain bit strings • e.g<10001> which can be given a specific meaning • For instance, we can represent non-negative numbers by bitstrings:
Boolean Logic • We want a computer that can calculate, i.e transform strings into other strings: 1 +2 = 3 <01> <10> = <11> • To calculate we need an algebrabeing able to use only two values • George Boole (1854) showed that logic (or symbolic reasoning) can be reduced to a simple algebraic system
Boolean algebra • Rules are the same as school algebra: • There is, however, one exception: ! Commutative Law Distributive Law Associative Law
Boolean algebra • To see this we have to find out what the operations “+” and “.” mean in logic • First the “.” operation: x.y(orx y) • Suppose x means “black” and y means “cows”. Then, x.y means “black cows” • Hence “.” implies the class of objects that has both properties. Also called ANDfunction.
Boolean algebra • The “+” operation merges independent objects: x + y (or x y) • Hence, ifx means “man” and y means “woman” • Then x+y means “man or woman” • Also called OR function
Boolean algebra • Now suppose both objects are identical, for example x means “cows” • Then x.x comprises no additional information • Hence
Boolean algebra • Next, we select “0” and “1” as the symbols in the algebra • This choice is not arbitrary, since these are the only number symbols for which holds x2 = x • What do these symbols mean in logic? • “0” : Nothing • “1”: Universe • So 0.y = 0 and 1.y = y
Boolean algebra • Also, if x is a class of objects, then 1-x is the complement of that class • It holds that x(1-x) = x -x2 = x-x =0 • Hence, a class and its complement have nothing in common • We denote 1-x as x
Boolean algebra • A nice property of this system that we write any function f(x) as • We can show this by observing that virtually every mathematical function can be written in polynomial form, i.e
Boolean algebra • Now • Hence, • Let b = a0 and a = a0 + a1 • Then we have • From this it follows that
Boolean algebra • So • More dimensional functions can be derived in an identical way:
Binary addition • We apply this on the modulo-2 addition
Binary multiplication • Same for modulo-2 multiplication
Functions • Let X denote bitstring, e.g., <x4x3x2 x1> • Any polynomial functionY=f(X)can be constructed using Boolean logic • Also holds for functions with more arguments • Functions can be put in table form or in formula form
Gates • We use basic components to represent primary logic operations (called gates) • Components are made from transistors x x x+y x.y y y OR AND x x INVERT
Networks of gates • We can make networks of gates x y EXOR
Outline • Basics of Boolean algebra and digital implementation • Sum of products form and digital implementation • Functional Units • Repeated Operations • Other Building Blocks
simplify f x y Sum of product form
Minimization of expressions • Logic expressions can often be minimized • Saves components • Example:
Karnaugh maps (1) x y • Alternative geometrical method v w
Karnaugh maps (2) Different drawing y w v x
Don’t Cares • Some outputs are indifferent • Can be used for minimization
de Morgan’s Laws NAND and NOR gates • NAND and NOR gates are universal • They are easy to realize
Outline • Basics of Boolean algebra and digital implementation • Sum of products form and digital implementation • Functional Units • Repeated Operations • Other Building Blocks
Delay • Every network of gates has delays transition time 1 input 0 1 propagation delay output 0 time
Packaging Vcc Gnd
nandgates A Y ADD B Y A,B time delay Making functions
Functional Units • It would be very uneconomical to construct separate combinatorial circuits for every function needed • Hence, functional units are parameterized • A specific function is activated by a special control stringF
A Y F B F A B F F Y Arithmetic and Logic Unit
Outline • Basics of Boolean algebra and digital implementation • Sum of products form and digital implementation • Functional Units • Repeated Operations • Other Building Blocks
Repeated operations • Y : = Y + Bi, i=1..n • Repeated addition requires feedback • Cannot be done without intermediate storage of results Y F B F
Registers Y F B F = storage element
SR flip flop • Storage elements are not transient and are able to hold a logic value for a certain period of time R Qa Qb S
Clocks • In many circuits it is very convenient to have the state changed only at regular points in time • This makes design of systems with memory elements easier • Also, reasoning about the behavior of the system is easier • This is done by a clock signal clockperiod
Qn C Qn D D flip flop • D flip flop samples at clock is high and stores if clock is low D Qn+1 0 0 1 1
state change Edge triggered flip flops • In reality most systems are built such that the state only changes at rising edge of the clock pulse • We also need a control signal to enable a change
enables a state change I R/W C C I C D R/W Q O O time Basic storage element
Outline • Basics of Boolean algebra and digital implementation • Sum of products form and digital implementation • Functional Units • Repeated Operations • Other Building Blocks
4-bit register I R/W I I I C C D C D C D C D Q Q Q Q O O O O
A B Y = A if m=1 Y = B if m=0 m MPLEX Y Y Only output yA= 1, rest is 0 Decoder A Some basic circuits
a1 3 a1 a2 #y 0 0 0 0 1 1 1 0 2 1 1 3 2 1 0 a2 Decoder Y Only output yA= 1, rest is 0 Decoder A
A B Y = A if m=1 Y = B if m=0 m MPLEX Y b y a m Multiplexer
End of Lecture • Comments? • Questions?
Memory Din mplex REG1 Dout REG2 decoder Address REG3 REG4 R/W
Counter preset MPLEX R/W REG INC 0001 output
Sequential circuits • The counter example shows that systems have state • The state of such systems depend on the current inputs and the sequence of previous inputs • The state of a system is the union of the values of the memory elements of that system
code S0 S1 S2 State diagrams • We call the change from one state to another a statetransition • Can be represented as a state diagram