Algorithms
Entertaining tasks
Mathematics
Abnormal programming
Programming microcontrollers
Comments 31
+4
Шаг 4: написать пакет поддержки троичной логики для VHDL, аналогично std_logic и numeric_std. Хотя возможно кто-то уже делал подобное.
+2
В первом посте вы, кажется, оговаривали, что принципиально не будете отвечать на этот вопрос ;)
0
А не знаете, есть ли какие-либо HDL языки, которые поддерживают троичную и выше логику?
+1
Поскольку HDLи по пальцам можно пересчитать, то очень просто: из коробки нет. На VHDL я не вижу проблем создать свой тип данных и для него наборы операторов. На верилоге вряд ли. В System Verilog скорее всего через классы можно выкрутиться.
+1
Если представить такие элементы как аналоговые блоки, то можно попробовать Verilog AMS.
0
А тактовый сигнал обязательно должен быть троичным?
В варианте mayorovp можно сделать ячейку памяти с двумя входами, т.е. можно реализовать счётчик с таким управлением:
C=0 — ничего не происходит.
С=1 — счёт в сторону R.
C=-1 — установка значения со входа.
Экономия: 2 пары мультиплексоров и 1 управляющий провод.
0
Нет, не обязательно. Можете нарисовать схему? Я не очень понял ваше предложение.
0
А, теперь понял, спасибо. Ну в принципе почему нет, имеет право на жизнь, хотя мне и не очень нравится.
0
Что не устраивает? Не очень наглядно и/или управляющие линии не удобны для использования в вашей архитектуре?

Если развить идею до регистра со счётчиком, то для его управления будет достаточно двух троичных линий: [чтение, ничего, запись] и [счёт "+1", ничего, счёт "-1"]. Этого можно добиться добавив в мою схему пару управляющих мультиплексоров (с приоритетом чтение/запись над счётом) а также ещё по мультиплексору на трит для связи с шиной:
Как-то так
Надеюсь, разборчиво нарисовал.
image
Насчёт вывода на шину не уверен — вроде как ТТЛ не позволяет более 1 выхода на линию…


0
Кстати, а в ячейке памяти обязательно наличие прозрачных буферов? Будет ли она запоминать значения без них. Точнее, будет ли сам мультиплексор держать сигнал на выходе, который соединён напрямую с выбранным входом? И будут ли в таком случае переключения работать корректно (через переключатель или другой мультиплексор)?
0
В смысле, нужен ли нижний мультиплексор в этой схеме?

Скрытый текст



Представьте себе, что на входы A и B подано положительное напряжение, а выход Q должен хранить отрицательное. Где его взять, если не в буфере?
0
С отрицательного питания самого мультиплексора?
Я не совсем понял как работает мультиплексор: он пропускает сквозь себя выбранный сигнал или работает как ТТЛ логика (т.е. выход подтягивается к нужному питанию или к земле)?
0
Давайте играть в водопроводчиков. На входе три трубы, на выходе одна. В зависимости от того, что на вентиле, выходная труба подключается к одной из трёх входных. При этом что течёт по трубе, и в какую сторону, абсолютно не суть важно. Питание тут ни при чём вообще.
0
Спасибо, разобрался — первый вариант…
Глупость появилась из-за лени: всё встало на свои места после того как подробнее изучил схему мультиплексора и документацию на ключи.
0

Управление через тактовый сигнал — это совершенно неправильно, потому что сигнал записи — индивидуальный, а тактовый сигнал должен быть общий.

0
В данном случае будет не тактовый сигнал, а управляющий.
Т.е. получается регистр со счётчиком.
+3
Теплый ламповый троичный бит. Читая статью не мог отделаться от мысли, что форма здесь важнее содержания. Самую произвольную вещь можно сделать с любовью. Пусть это даже будет бесполезная вещь, но главное, что она — любимая. Спасибо за статью.
+7
На самом деле, не такая эта вещь и бесполезная. Картошку не пожарит, да. И конечная железка послужит только получасовым анекдотом в лекции об архитектуре компьютеров. Но в процессе изготовления вот таких бесполезных штуковин я уже познакомился с очень интересными людьми. В английском языке есть даже термин специальный — conversation starter.

И в качестве побочного продукта я приобретаю совершенно новые для меня навыки. Например, ещё пару лет назад я совершенно не знал, что такое паяльник. Теперь хотя бы знаю, с какой стороны его надо брать, что сильно раздвигает рамки возможного для меня и даже тривиально поднимает мою стоимость на рынке труда.
-2
Как то никак не пойму — Интел уже выпускает троичный процессор, а тут только сумматоры и счетчики.
Наверняка уже есть и средства разработки и чипы для прототипирования более высокой интеграции.
Как то уровень разный получается — наскальные рисунки и полет на луну.
Или я чего-то недогоняю?
0
Да на самом деле не суть важно. Даже если бы это было правдой, то моя цель не создать процессор и мощно на этом навариться, а совсем другая. Поэтому самый сумматоры и счётчики — самое то, что мне надо.
+1

Когда я на почте служил ямщиком был еще студентом один мой одногруппник делал толи диплом, то ли курсовую как раз на тему троичной логики. Там в качестве третьего состояния использовался "высокий импеданс", т.е. просто болтающийся в воздухе вход/выход. Помнится вроде его научрук пачками заявки на авторские свидетельства подавал. Возможно это даже можно найти.

0

Высокий импеданс нужен и сам по себе, занимать его логическим состоянием не очень разумно.

0

Я, честно говоря, не вникал в это особо. В том проекте я не участвовал, поэтому просто запомнил, как все это было. а почему, квы, не могу сказать. Кажется, это все было ради упрощения схомотехники, хотя не уверен. Могу попробовать уточнить, если интересно. Вот еще вспомнилось. Третье состояние трактовалось тогда как "может быть", кроме обычных для двоичной логики "да" и "нет".

0
«может быть», кроме обычных для двоичной логики «да» и «нет»

Вау! Это путь в неклассическую логику, которая ещё круче троичной!
0

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

+1
Не понимаете по причине непонимания разницы в состояниях «хрен его знает» и «неклассическая логика».
Only those users with full accounts are able to leave comments. , please.