Pull to refresh

Comments 31

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

Ячейка памяти
image

Счётчик
image
А, теперь понял, спасибо. Ну в принципе почему нет, имеет право на жизнь, хотя мне и не очень нравится.
Что не устраивает? Не очень наглядно и/или управляющие линии не удобны для использования в вашей архитектуре?

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


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

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



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

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

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

И в качестве побочного продукта я приобретаю совершенно новые для меня навыки. Например, ещё пару лет назад я совершенно не знал, что такое паяльник. Теперь хотя бы знаю, с какой стороны его надо брать, что сильно раздвигает рамки возможного для меня и даже тривиально поднимает мою стоимость на рынке труда.
Как то никак не пойму — Интел уже выпускает троичный процессор, а тут только сумматоры и счетчики.
Наверняка уже есть и средства разработки и чипы для прототипирования более высокой интеграции.
Как то уровень разный получается — наскальные рисунки и полет на луну.
Или я чего-то недогоняю?
Вот же лопухнулся — не заметил что 1 апреля.
Да на самом деле не суть важно. Даже если бы это было правдой, то моя цель не создать процессор и мощно на этом навариться, а совсем другая. Поэтому самый сумматоры и счётчики — самое то, что мне надо.
UFO just landed and posted this here

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

UFO just landed and posted this here
«может быть», кроме обычных для двоичной логики «да» и «нет»

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

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

Не понимаете по причине непонимания разницы в состояниях «хрен его знает» и «неклассическая логика».
Sign up to leave a comment.

Articles