Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Асинхронные схемы
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
D-Luxe
Почему асинхронные схемы не работают, либо работают с глюками на ПЛИС?
Methane
Цитата(D-Luxe @ Dec 2 2010, 21:47) *
Почему асинхронные схемы не работают, либо работают с глюками на ПЛИС?

Смотря насколько асинхронные. Если пара лишних клоков, то все нормально работает.
litv
Потому что асинхронные схемы не работают, либо работают с глюками и без ПЛИС.
А с разными задержками после разных трассировок, с разным быстродествием для разных ПЛИС...............

Учитесь сихронному проектированию. Посмотрел отчет после трассировки если констрейны клока выполнены,
то всё ВСЕГДА работает.
А то я знал одного директора ,тот чтобы не разбираться, трассировал сразу на 6 машинах один проект ПЛИС, а потом смотрел как они работают(в основном как не работают).
Kuzmi4
2 D-Luxe
в основном потому что человек изначально много чего не учитывает, что может быть и потом долго удивляется почему не работает laughing.gif
Shtirlits
QUOTE (D-Luxe @ Dec 2 2010, 22:47) *
Почему асинхронные схемы не работают, либо работают с глюками на ПЛИС?

Потому что очень много вариантов развития событий.
Их трудно все учесть.
Синхронные схемы радикально сужают пространство вариантов и дают надежду, что возможно обосновать корректность схемы.
Написать-то можно даже windows. Попробуй доказать, что он корректно работает.
AlexRayne
Вообщето работают. Только надо их делать аккуратно и ооочееень тщательно отлаживать от всякой лажи. (в частности надо подробно смотреть как гонки проходят на регистры.) В результате такой отладки вы запросто получите схему напорядо сложнее синхронного аналога и на порядок медленнее.
MrYuran
Цитата(AlexRayne @ Dec 7 2010, 12:53) *
Вообщето работают. Только надо их делать аккуратно и ооочееень тщательно отлаживать от всякой лажи. (в частности надо подробно смотреть как гонки проходят на регистры.) В результате такой отладки вы запросто получите схему напорядо сложнее синхронного аналога и на порядок медленнее.

А между тем, вновь возрастает интерес к асинхронным машинам. Особенно в эпоху тотального распараллеливания.
Только нужны правильные подходы.
Насчёт "на порядок медленнее" - совершенно непонятна ваша логика.
Цитата
Первый самотактируемый процессор разработал профессор Элэйн Мартин (Alain Martin) в Калифорнийском технологическом институте (Калтех), а сама идея принадлежит одному из создателей компьютерной графики Айвану Сюзерланду (Ivan Sutherland), написавшему первую статью о нетактируемой логике. В 1990 г. в Университете Манчестера в Англии по этому направлению была создана рабочая группа, а в 1994-м она разработала первый чип для сотовых телефонов. В 1997 г. корпорация Intel создала совместимый с процессором Pentium асинхронный тестовый кристалл, который был в три раза производительнее и потреблял вдвое меньше энергии. В 1998 г. Philips выпустила асинхронный процессор для своих пейджеров. В 2001 г. Intel в Pentium 4 частично реализовала элементы асинхронной логики.

Вот была тема по теме
Maverick
Цитата(MrYuran @ Dec 7 2010, 12:08) *
А между тем, вновь возрастает интерес к асинхронным машинам. Особенно в эпоху тотального распараллеливания.
Только нужны правильные подходы.
Насчёт "на порядок медленнее" - совершенно непонятна ваша логика.

Вот была тема по теме

ну не знаю, везде пишут что в FPGA должны быть только синхронные схемы. Возможно в CPLD и можно асинхронные и просто комбинационные проекты/схемы, т.к. у них фиксированная задержка пин-то-пин.

PS Я кажется начинаю запутываться...
Serhiy_UA
Цитата(D-Luxe @ Dec 2 2010, 22:47) *
Почему асинхронные схемы не работают, либо работают с глюками на ПЛИС?

