реклама на сайте
подробности

 
 
3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> Проектирование асинхронных стейт-машин, Кто и как, каими тулзами решает эту задачу
v_mirgorodsky
сообщение Sep 3 2014, 17:21
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 342
Регистрация: 21-02-05
Пользователь №: 2 804



Доброго времени суток,

Собственно - $subj. Изучаю вопрос проектирования чипа с использованием асинхронных пайплайнов. I.E. Sutherland, ‘‘Micropipelines’’ неплохо описывает концепцию и дает понимание о том, как работают вычислители при таком подходе, однако как делать управляющие стейт-машины в этой работе не рассматривается. Подход, предложенный в ASYNCHRONOUS FINITE STATE MACHINE DESIGN: A LOST ART? Christopher Carroll, University of Minnesota-Duluth мне не понравился. Другие книги, которые я просмотрел по теме, учат вариациям на тему той-же методологии, однако кардинально ничего не улучшают. В результате асинхронные стейт-машины представляют собой диких паучков из нандов и норов с обратными связями, крайне тяжело модифицируются, плохо верифицируются, короче - обладают целым рядом недостатков, делающих их реальное применение неоправданно дорогим и сложным.

Есть ли у кого мысли как упростить этот процесс и сделать его более простым и контролируемым?



--------------------
WBR,
V. Mirgorodsky
Go to the top of the page
 
+Quote Post
Jurenja
сообщение Sep 5 2014, 06:39
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 457
Регистрация: 7-06-07
Из: Минск
Пользователь №: 28 262



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


--------------------
Человек учится говорить два года, а молчать - всю жизнь
Go to the top of the page
 
+Quote Post
v_mirgorodsky
сообщение Sep 5 2014, 09:51
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 342
Регистрация: 21-02-05
Пользователь №: 2 804



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


--------------------
WBR,
V. Mirgorodsky
Go to the top of the page
 
+Quote Post
v_mirgorodsky
сообщение Sep 7 2014, 19:18
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 342
Регистрация: 21-02-05
Пользователь №: 2 804



Нашел еще одну книгу по дизайну асинхронных систем: PRINCIPLES OF ASYNCHRONOUS CIRCUIT DESIGN – A Systems Perspective. Написана STEVE FURBER в 2001 году. Очень интересный труд, всем советую.


--------------------
WBR,
V. Mirgorodsky
Go to the top of the page
 
+Quote Post
Serhiy_UA
сообщение Sep 8 2014, 04:40
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 721
Регистрация: 23-10-08
Из: next to Odessa
Пользователь №: 41 112



Цитата(v_mirgorodsky @ Sep 5 2014, 12:51) *
Асинхронные схемы обладают просто громадными преимуществами по сравнению с синхронными схемами...

Уточните, если не трудно, это на нескольких примерах.

Если книга уже найдена, то прикрепите ее в приложении, она будет интересна многим.
Go to the top of the page
 
+Quote Post
des00
сообщение Sep 8 2014, 05:39
Сообщение #6


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Есть книга Asynchronous Circuit Design.Chris J. Myers Copyright 2001 by John Wiley & Sons, Inc и И.Б.Бурдонов, А.С.Косачев, В.В.Кулямин.
АСИНХРОННЫЕ АВТОМАТЫ: КЛАССИФИКАЦИЯ И ТЕСТИРОВАНИЕ. Труды Института системного программирования РАН. No. 4. 2003. стр. 7-84.

если нужны выложу


--------------------
Go to the top of the page
 
+Quote Post
Serhiy_UA
сообщение Sep 8 2014, 07:51
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 721
Регистрация: 23-10-08
Из: next to Odessa
Пользователь №: 41 112



Цитата(des00 @ Sep 8 2014, 09:39) *
если нужны выложу


Выкладывайте все с небольшой аннотацией или своим мнением.
Интересует, в частности, адаптация этих методов к ПЛИС.

Go to the top of the page
 
+Quote Post
v_mirgorodsky
сообщение Sep 8 2014, 09:02
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 342
Регистрация: 21-02-05
Пользователь №: 2 804



Цитата(Serhiy_UA @ Sep 8 2014, 06:40) *
Уточните, если не трудно, это на нескольких примерах.

Если книга уже найдена, то прикрепите ее в приложении, она будет интересна многим.


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

