Pull to refresh

Comments 120

Офигеть электроника для начинающих :)
Белой завистью смотрю на такие проекты, это мне точно не по силам.
Ну набор хабов я у тебя по большей части стянул :)
И кстати да — для меня это было [микро] «электроникой для начинающих» ибо в первый раз ;)
Удобство двоичной системы связано, прежде всего, с двоичной логикой. Так, на комбинациях базисных вентилей (от двух до трех, в зависимости от базиса) можно построить любую комбинационную схему. А что на счёт логики для схем на трёх элементах?
В троичной логике всё можно построить на троичных селекторах (как собственно и в двоичной — там тоже можно обойтись только селекторами)

Пример для троичной логики — полный сумматор на мультиплексорах (селекторах):
image
Я бы добавил, что троичная логика более «компактная», потенциально способная создавать более быстрые машины (при адекватной архитектуре), при более компактном хранении данных. Однако, проблемы с троичной логикой, возможны в дальнейшем, при аппаратном контроле операций и ошибок, а также, гарантии выявления трех состояний (вместо двух), что является слабым местом при создании серьезных схем, основанных на 3-логике.
Компактнее она всего в 1.5 раза по знакоместам (тритов нужно в 1.5 раза меньше чем битов). Но сама реализация троичной логики на существующих полупроводниковых элементах обычно оказывается далеко не в 1.5 раза сложнее двоичной.
Если быть точным, то в log 3 / log 2 раза или 1.585 раз меньше сигнальных линий (например для передачи объёма информации равносильного 64 битам потребуется 40.38 тритов что округляется вверх до 41, если мы говорим о физическом представлении). А вот по транзисторам будет перевес порядка 5 раз…
А как со статическим энергопотреблением у этой штуки? Особенно, когда на выходе ноль.
Фигово — текёт :)
Вот и ответ, почему троичная логика не прижилась. На самом деле оно же не только течет, но и металлизацию сжигает в таком состоянии (электромиграцией), так что у вас еще и срок жизни чипа будет неприемлемый для практических применений.
Мне кажется, что на практике конструкция «АЦП-ЦАП» (то есть пара компараторов, управляющая источником тока) будет гораздо более разумной, чем такая конструкция из стандартной логики. И с надежностью все будет нормально, и с потреблением скорее всего не хуже.

Ну или по крайней мере резисторы в истоки транзисторов логических ячеек стоит поставить, чтобы ограничить потребление.
Ток там небольшой на самом деле — и потом оно же не всегда в середине сидит, но и переключается вверх-вниз время от времени. А так да — для троичности нужны иные технологические решения нежели обычные транзисторы…
Насколько я помню, основной плюс троичной логики — чуть большая плотность информации. Вроде как оптимум основания число е (2,7), так что преимущество не запредельное.
Отсюда главный вопрос: не теряете ли вы это преимущество большим количеством транзисторов на обработку того же количества информации? Ну, скажем, восемь битов несет 256 комбинаций, а пять тритов — 243, достаточно близкий значения. Для NAND двух таких чисел в двоичной системе нужно 32 транзистора не считая входных-выходных буферов. Сколько транзисторов нужно для троичной логики?
Ну и предложение: если будете разрабатывать и заказывать новую топологию, добавьте один аналогичный элемент, но на двоичной логике, чтобы сравнить скорость работы.
Если на транзисторах делать, то двоичный вариант будет намного компактнее. Единственное, что немного спасает — меньшее количество соединений между блоками при том же объёме передаваемой информации. И потом играние в троичность с обычными транзисторами просто готовит нас к будущей чисто троичной технлогии — я свои наработки легко переключу и вот тогда уже всё будет оптимально :)
Учитывая, что транзистор — штука аналоговая, чем обусловлена привязка именно к двоичной системе? То есть транзисторы используются и в логических элементах, и в СВЧ, и в усилении звука. Для меня не очевидно, почему они применяются где угодно, но в троичной логике оказываются неэффективными.
Есть ли идеи какие именно элементы будут для троичной логики лучше? Может, электромеханика?
нанотрубки может быть?
а кстати хоть транзистор и аналоговый сам по себе, но в цифровых системах используется только его «двоичное» свойство — открыт/закрыт
Что — нанотрубки? Нанотрубки это сырье, а не элемент.
но в цифровых системах используется только его «двоичное» свойство — открыт/закрыт
Так я про это и спрашиваю — какие должны быть свойства (состояния) у вашего троичного элемента.
Может стоит использовать биполярные транзисторы и соответствующий аналог ТТЛ, ЭСЛ или ИИЛ и сделать ставку на скорость, а не экономичность?
Или действительно подумать над принципиально другими подходами — спинтроника (правда она тоже двоичная), акустоэлектроника, электромеханика (МЭМС), та же оптоэлектроника.
Сам по себе термин «нанотрубки» это все равно название материала. Способов реализации на нем электроники масса. Например, интересную идею видел, когда нанотрубки просто высыпаются и фиксируются на подложке, снимают то что получилось электронным микроскопом, по изображению индивидуально формируют топологию проводников, потом напыляют металлизацию. И получают целую интегральную микросхему на нанотрубках. Вот только не помню какие именно свойства трубок использовались. Возможно, транзисторы на них делали, либо квантовые эффекты ловили.
То, что вы привели, можно реализовать и на любой другой электромеханике, можно и без нанотрубок. Кстати, пьезоэлектрики выглядят попроще. Или баллистические системы.