Это про конечные автоматы что ли, синхронные и асинхронные?
Или автор топика вопрошает, про другое?
Есть среди нас телепаты?

MrYuran
Цитата(Serhiy_UA @ Dec 7 2010, 14:13) *
Это про конечные автоматы что ли, синхронные и асинхронные?
Или автор топика вопрошает, про другое?
Есть среди нас телепаты?

Может, про задержки "на НОПах вентилях"? sm.gif
des00
Цитата(Maverick @ Dec 7 2010, 04:31) *
ну не знаю, везде пишут что в FPGA должны быть только синхронные схемы.

везде пишут, что внутренности FPGA заточены под синхронные схемы. А схемы могут быть любые, но вот вы запаритесь их констрейнить в температуре (немного о констрейнах асинхронных цепей, есть в 11 ом номере КиТ).
rezident
Цитата(Maverick @ Dec 7 2010, 15:31) *
ну не знаю, везде пишут что в FPGA должны быть только синхронные схемы. Возможно в CPLD и можно асинхронные и просто комбинационные проекты/схемы,
В процессе модернизации студенческих учебных стендов коллеге приходилось реализовывать работу асинхронных схем (стандартной для ТТЛ-логики серии К155) на CPLD (XC95144XL). Причем кроме реализации работы асинхронной логики на синхронном дизайне ПЛИС была предусмотрена (и использовалась) возможность контроля правильности монтажа внешних соединений стенда (отслеживалось замыкание выходов) и передача состояний моделируемой схемы по связи на комп преподавателя. Правда рабочая частота моделируемой на ПЛИС асинхронной логики была небольшая - единицы кГц. Для студенческих стендов большего не требовалось.
sazh
Цитата(rezident @ Dec 7 2010, 22:35) *
В процессе модернизации студенческих учебных стендов коллеге приходилось реализовывать работу асинхронных схем (стандартной для ТТЛ-логики серии К155) на CPLD (XC95144XL).


А где там 155 серия. Чем хорош xilinx, так это многообразием базовых примитивов.
74 серия в виде примитивов в MAX+ была представлена. И что интересно, функционально примитивы счетчиков были заточены под пакет и не соответствовали функционалу привычной 74 серии.
chan
Если речь идет о самосинхронных схемах, то проблемы заключаются в отсутствии необходимого базиса реализации основных элементов этих схем (С-элемент или G-триггер)
Почему это так см.
http://samosinhron.ru/files/articles/nativ...ve_way_2007.doc
Хотя для некоторых архитектур FPGA есть варианты
http://www.kandeco.com/publications/NCL.pdf
Для реализации таких схем разрабатываются специальные архитектуры FPGA
http://vlsi.cornell.edu/~rajit/ps/fpga2p.pdf
http://www.ee.washington.edu/faculty/hauck...ions/vienna.pdf
rezident
Цитата(sazh @ Dec 8 2010, 00:55) *
А где там 155 серия.
Там это где? SN74xx это есть оригинальный прототип м/с серии К155. С продукции TI в свое время и клонировали отечественную логику.
Цитата(sazh @ Dec 8 2010, 00:55) *
Чем хорош xilinx, так это многообразием базовых примитивов.
Нет, примитивы 74xx из Xilinx не использовались. Реализовывалась именно функциональная схема базовых элементов м/с серии К155. Например, функциональная схема счетчика К155ИЕ5 (SN7493). Понятно, что на 3,3В ПЛИС полностью электрически ТТЛ повторить не получается, но функции асинхронной логики повторить вполне можно.
sazh
Цитата(rezident @ Dec 7 2010, 23:29) *
но функции асинхронной логики повторить вполне можно.