Если используется completion detector, то асинхронная схема оказывается значительно быстрее синхронного аналога. Спайс говорит, что мой пайплайн из 4 последовательных MAC юнитов работает на частоте порядка 3.5GHz на 55nm. Если же подходить к вопросу с синхронными мерками, то пришлось бы посчитать частоту по worst case delay, что ограничило бы рабочую частоту на уровне 2.7GHz.

Если использовать dual-rail data encoding, то в системе полностью отсутствует паразитный свитчинг. В качестве эксперимента я оценивал потребляемую мощность 32 рязрядного сумматора с префиксным деревом деревом Когга-Стоуна в dual-rail и single-rail реализации. Так вот потребляемая мощность dual-rail реализации была в 2 раза ниже, чем потребляемая мощность single-rail реализации. Правда, в начале она занимала в 2 раза больше места, но эту проблему удалось "полечить" переходом на домино реализацию sm.gif

Асинхронные пайплайны очень удачно сочетаются с домино реализациями. В моем случае я управляю precharge и evaluate транзисторами раздельно, таким образом получилось выкинуть "лишние" латчи и бополнительно сэкономить порядка 15% места.

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


Цитата(Serhiy_UA @ Sep 8 2014, 09:51) *
Выкладывайте все с небольшой аннотацией или своим мнением.
Интересует, в частности, адаптация этих методов к ПЛИС.

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


--------------------
WBR,
V. Mirgorodsky
Go to the top of the page
 
+Quote Post
des00
сообщение Sep 8 2014, 09:07
Сообщение #9


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Документы не читал, поэтому аннотаций дать не могу. Вторую книгу выложу позже, там 41 МБ
Прикрепленные файлы
Прикрепленный файл  ____________________.pdf ( 577.39 килобайт ) Кол-во скачиваний: 115
 


--------------------
Go to the top of the page
 
+Quote Post
Serhiy_UA
сообщение Sep 9 2014, 04:53
Сообщение #10


Знающий
****

Группа: Свой
Сообщений: 721
Регистрация: 23-10-08
Из: next to Odessa
Пользователь №: 41 112



Когда-то изучал в институте асинхронные автоматы, даже курсовые делал. Но в работе использую только синхронные FSM. Интересно было узнать, в каком состоянии вся эта асинхроника сейчас.

А что если остаться в рамках методологии синтеза синхронных FSM, но сделать асинхронным его тактирование. То есть для длинных по времени микрокоманд удлинять время такта, а для коротких уменьшать. При этом менять длительность такта дискретно, или как-то иначе, в зависимости от типа текущей микрокоманды.


Go to the top of the page
 
+Quote Post
Кнкн
сообщение Sep 9 2014, 06:51
Сообщение #11


Знающий
****

Группа: Свой
Сообщений: 646
Регистрация: 21-06-04
Пользователь №: 71



Залил кое-что по асинхронщине
/upload/BOOKS/Asynchronous_Circuit
Go to the top of the page
 
+Quote Post
krux
сообщение Sep 9 2014, 19:05
Сообщение #12


Профессионал
*****

Группа: Свой
Сообщений: 1 700
Регистрация: 2-07-12
Из: дефолт-сити
Пользователь №: 72 596



Цитата
Способа сделать проектирование асинхронные схемы более вменяемым пока не придумано.

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


--------------------
провоцируем неудовлетворенных провокаторов с удовольствием.
Go to the top of the page
 
+Quote Post
dvladim
сообщение Sep 15 2014, 17:57
Сообщение #13


Знающий
****

Группа: Свой
Сообщений: 654
Регистрация: 24-01-07
Из: Воронеж
Пользователь №: 24 737



По асинхронным схемам (и особенно по преобразованию синхронных в асинхронные) есть серия патентов фирмы Achronix. Это контора, которая сейчас и Интелом сотрудничает. Когда выходила первая серия их ПЛИС, так там характеристики по быстродействию, температурному диапазону и напряжению были такие сумасшедшие, что косвенно это указывало на асинхронную реализацию ядра, что и коррелировало с патентами. Так что можно их еще почитать.
Лично я не вникал, но отметил для себя, что тема перспективная. Одна из ключевых нерешенных проблем в этой области - это определение окончания расчета какого-то блока. Как правило делается эталонная цепь, переключение которой гарантированно произойдет позже чем худший случай для конвейера. Для ПЛИС такие решения проще чем для произвольной логики.
Go to the top of the page
 
