Троичный сумматор

Уравновешенная троичная система счисления - форум переехал с http://ternary.info

Moderator: haqreu

User avatar
BEPTEP
Doomed
Posts: 519
Joined: 09 Apr 2025 01:49

Re: Троичный сумматор

Post by BEPTEP »

Shaos wrote: 09 Jan 2026 23:40 По линку выше я писал как сделать MIN и MAX на троичных селекторах - можно переписать на полноценные MUX-ы (если на кристалле не будет полуселекторов E12 и E21):

MIN(x,y) = MUX(y,N,E12(x,N,O),x) = MUX(y,N,MUX(x,N,O,O),x)

MAX(x,y) = MUX(y,x,E21(x,O,P),P) = MUX(y,x,MUX(x,O,O,P),P)
В одном слове МУЛЬТИПЛЕКСОР букв больше чем транзисторов в схеме на MIN и MAX вместе взятых. :mrgreen:
Xalva
Writer
Posts: 24
Joined: 17 Apr 2025 03:01

Re: Троичный сумматор

Post by Xalva »

BEPEP wrote: 10 Jan 2026 16:52 В МУЛьтик пока не врублюсь...
Привет, а чего тут не ясно, для умножения!
Как в школе, столбиком, результаты суммируем.
⭕⭕⭕➕➖➖(5) a
⭕⭕⭕➕➖➖(5) b
———————————
⭕⭕⭕➖➕➕ r1 = b[1] * a
⭕⭕➖➕➕⭕ r2 = b[2] * a
⭕➕➖➖⭕⭕ r3 = b[3] * a
———————————
⭕⭕➕⭕➖➕(25) r = r1 + r2 + r3
Тут как раз и сдвиг пригодиться!
User avatar
BEPTEP
Doomed
Posts: 519
Joined: 09 Apr 2025 01:49

Re: Троичный сумматор

Post by BEPTEP »

Xalva wrote: 11 Jan 2026 06:03
BEPEP wrote: 10 Jan 2026 16:52 В МУЛьтик пока не врублюсь...
Привет, а чего тут не ясно, для умножения!
Как в школе, столбиком, результаты суммируем.
⭕⭕⭕➕➖➖(5) a
⭕⭕⭕➕➖➖(5) b
———————————
⭕⭕⭕➖➕➕ r1 = b[1] * a
⭕⭕➖➕➕⭕ r2 = b[2] * a
⭕➕➖➖⭕⭕ r3 = b[3] * a
———————————
⭕⭕➕⭕➖➕(25) r = r1 + r2 + r3
Тут как раз и сдвиг пригодиться!
Привет!
Да уже понял. Но почему то считал что для умножения в столбик достаточной простой инверсии.
Ошибался. :mrgreen:
Xalva
Writer
Posts: 24
Joined: 17 Apr 2025 03:01

Re: Троичный сумматор

Post by Xalva »

BEPEP wrote: 11 Jan 2026 08:22
Xalva wrote: 11 Jan 2026 06:03
BEPEP wrote: 10 Jan 2026 16:52 В МУЛьтик пока не врублюсь...
Привет, а чего тут не ясно, для умножения!
Как в школе, столбиком, результаты суммируем.
⭕⭕⭕➕➖➖(5) a
⭕⭕⭕➕➖➖(5) b
———————————
⭕⭕⭕➖➕➕ r1 = b[1] * a
⭕⭕➖➕➕⭕ r2 = b[2] * a
⭕➕➖➖⭕⭕ r3 = b[3] * a
———————————
⭕⭕➕⭕➖➕(25) r = r1 + r2 + r3
Тут как раз и сдвиг пригодиться!
Привет!
Да уже понял. Но почему то считал что для умножения в столбик достаточной простой инверсии.
Ошибался. :mrgreen:
Почему ошибался?
В принципе да!

Code: Select all

 
function MUL(a, b : tTryte) : tTryte;
  begin revers(b);
             for var i := low(b) to high(b) do
                 if b[i] < 0
                   then result := sum(result, shl(inv(a), i))
                   else if b[i] > 0
                             then result := sum(result, shl(a, i)) end;
User avatar
Shaos
Admin
Posts: 25367
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Троичный сумматор

Post by Shaos »

Ну не только инверсии - сложение ведь надо со сдвигом :roll:
User avatar
BEPTEP
Doomed
Posts: 519
Joined: 09 Apr 2025 01:49

