Unate

Defination of Unateness

Unateness is a timing-sense attribute.

The timing_sense attribute describes the way an input pin logically affects an output pin. The Design Compiler tool’s timing analyzer uses this attribute to track the polarity transition of an element during path analysis.

A function is unate if a rising (or falling) change on a positive unate input variable causes the output function variable to rise (or fall) or not change. A rising (or falling) change on a negative unate input variable causes the output function variable to fall (or rise) or not change.

For a non-unate variable, further state information is required to determine the effects of a particular state transition.

For example, the value derived for an AND gate is positive_unate, the value for a NAND gate is negative_unate, and the value for an XOR gate is non_unate.

Defination of Unateness

Unateness is a timing-sense attribute.

The timing_sense attribute describes the way an input pin logically affects an output pin. The Design Compiler tool’s timing analyzer uses this attribute to track the polarity transition of an element during path analysis.

A function is unate if a rising (or falling) change on a positive unate input variable causes the output function variable to rise (or fall) or not change. A rising (or falling) change on a negative unate input variable causes the output function variable to fall (or rise) or not change.

For a non-unate variable, further state information is required to determine the effects of a particular state transition.

For example, the value derived for an AND gate is positive_unate, the value for a NAND gate is negative_unate, and the value for an XOR gate is non_unate.

Unate & non-Unate Example

           +--------------------------------+
           |          TRUTH TABLE           |
           +----+----+--------+-------+-----+
           | A  | B  |   AND  | NAND  | XOR |
           +----+----+--------+-------+-----+
           | 0  | 0  |   0    |  1    | 0   |
           | 0  | 1  |   0    |  1    | 1   |
           | 1  | 0  |   0    |  1    | 1   |
           | 1  | 1  |   1    |  0    | 0   |
           +----+----+--------+-------+-----+

+----------+---------------+----------------+-------------------------+
| Example  | Timing Sense  | Input Signal   | Output                  |
+----------+---------------+----------------+-------------------------+
| AND      |  +ve unate    |  Rising        | Rise or no change       |
|          +---------------+----------------+-------------------------+
|          |               |  Falling       | Must fall               |
+----------+---------------+----------------+-------------------------+
| NAND     |  -ve unate    |  Rising        | Fall or no change       |
|          +---------------+----------------+-------------------------+
|          |               |  Falling       | Rise or no change       |
+----------+---------------+----------------+-------------------------+
| XOR      |  non unate    |  Rising        | Depends on other input  |
|          +---------------+----------------+-------------------------+
|          |               |  Falling       | Depends on other input  |
+----------+----------------------------------------------------------+

Leave a Reply

Your email address will not be published. Required fields are marked *