+Quote Post
Shivers
сообщение Sep 19 2014, 07:21
Сообщение #14


Знающий
****

Группа: Свой
Сообщений: 680
Регистрация: 11-02-08
Из: Msk
Пользователь №: 34 950



Цитата(v_mirgorodsky @ Sep 3 2014, 20:21) *
Доброго времени суток,

Собственно - $subj.

Отвечу сразу на вопрос. Есть два хороших проверенных тула, с ними работают, их используют. Первый и основной, это Petrify. Позволяет синтезировать асинхронный автомат из графа. Ограничение на число вершин - в районе 50. Что особенно ценно, Petrify позволяет сразу делать мэппинг в базисе standard cells. Второй тул, Workcraft - графический интерфейс для рисования и что важно - моделирования сетей Петри. Хорош еще тем, что автоматически генерит входной файл для Petrify.

Далее, что касается Сазерленда и микропайплайнов. Сазерленд предложил десинхронизацию, т.е. переделку синхронных схем путем убирания клока и заменой его на хендшейки. Это почти не имеет отношения к сетям сетям Петри и построению асинхронных автоматов из графов. Строго говоря, пайплайны по типа Сазерлендовских сейчас называют BD - Bundled delay. Построение полностью асинхронных автоматов (не переделка синхронных схем) - это отдельная методика, имеющая в своей основе теорию графов, теорию автоматов и сети Петри, а в качестве объединяющей надстройки эксплуатирует идеи Варшавского. Есть еще отдельное направление, развившееся в америке -NCL. Схемы Варшавского обычно называют SI - speed independend, а NCL - DI - delay insensitive. Впрочем, у Варшавского тоже были DI схемы, ими потом стал заниматься Стародубцев - можете погуглить. Так что, все асинхронные схемы условно можно разделить на три направления: BD, SI и DI. Схемы Dual rail и Burst Mode - это подклассы SI. Сравнивать эти схемы смысла нет, они все имеют свои плюсы и минусы. И каждая имеет свою область применения, где другие будут работать хуже.

Специалистов в РФ по этой тематике - считайте что и не осталось, хотя львиная доля теории разработана в СССР в 70-80х, под руководством В.И. Варшавского.

Вопрос - а с какой целью интересуетесь? Праздный интерес, или серьезные разработки?

Цитата(v_mirgorodsky @ Sep 3 2014, 20:21) *
В результате асинхронные стейт-машины представляют собой диких паучков из нандов и норов с обратными связями, крайне тяжело модифицируются, плохо верифицируются, короче - обладают целым рядом недостатков, делающих их реальное применение неоправданно дорогим и сложным.

Есть ли у кого мысли как упростить этот процесс и сделать его более простым и контролируемым?

По поводу верификации. Если речь идет только об FSM, с числом вершин в графе не более 50, то проверку делает Petrify и еще ряд менее известных тулов. Это самая точная верификация, она покажет что схема полумодулярна.
Если же речь идет о большой схеме с сотнями тысяч и даже миллионами элементов, то верификацию не сделать. Единственное, можно использовать обычные средства моделирования, при условии что схема - нетлист, и подключаются реальные задержки (SDF). Так можно защититься от совсем уж глупых ошибок.
В ПЛИС асинхронные автоматы вообще не получится проверить. Я в начале лета поднимал тему - не нашлось ни одной ПЛИС/ПАЛ, где можно было бы хорошо уложить все эти тысячи мелких обратных связей. Но, можете поискать еще. Если найдете что то подходящее, напишите обязательно.
Go to the top of the page
 
+Quote Post
yes
сообщение Sep 19 2014, 14:47
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640



книжки переехали сюда?
/pub/BOOKS/IC_Design/_Asynchronous_Circuit_/

а про ПЛИС для экспериментов - лучше актеловских проазиков, имхо, сейчас нет - у них локальный интерконнект развит. но тул отсутствует - нужно что-то писать самостоятельно, какие-то скрипты поверх libero designer-а не сильно помогают
Go to the top of the page
 
+Quote Post

3 страниц V   1 2 3 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 15th July 2025 - 12:48
Рейтинг@Mail.ru


Страница сгенерированна за 0.01494 секунд с 7
ELECTRONIX ©2004-2016