vak: (Default)
[personal profile] vak
Все слышали про курский вокзал FPGA, но мало кто видел. :)
Внутреннее устройство самого хитрого элемента FPGA, а именно четёрехвходовой логической таблицы LUT4, можно увидеть на рисунке из патента US6667635:

Patent US6667635

Шестнадцать элементов RB 301-316 с левой стороны это биты сдвигового регистра, задаваемые при конфигурации микросхемы FPGA. Дальше ряд вентилей 311-326 попарно выбирает значения, в зависимости от входа IN1. Полученные 8 бит поступают на вход следующего ряда вентилей 331-338. Из них выбираются 4 бита в зависимости от входа IN2. Вентили 351-354 превращают их в два бита под управлением входа IN3. В конце концов вентили 361 и 362 выдают результат.

Date: 2017-01-09 21:36 (UTC)
spamsink: (Default)
From: [personal profile] spamsink
Мультиплексоры совсем не то, чем кажутся.

Date: 2017-01-09 22:21 (UTC)
spamsink: (Default)
From: [personal profile] spamsink
Это на самом деле и есть, а нам-то мультиплексоры кажутся эквивалентными 2*AND2+OR2.

Date: 2017-01-10 01:32 (UTC)
spamsink: (Default)
From: [personal profile] spamsink
Я имею в виду, что обычно мы думаем о мультиплексорах (sel ? d1 : d0) как о ((sel & d1) | (~sel & d0)), а реализуются они вовсе не так.

Date: 2017-01-11 06:07 (UTC)
netch80: (Default)
From: [personal profile] netch80
Для того, кто знает структуру типичных вентилей в транзисторах, но не спускается дальше, как раз логично было бы думать о мультиплексорах как о паре выходных транзисторов (в крайнем случае четвёрке, как в CMOS-стиле выходная линия с возможностью z-состояния). Вот в последнем случае - если в паре один всегда закрыт на оба выхода, а второй открыт - получается вполне нормально (только подумать о том, успевают ли они переключиться так быстро, чтобы момент, когда оба открыты, был достаточно коротким, чтобы не пожечь).

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

Date: 2017-01-10 10:22 (UTC)
mtve: (Default)
From: [personal profile] mtve
элегантно! хотя и не вполне симметрично (инверторы посередине).

а зачем два одинаковых выхода?

Date: 2017-01-11 07:48 (UTC)
mtve: (Default)
From: [personal profile] mtve
понятно, спасибо!

цифровая интуиция к аналоговым вещам совсем не подходит)

Date: 2017-01-11 06:09 (UTC)
netch80: (Default)
From: [personal profile] netch80
Пока что это показывает то, что патенты в нынешнем виде - зло. Банальность, которая для своего решения всего лишь требует знания возможности двухзатворных транзисторов и дальше проработки на уровне толкового школьника, не должна патентоваться.