Может быть сейчас будет лучше сделать "сендвич" из бинаризатора на входе (-1:0:1 -> 00:01:10 например), типовой двоичной логики (селектор) и тринаризатора на выходе (00:01:10 -> -1:0:1)?


amartology — насколько управляемы и стабильны в производстве и эксплуатации пороги типичных КМОП транзисторов (уровня 74HC, 74LVC)? Можно-ли на них положиться?

1) Разброс в производстве — процентов 20-30 легко.
2) Порог транзистора сильно зависит от температуры.

Может быть сейчас будет лучше сделать «сендвич» из бинаризатора на входе (-1:0:1 -> 00:01:10 например), типовой двоичной логики (селектор) и тринаризатора на выходе (00:01:10 -> -1:0:1)?
Я бы так и делал. На входе пара компараторов, на выходе источник тока, работающий на резистор. Разброс параметров резисторов можно достаточно легко скомпенсировать схемотехнически. Будет, правда, много потреблять, но я в принципе не вижу никаких вариантов троичной транзисторной логики, которые не потребляют много.
UFO just landed and posted this here
Открытый транзистор почти ничего рассеивает — маленькое сопротивление (эквивалентно обычному проводнику)
Это смотря что у него в нагрузке, а то оно чаще эквивалентно не «обычному проводнику», а короткому замыканию между землей и питанием.
Ни в коем случае! Если речь про биполярные, там обязательно резистор, если полевые — вообще затвор.
Нет, кроме затвора следующего каскада есть ещё вторая половинка собственного вентиля. В случае генерации полупитания у вас в нагрузке транзистора — другой открытый транзистор, а не только затвор.
Мы говорим про грамотную схемотехнику и штатные режимы работы. Сквозного тока быть не должно.
В худшем случае — ЭСЛ, ИИЛ — используется закорачивание биполярным транзистором, но там специально ставится источник тока.
UFO just landed and posted this here
Покажите, пожалуйста, как зарядить затвор до половины питания и поддерживать напряжение на нем на этом уровне.
Если ровно до половины питания, то резистивный делитель не устраивает? Но в чем смысл подавать на затвор полевого транзистора цифровой схемы ровно половины питания?
в чем смысл подавать на затвор полевого транзистора цифровой схемы ровно половины питания?
Так мы троичную цифровую схему сделать хотим или что?

резистивный делитель не устраивает?
Подозреваю, что резистивный делитель не устроит скоростью. Но для тестовых целей инвертор с резистивной дегенерацией истоков наверное будет окей.
Троичную. Продолжайте. Пока необходимость половины питания в троичной схеме все еще не очевидна.
Точнее, очевидно, что в любой цифровой схеме должно быть несколько стабильных уровней, то есть хорошо бы работать около режимов насыщения.
Пока необходимость половины питания в троичной схеме все еще не очевидна.
Окей, какие электрические уровни вы предлагаете для -1,0,1? И как реализовать средний из них?
Вариантов много. Можно, например, уровни токов вместо напряжений. Правда это более актуально для биполярной логики. Соответственно, токи положительный, отрицательный и нулевой.
Ниже упомянул вариант с наличием честного нуля как отдельной линии, которая тоже коммутируется. И проблемы, которые это вызывает, тоже.
В общем, на распространенной элементной базе я не знаю способа реализовать троичную логику хотя бы сравнимую с двоичной.
Но вот использовать сквозной ток как основу работы явно не стоит. При этом теряется и преимущество МОП, и появляются недостатки ТТЛ.

