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

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

Moderator: haqreu

User avatar
BEPEP
Maniac
Posts: 207
Joined: 09 Apr 2025 01:49

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

Post by BEPEP »

Shaos wrote: 13 Apr 2025 16:10
Shaos wrote: 09 Apr 2025 07:48 Я думал про то, что у полного троичного сумматора надо бы 4 входа иметь т.к. всё равно выходит 2 выхода (т.к. сумма будет от -4 до +4), но т.к. "Full Adder" это всё-таки 3 входа, то 4-входвовый сумматор можно обозвать "Fuller Adder" т.е. ещё более полный сумматор :lol:
Вот что мне DDT сгенерило для 4-входового Fuller-Adder-a :roll:

Получается 22 троичных мультиплексора (или 20 микросхем DG403 - чуть меньше из-за того, что в схеме есть полумультиплексоры E12 и E21)
Это , в пересчёте на транзисторы, больше 200 штук получается, так?
Да и по деньгам, даже у дядюшки Ляо один DG403 - 100 рублей штучка. На 6 трит ~12круб надо. :question:
На макетке, как Лавр, собрать, потом разобрать и для других поделок оставить :lol:

Это, конечно, всё удобно в плане моделирования и сборки. Примерно, как у Лавра полный двоичный сумматор на одних элементах И-НЕ. Элегантно! :D
Проектирование какого большого проекта в этом нуждается. Но по хардкору круче! :kruto: :ebiggrin:
User avatar
Shaos
Admin
Posts: 24051
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

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

Post by Shaos »

Да с DG403 всё получается просто и красиво, но дорого :mrgreen:
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
BEPEP
Maniac
Posts: 207
Joined: 09 Apr 2025 01:49

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

Post by BEPEP »

Shaos wrote: 13 Apr 2025 20:57 Да с DG403 всё получается просто и красиво, но дорого :mrgreen:
Дорого ещё пол беды. DG403 элементом не является. Это уже некоторое поделие в себя кучу элементов вмещающее, выполняющее некоторую функцию.
В двоичной логике базовых элемента три. Но всего из двух базовых элементов можно построить любую функцию двоичной логики. Тот же XOR - не базовый элемент. Это уже нечто состоящее из базовых элементов. Его можно по разному реализовать.
Аналогия с высокоуровневыми языками программирования тут уместна. На каком PHP, javascript или вообще HTML любой школьник писать что-нибудь сможет. Для него уже кем-то и когда-то разработаны компиляторы или интерпретаторы. Для него это будет просто и красиво. У него голова не болит, но и не думает. :wink: На ассемблере современные программы писать не практично просто.
Надстройки над надстройками, это не фундамент, это какие-то верхние этажи здания, над которыми ещё один этаж кто-то построить решил.
А сумматор - это фундамент! Его не нужно эмулировать в железе, его надо разрабатывать из базы.

В троичной логике база одна единственная - транзистор. Вернее два транзистора - N и P канальные ключи :mrgreen:
User avatar
Shaos
Admin
Posts: 24051
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

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

Post by Shaos »

Естественно DG403 это чуть более сложный прибор, но из 2 чипов DG403 можно построить 2 троичных селектора, а на троичных селекторах можно построить всё остальное ;)

А то как делать троичные селекторы на кристалле, я размышлял в других топиках, и даже сделал реальный чип в 2015 году, где это работало, но делать свой чип это ещё дороже, чем строить троичные схемы на DG403...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
BEPEP
Maniac
Posts: 207
Joined: 09 Apr 2025 01:49

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

Post by BEPEP »

Хе-хе. Размечтался я о 100 транзисторах. Блок-схемка-то моя кривая - не работает как надо :mrgreen:
Получается правильно ещё с двумя блоками, т.е. 118 транзюков выходит.
Пока ничего выкладывать не буду, всё проверю тогда выложу. 100 транзисторов пока зачёркиваем :obye:
User avatar
BEPEP
Maniac
Posts: 207
Joined: 09 Apr 2025 01:49

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

Post by BEPEP »

Shaos wrote: 13 Apr 2025 22:10 Естественно DG403 это чуть более сложный прибор, но из 2 чипов DG403 можно построить 2 троичных селектора, а на троичных селекторах можно построить всё остальное ;)

А то как делать троичные селекторы на кристалле, я размышлял в других топиках, и даже сделал реальный чип в 2015 году, где это работало, но делать свой чип это ещё дороже, чем строить троичные схемы на DG403...
Я на ваш форум и попал благодаря Вашей статье на Хабре про разработку и изготовление чипа. :kruto: Давно его читал внимательно, просто сейчас заклинило прямо - хочу собрать троичный калькулятор! Непреодолимое желание имею :mrgreen:
Тема эта от Лавра задела. Прям пригорело одно место :ebiggrin:

