nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 28 Mar 2024 08:52



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

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Вместо эпиграфа... wrote:
"А не замахнуться ли нам на Вильяма, понимаете ли, нашего Шекспира?"

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

Мне кажется, для выбранной нами троичной симметричной системы "правильной" будет
какая-то из вот этих таблицы:
Attachment:
1mod3.gif
1mod3.gif [ 2.91 KiB | Viewed 14946 times ]

Attachment:
2mod3.gif
2mod3.gif [ 1.9 KiB | Viewed 14946 times ]

Вроде как они зеркальные с точностью до инверсии...
Зацените критическим взглядом - какая из них действительно правильная, пока я делать не начал... :wink:
А то наделаю лишнего... 8)

_________________
iLavr


06 Oct 2017 02:46
Profile
Maniac

Joined: 10 Mar 2017 05:30
Posts: 318
Reply with quote
0+1 = 1, так что вторая схема правильная...


06 Oct 2017 03:25
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
AlexanderZh wrote:
Что-то у меня не хватает мозгов на верхнюю. Какую функцию она реализует всё-же?

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

_________________
iLavr


06 Oct 2017 14:23
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
AlexanderZh wrote:
а вместе с "циклическим отрицанием" не будет ли больше элементов? Или там несколько функций упрощены?

А я пока не проверял... сам пока думаю, как обойтсь минимальным числом элементов.

AlexanderZh wrote:
з.ы. Если не трудно, кинь в ссылку на это?

Да не трудно... ссылки же все здесь, в Ternary - сейчас попробую найти.
Если я не ошибаюсь, то эта: http://trilog.narod.ru/4.htm

Я просто обычно пишу себе краткую выжимку прежде чем что-то собирать, придерживаясь правила:
информация из интернета правдива, если повторяется хотя бы в трёх независимых источниках.
А тут у меня даже в двух не повторилась... поэтому обратился за помощью. :wink:

_________________
iLavr


06 Oct 2017 15:38
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Действительно, эти две таблицы, приведенные мной в старте топика, практически "идентичны",
если так можно выразиться, с точностью до правой циклической инверсии.
Attachment:
1_2mod3.gif
1_2mod3.gif [ 7.41 KiB | Viewed 14911 times ]

Впрочем, мне это было и с самого начала видно, почему я и выбрал эти таблицы из всех других.
Приводит ли этот "трюк" к упрощению с точки зрения числа элементов - пока не знаю.

Эти "минимизации и упрощения", как оказалось, штука опасная, и надо быть очень внимательным!
По пути вот выяснил, что выполняя схему как раз правой циклической инверсии, "доминимизировался"
так, что уровень логического нуля оказался "плавающим", и без нагрузки 10 кОм стал уплывать. :osad:
Пришлось вернуться переделать... :-?

Заодно выяснил, что проверять элемент на нагрузочную способность надо, подключая эти 10 кОм
и к +Uпит. и к -Uпит., а то может сложиться ситуация, когда эти 10 кОм, подключенные с выхода
к GND, собственно, и создают уровень логического "0". А без них - он плавающий! :lol:

Сейчас займусь сумматором...


P.S. А чего - все расслабились и празднуют 65-летний юбилей президента Путина В.В., пришедшийся на субботу?
Ну с праздником вас тогда... Как шутит один мой знакомый из Израиля: русские - больше евреи, нежели сами
ортодоксальные евреи, у русских - два дня шаббат!
:mrgreen:

_________________
iLavr


07 Oct 2017 04:41
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Ну и, придерживаясь правильной и одобренной всеми таблицы истинности, я сделал троичный
сумматор по модулю 3 по следующей схеме:
Attachment:
3SUM_MOD3.gif
3SUM_MOD3.gif [ 7.92 KiB | Viewed 14901 times ]

Я, конечно же, предварительно проверил его по таблице истнности, нажимая на кнопочки,
но интересно было посмотреть на процесс суммирования в динамике, поэтому я подключил
свежесобранный сумматор к сделанному ранее двухразрядному троичному счетчику.
Attachment:
3SUM_CNT.gif
3SUM_CNT.gif [ 7.54 KiB | Viewed 14901 times ]