А почему нельзя использовать три транзистора и уровни -,0,+? Их можно комплиментарными сделать. Тогда никаких промежуточных потребляющих состояний нет. Всегда открыт только один из транзисторов.

Проблема с транзистором на нулевом уровне: нужна проводимость в обе стороны. То есть пара комплементарных транзисторов, а им нужны противоположные полярности напряжения на затворе.
То есть чтобы подать ПЛЮС достаточно одного транзистора, чтобы подать МИНУС достаточно одного. А чтобы подать НОЛЬ надо четыре минимум.
Да, я уже понарисовал тут :) Нужно двуполярное питание гораздо (непропорционально) больше МОП транзистров, чем для классической бинарной логики.
UFO just landed and posted this here
Хорошо. А как тогда должен выглядеть «троичный транзистор»? То есть минимальный усилительный элемент, который нельзя составить из существующих. Хотя бы на уровне «черного ящика», входы-выходы.
Наверное что стабилизировать «промежуточное» состояние на транизсторе оч проблемном при высоких частотах. +Разброс характеристик в производстве тоже будет мешать, и остаётся только жирные техпроцессы где это бы стабильно работало…
Мол даже в двоичных «числодробилках» при высоких частотах стоят фигни для коррекции ответов, а при троичной ошибок будет ещё больше. А выигрыш от тритов будет лишь в паре операций, а в остальном камень получится жирней и медленней при тех же условных мощностях в flops. Стоит ли оно того? (на полярных транзисторах)
PS Ваш диванный аналитик :* (уже +5 лет развлекаюсь с FPGA)
PPS Внизу ещё написали почему триты не прижились в кремнии
Учитывая, что транзистор — штука аналоговая,
Не совсем так. Всё зависит от того как будет настроена его работа (т. н. режим работы). Транзистор может работать в ключевом режиме: либо открыт до полного насыщения, либо закрыт и отсекает ток.
Еще основное преимущество троичной логики — идеальный элементарный сумматор и идеальное представление отрицательных чисел.

Это чертовски круто!
Когда читаешь про ручную отрисовку блоков, правила кажутся простыми, но когда начинаешь делать что-то сам хотя бы в KOHCTPYKTOPе, то сходишь с ума от непонимания, как оно работает. А тут своя микроэлектроника в реальном мире. И притом работающая. Аж завидно. Спасибо. :)


Кстати, если не секрет, почём была стоимость 40-чипового заказа? Я попытался найти, но не смог: похоже, они сотрудничают с многими фабриками, но цены на сайте не пишут. И если всё же секрет, то в посте упомянуты несколько тысяч денег за упаковку чиповв в SOIC16 – это были доллары или рубли? :D

За всё про всё я больше десятки штук зелёных отдал (хорошо добрые люди половину производства покрыли) — и это самый дешёвый техпроцесс был — остальные дороже (конкретные цифры не могу сказать — подписывал бумагу)
это были доллары или рубли? :D
Очень вряд ли это были рубли)

Кстати, если не секрет, почём была стоимость 40-чипового заказа?
По таким нормам стоит ориентироваться на 500-1000 евро за квадратный миллиметр с минимальным заказом в 5-10 квадратных миллиметров. Плюс упаковка, плюс какие-то еще мелочи.

Примеры цен можно посмотреть на сайте Европрактиса вот тут.
в Европе кстати чуть дешевле было бы, но
1) они требовали, чтобы я использовал коммерческий софт с верификацией
2) конкретный вафельный завод отказался со мной работать, когда я по их требованию описал, что хочу сделать
а мосис особо вопросов не задавал — автоматическую проверку на плотность металлических слоёв прошёл и ладно…

Я, к сожалению, от этого мира далёк и не могу прикинуть стоимость упаковки чипа даже примерно. Банально не знаю, как это делается. :)


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

Для таких прототипов проволочки паяют в штатах вручную, что поднимает цену во много-много раз — вот думаю может свою бондинг машину купить — буду сам проводочки цеплять ;)
> Примеры цен можно посмотреть на сайте Европрактиса вот тут.

вот как раз упоминаемый там ams отказался со мной работать :)

причём с франзуской конторой-посредником я подписал договор, получил триальную версию таннера (до того как их купил ментор) — её допустимо было использовать наряду со всякими калиберами и спектрами, но когда дошло до подписания NDA с ams они попросили описание чипа — я ответил, что это троичный чип и что его можно просто воспринимать как микс-сигнал на что они ответили нет, мы сейчас не планируем уходить в микс — досвидания :)