Re: Троичный сумматор

Post by BEPTEP »

Lavr wrote: 09 Oct 2017 15:51
haqreu wrote:А откуда взялись 36 и откуда 314 применительно к этой задаче суммирования?
Собственно, из тех результатов моделирования, которые я привел в этом топике, и топике, на который
дал ссылку при подведении итогов своей проделанной работы.

Всё зависит от способа сложения. Я бы предпочел последовательное суммирование, вот так:
000113.jpg
А при нём мне нужен всего одноразрядный полный сумматор. В троичной логике он мне обошелся в
314 транзисторов.
В двоичной логике, поскольку конкретная задача на суммирование, я убрал из схемы 16 транзисторов
управляемого инвертора. 52 - 16 как раз 36.
Перечитываю тему - ржу :lol: А 36 транзисторов точно хватит на задержку, сдвиги и так далее или это будет делаться вручную? :lol:
----------
P.S. Если ещё учесть что всё, как и сумматор, будет построено исключительно на NANDах одних :lol:
Last edited by BEPTEP on 13 Oct 2026 18:51, edited 1 time in total.
User avatar
BEPTEP
Doomed
Posts: 519
Joined: 09 Apr 2025 01:49

Re: Троичный сумматор

Post by BEPTEP »

Shaos wrote: 10 May 2020 02:03
Lavr wrote:
haqreu wrote:Ну а что двоичная логика выигрывает, это понятно, её, как минимум, полировали долго.
Троичную логику сколько ни полируй, она не станет лучше или проще, чем нарисовал я.
Сложнее - да, проще - нет, потому что у меня модели "почти идеальны"...

Но 314 тразисторов это в 6 раз больше 52-х... И в чем преимущество?
Пока преимущество неочевидно по меньшей мере. :-?
Я придумал как сделать ещё меньше транзисторов в троичном полном сумматоре ( причём одинаковых ; )

Image

Если внимательно поглядеть на эту схему из троичных мультиплексоров, то можно увидеть, что 3 троичных входа управляют тремя колонками мультиплексоров (и один из входов также используется как переключаемый сигнал во второй колонке), т.е. как я и говорил в другом топике - нет никакой необходимости дублировать декодер троичного сигнала в каждом мультиплексоре - нам надо лишь поставить по паре компараторов на каждый вход - это 26*3=78 транзисторов плюс 1 на генератор тока. Далее по 10 транзисторов на преобразование выходов компараторов в 6 управляющих дифференциальных сигналов для ключей - 79+10*3=109. Далее полученные сигналы управления спускаются в каждой колонке мультиплексоров для управления ихними ключами - по 6 транзисторов на мультиплексор. У нас 10 полных мультиплексоров - это ещё 60 транзисторов - и 4 полумультиплексора - там как бы по 4 транзистора на каждый, однако там где есть P или N сигналы можно упроститься до 1 транзистора в плече, т.е. выходит по 3 транзистора на каждый из 4 полусумматоров или ещё 12. Такой же трюк можно проделать с первыми двумя мультиплексорами где есть P и N - уменьшив 60 до 56. В итоге получается 109+56+12=177 транзисторов. Самый компактный двоичный полный сумматор состоит из 24 транзисторов, но т.к. трит в полтора раза тяжелее чем бит мы будем сравнивать с 24*1.5=36. Выходит минимальный троичный полный сумматор в 4.92 раза тяжелее двоичного. Если выкинуть навороченные компараторы и обойтись простыми инверторами со сдвинутыми порогами (т.е. схитрить), то это будет по 8 транзисторов на каждый вход или 24 - на 55 транзисторов меньше, чем с компараторами или 122 всего - уже только в 3.39 раз тяжелее...

Про двоичные сумматоры: https://electronics.stackexchange.com/questions/279495/please-help-me-understand-how-this-cmos-mirror-adder-works
Теперь раскрыта тайна 122-х транзисторного сумматора на "одинаковых" транзисторах но у некоторых со сдвинутыми порогами :lol:
User avatar
Shaos
Admin
Posts: 25367
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Троичный сумматор

Post by Shaos »

Пороги у всех одинаковые, просто часть CMOS-транзисторов формируют не цифровые ячейки, а аналоговые - компараторы называются, которые уже с разными порогами могут работать (т.к. они аналоговые) - я понятно излагаю, или ты опять потерялся? :lol: