Комментарии 12
Уровень сложности средний. Это для хардкорных железячников средний уровень?
Увы, большинство задач в исследованиях и разработке электроники:
написать прототип на verilog
провести синтез, оценить результат
Если результат устроил:
сделать генератор с параметрами (на python или любом другом языке), который пишет это на verilog.
В сравнении с самыми быстрыми селекторами я получил на 20% меньшую площадь.
Да, это немного уровень PhD :)
Это возмутительно лучший средний уровень для самых лучших 16-тибитных железячников.
Чёт я ничего не понял.
Но прежде всего нам нужно преобразовать наш бинарный адрес в One-hot(унарную позиционную) кодировку.
Но не в этом ли смысл декодера?
Вообще, неплохо было бы поподробней рассказать про всё это. Более обстоятельно, а не в стиле поста в телеге.
PS: кажется я понял, о чём текст. О ветвлении того самого сигнала DATA на схеме "типичного демультиплексора"?
Но не в этом ли смысл декодера?
Почитайте презентацию (3) ucdavis. Последние 5-6 слайдов.
PS: кажется я понял, о чём текст. О ветвлении того самого сигнала DATA на схеме "типичного демультиплексора"?
Нет. Есть множество демультиплексоров, я сделал лучший (лучше чем у Пиндосов в Калифорнии).
А чем первый вариант (12 бит) отличается от версии с преселектором?
И чем остальные варианты отличаются от demultiplexer tree? Из кода сложно понять, вы бы схему нарисовали.
Распарсил код. Похоже вы изобрели demux tree
Похоже, только:
1) Биты адреса не изменяются после этапа начальной декодировки. И вообще с такой системой счисления у меня нет декодировки :)
2) везде и всюду постоянный коэффициент ветвления (а не FO-256 для последних бит адреса)
3) как следствие предыдущего пункта - малое потребление энергии
4) Работает так же быстро как и быстрейшие демультиплексоры из ucdavis
5) Имеет на 20% меньшую площадь
Вот сравнения различных типов между собой
https://github.com/ValeriyAndreevichPushkarev/Selector_8bit/
Дерево демультиплесоров демультиплесирует на каждом шаге. Там кстати получится больше 2-х транзисторов на линию и скорее всего даже больше задержка
А вы фанаут после синтеза проверяли? Что-то мне подсказывает, что будет то же самое во всех вариантах (и как в обычном demux tree).
Нет, Demux tree скорее просто похоже. (потому что дерево, и демультиплексор)
Тем более демультиплесирование идет на каждом шаге DemuxTree
Нет, один демультиплексор 4 бита в 16 линий это скорее всего16 масок на эти самые 4-хбитные значения (потому что задержка играет важную роль).
или примерно 4 транзистора на 1 вывод (линию).
У меня 2 транзистора на линию с той же задержкой (4 FO-4).
Как я делал лучшие арифметические ядра и сделал лучший селектор (демультиплексор)