хм, On Semi 0.5um там ещё есть — мосис в январе 2020 последний заезд с ними сделал и всё — больше не планирует…
А еще интересно, как можно создать бизнес под такие цели в США
Есть много инфы в инете на эту тему
Мне проще — я в штатах давно живу :)
А можете пример привести такой инфы? Хотя бы с прицелом на тот тех процесс что вы использовали)
Создание бизнеса и техпроцесс никак не связаны — бизнес нужен только чтобы название компании (и штат где организована) в договоре вписать…
Ясно, это вопрос был, что бы сделать заказ. Я подумала про то как коммерциализировать такие разработки :)
Приблизительно никак, к сожалению. Нужно иметь что-то уже востребованное на рынке и с готовностью быстро выдать хорошие прототипы продуктов. И даже при таких условиях найти инвесторов на железку очень сложно. А уж на троичную логику с кучей, кажется, принципиальных проблем — нереально.
Очень интересно! Со школы помню, что самое выгодное основание — e.
Главный вопрос — а что это может дать в перспективе?
Что пишет Вики:
«В сумме, приблизительно в 2 раза большее увеличение быстродействия...»
Два раза это ж очень много — не все ж алгоритмы параллелятся.
Может нашим эльбрусовцам-байкаловцам эта разработка интересна?
Достаточно много вычислительных задач под которые можно держать отдельный компьютер с компилятором Си/Фортрана и… всё — больше там не нужно ничего. Другой вопрос, что компьютер на базе такого процессора должен быть быстрее чем то, что есть сейчас, а это вопрос десятков лет.
(Была статья - что нам стоит догнать и перегнать Интел habr.com/ru/post/218171/) там была оценка в 30 лет и 350 млрд $.
5k$ на хобби сумма нормальная, но если это может стать чем-то больше чем хобби одного человека — было бы гиперкруто!
P.S. Обновил комменты: «я в штатах давно живу», тогда Байкал-Эльбрус наверное не акутален.
Количество «битов» на операцию уменьшится всего в log3/log2 ~ 1.6 раз. Я там выше привел пример, что для 256 значений нужно 8 битов, а для 243 значений — 5 тритов. Для сумматора двоичных цифр нужно 28 транзисторов (если не обсчитался). В результате чтобы получить преимущество от троичной логики хорошо бы уложиться в 44 транзистора, лучше меньше.
И вот насколько я понимаю, такую схемотехнику до сих пор никто не придумал.
Т.е. есть нерешенная топологическая задача? Или в принципе нерешаемая и тогда троичные процессоры можно забрасывать?
Вот троичный полный сумматор для одно-тритных аргументов плюс перенос:
image
Тут 14 троичных мультиплексоров — если использовать раздутый мультиплексор с защитными зонами, как в статье выше, это будет 46 транзисторов т.е. 644 транзистора — можно взять транзисторы с разными размерами в плечах — в этом случае троичный мультиплексор можно урезать до 30 транзисторов, а выкинув зоны безопасности в надежде, что временные КЗ не сильно повредят транзисторам, до 22 — то получится 308. Есть ещё возможность упростить некоторые мультиплексоры в сумматоре — там где два крайних входа имеют одно и тоже значение — 4 штуки слева внизу — то это уменьшит количество транзисторов примерно до 264 — всё равно в 6 раз больше, чем хотелось бы…
UFO just landed and posted this here
Поэтому нам нужны чистые троичные переключатели :)
Есть способ как существенно уменьшить количество транзисторов в этой схеме — если внимательно присмотреться, то можно увидеть, что каждая колонка троичных мультиплексоров управляется ОДНИМ троичным сигналом управления (которых всего 3 — по количеству входов) и по идее преобразовать этот сигнал в пучок двоичных сигналов управляющих ключами надо только ОДИН раз, а не внутри каждого мультиплексора — выходит тут нам надо просто поставить по 2 компаратора на вход — это 26*3=78 транзисторов плюс 1 на генератор тока, далее по 10 транзисторов собственно на само преобразование в управляющие сигналы для ключей — 79+10*3=109 ну и непосредственно сами ключи — 10 полных троек и 4 двойки или 109+10*6+4*4=185 транзисторов — всего лишь в 4.2 раза больше чем хотелось бы :)
Не то чтобы совсем нерешенная или нерешаемая. Скажем, я слышал о компьютере Сетунь, но там вроде бы на трансформаторах делалось. В общем, скорее всего Shaos прав: нужно изобретать новые элементы.
UFO just landed and posted this here
Да вроде нет — ни на какой на двоичной она не строится — там всё на переключателях (троичных селекторах)
UFO just landed and posted this here
А какое отношение к Булевой алгебре имеет сумматор?
В уравновешенной троичной системе +3 будет представлено как PO, а +2 — как PN, соответственно:
_PO
+
_PN
===
PNN или +9-3-1=+5
UFO just landed and posted this here
Например, как я понимаю, частота работы таких чипов всегда будет ниже, тат как, для 3 состояний сигнал должен быть качественнее
Весь высокоскоростной Ethernet работает с амплитудной модуляцией на 3-4-5, а то и на 16 уровней. Ровно для того, чтобы добиться большей скорости передачи двоичных данных за счет того, что каждый импульс передает сразу несколько бит информации. Такж и трит — в нем больше информации, чем в бите, а значит, для отображения/хранения/передачи/обработки информации надо меньше трит, чем бит. Другое дело, что пока нет какой-то подходящей элементной базы, реализовать эти теоретические преимущества непонятно как.
UFO just landed and posted this here
Я бы скорее тут упомянул оптические интерфэйсы