А смысл. Я не въехал.
rezident
Цитата(sazh @ Dec 8 2010, 01:43) *
А смысл. Я не въехал.
Смысл в том, чтобы методички переписывать не пришлось biggrin.gif Студенческие стенды модернизировались. Чтобы можно было гос. финансирование под это дело получить вариант повторения их на той же 155-й серии не прокатывал. А так действительно новые качества (несколько) у стендов появились. И при этом можно было пользоваться старыми методичками.
ViKo
мое скромное мнение -
Пока мне хватало времени, определяемого тактовой частотой, я делал синхронные схемы в ПЛИС. Проверял в симуляторе и знал, что там все будет работать.
Как только в каком-то узле требовалось время более быстрое, чем период тактовой частоты, я делал асинхронную схему.
Скажем, работала внешняя память на частоте 100 MHz от ПЛИС, у которой и была частота 100 MHz, вот и приходилось сигналы адреса, данных, управления делать на логических элементах в ПЛИС. Смотреть в симуляторе, корректировать, пытаться добиться удовлетворения временнЫм требованиям для памяти. И надеяться, что все это будет соответствовать реальному железу. А куда деваться...? Кстати, работает, но, настраивая каждую новую партию изделий, я всегда вспоминаю об этих "тонких моментах".
Shtirlits
QUOTE (ViKo @ Dec 8 2010, 00:43) *
Кстати, работает, но, настраивая каждую новую партию изделий, я всегда вспоминаю об этих "тонких моментах".

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

QUOTE (ViKo @ Dec 8 2010, 00:43) *
А куда деваться...?

Бывает, что и некуда. Даже задрав частоту до предела, применив сколько можно клоков и используя все их фронты можно не получить требуемую точность. Остается точный расчет, калибровка, либо авось.

OFF: С точки зрения незаменимости разработчика писать констрейны и делать надежные синхронные схемы глупо.
ViKo
Цитата(Shtirlits @ Dec 8 2010, 07:40) *
Приятно, когда разработчику вспоминать ничего не нужно, файл констрейнов в три строчки с указанием параметров клока, входа и выхода.
Зависящие от "асинхронных элементов" выходы тоже можно записывать в констрейны.

То я делал в MAXPlus+II, там и понятия констрейнов не было, наверное. И сейчас пока "не осилил". Вот-вот приступаю к реальному проекту, тогда и изучу, как следует.
bb-offtopic.gif Вообще, чем глубже проникаешь в какой-нибудь САПР, тем лучше будет выдаваемый продукт.
Shtirlits
Полностью согласен про качество продукта.
В программировании, как мне кажется, главное не сделать, а доказать, что сделано правильно. В первую очередь себе.
dvladim
Цитата(chan @ Dec 7 2010, 23:03) *
Если речь идет о самосинхронных схемах, то проблемы заключаются в отсутствии необходимого базиса реализации основных элементов этих схем (С-элемент или G-триггер)

К уже приведенным ссылкам я бы добавил: Achronix
Интересно почитать их патенты и даташит.
Shtirlits
Кто может кратко и доходчиво объяснить, чем асинхронные схемы лучше, если ориентироваться по шкалам "дешевле" и "быстрее"? Быстрее - значит меньше задержка прохождения сигнала, например, через маршрутизатор. То есть, за любые деньги.
Methane
Цитата(Shtirlits @ Dec 8 2010, 20:58) *
Кто может кратко и доходчиво объяснить, чем асинхронные схемы лучше, если ориентироваться по шкалам "дешевле" и "быстрее"? Быстрее - значит меньше задержка прохождения сигнала, например, через маршрутизатор. То есть, за любые деньги.

Если у вас клок, 10нс, а умножитель умножает за 16нс. То в случае с синхронным клоком вы данные получите через 20нс, а в случае с асинхронной, через 16. Кроме того, если у вас есть счетчик, который клокает секунды, то ему 100мегагерц не нужны. А достаточно и 1гц, что положительно скажется на потреблении электричества и триггеров.
Shtirlits
Все равно непонятно.
Если у меня клок 100нс, а умножитель за 16 нс, то еще хуже. А если у меня и клок 16 нс и умножитель с интерконнектом 15.99нс, то все зашибсь.
Схема с тактовой раз в неделю - тоже синхронная.

