vak: (Улыбка)
[personal profile] vak
TH22 - двухвходовый вентиль NCL-логики с порогом 2, он же C-элемент Мюллера - можно построить из двух корпусов чипа CD4007. Схема следующая:

Моделируем посредством NGSPICE. Красный и синий цвета - входы A и B, желтый - выход C. Вентиль TH22 переключается в единицу, когда оба входных сигнала равны 1, и обратно в ноль, когда оба входа равны 0. Фактиччески он содержит внутри триггер, то есть ячейку памяти на одит бит информации - как и большинство остальных вентилей NCL-логики.

Хорошо видно, что задержка переднего фронта почти в два раза меньше, чем задержка заднего фронта.



На следующем графике изображён ток потребления (красный) и токи по входам (синий, жёлтый).

Date: 2016-07-06 20:49 (UTC)
spamsink: (Default)
From: [personal profile] spamsink
Я имею в виду, что задержка фидбека "внутри" вентиля обязана быть меньше, чем любая задержка по пути, проходящему "снаружи" вентиля. При FPGA синтезе произвольной логики это гарантироваться не будет, а если пользоваться state elements - будет. На старых FPGA можно было бы воспользоваться реализацией с двумя SR-latch, но на современных это расточительно: уникальные управляющие сигналы приведут к тому, что каждая защёлка будет занимать целый slice.

Date: 2016-07-08 01:29 (UTC)
spamsink: (Default)
From: [personal profile] spamsink
Я имею в виду в точности то, что написано в википедии.

Ну да, и то, что delay assumptions могут не быть гарантированы, если пользоваться только LUT-ами. Даже если не давать синтезатору волю, никто не знает, что там будет после P&R.

Date: 2016-07-08 02:12 (UTC)
spamsink: (Default)
From: [personal profile] spamsink
Если 2 выхода, то 5 входов, даром что называется LUT6_2.
В принципе можно, но до недавнего времени у Xilinx были проблемы с дизайнами, в которых много LUT6_2. У них выходы слегка неравнозначны с точки зрения routing, и какой лучше использовать для фидбека, неясно, а сам Xilinx выходы местами не меняет.
Edited Date: 2016-07-08 02:17 (UTC)