Разобрался я с блок-схемой. Ещё один элемент пришлось создавать, из уже готового просто 4 транзюка выкинуть и всё в порядке. Просто добавилось 14 транзисторов. Сидел сегодня на javascript эмулятор работы этого чуда писал. Написал! Всё работает - считает. Ошибок нет, удобная штука получилась. Прикреплю к теме ниже.
эмулятор.png
"Новый" элемент:
Сильная_Б_3.png
Я назвал его "Сильная Б" , так как при плюсе и минусе на двух входах всегда побеждает вход Б - он сильнее :ebiggrin:
эмулятор.zip
День ревизий закончен. По итогу где-то убыло, где то прибыло. Но так или иначе 114 транзюков. Дальше будем посмотреть.
You do not have the required permissions to view the files attached to this post.
User avatar
BEPEP
Maniac
Posts: 207
Joined: 09 Apr 2025 01:49

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

Post by BEPEP »

Да что ж такое. Опять косяк. +1 +1 -1 не хочет правильно считать. Ладно, завтра думать буду.
User avatar
BEPEP
Maniac
Posts: 207
Joined: 09 Apr 2025 01:49

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

Post by BEPEP »

Если этот вариант использовать без входа Б или В(без разницы, на одном из них постоянный ноль нужен) то получается сумматор на 3 входа. Если на эти входы добавить ещё один элемент(14 транзисторов) то получается 4-х входовой. Сегодня, надеюсь, допилю уже 4 входа и за одно подумаю над х3. Два варианта нарисую.
User avatar
TernarySystem
Doomed
Posts: 632
Joined: 27 Jul 2018 12:07

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

Post by TernarySystem »

BEPEP wrote: 14 Apr 2025 14:04 Да что ж такое. Опять косяк. +1 +1 -1 не хочет правильно считать. Ладно, завтра думать буду.
Здравствуйте BEPEP, давно уже меня никто так не смешил, как Вы вчера заявлением о разработке нового элемента "Сильная Б", ржу уже второй день, Вам удалось...
Ваша "Сильная Б" - это бинарная троичная функция, которую Вы задаёте таблицей истинности. Я надеюсь, что Вам известно что такое базис логических операций? Истинностные значения в Вашей таблице истинности связаны этими логическими операциями, а посему для получения наименьшего количества транзисторов необходимо найти минимальную форму функции. Первым этапом Вы должны получить совершенную форму, а затем используя логические законы, синтезировать сокращённую форму. Конечной целью Вашего синтеза будет тупиковая форма или минимальная - это будет зависеть каким уровнем алгебры логики Вы обладаете... Например Ваша "Сильная Б" имеет такую тупиковую форму ТДНФ - X1¬Y1 V X2 ¬ ( Y1 V ¬Y1 ), X1 - это Ваше "Б" если что. И тогда не будет косяков.
А Lavr однажды мудро выразился - "СДНФ не обманешь ".
Теперь стосовно Вашей схемы "Сильная Б" - сопротивления будут сильными источниками теплоты, количество которой будет равно квадрату тока умножить на сопротивление и умножить на время действия сигнала. Это будет не логический элемент а полупроводниковый паяльник и это будет технический тупик. Ничего личного, так это работать не будет, закон Джоуля -Ленца.
Красота КМОП технологии заключается в малом использовании мощности. КМОП схемы потребляют энергию только в момент переключения - в динамике, а в статическом потребление практически равно 0. Канал полевого транзистора в открытом состоянии практически имеет очень малое сопротивление и у тут бинго, Вы добавляете сопротивление и садите его на землю с одной стороны, а с другой на второе плечо источника питания. "Сильная Б" будет гореть первой в схеме Вашего сумматора. И это не симуляция, а реальный мир...
User avatar
FizikS
Maniac
Posts: 264
Joined: 11 Oct 2018 00:52
Location: г. Клинцы, Брянская обл.

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

Post by FizikS »

TernarySystem wrote: 15 Apr 2025 02:27 И это не симуляция, а реальный мир...
Я тоже пытался симулировать троичные элементы на транзисторах. Симулятор показывал запредельные токи, от которых транзисторы будут гореть как свечки. Поэтому, как здесь выяснили и показали, либо переключатели либо хитровыдуманные полевые транзисторы (таковых, скорее всего в природе и не найдешь).
User avatar
BEPEP
Maniac
Posts: 207
Joined: 09 Apr 2025 01:49

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