О!
Очень давно меня тоже интересовала троичная логика, про сетунь много слышал и читал. Так что тема для меня очень интересная.
И тут Вы пишите про оптику.
В порядке идеи: всю логику и работу организовать на оптических элементах. В частности, может быть на нелинейной оптике (ниобат лития?).
Интерфейсы с обычными системами могут быть двоичными.
Тогда и частота переключения менее важна.
Если уж почти с нуля все делать, то может быть на оптике?
Попробую поискать в этом направлении, может что интересное и будет.
UFO just landed and posted this here
Статья супер. Вроде в star track были троичные ПК хотя могу ошибаться.
А так да нужен какой-то базовый элемент для троичной логики как транзистор для двоичной.
Транзистор открыто-закрыто
Для троичной логики нужно открыто-закрыто-открыто но в другую сторону.

> Для троичной логики нужно открыто-закрыто-открыто но в другую сторону.

именно
Ого, круто! Даже не мог представить, что можно сравнительно малой кровью делать заказные ИС.
Расскажите подробнее про процесс — какой выход годных, тестирует ли фаб кристаллы или просто режет и корпусирует, мол, что выросло то выросло?
Просто режет и корпусирует — можно в разные корпуса запаковать (надо предоставить чертёж как бондить для каждого корпуса) и можно не всё паковать — я допаковывал потом через них же после того как первые микрухи протестировал (это правда доп.денег стоит). Пытался найти других паковщиков дабы удешевить, но большинство мои запросы просто игнорировали, а один ответил, что начинает работать только если цена заказа минимум $10K…
Хинт: у вас наверняка недалёко есть университет, а в нем подходящий факультет с лабораториями. Бондинг машина недорого может найтись там. Если повезёт, то и доступ к САПР тоже, хотя бы чтобы они своими силами DRC-LVS прогнали.
Если на чипе нет ошибок проектирования, то выход годных на таком количестве и, главное, таком объеме тестов будет 100% почти наверняка. На MPW фаб никакие тесты делать не будет, только соответствие параметров стандартных тестов пластины спецификации.
В проектировании производство MPW относительно небольшую долю стоимости занимает. Главное — время и САПР для моделирования и верификации. Без DRC-LVS что-то сложнее сотни транзисторов можно отдавать в продакшн только большим любителям русской рулетки.
ох уж это сладкое «netlists match»
И похоже я забыл подсоединить его к земле в результате по кристаллу развесились кучи паразитных ёмкостей, съедающих все высокие частоты.

А что принципиально изменится, если подключить филлер к земле?
Обычно скрипты заливки филлеров никуда их не подключают, и тем не менее частоты работы кристалла катастрофически не падают.

я нашёл пакет с открытыми исходными кодами Magic VLSI (есть сборки для Linux и Windows), к которому существуют файлы правил например по техпроцессу CMOS 0.5um

Работу вы, конечно, проделали титаническую. Мне некомфортно работать уже в ICFB 5.1.41 (версия аналогового САПР от Cadence предыдущего поколения) и/или с Assura (их же тул для физической верификации). Только Virtuoso и Calibre, только хардкор.
Считаете, что ничего не изменится? Ну значит я теряюсь в догадках…

> Работу вы, конечно, проделали титаническую.

