Static Timing Analysis - (Foundation) - Part#4
Unateness Examples :
1) Buffer :
- There are two timing arcs in buffer -
A) Rising input A to Y (Rising output Y)
B) Falling input A to Y (Falling output Y)
- Output exactly follows the input egde
- Positive Unate
2) AND Gate :
- Truth Table :
- From the truth table above, we can see that -
A) For rising edge -
- A = 0; B (0 -> 1) => Y = 0 (No Change, Constant )
- A = 1; B (0 -> 1) => Y (0 -> 1) (Change and follows B)
- A (0 -> 1) ; B = 0 => Y = 0 (No Change)
- A(0 -> 1) ; B = 1 => Y (0 -> 1) (Change and follows A)
B) For falling edge -
- A = 0; B (1 -> 0) => Y = 0 (No Change, Constant )
- A = 1; B (1 -> 0) => Y (1 -> 0) (Change and follows B)
- A (1 -> 0) ; B = 0 => Y = 0 (No Change)
- A(1 -> 0) ; B = 1 => Y (1 -> 0) (Change and follows A)
- Rising input results in rising output and falling input results in falling output
- Positive unate
3) Inverter :
- There are two timing arcs in buffer -
A) Rising input A to Y (Falling output Y)
B) Falling input A to Y (Rising output Y)
- Output is inversely proportional to the input egde
- Negative Unate
4) NAND Gate :
- Truth Table :
- From the truth table above, we can see that -
A) For rising edge -
- A = 0; B (0 -> 1) => Y = 1 (No Change, Constant )
- A = 1; B (0 -> 1) => Y (1 -> 0) (Change and follows B with inverted edge)
- A (0 -> 1) ; B = 0 => Y = 1 (No Change)
- A(0 -> 1) ; B = 1 => Y (1 -> 0) (Change and follows A with inverted edge)
B) For falling edge -
- A = 0; B (1 -> 0) => Y = 1 (No Change, Constant )
- A = 1; B (1 -> 0) => Y (0 -> 1) (Change and follows B with inverted edge)
- A (1 -> 0) ; B = 0 => Y = 1 (No Change)
- A(1 -> 0) ; B = 1 => Y (0 -> 1) (Change and follows A with inverted A)
- Rising input results in falling output a falling input results in rising output
- Negative unate
5) XOR Gate :
- Truth Table -
- From the truth table above, we can see that -
A) For rising edge -
- A = 0; B (0 -> 1) => Y (0 -> 1) (Change and follows B)
- A = 1; B (0 -> 1) => Y (1 -> 0) (Change and follows B with inverted edge)
- A (0 -> 1) ; B = 0 => Y (0 -> 1) (Change and follows A)
- A(0 -> 1) ; B = 1 => Y (1 -> 0) (Change and follows A with inverted edge)
A) For rising edge -
- A = 0; B (1 -> 0) => Y (1 -> 0) (Change and follows B)
- A = 1; B (1 -> 0) => Y (0 -> 1) (Change and follows B with inverted edge)
- A (1 -> 0) ; B = 0 => Y (1 -> 0) (Change and follows A)
- A(1 -> 0) ; B = 1 => Y (0 -> 1) (Change and follows A with inverted edge)
- The output transition can not be determined by the direction of an input and it also depends on th state of other inputs
- Non-unate
--------------------------------------------------Happy Learning ---------------------------------------
0 Comments:
Post a Comment