Пускай асинхронно сигналы бегут по разным путям и есть инструменты или хотябы исходные данные для анализа возможных развитий событий, кто быстрее добежит до какого места, где какие глитчи образуются и что получится на выходе.
Почему бы это было дешевле анализировать и/или с чего бы оно быстрее добегало до выхода раньше?

Я про самосинхронизирующиеся схемы не читал, но мнение имею ©. Пусть по некоторому пути распространяется полезный сигнал, а по очень похожему сигнал для синхронизации. Что гарантирует, что полезный сигнал добежит раньше? Если есть механизмы для убедительного доказательства корректности, то все привлекательно, осталось увлечь массы.
Methane
Цитата(Shtirlits @ Dec 8 2010, 22:06) *
Пусть по некоторому пути распространяется полезный сигнал, а по очень похожему сигнал для синхронизации. Что гарантирует, что полезный сигнал добежит раньше? Если есть механизмы для убедительного доказательства корректности, то все привлекательно, осталось увлечь массы.

Вот за этим всем следит квартус в альтере, или подобный софт. Если какая-то часть исполняется не за 16нс, а за 16.1нс, то он ругается. В общем синхронная схема это кучка асинхронных схем, но в пределах клока, все эти асинхронные схемы должны устаканится.
ViKo
У меня сложилось мнение, что в самосинхронизирующихся (или как-то еще иначе называющихся) схемах каждому действию нужно подтверждение - "выполнено". После которого можно выполнять следующее действие. Так как это подтверждение само отбирает время от полезной работы, поэтому мне не очень нравится этот принцип. Логичнее было разбить сложные действия на более мелкие и выполнять их в конвейере. Что, собственно и сделано во всех процессорах.
анатолий
Самосинхронизирующиеся схемы - и есть самые быстрые, тк. сделаны ступенями как и конвейер.
Но из-за этого в них нежелательно делать алгоритмы с обратными свзями, т.к. задержка в большом цикле загубит все быстродействие.
Год назад анонсировали новую серию ПЛИС с самосинхронизацией - в 3 раза быстрее чем натуральные ПЛИС.
И где она сейчас? Не слышно.
А вручную делать такие схемы - бессмысленно из-за сложности получения работоспособной схемы.
AlexRayne
Цитата(AlexRayne @ Dec 7 2010, 12:53) *
А между тем, вновь возрастает интерес к асинхронным машинам. Особенно в эпоху тотального распараллеливания.
Только нужны правильные подходы.
Насчёт "на порядок медленнее" - совершенно непонятна ваша логика.

логика простая. т.к. асинхронный аналог наверняка получается сложнее синхронного, в плане комбинационной сложности хотябы, то там нужно для набирания логической функции использовать больше ячеек и как следствие они выстроятся в более длинную цепочку -> в итоге получаем более время распространения.

другая причина - методика расчета скорости работы схемы - в синхронном автомате ето скорость распространения одного звена, за счет етого можно строить довольно быстрый конвейер при довольно большой его латентности. а как расчитать максимальную скорость в асинхронной схеме? те средства которые мне доступны (квартус и исе) делают ето по самой длинной петле логической. в итоге даже элементарный триггер набраный на ячейках покажет таким расчетом предельную тактовую намного заниженую от реальных возможностей. вобщем как верифицировать?

ну и третья причина: да конешно щас идет отход от сквозного тактирования в сторону рапределенного тактирования, НО эти схемы требуют наличия элементов задержек эквивалентных согласованых с комбинационной функцией. наконец, я видел работы по декомпозиции синхронноой схемы типа линейного конвейера на асинхронный конвейер, а вот схемы разветвляющиеся и, имеющие сливающиеся ветви мне мало понятно как делать асинхронными и одновременно устойчивыми к метастабильности без спец. логических ячеек.
вобчем покачто ето теории.
практика имхо появится через несколько лет, когда стануть выпускать плисы с поддержкой асинхронов.

Цитата(Methane @ Dec 8 2010, 22:35) *
Все равно непонятно.
Если у меня клок 100нс, а умножитель за 16 нс, то еще хуже. А если у меня и клок 16 нс и умножитель с интерконнектом 15.99нс, то все зашибсь.
Схема с тактовой раз в неделю - тоже синхронная.

Пускай асинхронно сигналы бегут по разным путям и есть инструменты или хотябы исходные данные для анализа возможных развитий событий, кто быстрее добежит до какого места, где какие глитчи образуются и что получится на выходе.
Почему бы это было дешевле анализировать и/или с чего бы оно быстрее добегало до выхода раньше?

организация клока на современных кристаллах самая затратная по ресурсам и по энергопотреблению часть, ибо для обеспечения синхронного клока во всем кристалле нужно делать особые цепи с очень быстрым распространением, ставить буферы с большой нагрузочной способностью и вообще это очень длинная и разветвленная цепь. и по потреблению энергии она самая горячая

вторая причина - скорость синхронной плисы определяется скоростью ее худшей ячейки, одна медленная ячейка на кристалле рубит грейд всего кристала. А у асинхронных етого ограничения нет - все элементы работают на своих предельных скоростях.
MrYuran
Цитата(AlexRayne @ Dec 14 2010, 08:56) *

По-моему, первая часть вашего сообщения противоречит второй...
AlexRayne
Цитата
По-моему, первая часть вашего сообщения противоречит второй...

за асинхроном будущее, просто он сложнее, больше ресурсов занимает.
имхо, будут делать микс - скажем плису бить на независимые клоковые домены, или в асинхронной плисе будут макроблоки синхронной логики наряду с блоками памяти и т.п.
dvladim
Да уж делают давно.
Как я писал уже: achronix. И новое семейство анонсировали.
FROL_256
ВАУ!! 1.5 Ghz это правда??
Methane
Цитата(FROL_256 @ Dec 21 2010, 23:59) *
ВАУ!! 1.5 Ghz это правда??

ИМХО Сколково оценит.
Serhiy_UA
Цитата(chan @ Dec 8 2010, 02:03) *
Если речь идет о самосинхронных схемах, то проблемы заключаются в отсутствии необходимого базиса реализации основных элементов этих схем (С-элемент или G-триггер)
Почему это так см....
Очень интересные материалы, chan, спасибо.
Если тема поднятая автором топика об этих самых самосинхронных схемах и вычислителях на их основе, то, вроде, ситуация проясняется...
Только есть сомнения, что САПР для этой технологии и чипы ПЛИС с необходимым базисом будут доступны...
Вероятней, что жизнь традиционных методов синтеза на ПЛИС будет еще долгой.
FROL_256
Цитата(Methane @ Dec 22 2010, 10:15) *
ИМХО Сколково оценит.

Я не понимаю даже, сколько стоит у них дев-кит. Купить нельзя что-ли? То-ли есть оно, то ли нет.
Что-то мне кажется что с такими характеристиками цена будет просто космическая.
PVL
Инженерные версии ПЛИС с частотой 1,5 ... 2 ГГц делает и Альтера и Ксилинкс. Толку с того они так работают только в температурах +10... 45 градусов.
dvladim
Не будьте голословны.
анатолий
Цитата(dvladim @ Feb 23 2011, 12:59) *
Не будьте голословны.

Короче,
http://kanyevsky.kpi.ua/News/news2009/14may09.html
dvladim
Цитата(анатолий @ Feb 24 2011, 15:58) *

Вопрос относился к инженерным образцам Альтеры и Ксайлинкса. Я о таких не слышал.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.