Титаническая работа измеряется в часах — я ради интереса фиксировал потраченное на разработку чипа время и в момент заказа микросхемы у меня оказалось записанным ровно 80 часов (потраченных в свободное от основной работы время в течение месяца).
kutiro Assura-то вам чем не угодила? Понятно, что калибра несколько лучше, но вот чтобы прямо некомфортно?

Shaos а покажите фото или схему выходного каскада, идущего на контактную площадку? Какая у него нагрузочная способность?
По выходам я не стал сильно заморачиваться и просто сделал инверторы с транзисторами в 2 раза крупнее — кстати может быть это и есть первопричина тормозов — выходные каскады не прямо у площадки, а рядом со всей остальной схемой
В два? Не в сто? Это точно первопричина, готов на деньги спорить. У вас же есть модели транзисторов? Попереключайте в симуляции таким выходным каскадом нагрузку в 10 пФ и посмотрите, что будет.

Интересно, а троичную логику можно использовать для вывода и интерпретации промежуточных квантовых вычислений?

Заголовок спойлера
image
Данная схема имеет вход управления S, который будучи подключенным к земле, промежуточному напряжению или питанию подключает общий сигнал C к контактам N (negative), O (intermediate) или P (positive) соответственно
Я насчитал в вашей схеме 58 транзисторов. Ниже схемы на аналоговых компараторах: на компараторах:
1) повторитель на 20 транзисторов и 1 резистор
2) инвертор на 28 транзисторов и 1 резистор.
Вместо резистора можно опционально сделать активную схему на 8 транзисторов (2ИНЕ, инвертор, два ключа), получится 36 транзисторов на инвертор вместо 58. Плюс есть накладные расходы в виде генератора смещений, но он нужен один на весь чип, так что его не учитываем.
В принципе, на большом питании компараторы можно поменять местами, тогда можно взять более простую схему компаратора, и инвертор тоже в 20 транзисторов уложится.
Заранее извиняюсь за рисунок, редактора схем под рукой не оказалось.

Ну у меня на самом деле 46 транзисторов, но идею я понял — спасибо!
количество


А что такое VG1 и VG2?
Это опорные напряжения, задающие рабочий ток компараторов и, соответственно, регулирующие скорость работы схемы. Их надо задать при помощи генератора опорного тока, представляющего собой в простейшем случае токовое зеркало.

image
Резистор можно сделать внешним, так вы сможете удобно руками настраивать скорость и потребление схемы. А дальше транзистор Q1 у вас один, а транзисторы Q2-Q4-Qn стоят в каждом компараторе.
понял — спасибо!

мне на самом деле компаратора одного типа будет достаточно — две штуки таких с порогом срабатывания 1/3 и порогом срабатывания 2/3 дадут два логических сигнала из которых можно получить сигналы управления тремя ключами, коммутирующими входы N, O и P

хотя буферная схема сама по себе не помешала бы тоже
Если компаратор одного типа, то он должен быть как тот, который на моем рисунке справа внизу — у обоих верхних компараторов размах выходного сигнала очень маленький: компаратор с n-канальной дифпарой может открывать/закрывать только p-канальную нагрузку. А еще n-дифпара на низких питаниях может не заработать как следует с порогом 1/3.
У нижнего компаратора размах выходного сигнала от нижнего питания до верхнего.

P.S. Если что, не стесняйтесь писать в личку.
Ещё такой момент — стоит ли заморачиваться с зонами безопасности между областями срабатывания ключей?



Ведь даже у DG403 есть правило break-before-make — там они на железячном уровне гарантируют что переключатель сначала выключит один сигнал, а потом включит другой (у разных производителей это правда по разному реализовано — у кого-то дырка в диапазонах покрываемых напряжений как у меня, а у кого-то чисто временная задержка). Суть в том, что например для реализации троичного инкремента через селектор (функция OPN) вход N надо подключить к промежуточному напряжению, O к питанию, а P к земле — в результате например в момент перехода сигнала S от промежуточного напряжения к напряжению питания ключ на линии O отключится, а ключ на линии P включится (линия N будет оставаться отключенной) и если разбег параметров транзисторов будет неудачный, то может получится так, что ключ на линии P включится чуть раньше, чем отключится ключ на линии O, соответственно возникнет КЗ через 2 замкнутых аналоговых ключа между землей и питанием через общую линию C. Или этим можно пренебречь т.к. сопротивление ключа достаточно чтобы не пробиться напряжением питания при временном переходе через пограничное состояние?

