vak: (Улыбка)
Serge Vakulenko ([personal profile] vak) wrote2016-04-29 08:55 pm

Асинхронные FPGA и позитронный мозг

Такое ощущение, что грядёт тихая революция в области цифровой логики: переход на асинхронный дизайн. Любопытный, но малоизвестный факт: в 2012 году Интел предоставил стартапу Achronix свои заводы для производства асинхронных FPGA-чипов.

Есть несколько методологий асинхронного дизайна. Одна из них, под названием Null Convention Logic (сокращённо NCL), в качестве базового элемента использует так называемый пороговый вентиль. Обозначается он так:



Как и традиционный логический вентиль типа И или ИЛИ, он имеет несколько входов, один выход и, возможно, инверсию выхода. Кроме того, у него есть параметр M - порог срабатывания. К примеру, вентиль с порогом 2 переходит в активное состояние, когда как минимум два входа активны. В неактивное состояние пороговый вентиль переходит, когда все входы неактивны. Заметьте: вентиль с порогом M>1 обладает гистерезисом. Пока количество активных входов меньше порога, он сохраняет предыдущее состояние.

Из таких вентилей, применяя dual-rail протокол, можно строить цифровые логические схемы произвольной сложности. Например, так выглядит однобитный полный сумматор:


Для сравнения, полный сумматор на традиционной логике:



А теперь самое интересное. Знаете ли вы, как устроен нейрон, элементарный кирпичик нервной системы и мозга? Он имеет несколько отростков-дендритов (входов) и один аксон (выход). Для возбуждения нейрона нужно раздражение от нескольких дендритов (порог). Очень похоже на NCL-вентиль, не так ли?


Представьте, что через некоторое время, усилиями биохимиков и генетиков, можно будет выращивать "живые" нейронные сети заданной конфигурации. Если вы помните, в известной новелле Азимова про три закона робототехники, всё начиналось с изобретения позитронного мозга. Возможно, не так долго осталось ждать.

До сих пор разработка асинхронных логических схем осложнялась отсутствием возможности прототипирования и отладки их с использованием FPGA. Чипы Achronix могут поправить ситуацию.

[identity profile] oppad (from livejournal.com) 2016-04-30 08:24 am (UTC)(link)
на каких-нибудь не мейнстримовских ПЛИС типа актеловских проазиков можно асинхронщину делать. единственная проблема, что все ручками - струменты-то под синхронный дизайн заточены. в "обычных" ПЛИС все крутится вокруг триггеров, то есть архитектура под синхронный дизайн. тоже можно, но совсем уж извращение выходит, там даже латчей нет, только флип-флопы.

Acronix кстати предлагает обычные синхронные ПЛИС, ну по крайней мере их можно купить и струменты поддерживают, а асинхронные (HP что-ли), для пеара у него, по-моему

[identity profile] spamsink.livejournal.com 2016-04-30 04:18 pm (UTC)(link)
там даже латчей нет, только флип-флопы

Это неправда. См. диаграмму на стр. 19 (http://www.xilinx.com/support/documentation/user_guides/ug474_7Series_CLB.pdf), выбор FF/latch конфигурируется битом, и так у Xilinx отродясь было.

[identity profile] oppad (from livejournal.com) 2016-04-30 09:17 pm (UTC)(link)
а в новых поколениях Альтеры латчи только в виде петель логики
да и в 7 Ксайлинсах
из 8 "элементов" только 4 могут быть ff/latch, я уже не говорю про LUT-ы, которые могут в сдвиговые регистры превращаться

причем экономят они не какие-то внутренние гейты слайса/le, а конфигурационный бит в образе. то есть настолько ненужными считают latch-и