COM (Ternary Gate): Difference between revisions

From T729 Balanced Ternary Computer
Jump to navigationJump to search
No edit summary
No edit summary
Line 9: Line 9:


== Truth Tables ==
== Truth Tables ==
=== COM ===
<div class="tt">
<div class="tt">
<table class="tt">
<table class="tt">
Line 23: Line 24:
<td rowspan="3"><b>A</b></td>
<td rowspan="3"><b>A</b></td>
<td class="tt_r tt_br">-</td>
<td class="tt_r tt_br">-</td>
<td class="tt_r">-</td>
 
<td class="tt_r">-</td>
<td class="tt_b">+</td>
<td class="tt_r">-</td>
<td class="tt_b">+</td>
<td class="tt_b">+</td>
</tr>
</tr>
<tr>
<tr>
<td class="tt_g tt_br">0</td>
<td class="tt_g tt_br">0</td>
<td class="tt_b">+</td>
<td class="tt_g">0</td>
<td class="tt_r">-</td>
<td class="tt_r">-</td>
<td class="tt_g">0</td>
<td class="tt_b">+</td>
</tr>
</tr>
<tr>
<tr>
<td class="tt_b tt_br">+</td>
<td class="tt_b tt_br">+</td>
<td class="tt_b">+</td>
<td class="tt_r">-</td>
<td class="tt_b">+</td>
<td class="tt_r">-</td>
<td class="tt_b">+</td>
<td class="tt_r">-</td>
</tr>
</tr>
</table>
</table>
Line 94: Line 96:
<td class="tt_b">+</td>
<td class="tt_b">+</td>
<td class="tt_bl tt_b">+</td>
<td class="tt_bl tt_b">+</td>
</tr>
</table>
</div>
<hr />
=== NCOM ===
<div class="tt">
<table class="tt">
<tr>
<td class="tt_br tt_bb" colspan="2" rowspan="2">NCOM</td>
<td colspan="3" class="tce"><b>B</b></td>
</tr>
<tr>
<td class="tt_r tt_bb">-</td>
<td class="tt_g tt_bb">0</td>
<td class="tt_b tt_bb">+</td>
</tr>
<tr>
<td rowspan="3"><b>A</b></td>
<td class="tt_r tt_br">-</td>
<td class="tt_r">-</td>
<td class="tt_r">-</td>
<td class="tt_r">-</td>
</tr>
<tr>
<td class="tt_g tt_br">0</td>
<td class="tt_r">-</td>
<td class="tt_g">0</td>
<td class="tt_b">+</td>
</tr>
<tr>
<td class="tt_b tt_br">+</td>
<td class="tt_b">+</td>
<td class="tt_b">+</td>
<td class="tt_b">+</td>
</tr>
</table>
<table class="tt">
<tr>
<td colspan="3">NCOM</td>
</tr>
<tr>
<td class="tt_bb"><b>A</b></td>
<td class="tt_bb"><b>B</b></td>
<td class="tt_bl tt_bb"><b>Y</b></td>
</tr>
<tr>
<td class="tt_r">-</td>
<td class="tt_r">-</td>
<td class="tt_bl tt_b">+</td>
</tr>
<tr>
<td class="tt_r">-</td>
<td class="tt_g">0</td>
<td class="tt_bl tt_b">+</td>
</tr>
<tr>
<td class="tt_r">-</td>
<td class="tt_b">+</td>
<td class="tt_bl tt_b">+</td>
</tr>
<tr>
<td class="tt_g">0</td>
<td class="tt_r">-</td>
<td class="tt_bl tt_b">+</td>
</tr>
<tr>
<td class="tt_g">0</td>
<td class="tt_g">0</td>
<td class="tt_bl tt_g">0</td>
</tr>
<tr>
<td class="tt_g">0</td>
<td class="tt_b">+</td>
<td class="tt_bl tt_r">-</td>
</tr>
<tr>
<td class="tt_b">+</td>
<td class="tt_r">-</td>
<td class="tt_bl tt_r">-</td>
</tr>
<tr>
<td class="tt_b">+</td>
<td class="tt_g">0</td>
<td class="tt_bl tt_r">-</td>
</tr>
<tr>
<td class="tt_b">+</td>
<td class="tt_b">+</td>
<td class="tt_bl tt_r">-</td>
</tr>
</tr>
</table>
</table>
</div>
</div>

Revision as of 03:18, 11 June 2024

Compare

Uses

A tree of compares can compute if a register is negative, zero, or positive. This is done as part of the ALU Flags.

I do not know yet if this gate is useful to Compare say two registers.

This gate is biased towards the A input. Only when A is zero does B have any effect.

Truth Tables

COM

COM B
- 0 +
A - + + +
0 + 0 -
+ - - -
COM
A B Y
- - -
- 0 -
- + -
0 - -
0 0 0
0 + +
+ - +
+ 0 +
+ + +

NCOM

NCOM B
- 0 +
A - - - -
0 - 0 +
+ + + +
NCOM
A B Y
- - +
- 0 +
- + +
0 - +
0 0 0
0 + -
+ - -
+ 0 -
+ + -