Jump to content
    

Портирование кода C/C++ на HDL

Скажите для чего может потребоваться портировать код C/C++ на языки описания аппаратуры?

 

И как собственно портировать СИ'шный код на HDL? (Не понимаю как происходит этот процесс).

Share this post


Link to post
Share on other sites

ключевые слова:

клиенты

catapult-C

Как я понял, это готовый продукт Mentor Graphics. А самому вручную реально портировать?

 

И для чего это нужно вообще портировать с языка высокого уровня на HDL? Где это может потребоваться?

Share this post


Link to post
Share on other sites

И для чего это нужно вообще портировать с языка высокого уровня на HDL? Где это может потребоваться?

Хорошая книга по этой тематике: High-Level Synthesis Blue Book by Michael Fingeroff могу поделиться если не найдёте.

В общих словах - эта технолоия используется для написания сложных функциональных блоков (DFFT например) и позволяет сократить время разработки и отладки таких блоков.

Share this post


Link to post
Share on other sites

А самому вручную реально портировать?

да реально...

 

И для чего это нужно вообще портировать с языка высокого уровня на HDL?

например для ускорения вычислений...

 

Где это может потребоваться?

например требования заказчика обрабатывать данные на "проходе" (в реальном режиме времени)

 

Хорошая книга по этой тематике: High-Level Synthesis Blue Book by Michael Fingeroff могу поделиться если не найдёте.

В общих словах - эта технолоия используется для написания сложных функциональных блоков (DFFT например) и позволяет сократить время разработки и отладки таких блоков.

а книжечкой не могли бы поделиться? :)

Share this post


Link to post
Share on other sites

...Где это может потребоваться?..

По разному, бывает человек задающий алгоритм быстрее может его налабать на си и объяснить код, чем готовить что-то специально (время==деньги), бывает сталкиваются человеки с невлезанием кода/недостаточным быстродействием в выбранный кристалл(изначальный разработчик имел индусские корни) а рядом есть плис.. В общем по разному бывает...

Share this post


Link to post
Share on other sites

А можно книжку заново закинуть? А то пишет файл удален :05:

Share this post


Link to post
Share on other sites

А можно книжку заново закинуть? А то пишет файл удален :05:

Смотрите личные сообщения.

Share this post


Link to post
Share on other sites

А можно книжку заново закинуть? А то пишет файл удален

Share this post


Link to post
Share on other sites

Вот еще обзорная книжка

 

Philippe Coussy

Adam Morawiec

Editors

 

High-Level Synthesis

From Algorithm to Digital Circuit

 

2008 Springer Science + Business Media B.V.

High_Level_Synthesis_from_Algorithm_to_Digital_Circuit.rar

Share this post


Link to post
Share on other sites

Скажите для чего может потребоваться портировать код C/C++ на языки описания аппаратуры?

 

И как собственно портировать СИ'шный код на HDL? (Не понимаю как происходит этот процесс).

Занимался этим вопросом в магистратуре. У меня вопрос ставился таким образом: очень удобно и быстро описать проектируемую систему на Си (быстро компилится по сравнению с HDL) плюс намного больше людей знает Си, чем языки описания аппаратуры, и возможность описания на Си привлечет "новую кровь" в ряды плисоводов. Еще одна идея была писать код, скажем, под Микроблейз, а затем необходимые куски кода преобразовывать и выполнять аппаратно (быстрее).

 

На самом деле, идея довольно интересная, но непростая :) Подходил я к ней исходя из теории создания трансляторов (компиляторов), даже получилось как-то циклы, написанные на Си, развернуть и преобразовать в HDL. Код выходил очень кривой, но кое-как работало :) В общем, работы там не для одного магистранта, ну или не на год, как этим занимался я. Хотя, я по своему роду деятельности не программист, да и времени много уделять не мог.

 

Просмотрите проекты Handel-C, Mitrion-C, Impulse C (!!), Mentor Catapult (!!). Неплохой обзор дан в статье "Ускорение и перестройка: будущее научных приложений?" Открытые системы - 2007. - №3. По Impulse C есть книжка в электронке Pellerin D., Thibault S. Practical FPGA Programming in C. По компиляции конечно же "книга дракона" (желательно 2 издание, там понятнее написано плюс есть по оптимизации параллельных вычислений) Ахо, Альфред В., Лам, Моника С, Сети, Рави, Ульман, Джеффри Д. Компиляторы: принципы, технологии и инструментарий. Можно еще Карпов - Теория построения трансляторов.

 

Все книжки есть в электронке в интернетах, у меня дома есть, но буду я там нескоро (в командировке сейчас), там же есть и библиографический список диссертации.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...