Просто если делать такие «дырки» с использованием компараторов, то придется вводить 4 разных Vref вместо двух — т.е. не 1/3 и 2/3, а скажем 1/5, 2/5, 3/5 и 4/5 увеличивая количество компараторов на каждый селектор с двух до четырёх…
У компараторов, которые я нарисовал, есть гистерезис — ровно потому, что зоны безопасности на случай шумного сигнала конечно же нужны. Но компаратор с гистерезисом все делает сам, удваивать их количества не нужно, нужно размер гистерезиса подбирать.
Там, где транзисторы с пометкой х2 в нагрузке дифпары — это оно, соотношение размеров транзисторов в нагрузке как раз регулирует ширину гистерезиса, вместо х2 можно сделать х3 или х4.
понял — спасибо
На самом деле гистерезис не поможет сделать break-before-make т.к. на выходе компаратора с гистерезисом всё также будет только лишь один логический сигнал, управляющий ДВУМЯ ключами — один должен отключиться, а другой включиться и из-за разброса параметров транзисторов включение может случиться раньше отключения, что может привести к короткому замыканию питания на землю. Чтобы развести эти сигналы они должны управляться разными компараторами с разным гистерезисом, чтобы отключающий сигнал имел более «слабый» (короткий) гистерезис нежели включающий сигнал, чтобы включение произошло заведомо после отключения. Однако если мы пойдём в обратную сторону (с более высокого напряжения на более низкое), то теперь наоборот — средний ключ должен отключиться раньше. Можно сделать гистерезис более длинным в одну сторону и более коротким в другую на одном и том же компараторе?
Наверное можно в одном плече сделать x2, а в другом x3 — тогда гистерезис получится «кривой» — наверное это то, что нужно…
Ну либо разные Vref на них подавать:
А, я неправильно вас понял. То, о чем вы говорите, это неперерекрывающиеся фазы входного сигнала.
imageИх используют для ключей, коммутирующих большие токи (скажем, сотни миллиампер), но генератор таких сигналов — это транзисторов двадцать, и ставить его на каждый инвертор бессмысленно.
image
Собственно, в любом двоичном инверторе протекает сквозной ток в процессе переключения, и это приемлемо, если процесс переключения быстрый.

Гистерезис в компараторах нужен на случай, если у вас медленный и шумный фронт входного сигнала или плохо собранный компаратор (а он будет плохим из-за разброса параметров) не приводили к множественным переключениям туда-обратно.
image

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

И побойтесь бога, сделайте резистор R1 100 кОм хотя бы, у вас все сгорит к чертям на таком огромном опорном токе. Точнее даже не так: посмотрите задержки срабатывания с резистором 1, 10, 100 и 1000 кОм и выберите самый большой номинал, который вас устроит по быстродействию вентиля.
спасибо — понял

тогда если не заморачиваться с зонами безопасности, то простейший вариант в моей «парадигме» будет вот этот — на 24 транзистора:



Если ставить на входе вместо NAND/NOR инверторы с разными размерами транзисторов в плечах (это тоже работает — проверено), то тогда количество транзисторов будет 20. Поможет ли размещение там компараторов снизить энергопотребление этой схемы? Компараторы ведь всегда будут забирать ток, а инвертор будет «течь» только если на него подано промежуточное напряжение.
Хотя да — вижу что на симуляции если ставить скажем 500К резистор, то компаратор жрёт немного
Вот как-то так наверное:



Два кондёра на 5pF воткнул, чтобы SPICE не зависал…
Да, так похоже на то, что я ожидал.
Что касается потребления компараторов, то чем выше частота работы схемы — тем больше будет потреблять цифровой вариант (то, что называется динамическое потребление), а у компаратора с этим попроще.
В принципе, можете проинтегрировать ток потребления на большом количестве периодов и сравнить разные варианты. Только не забудьте о том, что для цифровой схемы потребление в момент переключения сильно зависит от напряжения питания, а у компаратора можно удобно подстраивать ток резистором.
ok, рад, что в результате получилось, что-то удобоваримое с точки зрения профессионала :)
я правильно понимаю, что этот навороченный компаратор можно не переворачивать, как первый, и он может работать в любом диапазоне сравниваемых напряжений? SPICE виснет если порог ставить ниже 1.5В, а всё что выше — работает нормально
У более навороченного компаратора размах выходного напряжения — от земли до питания, а вот входное у него, как и более простого, должно быть выше суммы порога транзистора в дифпаре и напряжения насыщения источника тока. В вашем случае получилось 1.5 В видимо.

