Перейти к содержанию
    

Помоветуйте книгу по оптимизации Верилог синтезируемых моделей

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

для начала посмотрите хоть курсы Berkeley CS150 и CS152, MIT 6.823 - за разные года. а дальше там уж найдёте и ссылки на правильные книжки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

посмотрите книгу "Сергиенко_VHDL для проектирования вычислительных устройств_2003", там было, что-то про конвеер, но не самое лучшее и понятное описание...

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

http://www.vpcb.ru

там в архиве описание микропроцессора с конвейером нескольких типов, с исходниками? тестбенчами и результатами моделирования, а также книги.

Правда все это Xilinx ISE и VHDL.

Изменено пользователем fractcon

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

http://www.amazon.com/Advanced-FPGA-Design...n/dp/0470054379

 

Описаны достаточно очевидные вещи, но, в принципе, книга неплохая.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Описаны достаточно очевидные вещи, но, в принципе, книга неплохая.

надеюсь эта ссылка обрадует большее количество людей (пока работает)

http://avaxho.me/ebooks/engeneering_techno...470054379R.html

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

технически (и даже была такая рекомендация у синопсиса и были специальные комманды в DC) можно взять описание комбинаторной логики, добавить к нему регистры, а затем попросить синтез передвинуть регистры (retiming)

 

для некоторых конструкций я такое применял (ecc, суматоры), результат вполне и быстро

в DC сейчас есть специальный компонент dw_pipe или как-то так, ну и двигает регистры он уже без всяких дополнительных команд, то есть retiming guide уже устарел

 

а если алгоритм расписать (циклы поразбирать и пр. flow), то есть из untimed C сделать timed, то тут хорошей методологии, думаю, нет, есть тулзы типа менторовского Catapult, но я им только баловался и остался невпечатлен

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

то есть не алгоритмы "ртл-зировать"

 

тогда суть простая - уменьшение длины критического пути, то есть времени прохождения от регистра до регистра, то есть увеличение тактовой частоты. для ПЛИС это очень просто - количество уровней логики между регистрами, для АЗМКов там еще нагрузочные способности/fanout влияют, ну и мое мнение - автоматы с этим справляются лучше, то есть количество ступеней конвеера оно вобщем понятно "эмпирически" и вносится в RTL описание, но правильно их расставить|передвинуть синтезатор умеет лучше (то есть автомату эту задачу проще решить чем человеку) - это всяческие галки retuming:synplify , run retiming : precision и пр. sequential optimization. нажимать их в случае экстремальной оптимизации совершенно не зазорно и весьма полезно :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не - не, интересна и нужна алгоритмическая оптимизация (в первую очередь, как самая эффективная). А ручками подвигать регистры - связи - чтобы понимать, что наиболее критично - тупо-ли расстояние, либо fanout, ну и так далее. То есть в комплексе врубиться есть желание.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Отличная книга, читаю в электричке, всем новичкам как я — обязательна.

Полностью согласен, но некоторые примеры с ошибками. Т.е. код прямо из книги работает некорректно. Что никак не уменьшает ее ценность.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...