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

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

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

 

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

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


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

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

клиенты

catapult-C

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

 

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

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


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

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

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

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

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


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

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

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

 

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

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

 

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

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

 

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

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

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

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


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

спасибо! довольно интересная...

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


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

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

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

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


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

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

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

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


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

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

Можно: http://nukeuploads.com/download/1308115893...27W56W5KB/.html

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


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

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

 

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

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


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

Скажите для чего может потребоваться портировать код 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 издание, там понятнее написано плюс есть по оптимизации параллельных вычислений) Ахо, Альфред В., Лам, Моника С, Сети, Рави, Ульман, Джеффри Д. Компиляторы: принципы, технологии и инструментарий. Можно еще Карпов - Теория построения трансляторов.

 

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

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


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

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

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

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

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

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

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

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

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

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