Цитата(Deddy85 @ Aug 29 2009, 00:01)

Sergey'F, был бы рад, если бы вы посмотрели и выложили то что у вас есть

Соврал, дома нет. В университете. Только на следующей неделе посмотрю.
Но поиск в google по теме "
fpga logic synthesis" дает сразу несколько ссылок, причем многие на открытые работы.
Проблема может быть также в том, что "у них" и "у нас" в классических курсах, связанных с синтезом логических схем, часто изучаются разные методики. Практически стандартная программа у них: после карт Карно и МакКласки рассматривать Эспрессо и BDD(представление функций булевой логики графами), после чего рассматривать синтез многоуровневой логики на основе этих концепций, а потом mapping в FPGA. Всякие версии BDD используются и при маппинге на ячейки FPGA. Посмотрите презентации
по этому курсу Брайтона в разделе Lectures. Плюс-минус такое содержание будет в 80% их книг по логическому синтезу.
Я не общался с нашими грандами, как упомянутый здесь Закревский (хотя наш зав. кафедрой его хорошо знает), но я не уверен, что Ваше начальство ожидает увидеть статью об алгоритмах над графами и разных эвристиках.
Кстати, эффективность и однозначность синтеза с языков оставляет желать лучшего. Вот
как раз сейчас обсуждали. Все хорошо, когда компилятор может извлечь на этапе анализа кода знакомые ему структуры - сумматор, умножитель, мультиплексор, дешифратор, которые он знает, как эффективно реализовать. Но в приведенном выше примере он извлек вместо n сумматоров один мультиплексор n->1 и один сумматор. Результат получился не очень хороший и на уровне синтеза с RTL исправить это практически невозможно, так как исследуется не все пространство решений, а ищется некоторый локальный минимум.
Приведенные там скриншоты очень хорошо иллюстрируют два этапа - перевод на уровень RTL и последующую оптимизацию логики с этого уровня. В книгах обычно рассматривается только второй этап. К сожалению, работ о том, как эффективно конвертировать код в RTL, я не встречал.
P.S. Приложил пару статей, что нашел дома.