Post by BEPEP »

TernarySystem wrote: 15 Apr 2025 02:27
BEPEP wrote: 14 Apr 2025 14:04 Да что ж такое. Опять косяк. +1 +1 -1 не хочет правильно считать. Ладно, завтра думать буду.
Здравствуйте BEPEP, давно уже меня никто так не смешил, как Вы вчера заявлением о разработке нового элемента "Сильная Б", ржу уже второй день, Вам удалось...
Ваша "Сильная Б" - это бинарная троичная функция, которую Вы задаёте таблицей истинности. Я надеюсь, что Вам известно что такое базис логических операций? Истинностные значения в Вашей таблице истинности связаны этими логическими операциями, а посему для получения наименьшего количества транзисторов необходимо найти минимальную форму функции. Первым этапом Вы должны получить совершенную форму, а затем используя логические законы, синтезировать сокращённую форму. Конечной целью Вашего синтеза будет тупиковая форма или минимальная - это будет зависеть каким уровнем алгебры логики Вы обладаете... Например Ваша "Сильная Б" имеет такую тупиковую форму ТДНФ - X1¬Y1 V X2 ¬ ( Y1 V ¬Y1 ), X1 - это Ваше "Б" если что. И тогда не будет косяков.
А Lavr однажды мудро выразился - "СДНФ не обманешь ".
Теперь стосовно Вашей схемы "Сильная Б" - сопротивления будут сильными источниками теплоты, количество которой будет равно квадрату тока умножить на сопротивление и умножить на время действия сигнала. Это будет не логический элемент а полупроводниковый паяльник и это будет технический тупик. Ничего личного, так это работать не будет, закон Джоуля -Ленца.
Красота КМОП технологии заключается в малом использовании мощности. КМОП схемы потребляют энергию только в момент переключения - в динамике, а в статическом потребление практически равно 0. Канал полевого транзистора в открытом состоянии практически имеет очень малое сопротивление и у тут бинго, Вы добавляете сопротивление и садите его на землю с одной стороны, а с другой на второе плечо источника питания. "Сильная Б" будет гореть первой в схеме Вашего сумматора. И это не симуляция, а реальный мир...
Я уже разобрался с этой схемой. В ваших "морских знаках" мне дольше разбираться нужно будет. Уж простите. Ещё один элемент надо было создать. Чутка попозже заходите - посмеётесь ещё. :ebiggrin: Я ему тоже название придумал. Потому как тут вам не там. :lol: Это не дизъюнкция, конъюнкция и отрицание :mrgreen:
В топике этом писал, что тут КМОП применительно только к комплементарным парам. Тут для полноценной КМОП надо однополярное питание и забыть про троичность, либо огород транзисторов городить надо.
User avatar
BEPEP
Maniac
Posts: 207
Joined: 09 Apr 2025 01:49

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

Post by BEPEP »

FizikS wrote: 15 Apr 2025 03:01
TernarySystem wrote: 15 Apr 2025 02:27 И это не симуляция, а реальный мир...
Я тоже пытался симулировать троичные элементы на транзисторах. Симулятор показывал запредельные токи, от которых транзисторы будут гореть как свечки. Поэтому, как здесь выяснили и показали, либо переключатели либо хитровыдуманные полевые транзисторы (таковых, скорее всего в природе и не найдешь).
В ключевом режиме ничего гореть не должно, если в самой схеме коротыша нет. У меня тут в одном единственном элементе есть коротыш. Он при единице на одном входе и нуле на другом получается. Писал о нём и почему он не страшен тут. Повторюсь: потому что в связке с остальной схемой этот элемент никогда на ноль не сможет попасть. Если только перед ним что из строя выйдет.
Ключевой режим транзистора - это вкл/выкл. Как дверца в публичном туалете, система типа занято - свободно :lol:
Могут, конечно, интервалы временные отставать и находит коса на камень. Но это уже следующие этапы разработки. И они для моего поделия не критичны. Я его в космос запускать не собираюсь.
У меня, собственно, все блоки это переключатели и есть. И ничего кроме переключателей. Переключатели на полевых транзисторах только, а не на реле или ещё на чём.
User avatar
BEPEP
Maniac
Posts: 207
Joined: 09 Apr 2025 01:49

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

Post by BEPEP »

