Регистровый слой в NCL может быть устроен вот так:
В данном случае обратная связь назад информирует предыдущий слой, что данные (или нулевое состояние) получены и сохранены и можно считать опять.
Пузатый 2-входовый элемент с двойкой внутри это на самом деле C-gate Мюллера, который был придумал ещё в 1955 году: https://en.wikipedia.org/wiki/C-element
Вот таким образом можно собирать каналы и разбирать каналы (тут ради упрощения показан один провод на канал, но на самом деле их должно быть как минимум 2 в каждом канале):
P.S. Троичная асинхронная логика может быть устроена точно также - просто добавляем третий провод к каждой паре...
Троичная логика и асинхронная схемотехника
Moderator: haqreu
-
- Admin
- Posts: 24084
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Троичная логика и асинхронная схемотехника
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 24084
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Троичная логика и асинхронная схемотехника
После экспериментов с гуглосиликоном я получил достаточно простую схему C-гейта (вентиль Мюллера):
Который вообще может быть построен только на ЛА3х
(точнее 4 NAND и 2 NOT):
Пользуясь такой схемой в Logisim мне вроде удалось построить асинхронный 3-проводной троичный селектор:
Единственное, что после каждого "вычисления" надо сбрасывать все входы в ноль, чтобы внутренние C-гейты очистились (иначе возможны ошибочные комбинации на выходах), и это выглядит несколько нелогичным, если речь идёт о селекторе все или некоторые входы которого подключены к константам N,O,P...
Который вообще может быть построен только на ЛА3х

(точнее 4 NAND и 2 NOT):
Пользуясь такой схемой в Logisim мне вроде удалось построить асинхронный 3-проводной троичный селектор:
Единственное, что после каждого "вычисления" надо сбрасывать все входы в ноль, чтобы внутренние C-гейты очистились (иначе возможны ошибочные комбинации на выходах), и это выглядит несколько нелогичным, если речь идёт о селекторе все или некоторые входы которого подключены к константам N,O,P...
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 24084
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Троичная логика и асинхронная схемотехника
Ну вот я думал думал как уменьшить количество проводов (дабы не уподобляться господину Куликову с его "трёхбитной-трёхпроводной-троичкой") и кажется придумал - по двум проводам "asynchronous binary-coded-ternary" тоже вполне возможен! У нас ведь важно, чтобы троичный сигнал шёл по цепочке NULL -> N -> O -> P и троичный C-гейт учитывал бы максимум (т.е. остановился на O то запоминаем O, но если ушёл в P, то запоминаем P), соответственно кодировать в двоичном виде надо так, чтобы небыло пограничных состояний (одновременных переходов в обоих проводах):
Как можно видеть нулевым (нейтральным) состоянием становится ситуация, когда оба провода запитаны. С другой стороны если мы включаем это самое нейтральное состояние, то два провода запитываются не одновременно и какой-то из них обязательно отработает первым и сочетание кратковременно выдаст состояние P или состояние N, по которым что-то может успеть отработать...
P.S. Видимо без костылей асинхронная троичность возможна только в 3-проводном варианте
Code: Select all
NULL => 0 0
N => 0 1
O => 1 1
P => 1 0
P.S. Видимо без костылей асинхронная троичность возможна только в 3-проводном варианте

Я тут за главного - если что шлите мыло на me собака shaos точка net