nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 23 Nov 2020 21:05



Reply to topic  [ 54 posts ]  Go to page Previous  1, 2, 3, 4
Троичный сумматор 
Author Message
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Lavr wrote:
схема полного однотритного сумматора из разработанных мной блоков выглядит
следующим образом:

Image

Я на момент создания не сделал никакой проверки полного троичного сумматора, заложившись
на правильную работу отдельных его функциональных блоков.
Это не от лени, а потому как EWB "захлебывается" считать такую большую аналоговую схему
да еще и вкупе со счетчиком.
Но я подумал, что это в общем-то упущение, и ничто не мешает мне снять таблицу истинности
этого устройства, подавая на входы логические уровни через переключатели

Вот эта таблица для разработанного полного троичного сумматора:
Attachment:
TFullAdd.gif
TFullAdd.gif [ 7.97 KiB | Viewed 2379 times ]

На мой взгляд - всё вроде верно. Но проверка свежим взглядом - не помешает...

_________________
iLavr


08 Nov 2017 16:48
Profile
Maniac

Joined: 10 Mar 2017 06:30
Posts: 322
Reply with quote
Вроде всё чётко


09 Nov 2017 00:31
Profile
Fanat
User avatar

Joined: 18 Nov 2014 10:17
Posts: 53
Location: Отсюда
Reply with quote
Да, правильно всё.


Attachments:
table1.pdf [30.8 KiB]
Downloaded 161 times
10 Nov 2017 16:07
Profile
Banned

Joined: 08 Mar 2018 00:17
Posts: 315
Location: Россия, Москва
Reply with quote
Lavr wrote:
Вот эта таблица для разработанного полного троичного сумматора:
[вложена таблица]
На мой взгляд - всё вроде верно. Но проверка свежим взглядом - не помешает...

Похоже, что таблица соответствует версии таблицы полного троичного симметричного сумматора в трёх видах, опубликованной мною в "Википедии", в статье "Троичные функции", в разделе "Троичный сумматор-вычитатель", 6 февраля 2012 в 11:07:
Attachment:
Троичный симметричный полный сумматор.JPG
Троичный симметричный полный сумматор.JPG [ 120.31 KiB | Viewed 2144 times ]

Но проверка свежим взглядом - не помешает...


25 May 2018 12:45
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Lavr wrote:
схема полного однотритного сумматора из разработанных мной блоков выглядит
следующим образом:
Image
Я на момент создания не сделал никакой проверки полного троичного сумматора, заложившись
на правильную работу отдельных его функциональных блоков.
Это не от лени, а потому как EWB "захлебывается" считать такую большую аналоговую схему
да еще и вкупе со счетчиком
.
Но главное во всей этой затее было то, что я просчитал все необходимые элементы троичной логики аналоговыми методами, то есть, в отличие от чисто цифровых расчетов, здесь учитывались все переходные процессы, проскакивание перехода [+1] -> [-1] через логический уровень [0] (да, это приводит к некоторым "артефактам", но с точки зрения цифровой схемотехники они не смертельны), и пришел я к основному выводу, что аналоговые модели соответствуют алгебре троичной логики, а поэтому можно было осуществить качественный скачок, перейдя к чисто цифровым моделям для повышения скорости расчета.


В качестве платформы я выбрал Proteus, поскольку разработчики заложили в его движок логическое состояние "конфликта", очень хорошо соответствующее нашему понятию "неопределённости" в троичке: это состояние Proteus трактует как уровень 2.5 В, что вполне подходит для моделирования устройств на троичной логике.
Image

Ну и поскольку dll-библиотеки Proteus на C++ мы писать научились, я занялся тем, что уже испытанные аналоговые модели элементов троичной логики перевёл в цифровой вид:
Image

При этом старался сравнивать идентичность поведения цифровых моделей с аналоговыми:
Image

Интересно, что в результате этих изысканий фактически пришлось разработать семейство троичных логических элементов, поскольку Proteus при компиляции предлагает упаковать логику в подхоящий корпус, и я попытался сделать это в полной аналогии с существующими сериями 74... 74LS... 74HC..., где одинаковым логическим элементам присваивают одинаковые номера.
Хотя пришлось "пристроить" и элементы, которых в двоичных сериях просто нет.

Я не выкладывал эти модели в форум, поскольку считаю, что они имеют версию "альфа", то есть, их ошибки и аномалии на начальном этапе должен тщательно вычистить сам разработчик, после чего он (разработчик) приходит к решению, что модели дозрели стать версией "бета", и можно предоставить их на тестирование "бета"-тестерам.

Ну а тестировать логические элементы лучше всего что-то конструируя из них, и я решил начать с троичного сумматора, поскольку в EWB он был самой тормозной конструкцией.

Конструировал сумматор я по полной аналогии с тем, что уже было сделано ранее в этой ветке форума.

Сначала это была вот такая конструкция из "элементарных кирпичиков" троичной логики:
Image

Потом, после тщательной проверки, я "свернул" её в более компактные модули:
Image

И в итоге получилась вот такая модель полного однотритного сумматора, который я и использовал в АЛУ моего весьма удачного проекта троичного компьютера.
Image

Если спросить: а в чем смысл такой последовательности? А смысл в том, что для приемлемой скорости моделирования сама модель, как я вот здесь уже писал, должна быть простой, но адекватной.
То есть, в итоговую "коробочку" полного однотритного сумматора вошли только его "формулы", а не формулы всех элементарных элементов, но сравнение модели сумматора с его же моделью из "элементарных кирпичиков" показало его полную адекватность.
Вот только работает его модель шустрее, чем 10...20 "элементарных кирпичиков".