Для наглядности, о чём я выше писал, про элемент в котором коротыш при нуле на входе А и +1 или-1 на входе У получается.
х2.png
Но этого варианта логически никак не получается.
Для проверки симулятор:
Сумматор_х2.zip
You do not have the required permissions to view the files attached to this post.
User avatar
BEPEP
Maniac
Posts: 207
Joined: 09 Apr 2025 01:49

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

Post by BEPEP »

На полусумматор х2 расходуется 30 транзисторов. Условные названия блоков, не суть: на блок "И" - 4 транзистора, на блок "ИЛИ" - 14 транзисторов, на блок "Управляемое НЕ" - 12 транзисторов. Схемы блоков тут все выкладывал.
Сумматор х3 - обрезок, который Лавр тут ваял. У меня получилось пока вот что:
Сумматор_х3.png
Проверял по ТБ , всё , во всех направлениях чётко работает:
ТБх3.png
Симулякр сумматора х3:
Сумматор_х3.zip
Теперь по транзисторам: два полусумматора х2 - 60 транзисторов, один блок "ИЛИ"- 14 транзисторов. Итого: 74 транзистора.
В пику Админу, у которого вышло 122 на х3, и уж тем паче Лавру с его 314 транзисторами. :mrgreen:

Сумматор х4 попозже выложу. Но там монстр получается, требующий чуть меньше 140 транзисторов. :idea:
You do not have the required permissions to view the files attached to this post.
User avatar
BEPEP
Maniac
Posts: 207
Joined: 09 Apr 2025 01:49

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

Post by BEPEP »

TernarySystem wrote: 15 Apr 2025 02:27
BEPEP wrote: 14 Apr 2025 14:04 Да что ж такое. Опять косяк. +1 +1 -1 не хочет правильно считать. Ладно, завтра думать буду.
Здравствуйте BEPEP, давно уже меня никто так не смешил, как Вы вчера заявлением о разработке нового элемента "Сильная Б", ржу уже второй день, Вам удалось...
Ваша "Сильная Б" - это бинарная троичная функция, которую Вы задаёте таблицей истинности. Я надеюсь, что Вам известно что такое базис логических операций? Истинностные значения в Вашей таблице истинности связаны этими логическими операциями, а посему для получения наименьшего количества транзисторов необходимо найти минимальную форму функции. Первым этапом Вы должны получить совершенную форму, а затем используя логические законы, синтезировать сокращённую форму. Конечной целью Вашего синтеза будет тупиковая форма или минимальная - это будет зависеть каким уровнем алгебры логики Вы обладаете... Например Ваша "Сильная Б" имеет такую тупиковую форму ТДНФ - X1¬Y1 V X2 ¬ ( Y1 V ¬Y1 ), X1 - это Ваше "Б" если что. И тогда не будет косяков.
А Lavr однажды мудро выразился - "СДНФ не обманешь ".
Теперь стосовно Вашей схемы "Сильная Б" - сопротивления будут сильными источниками теплоты, количество которой будет равно квадрату тока умножить на сопротивление и умножить на время действия сигнала. Это будет не логический элемент а полупроводниковый паяльник и это будет технический тупик. Ничего личного, так это работать не будет, закон Джоуля -Ленца.
Красота КМОП технологии заключается в малом использовании мощности. КМОП схемы потребляют энергию только в момент переключения - в динамике, а в статическом потребление практически равно 0. Канал полевого транзистора в открытом состоянии практически имеет очень малое сопротивление и у тут бинго, Вы добавляете сопротивление и садите его на землю с одной стороны, а с другой на второе плечо источника питания. "Сильная Б" будет гореть первой в схеме Вашего сумматора. И это не симуляция, а реальный мир...
Всё, я понял причину неудержимого смеха. Сам только что увидел - тоже ржал, как конь. :ebiggrin: Бывает - исправил:
Сильная_Б_3.png
За одно ещё один блок сюда добавлю. Я его обозвал "Вычитающий Повторитель":
Выч_Повт_3.png
Два входа передают на два выхода идентичные сигналы. Но если на входе будет комбинация -1 +1(в двух возможных вариантах) то на выходах будет 0. Только таб. истинности тут не совсем уместен. Повторитель всё таки. 2 входа - 2 выхода.
Блок схему пока не сделал. Это для сумматора х4 нужно. Завтра, наверное, выложу.
-----------------
Перезалил последнюю схему. Таблицу подправил. Следует её читать так: если надо свериться с линией А, то она в верхней строке, левый столбец - значения Б. И наоборот, если надо проверить линию Б то это верхняя строка, а левый столбец - значения линии А.
You do not have the required permissions to view the files attached to this post.
Last edited by BEPEP on 15 Apr 2025 17:09, edited 2 times in total.