learning outcomes
play

Learning Outcomes I can implement logic for any truth table by using - PowerPoint PPT Presentation

2-4.1 2-4.2 Learning Outcomes I can implement logic for any truth table by using Shannon's theorem to decompose the function to create two smaller functions and a 2-to-1 mux Spiral 2-4 I can recursively apply Shannon's theorem k times


  1. 2-4.1 2-4.2 Learning Outcomes • I can implement logic for any truth table by using Shannon's theorem to decompose the function to create two smaller functions and a 2-to-1 mux Spiral 2-4 – I can recursively apply Shannon's theorem k times to decompose any size truth table to arrive at 2 k smaller functions and a 2 k -to-1 mux • I can implement logic for any truth table by using a memory Function synthesis with: as a look-up table – I understand how to determine the necessary dimensions of the Muxes (Shannon's Theorem) memory Memories – I understand how to reinterpret input combinations as address inputs to determine the correct row to place the desired output 2-4.3 2-4.4 Function Synthesis Techniques • Given a combination function (i.e. X Y Z P truth table or other description) 0 0 0 0 0 0 1 0 what methods can we use to arrive 0 1 0 1 0 1 1 1 at a circuit? 1 0 0 0 – 1 0 1 1 1 1 0 0 Implementing functions with muxes – 1 1 1 1 SHANNON'S THEOREM Primes between 0-7 – Neither of these _____________ to larger number of inputs • Now we will see a few others

  2. 2-4.5 2-4.6 Simplify This 2-to-1 Mux: Another View Old Views: • Given F(x,y,z) = x’yz + y’z’, IN0 simplify F(0,y,z) = 1 I 0 if(s==0) Y 1 Y Y = IN0 S I 1 0 S (I 0 ) else then simplify F(1,y,z) = Y = IN1 1-bit wide 2-to-1 IN1 mux New View: • Given G(a,b,c,d) = bd’ + ab’cd + ac’d’ Y We can show the function of a G(1,1,c,d) = 2-to-1 mux as a splitter where s the variable 's' decides which input passes upwards I0 I1 2-4.7 2-4.8 3-bit Prime Number Function Function Implementation w/ Muxes X Y Z P X Y Z P F • Implementing a function using muxes relies is 0 0 0 0 0 0 0 0 based on Shannon’s expansion theorem which 0 0 1 0 0 0 1 0 x OFF-set 0 1 0 1 0 1 0 1 0 1 states: y 0 1 1 1 0 1 0 1 1 1 1 0 0 0 1 0 0 0 ON-set – F(X 1 ,X 2 ,…,X n ) = X 1 ’ •F(0,X 2 ,…,X n ) + X 1 •F(1,X 2 ,…,X n ) z 0 1 1 0 1 1 1 0 1 1 – X 1 can be pulled out of F if we substitute an appropriate 1 1 0 0 0 0 1 1 0 1 0 1 1 0 0 1 constant and qualify it with X 1 ’ or X 1 1 1 1 1 1 1 1 1 Truth Table Primes between • Now recall a 2-to-1 mux can be built as: 0-7 – F = S’•I 0 + S•I 1 if(z==0) S z – Comparing the two equations, Shannon’s theorem says we z output 0 I 0 I 1 else can use X 1 as our select bit to a 2-to-1 mux with output 1 0 1 F(0,X 2 ,…X n ) as input 0 of our mux and F(1,X 2 ,…,X n ) as input 0 1 1

  3. 2-4.9 2-4.10 Binary Decision Trees & Muxes Splitting on X F(x,y,z) • We can use smaller Z F X Y Z F muxes by breaking the 0 0 x 0 1 0 0 0 Y Z F truth table into fewer 1 0 X X Y Y Z Z F F 0 0 0 F(0,y,z) F(1,y,z) disjoint sets 0 0 0 0 0 0 0 F(0,0,z) 0 1 1 0 y 0 1 0 0 1 0 0 0 1 1 0 0 Z F – This increases the 0 1 0 1 1 0 1 0 1 0 1 1 0 1 amount of logic at the 0 1 I 0 F(1,0,z) F(1,1,z) F(0,0,z) F(0,1,z) F 1 1 1 0 1 1 1 1 1 1 inputs though 1 1 0 1 1 Y z 0 1 F(0,y,z) 1 0 0 0 0 0 0 F(0,1,z) • Break the truth table I 1 S 0 0 1 1 0 0 1 1 1 1 Y Z F 0 0 1 1 0 1 0 1 1 into groups based on Z F X 1 1 1 0 0 0 0 0 1 1 0 0 0 some number (k) of 0 0 F(x,y,z) 1 1 1 1 1 1 1 1 0 1 1 Put the k MSB’s x MSB’s 1 1 1 0 0 0 1 on the selects F(x,y,z) 1 0 0 F(1,0,z) • For each group, y F(1,y,z) 1 1 1 F(0,y,z) 1 1 1 0 1 0 1 Z F describe F as a function F(1,y,z) F(0,0,z) F(0,1,z) F(1,0,z) F(1,1,z) 0 0 of the z 0 1 0 1 0 1 0 1 1 1 n-k LSB’s 0 0 1 1 0 F(1,1,z) 1 0 1 2-4.11 2-4.12 Implement G Shannon’s Theorem • F(X 1 ,X 2 ,…,X n ) = X 1 ’ •F(0,X 2 ,…,X n ) + X 1 •F(1,X 2 ,…,X n ) X Y Z G • Now recall a 2-to-1 mux can be built as: 0 0 0 – F = S ’ •I 0 + S•I 1 0 1 0 0 – Comparing the two equations, Shannon’s theorem says we can use X 1 1 0 1 as our select bit to a 2-to-1 mux with F(0,X 2 ,…X n ) as input 0 of our mux I 0 G 1 1 1 and F(1,X 2 ,…,X n ) as input 1 Y I 1 S • We can recursively apply Shannon’s theorem to pull 0 0 0 X out more variables: 0 1 1 1 – F(X 1 ,X 2 ,…,X n ) = 1 0 1 X 1 ’ X 2 ’ •F(0,0,…,X n ) + X 1 ’ X 2 •F(0,1,…,X n ) + 1 1 0 X 1 X 2 ’ •F(1,0,…,X n ) + X 1 X 2 •F(1,1,…,X n ) +

  4. 2-4.13 2-4.14 Additional Logic More Practice F(x,y,z) can be broken into several • Muxes allow us to break a disjoint functions X Y Z F X Y Z G function into some number of F 0 (z) 0 0 0 0 smaller, disjoint functions 0 0 0 0 1 1 D 0 • Use MSB’s to choose which 1 0 F 1 (z) D 0 small function we want D 1 0 1 0 1 G 0 1 0 1 Y D 1 • By including the use of D 2 1 0 F 1 1 Y inverters we can use a mux D 2 F 2 (z) D 3 0 1 S 0 with n-1 select bits (given a 0 0 S 1 1 0 D 3 1 0 S 0 function of n-var’s) S 1 1 1 1 1 x y F 3 (z) • Break the truth table into 0 0 0 1 x y groups of 2 rows 1 1 1 1 1 1 Put the n-1 1 0 • For each group, put F in terms MSB’s on the of: z, z’, 0, or 1 selects 2-4.15 2-4.16 As Far as We like Splitting on Z F x 0 1 • We can take this tactic all • We can always rearrange our X Y Z F y 0 1 the way down and use ONLY variables if it helps make the D 0 0 0 0 0 0 a mux to implement any function simpler to implement z 0 1 D 1 1 0 0 1 1 function 0 1 0 1 0 1 0 1 D 2 1 • Connect the input variables 0 1 0 1 Z X Y F F X Y Z F to the select bits of the mux D 3 0 0 1 1 0 0 0 0 F 0 0 0 Y • The output of the mux is z 0 1 D 4 1 1 0 0 1 0 1 0 the output of the function 0 1 1 x 0 0 1 0 D 5 1 1 0 1 1 1 0 0 1 0 0 • Whatever the output S 0 0 1 D 6 y 0 1 1 0 should be for each input S 1 1 1 1 1 1 0 0 S 2 0 0 0 0 1 value, attach that to the D 7 0 0 1 1 1 1 1 0 0 0 1 1 1 1 input of the mux x y z 0 1 1 F 0 1 1 1 1 1 0 1 1 0 0 z 0 1 1 1 1 1 1 1 0 1

  5. 2-4.17 2-4.18 Implementing Logic Functions Implementing an Initial State • We can use muxes to implement any arbitrary • Since the NSL is just a combinational function of the logic function current state and inputs, we can use Shannon's theorem (i.e. muxes)to find an implementation – Choose one variable to _____ the large function rather than K-Maps into two smaller functions: ____________ and NSL _______________ (Next State Logic) S D 0 – A 2-to-1 mux will produce the _________ bit and OFL Q 0 (t) (Output SM Function Logic) the chosen "split" variable will be the _______ (State Memory) Q 1 (t) D 1 0 Q 0 (t) PRE D Q – Implement f(0,x2,x3,…) using any known method CLK CLR A and connect it to ________ of the 2-to-1 mux RESET 0 Q 1 (t) PRE D Q – Implement f(1,x2,x3,…) using any known method CLK CLK CLR RESET and connect it to ________ of the 2-to-1 mux Current State Feedback 2-4.19 2-4.20 Example 1 Example 2 • Implement D1 and D0 using (2) 4-to-1 muxes with • Implement D1 & D0 using 2-to-1 muxes with S as the select Q1,Q0 as the selects Next State Current State Output Next State Current Output S = 0 S = 1 State S = 0 S = 1 Q1*= Q0*= Q1* Q0* State Q 1 Q 0 State State A State Q 1 Q 0 State Q 1 * Q 0 * State Q 1 * Q 0 * SSG MTG MSG D1 D0 =D1 =D0 SS 0 0 MS 1 0 MT 1 1 1 0 0 G01 0 0 G00 1 1 G10 0 1 1 N/A 0 1 X d d X d d d d d G10 0 1 G01 0 0 G11 1 0 1 MT 1 1 MS 1 0 MS 1 0 0 1 0 G00 1 1 G00 1 1 G10 0 1 0 MS 1 0 SS 0 0 SS 0 0 0 0 1 G11 1 0 G01 0 0 G11 1 0 0

  6. 2-4.21 2-4.22 Example 3 Example 4 L’ • Implement D0 using a mux. OFF ON P=0 P=1 • Implement D using a mux Next State Outp L H’ H Current State ut X = 0 X = 1 Current State Next State H L = 0 0 H L = 0 1 H L = 1 1 H L = 1 0 State Q2 Q1 Q0 State* D2 D1 D0 State* D2 D1 D0 Z Symbol Q Sym. Q* Sym. Q* Sym. Q* Sym. Q* OFF 0 ON 1 OFF 0 OFF 0 X d Sinit 0 0 0 Sinit 0 0 0 S1 0 1 1 0 ON 1 ON 1 ON 1 OFF 0 X d S10 0 0 1 Sinit 0 0 0 S101 0 1 0 0 Note: The State Value, Q forms the Pump output (i.e. 1 when we want the pump to be on and 0 othewise) S1 0 1 1 S10 0 0 1 S1 0 1 1 0 S101 0 1 0 S10 0 0 1 S1011 1 1 0 0 S1011 1 1 0 S10 0 0 1 S1 0 1 1 1 2-4.23 2-4.24 Summary • Shannon's theorem allows us to decompose an _______________ large function into ________ smaller functions • This allows a method that can ______for a function with _____________ Using a LookUp-Table to implement a function • It is at the heart of many computer algorithms MEMORIES that will find logic implementation given high- level descriptions of a function

Recommend


More recommend