Announcments
-
Homework 3 is due on Sept 27th, Monday before class.
Limitations of this course
-
For 2-5 variables use K-Map
-
For upto 15 variables, use Quine McCluskey method (NP complete). Complexity grows exponentially with number of input variables
-
EXPRESSO-Exact, EXPRESSO-II, CAPPUCCINO are a few of the popular methods that are taught in advanced version of this course.
Multi output functions: Ex 1
\( f_1 \)
| | \(\bar{x}_1\) | \(x_1 \) |
| | \(\bar{x}_2\) | \(x_2 \) | \(\bar{x}_2\) |
\(\bar{x}_3\) | \(\bar{x}_4\) |
0 | 0 | 0 | 0 |
\(x_4\) |
0 | 1 | 1 | 0 |
\(x_3\) |
0 | 1 | 1 | 0 |
\(\bar{x}_4\) |
1 | 1 | 0 | 0 |
\( f_2 \)
| | \(\bar{x}_1\) | \(x_1 \) |
| | \(\bar{x}_2\) | \(x_2 \) | \(\bar{x}_2\) |
\(\bar{x}_3\) | \(\bar{x}_4\) |
0 | 0 | 0 | 0 |
\(x_4\) |
0 | 1 | 0 | 0 |
\(x_3\) |
0 | 1 | 0 | 0 |
\(\bar{x}_4\) |
1 | 1 | 0 | 0 |
\( f_3 \)
| | \(\bar{x}_1\) | \(x_1 \) |
| | \(\bar{x}_2\) | \(x_2 \) | \(\bar{x}_2\) |
\(\bar{x}_3\) | \(\bar{x}_4\) |
0 | 0 | 0 | 0 |
\(x_4\) |
0 | 0 | 1 | 1 |
\(x_3\) |
0 | 0 | 1 | 0 |
\(\bar{x}_4\) |
0 | 0 | 0 | 0 |
Ex 1: Soln
Separately optimized
\( g_1 = \bx_1 x_3 \bx_4 \), Cost = 1 + 3 = 4
\( f_1 = x_2 x_4 + g_1 \), Cost = 1 + 1 + 2 + 2 = 6
\( f_2 = \bx_1 x_2 x_4 + g_1 \), Cost = 1 + 1 + 3 + 2= 7
\( f_3 = x_1 x_2 x_4 + x_1 \bx_3 x_4 \), Cost = 2 + 1 + 3 + 3 + 2 = 11
Total Cost: 28
Jointly optimized
\( g_1 = \bx_1 x_3 \bx_4 \), Cost = 1 + 3 = 4
\( g_2 = x_1 x_2 x_4 \), Cost = 1 + 3 = 4
\( g_3 = \bx_1 x_2 x_4 \), Cost = 1 + 3 = 4
\( f_1 = g_1 + g_2 + g_3 \), Cost = 1 + 3 = 4
\( f_2 = g_3 + g_1 \), Cost = 1 + 2 = 3
\( f_3 = g_2 + x_1 \bx_3 x_4 \), Cost = 1 + 1 + 3 + 2 = 7
Total Cost: 26
Multi output functions: Ex 2
\( f_1 \)
| | \(\bar{x}_1\) | \(x_1 \) |
| | \(\bar{x}_2\) | \(x_2 \) | \(\bar{x}_2\) |
\(\bar{x}_3\) | \(\bar{x}_4\) |
0 | 0 | 1 | 0 |
\(x_4\) |
0 | 0 | 1 | 0 |
\(x_3\) |
0 | 0 | 1 | 1 |
\(\bar{x}_4\) |
0 | 0 | 1 | 0 |
\( f_2 \)
| | \(\bar{x}_1\) | \(x_1 \) |
| | \(\bar{x}_2\) | \(x_2 \) | \(\bar{x}_2\) |
\(\bar{x}_3\) | \(\bar{x}_4\) |
0 | 0 | 1 | 0 |
\(x_4\) |
0 | 0 | 1 | 0 |
\(x_3\) |
1 | 1 | 1 | 1 |
\(\bar{x}_4\) |
0 | 0 | 0 | 0 |
\( f_3 \)
| | \(\bar{x}_1\) | \(x_1 \) |
| | \(\bar{x}_2\) | \(x_2 \) | \(\bar{x}_2\) |
\(\bar{x}_3\) | \(\bar{x}_4\) |
0 | 0 | 1 | 0 |
\(x_4\) |
1 | 1 | 1 | 0 |
\(x_3\) |
0 | 0 | 1 | 0 |
\(\bar{x}_4\) |
0 | 0 | 1 | 0 |
Ex 3
\( f_1 \)
| | \(\bar{x}_1\) | \(x_1 \) |
| | \(\bar{x}_2\) | \(x_2 \) | \(\bar{x}_2\) |
\(\bar{x}_3\) | \(\bar{x}_4\) |
0 | 0 | 1 | 0 |
\(x_4\) |
0 | 0 | 1 | 0 |
\(x_3\) |
0 | 0 | 1 | 1 |
\(\bar{x}_4\) |
0 | 0 | 1 | 0 |
\( f_2 \)
| | \(\bar{x}_1\) | \(x_1 \) |
| | \(\bar{x}_2\) | \(x_2 \) | \(\bar{x}_2\) |
\(\bar{x}_3\) | \(\bar{x}_4\) |
0 | 0 | 1 | 0 |
\(x_4\) |
0 | 0 | 1 | 0 |
\(x_3\) |
1 | 1 | 1 | 1 |
\(\bar{x}_4\) |
0 | 0 | 0 | 0 |
\( f_3 \)
| | \(\bar{x}_1\) | \(x_1 \) |
| | \(\bar{x}_2\) | \(x_2 \) | \(\bar{x}_2\) |
\(\bar{x}_3\) | \(\bar{x}_4\) |
0 | 0 | 1 | 0 |
\(x_4\) |
0 | 0 | 1 | 0 |
\(x_3\) |
1 | 1 | 1 | 0 |
\(\bar{x}_4\) |
0 | 0 | 1 | 0 |
\[ F_1 = AB + ACD \]
\[ F_2 = AB\bar{C} + \bar{A}CD + ACD \]
\[ F_3 = AB + \bar{A}CD \]
EPIs for Multi-output functions
For multiple output functions, we consider only those 1's for EPI that are not present in other fuction maps.
\( f_1 \)
| | \(\bar{x}_1\) | \(x_1 \) |
| | \(\bar{x}_2\) | \(x_2 \) | \(\bar{x}_2\) |
\(\bar{x}_3\) | \(\bar{x}_4\) |
0 | 0 | 0 | 0 |
\(x_4\) |
1 | 1 | 1 | 1 |
\(x_3\) |
0 | 0 | 1 | 0 |
\(\bar{x}_4\) |
0 | 0 | 0 | 0 |
\( f_2 \)
| | \(\bar{x}_1\) | \(x_1 \) |
| | \(\bar{x}_2\) | \(x_2 \) | \(\bar{x}_2\) |
\(\bar{x}_3\) | \(\bar{x}_4\) |
0 | 1 | 1 | 0 |
\(x_4\) |
0 | 0 | 0 | 0 |
\(x_3\) |
0 | 0 | 1 | 0 |
\(\bar{x}_4\) |
0 | 1 | 1 | 0 |
Limitations of this course
Propagation Delay
Hazards
Hazards: Example
Hazards: Example fixed
To avoid static hazards, "close all the gaps" in the K-map by adding extra product terms (or sum terms for POS).
-
SOP can only have static-1 hazards.
-
POS can only have static-0 hazards.
-
More than 2-level circuits needed for dynamic hazards.