Счетчик как раз наглядно перебирает все аргументы функции, а на осциллограмме видно
где полезли иголки или какие другие артефакты...
Attachment:
3SUM_OSC.gif
3SUM_OSC.gif [ 14.62 KiB | Viewed 14901 times ]

Ну и, судя по осциллограмме, сумматор работает верно, согласно таблице.

Иголочки - есть. Логика комбинационная, поскольку сам всю и делал, точно знаю, что пути
сигналов довольно разные по числу каскадов в разных блоках.

_________________
iLavr


07 Oct 2017 14:33
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
В троичном сумматоре по модулю 3 у меня насчиталось 68 транзисторов.

Кстати, спасибо за схему DG403. Интересно взглянуть.
Как-то давно пытался сам найти, но на тот момент - безуспешно...

_________________
iLavr


07 Oct 2017 15:34
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
AlexanderZh wrote:
табличка переноса в старший разряд:

Image

Интересная табличка... очень похожа на НЕ XOR.
Если XOR позиционируют как "что-то но не всё", то эта табличка явно: "только всё"!

А точно правильная? С таблицами переноса у меня еще хуже - двух даже примерно похожих нет,
и ни одна не похожа на эту... :-?


P.S. Точно, это практически ОНО и есть. Но в троичной логике называется модно: Consensus
Quote:
In Boolean logic, the inverse of exclusive or is true when the two inputs are the same, and false when they are different. There are several natural extensions of this idea to ternary logic. One of them is the logical consensus of a set of variables, which is true if all are true, false if all are false, and otherwise unknown:
Attachment:
Consensus.gif
Consensus.gif [ 3.69 KiB | Viewed 14889 times ]

Так что вопрос с правильностью таблицы снят. И стало понятно, откуда у меня такое разнообразие таблиц:
разные авторы используют как различные троичные системы, так и разные кодировки.

_________________
iLavr


07 Oct 2017 16:21
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
AlexanderZh wrote:
Lavr wrote:
Но в троичной логике называется модно: Consensus
Логично)) Только единое мнение даст результат!
Но пришлось его всё-таки назвать Carry с префиксом T... :wink:
С одной стороны - привычнее, с другой стороны - количество символов в имени блока у меня ограничено,
и не все символы можно использовать... 8)

Именно поэтому - EQU_FALS, а не EQU_FALSE, хотя это "=-1",
ну и, я надеюсь, все угадали, что EQU_TRUE - это: "=1".
И как-то так удачно вышло, что я этим функциям сразу приделал и прямой и инверсный выходы... :wink:

Так что схему переноса я "сделал" весьма быстро, для этого пришлось из копии сумматора по модулю 3
повыкидывать часть лишних элементов, ну и нечайно земельку одну откинул - поэтому долго удивлялся
и прыгал с бубном - "ну почему схема проще сумматора не работает? Сумматор ведь работал!" :mrgreen:
Attachment:
3CARRY.gif
3CARRY.gif [ 5.25 KiB | Viewed 13603 times ]

Но в итоге всё заработало правильно, хотя времени пол-дня потерял... :osad:
Attachment:
3CAR_OSC.gif
3CAR_OSC.gif [ 7.05 KiB | Viewed 13603 times ]

_________________
iLavr


08 Oct 2017 09:31
Profile
Maniac

Joined: 10 Mar 2017 05:30
Posts: 318
Reply with quote
Так а сколько транзисторов в итоге в сумматоре?


08 Oct 2017 11:35
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
haqreu wrote:
Так а сколько транзисторов в итоге в сумматоре?

Погодите, экий Вы торопливый! :wink: Ещё до итога не дошли... :lol:
Но в итоге я обязательно скажу, сколько там и чего и "в попугаях" и "в слонёнках"... :mrgreen:

Но поскольку путь к финалу мне виднее, чем остальным, скажу прямо - итог будет
не утешительный... :-? Ну или не радужный, можно и так сказать...


P.S. Кстати, мне пока никто не сказал, что там вырисовывается с числом транзисторов в аналогичной
конструкции на "тримуксах", а я в упор не знаю совсем по причине см. здесь...
8)

P.P.S. 2_haqreu. Прочитал по случаю Ваши материалы на Хабре... А Вы - университетский преподаватель?

