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

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

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

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

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


no subject
Date: 2016-07-08 01:42 (UTC)no subject
Date: 2016-07-08 01:58 (UTC)Он GE как clock воспринимает, что ли?
no subject
Date: 2016-07-08 02:19 (UTC)no subject
Date: 2016-07-08 02:43 (UTC)Это же "медленный" сигнал.
no subject
Date: 2016-07-08 02:46 (UTC)no subject
Date: 2016-07-08 03:12 (UTC)В слайсе ведь четыре LUT-а и две группы по четыре триггера.
Из каждой группы мы можем задействовать по одному триггеру в качестве защёлок.
Получается по одному LUT-у на сигналы CLR и GE для двух пороговых элементов.
Ты наверняка умеешь смотреть в графическом виде результат после place&route?
Можешь попробовать синтезировать один или парочку TH22 таким способом?
Интересно, что получится.
У меня просто опыта с тулзами Xilinx маловато.
no subject
Date: 2016-07-08 04:28 (UTC)no subject
Date: 2016-07-09 04:03 (UTC)Если бы подтвердилось, что асинхронные гейты можно уложить в FPGA устойчивым способом, то дальше можно ставить задачу порождать соответствующий нетлист из Yosys.
no subject
Date: 2016-07-08 22:27 (UTC)Tools for emulating transistor-level netlists on FPGAs http://fpga-netlist-tools.github.com
no subject
Date: 2016-07-09 04:11 (UTC)Я в принципе освоил ngspice, всё в нём нормально. Его можно вызывать как библиотеку из своей сишной программы, то есть строить специализированные тулзы, например для верификации элементарных асинхронных вентилей и регистров.
no subject
Date: 2016-07-11 19:04 (UTC)Мужики восстанавливают транзисторную схему и умудряются отладить её до работоспособного состояния.
Кучу доисторических микропроцессоров осилили.
Есть даже что-то про калькулятор HP-35, недоделанное.
Я затеял бодягу с ngspice в основном с целью проверить работоспособность CMOS-вариантов элементарных NCL-вентилей, и получить численные значения задержек. Потом эти задержки можно использовать для симуляции в верилоге для оценки быстродействия асинхронного дизайна.
no subject
Date: 2016-07-11 19:13 (UTC)задержки можно использовать для симуляции в верилоге для оценки быстродействия асинхронного дизайна
Это интересная идея, да.