Цитата(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). Так можно защититься от совсем уж глупых ошибок.
В ПЛИС асинхронные автоматы вообще не получится проверить. Я в начале лета поднимал тему - не нашлось ни одной ПЛИС/ПАЛ, где можно было бы хорошо уложить все эти тысячи мелких обратных связей. Но, можете поискать еще. Если найдете что то подходящее, напишите обязательно.