_________________
iLavr


08 Oct 2017 13:16
Profile
Maniac

Joined: 10 Mar 2017 05:30
Posts: 318
Reply with quote
Lavr wrote:
Кстати, мне пока никто не сказал, что там вырисовывается с числом транзисторов в аналогичной
конструкции на "тримуксах"


Так давайте считать. Вы же полусумматор собираете, так? (из двух входов A и B считаем два выхода C и S по закону A+B = S + 3*C)

Он требует трёх мультиплексоров на саму сумму и трёх мультиплексоров на консенсус. То есть, если напрямую из тримуксов собирать, то это три тримукса, или 6 корпусов dg403dy.

Если верить даташиту, то в dg403dy 17 транзисторов на один канал, два канала на один корпус микросхемы. Итого 34 транзистора на один корпус dg403dy. Умножаем на 6 = 204 транзистора на полусумматор, если собирать прямо на тримуксах.

Дальше есть возможность чуточку схитрить, так как функция консенсуса включает в себя функции E21 и E12, как их называет Shaos. Это позволяет сэкономить один корпус dg403. То есть, на dg403 можно собрать полусумматор на 170 транзисторах.


Полный же сумматор (из трёх входов A, B и Cin считаем два выхода Cout и S по закону A+B+Cin = S + 3*Cout) укладывается в 12 корпусов dg403 (семь тримуксов = 14 корпусов, но опять два e21 и два e12 реализуются только двумя корпусами dg403 вместо четырёх). Ну а 12 корпусов это 408 транзисторов.


Lavr wrote:
P.P.S. 2_haqreu. Прочитал по случаю Ваши материалы на Хабре... А Вы - университетский преподаватель?


И преподаватель тоже, а что?


08 Oct 2017 14:28
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
haqreu wrote:
Lavr wrote:
P.P.S. 2_haqreu. Прочитал по случаю Ваши материалы на Хабре... А Вы - университетский преподаватель?
И преподаватель тоже, а что?

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

Что касается числа транзисторов, то априори мне кажется, что их число будет примерно одинаковым,
поскольку трудно обмануть СДНФ. Причем мне тут проще, поскольку я имею возможность конструировать
сами блоки под конкретные функции. А "тримукс" - это одно и то же число транзисторов на любые функции.
Но итоговое число ключей не будет глобально различаться по моему мнению.
Впрочем зачем забегать вперед? Истина почти уже рядом - вот только последний блок доделаю... :wink:

_________________
iLavr


08 Oct 2017 14:45
Profile
Maniac

Joined: 10 Mar 2017 05:30
Posts: 318
Reply with quote
Lavr wrote:
Нет, ничего плохого, просто меня заставили улыбнуться некоторые комментарии на Хабре касательно
троичной логики и преподавтельской деятельности... :lol:


Ай, комментарии на хабре это за гранью добра и зла 8)

Думаю что тримуксы заведомо проигрышный вариант, не на порядок, конечно, но всё же. Но лично мне очень изящным кажется сама мысль об универсальности одного-единственного строительного кирпичика. Оно, конечно, транзистор тоже ничего так себе кирпичик ;)


08 Oct 2017 14:51
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
haqreu wrote:
Но лично мне очень изящным кажется сама мысль об универсальности одного-единственного строительного кирпичика. Оно, конечно, транзистор тоже ничего так себе кирпичик ;)

Ну... как университетского преподавателя, эта мысль не должна Вас так уж сильно восхищать. :wink:
Я лично не испытал на этот счет никаких особых эмоций - я не зря упомянул выше слово СДНФ.
И в троичной логике любая сложная функция, заданная таблицей, строится по этой самой
дизъюнктивной нормальной форме.
Другими словами мультиплексор в той или иной форме присутствует.
Если Вы посмотрите внимательно на мои схемы - то я уже дважды использовал мультиплексор
"на рассыпухе". Сейчас и в третий раз использую - ну никуда не убежать мне от СДНФ... 8)

_________________
iLavr


08 Oct 2017 15:03
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 53 posts ]  Go to page 1, 2, 3, 4  Next

Who is online

Users browsing this forum: No registered users and 15 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.