Not, And, Or

Ну что ж, давайте построим на нашим правилах элементарнейшую логику - логические вентили. Договоримся, что как и обычно в схемотехнике входы у нас будут слева, а выходы справа.

NOT

Этот вентиль у нас есть изначально, осталось только подвести вход и выход.

:x white :y yellow :g green
+----------+
|          |
|    xx    |
| gggx xyy |
|    xx    |
|          |
+----------+

Покликайте на входную (левую, зеленую) часть вентиля и посмотрите как меняется выходная (правая, желтая).

OR

OR можно построить вообще без вентилей, но тогда у нас будет обратное распространение сигнала по обоим веткам. Поэтому лучше схему усложнить и входы изолировать парами элементов NOT. Это замедлит вентиль на 1 такт, увеличит его площадь (до 49 клеток, белая часть схемы), но зато входы будут независимы друг от друга.

:x white :y yellow :g green
+-------------------------+
|                         |
|              xx xx      |
| gggx      gggx xx xx    |
|    x         xx xx x    |
|    xyyy            xyyy |
|    x         xx xx x    |
| gggx      gggx xx xx    |
|              xx xx      |
|                         |
+-------------------------+

А еще мы можем немного оптимизировать наш вентиль по площади, до 42 клеток, вот так:

:x white :y yellow :g green
+-------------+
|             |
|    xx xxx   |
| gggx xx x   |
|    xx  x    |
|        xyyy |
|    xx  x    |
| gggx xx x   |
|    xx xxx   |
|             |
+-------------+

Мышкой можно понажимать один или второй входы и увидеть, как через один такт меняется значение выхода. А если вы хотите поменять одновременно оба входа - нажмите паузу, выставьте значения входов в нужные и снова нажмите старт.

AND и NAND

Чтобы выставить оба входа в активное состояние одновременно, поставьте схему на паузу.

:x white :y yellow :g green
+---------------------------------+
|                                 |
|    xx              xx           |
| ggxx xx         ggxx xx         |
|    xx xx           xx xx xx     |
|       x xyyy          x xx xyyy |
|    xx xx           xx xx xx     |
| ggxx xx         ggxx xx         |
|    xx              xx           |
|                                 |
+---------------------------------+

Триггер…

Copyright (c) 2023 Otus-Lisp