Ну и так вышло, что я немного отвлёкся в сторону и написал под Proteus модели популярных здесь у нас мультиплексоров на основе аналоговых ключей DG403.
Чтобы у заинтересованных посетителей форума была возможность не только почитать здесь про троичность, но и хоть как-то приобщиться к процессу... :wink:
Благо Proteus супер-новый не нужен, я всё это делаю под версией 6.7 Pro, которая "вертится" у меня на любимом моём фактически ныне музейном ноутбуке ThinkPad 600е P-II 366 MHz под Windows 98. :roll:
Ну если у меня "вертится", то у всех должно летать со свистом! (Я проверял на работе на современном десктопе под Win 10).

Ну и поскольку на моих моделях "муксов" никто и ничего сконструировать не отважился, я решил проверить их адекватность сам как раз вот на примере полного однотритного сумматора.

Получилось в итоге вот что:
Image

Где в каждой коробочке под названием "MUX" для компактности находится вот это:
Image

Я немного перекомпоновал проверенную здесь уже трижды таблицу истинности полного однотритного сумматора, чтобы результаты стало проверять удобнее и логичнее...
Image

Но Proteus-модель полного однотритного сумматора ей полностью соответствует! :wink:

На этом можно было бы и закончить... но поскольку у нас у всех на дворе пандемия, и у многих в доме самоизоляция, я подумал, что неплохо бы развлечься и сделать "подляну мерзкую" всем, кто тут скулит уныло и норовит обвинить меня в излишней склонности к счетоводству... :lol:

Поэтому я решил собрать эту конструкцию на макетке, благо DG403 у меня были и время есть.
То, что добротно посчитано, собирается обычно за один вечер или где-то с 12 до 4 утра по моим привычкам.
Так что запаситесь попкорном, продолжение сейчас будет... :wink:

_________________
iLavr


24 Apr 2020 20:43
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Были у меня в запасе две вот таких беспаечных макетки с пластиковым основанием ценой по 740 р., что дешевле аналогичных на металлической пластине, у тех цена зашкаливает за 12хх р.
Image

Припас я эти макетки под проделки с нашим любимым 1801ВМ2, но, поразмыслив, решил, что там и одной макетки хватит, и ключей DG403 у меня некоторое количество в запасе было.

Начинать надо с разводки, и я такие разводки на макетках уже не раз делал, но это меня и заставило задуматься, что неплохо бы и разводку поручить Proteus-у, в результате чего я и написал модель DG403, подходящую для этого процесса.

После всех уточнений и перетасовок разводка получилась примерно вот такая:

Image

Собственно, вот это всё и нетрудно вполне собрать на макетке "за один вечер", поскольку заранее продумано всё, паять не надо, смотришь на красивую разводку - втыкаешь корпуса и проводки, благо у всех элементов есть ещё и заметная идентичность.
Image

А вот приделать некое подобие "передней панели", которая, собственно, задумана была как элемент жесткости для тумблеров и индикаторных светодиодов, это заняло еще день, и то потому, что я обычно сначала делаю макет из тонкого картона, примеряю по месту, и лишь потом вырезаю и сгибаю из жести.
Image

В итоге получилась вот такая довольно симпатичная штука...
Image

...которая работает с точностью по всё той же таблице. :ewink:
Attachment:
TRI_SUM_Tab.gif
TRI_SUM_Tab.gif [ 11.57 KiB | Viewed 856 times ]


В процессе сборки я обратил внимание, что в составе полного однотритного сумматора есть элементы, которые неплохо иметь в составе полного АЛУ - это узлы циклических отрицаний, причем оба.
Также есть части схем MIN и MAX, что позволяет доделать эту плату до полнофункционального АЛУ, добавив, если я не ошибся, ещё 4 корпуса DG403.
Из них троичный XOR займёт, видимо, целых 2 корпуса.

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

Ну и поскольку я уже ничего перерисовывать не стал, оригинал разводки вполне подробно виден на следующем фото:

 Фото макетной платы сумматора
Image

_________________
iLavr


24 Apr 2020 20:54
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 18964
Location: Silicon Valley
Reply with quote
т.е. ты таки перешёл на DG403 как и все мы? ;)


Attachments:
DG403-Lavr.jpg
DG403-Lavr.jpg [ 266.03 KiB | Viewed 750 times ]

_________________
:eugeek: https://twitter.com/Shaos1973
09 May 2020 20:40
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Shaos wrote:
т.е. ты таки перешёл на DG403 как и все мы? ;)

Нет... тут как-то давно кто-то давал ссылку на дешёвые DG403 - я тогда их и прикупил из жадности в запас.
Но поскольку сейчас трудно делать что-то другое, я решил проверить, насколько они соответствуют
моим моделям и расчетам в Proteus. Публика у нас частенько норовит упрекнуть меня за счетоводство... :wink:

_________________
iLavr


09 May 2020 20:58
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 18964
Location: Silicon Valley
Reply with quote
Lavr wrote:
haqreu wrote:
Ну а что двоичная логика выигрывает, это понятно, её, как минимум, полировали долго.

Троичную логику сколько ни полируй, она не станет лучше или проще, чем нарисовал я.
Сложнее - да, проще - нет, потому что у меня модели "почти идеальны"...

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

Я придумал как сделать ещё меньше транзисторов в троичном полном сумматоре ( причём одинаковых ; )

Attachment:
TernaryFullAdder.gif
TernaryFullAdder.gif [ 12.32 KiB | Viewed 736 times ]

Если внимательно поглядеть на эту схему из троичных мультиплексоров, то можно увидеть, что 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

_________________
:eugeek: https://twitter.com/Shaos1973


10 May 2020 03:03
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 54 posts ]  Go to page Previous  1, 2, 3, 4

Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.