Если надо немного ниже, то можно сделать транзисторы шире, если сильно ниже — то только p-канальная дифпара поможет. Но она, в свою очередь, не будет работать около питания.
Там, где нужно, чтобы и вход, и выход имели полный размах, делают схемы, в которых обе дифпары стоят параллельно, но вам я бы не рекомендовал таким колдунством заниматься. Я поэтому сразу два компаратора нарисовал, один для низких напряжений, второй для высоких. Навороченный тоже можно отзеркалить, если вы хотите на низких питаниях работать.
ок — попробую собрать схему в реале на комплиментарных сборках (правда в компараторе PMOS-ов больше чем NMOS-ов — придётся ещё приобрести сборку где только PMOS-ы в довесок к комплиментарным)
Мне кажется, что для тестов и макетирования в реале можно и готовые компараторы взять (типа lm124 например). Вам же на самом деле не важно, что внутри у компаратора, он может оставаться черным ящиком. Интересно, как на основе компараторов сделать какую-то схемотехнику, а не только инвертор.
Я хочу попробовать именно то, что потом пойдёт в микросхему — для абстрактного макетирования можно ведь и TRIMUX взять с DG403 :)
Чувствую, лет через 100 это выльется в опенсорс квантовый ии. :)
Мне не нравится голосование. А почему там нет четверичных или окта?
четверичные схемы я пробовал (в том же чипе кстати) — неинтересно :)

Ну nand MLC же есть, в чем проблема то?
Проблема в том, что оно не даёт никакого «идеологического» преимущества в более логичных алгоритмах обработки чисел и расходы на железо там будут ещё выше, чем в троичности — так что четверичность проигрывает троичности по всем параметрам…
Зато за один такт по одной шине можно обрабатывать байт или ниббл. А если шин будет 32 или 64?
в матсопроцессоре 8087 микрокод тоже хранился в четверичном ПЗУ:
www.righto.com/2018/09/two-bits-per-transistor-high-density.html
но вычисления в четверичной системе делать бессмысленно ибо в двоичной всё равно будет компактнее…
Два патента, одна статья и один PDK
RU2281605 ЛОГИЧЕСКОЕ УСТРОЙСТВО «И» 2006
RU2468510 ТРОИЧНЫЙ К-МОП-С ЛОГИЧЕСКИЙ ЭЛЕМЕНТ «ИЛИ-НЕ» 2012
Виноградов Ю. А. К синтезу схем в инженерных базисах 2019
github.com/LNIS-Projects/TIGFET-10nm-PDK

FYI. Любая троичная функция n переменных может быть реализована повторной односторонней одноканальной сетью длины L(n)=3(L(n-1)+1), каждый элемент которой реализует функцию двух переменных.
Yоeli M. Ternary cellular cascades. IEEE Trans., C-17, 1, 1968.

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

Допустим эти два компьютера ничего не знают о напряжении и первый передает два сигнала, первый импульс и второй больше чем первый. Принимающий запоминает первый и располагает второй сигнал справа, так как он больше. Последующие сигналы он будет располагать справа, слева или между уже имеющимися , в зависимости от величины импульса. Так он создаёт свою собственную шкалу восприятия напряжения...можно сказать аналоговою. Если импульс такой же как предыдущий, то ничего не происходит, как и у людей продолжительность ощущения ровна продолжительности изменения. Таким образом у каждого компьютера формируется собственная шкала оценки напряжения. У одного компьютера может формироваться шкала с шагом 1 милливольт а у другого шаг 1,5 вольт. Как у людей , простой человек делит сутки на 4 части по степени освещённости: утро-день-вечер-ночь, а фотограф делит на сотни частей. Фотограф имеет дело с освещённостью и использует более плотную шкалу. Таким образом компьютеры станут отличаться друг от друга как индивидуальности с своими интересами и способностями в разных областях. Вероятно на одной шкале, можно повестить много восприятий если они пропорциональны прямо, обратно или через какую-то функцию. Это конечно мои фантазии, но если подумать, то такой компьютер практически невозможно взломать, так как вычислить в обратном порядке его действия невозможно, можно обмануть конечно как и людей... но на более высоких уровнях обработки результатов наблюдений. Если собрать 10 человек и сказать им "Слон" , то у каждого возникнет в воображении свой уникальный слон, также не исключено, что чей-то слон будет больше похож на крокодила, но это уже относится к обработке и воспроизведению сигналов...

Конечно это глупости, но вдруг в этом, что-то есть...

Sign up to leave a comment.

Articles