Как стать автором
Обновить

Как я делал лучшие арифметические ядра и сделал лучший селектор (демультиплексор)

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров6.9K
Всего голосов 23: ↑19 и ↓4+21
Комментарии12

Комментарии 12

Уровень сложности средний. Это для хардкорных железячников средний уровень?

Увы, большинство задач в исследованиях и разработке электроники:

  1. написать прототип на verilog

  2. провести синтез, оценить результат

    Если результат устроил:

  3. сделать генератор с параметрами (на 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).

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации