|
|
  |
Асинхронные схемы |
|
|
|
Dec 7 2010, 21:43
|

Универсальный солдатик
     
Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362

|
мое скромное мнение - Пока мне хватало времени, определяемого тактовой частотой, я делал синхронные схемы в ПЛИС. Проверял в симуляторе и знал, что там все будет работать. Как только в каком-то узле требовалось время более быстрое, чем период тактовой частоты, я делал асинхронную схему. Скажем, работала внешняя память на частоте 100 MHz от ПЛИС, у которой и была частота 100 MHz, вот и приходилось сигналы адреса, данных, управления делать на логических элементах в ПЛИС. Смотреть в симуляторе, корректировать, пытаться добиться удовлетворения временнЫм требованиям для памяти. И надеяться, что все это будет соответствовать реальному железу. А куда деваться...? Кстати, работает, но, настраивая каждую новую партию изделий, я всегда вспоминаю об этих "тонких моментах".
|
|
|
|
|
Dec 8 2010, 05:40
|
Знающий
   
Группа: Свой
Сообщений: 845
Регистрация: 18-10-04
Из: Pereslavl-Zalessky, Russian Federation
Пользователь №: 905

|
QUOTE (ViKo @ Dec 8 2010, 00:43)  Кстати, работает, но, настраивая каждую новую партию изделий, я всегда вспоминаю об этих "тонких моментах". Приятно, когда разработчику вспоминать ничего не нужно, файл констрейнов в три строчки с указанием параметров клока, входа и выхода. Зависящие от "асинхронных элементов" выходы тоже можно записывать в констрейны. QUOTE (ViKo @ Dec 8 2010, 00:43)  А куда деваться...? Бывает, что и некуда. Даже задрав частоту до предела, применив сколько можно клоков и используя все их фронты можно не получить требуемую точность. Остается точный расчет, калибровка, либо авось. OFF: С точки зрения незаменимости разработчика писать констрейны и делать надежные синхронные схемы глупо.
|
|
|
|
|
Dec 8 2010, 09:59
|

Универсальный солдатик
     
Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362

|
Цитата(Shtirlits @ Dec 8 2010, 07:40)  Приятно, когда разработчику вспоминать ничего не нужно, файл констрейнов в три строчки с указанием параметров клока, входа и выхода. Зависящие от "асинхронных элементов" выходы тоже можно записывать в констрейны. То я делал в MAXPlus+II, там и понятия констрейнов не было, наверное. И сейчас пока "не осилил". Вот-вот приступаю к реальному проекту, тогда и изучу, как следует.  Вообще, чем глубже проникаешь в какой-нибудь САПР, тем лучше будет выдаваемый продукт.
|
|
|
|
|
Dec 8 2010, 17:22
|
Знающий
   
Группа: Свой
Сообщений: 654
Регистрация: 24-01-07
Из: Воронеж
Пользователь №: 24 737

|
Цитата(chan @ Dec 7 2010, 23:03)  Если речь идет о самосинхронных схемах, то проблемы заключаются в отсутствии необходимого базиса реализации основных элементов этих схем (С-элемент или G-триггер) К уже приведенным ссылкам я бы добавил: AchronixИнтересно почитать их патенты и даташит.
|
|
|
|
|
Dec 8 2010, 19:35
|

Гуру
     
Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230

|
Цитата(Shtirlits @ Dec 8 2010, 20:58)  Кто может кратко и доходчиво объяснить, чем асинхронные схемы лучше, если ориентироваться по шкалам "дешевле" и "быстрее"? Быстрее - значит меньше задержка прохождения сигнала, например, через маршрутизатор. То есть, за любые деньги. Если у вас клок, 10нс, а умножитель умножает за 16нс. То в случае с синхронным клоком вы данные получите через 20нс, а в случае с асинхронной, через 16. Кроме того, если у вас есть счетчик, который клокает секунды, то ему 100мегагерц не нужны. А достаточно и 1гц, что положительно скажется на потреблении электричества и триггеров.
|
|
|
|
|
Dec 8 2010, 20:06
|
Знающий
   
Группа: Свой
Сообщений: 845
Регистрация: 18-10-04
Из: Pereslavl-Zalessky, Russian Federation
Пользователь №: 905

|
Все равно непонятно. Если у меня клок 100нс, а умножитель за 16 нс, то еще хуже. А если у меня и клок 16 нс и умножитель с интерконнектом 15.99нс, то все зашибсь. Схема с тактовой раз в неделю - тоже синхронная.
Пускай асинхронно сигналы бегут по разным путям и есть инструменты или хотябы исходные данные для анализа возможных развитий событий, кто быстрее добежит до какого места, где какие глитчи образуются и что получится на выходе. Почему бы это было дешевле анализировать и/или с чего бы оно быстрее добегало до выхода раньше?
Я про самосинхронизирующиеся схемы не читал, но мнение имею ©. Пусть по некоторому пути распространяется полезный сигнал, а по очень похожему сигнал для синхронизации. Что гарантирует, что полезный сигнал добежит раньше? Если есть механизмы для убедительного доказательства корректности, то все привлекательно, осталось увлечь массы.
|
|
|
|
|
Dec 8 2010, 20:49
|

Гуру
     
Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230

|
Цитата(Shtirlits @ Dec 8 2010, 22:06)  Пусть по некоторому пути распространяется полезный сигнал, а по очень похожему сигнал для синхронизации. Что гарантирует, что полезный сигнал добежит раньше? Если есть механизмы для убедительного доказательства корректности, то все привлекательно, осталось увлечь массы. Вот за этим всем следит квартус в альтере, или подобный софт. Если какая-то часть исполняется не за 16нс, а за 16.1нс, то он ругается. В общем синхронная схема это кучка асинхронных схем, но в пределах клока, все эти асинхронные схемы должны устаканится.
|
|
|
|
|
Dec 14 2010, 05:56
|
Местный
  
Группа: Участник
Сообщений: 319
Регистрация: 27-09-07
Пользователь №: 30 877

|
Цитата(AlexRayne @ Dec 7 2010, 12:53)  А между тем, вновь возрастает интерес к асинхронным машинам. Особенно в эпоху тотального распараллеливания. Только нужны правильные подходы. Насчёт "на порядок медленнее" - совершенно непонятна ваша логика. логика простая. т.к. асинхронный аналог наверняка получается сложнее синхронного, в плане комбинационной сложности хотябы, то там нужно для набирания логической функции использовать больше ячеек и как следствие они выстроятся в более длинную цепочку -> в итоге получаем более время распространения. другая причина - методика расчета скорости работы схемы - в синхронном автомате ето скорость распространения одного звена, за счет етого можно строить довольно быстрый конвейер при довольно большой его латентности. а как расчитать максимальную скорость в асинхронной схеме? те средства которые мне доступны (квартус и исе) делают ето по самой длинной петле логической. в итоге даже элементарный триггер набраный на ячейках покажет таким расчетом предельную тактовую намного заниженую от реальных возможностей. вобщем как верифицировать? ну и третья причина: да конешно щас идет отход от сквозного тактирования в сторону рапределенного тактирования, НО эти схемы требуют наличия элементов задержек эквивалентных согласованых с комбинационной функцией. наконец, я видел работы по декомпозиции синхронноой схемы типа линейного конвейера на асинхронный конвейер, а вот схемы разветвляющиеся и, имеющие сливающиеся ветви мне мало понятно как делать асинхронными и одновременно устойчивыми к метастабильности без спец. логических ячеек. вобчем покачто ето теории. практика имхо появится через несколько лет, когда стануть выпускать плисы с поддержкой асинхронов. Цитата(Methane @ Dec 8 2010, 22:35)  Все равно непонятно. Если у меня клок 100нс, а умножитель за 16 нс, то еще хуже. А если у меня и клок 16 нс и умножитель с интерконнектом 15.99нс, то все зашибсь. Схема с тактовой раз в неделю - тоже синхронная.
Пускай асинхронно сигналы бегут по разным путям и есть инструменты или хотябы исходные данные для анализа возможных развитий событий, кто быстрее добежит до какого места, где какие глитчи образуются и что получится на выходе. Почему бы это было дешевле анализировать и/или с чего бы оно быстрее добегало до выхода раньше? организация клока на современных кристаллах самая затратная по ресурсам и по энергопотреблению часть, ибо для обеспечения синхронного клока во всем кристалле нужно делать особые цепи с очень быстрым распространением, ставить буферы с большой нагрузочной способностью и вообще это очень длинная и разветвленная цепь. и по потреблению энергии она самая горячая вторая причина - скорость синхронной плисы определяется скоростью ее худшей ячейки, одна медленная ячейка на кристалле рубит грейд всего кристала. А у асинхронных етого ограничения нет - все элементы работают на своих предельных скоростях.
Сообщение отредактировал AlexRayne - Dec 14 2010, 06:07
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|