Friday, August 6, 2021

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