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

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

... там же есть и библиографический список диссертации.

 

Если не затруднит - скиньте сюда по возможности. Будет интересно просмотреть полный список литературы.

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


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

Занимался этим вопросом в магистратуре.

может быть ошибусь, но случайно не вы, года полтора назад на этом форуме, заявляли о создании супер синтезатора с си в HDL во время дисера?

 

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


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

может быть ошибусь, но случайно не вы, года полтора назад на этом форуме, заявляли о создании супер синтезатора с си в HDL во время дисера?

Вряд ли. Я не вру:) Обычно.

Может быть писал, что по ТЗ такой надо сделать. Хотя нет, все сообщения свои просмотрел, не писал такого. Полтора года назад я интересовался перспективными направлениями написания магистерской диссертации.

 

Библиографический список немного позже выложу, копии с собой нет, а дома буду к началу июля.

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


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

Пример Си --> HDL (ручками, увы):

http://forum.ixbt.com/topic.cgi?id=8:21980-45

 

Оригинал на Си:

http://www.wasm.ru/forum/viewtopic.php?pid=128277#p128277

 

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


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

Ближе всего к C->HDL приблизился BlueSpecVerilog в его части описания State Machine

 

(Раздел С8 в стандарте BSV, если не ошибаюсь)

 

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


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

C to HDL это конечно замечательная идея, но плохо реализуемая. Вот SystemC to HDL эта трансляция более жизнеспособна, но опять же код на C приходится писать определенным способом, что за частую очень не выгодно.

Подобные трансляции могут быть выгодны когда у вас проект на плис и очень-очень сжатые сроки, в этом случае данный прием оправдан.

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


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

Вот SystemC to HDL эта трансляция более жизнеспособна, но опять же код на C приходится писать определенным способом, что за частую очень не выгодно.

Профит в том, что описание на SystemC компилируется сразу в нативно исполняемый файл (для симуляции), и скорость работы такой реализации значительно выше, чем это получается на виртуальных машинах Verilog/VHDL симуляторов. Ну, и второе (а может и первое) - SystemC - это всё-таки настоящий С++ со всеми его классами, шаблонами, могучими библиотеками, и писать код на нём поприятнее, чем даже на SystemVerilog'е, где, например, классы являются несинтезируемыми. И для добавления какой-нибудь фичи достаточно написать соответствующий код, а не ждать, когда Комитет включит желаемую фичу в Стандарт и производители инструментария сделают поддержку этого в своих САПРах.

 

Есть мнение, что приостановка развития SystemC (а это разработка эффективных синтезаторов) ведущими производителями HDL софта обусловлена возникшим у них пониманием, что они рубят сук, на котором сидят - когда будут доступны синтезаторы, что послужит основанием для популяризации этого HDL, то будет отток пользователей от использования симуляторов существующих HDL, а это для них не радостная новость, т.к. рынок симуляторов является довольно неслабым куском пирога.

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


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

Профит в том, что описание на SystemC компилируется сразу в нативно исполняемый файл (для симуляции), и скорость работы такой реализации значительно выше, чем это получается на виртуальных машинах Verilog/VHDL симуляторов. Ну, и второе (а может и первое) - SystemC - это всё-таки настоящий С++ со всеми его классами, шаблонами, могучими библиотеками, и писать код на нём поприятнее, чем даже на SystemVerilog'е, где, например, классы являются несинтезируемыми. И для добавления какой-нибудь фичи достаточно написать соответствующий код, а не ждать, когда Комитет включит желаемую фичу в Стандарт и производители инструментария сделают поддержку этого в своих САПРах.

 

Есть мнение, что приостановка развития SystemC (а это разработка эффективных синтезаторов) ведущими производителями HDL софта обусловлена возникшим у них пониманием, что они рубят сук, на котором сидят - когда будут доступны синтезаторы, что послужит основанием для популяризации этого HDL, то будет отток пользователей от использования симуляторов существующих HDL, а это для них не радостная новость, т.к. рынок симуляторов является довольно неслабым куском пирога.

 

Я Вам честно скажу, все основные производители софта Cadence, Synopsys, Mentor не прекращали развивать SystemC, даже более того у каждого из них есть свой транслятор С языка в RTL.

Это наиболее динамично развивающееся направление на данный момент! Посмотрите как изменился за последние пару лет C to Silicon Compiler, небольшие проекты на FPGA на нем можно спокойно сделать, не прибегая к Verilog'у, да он скомпилирует код не так оптимально, как могло бы быть, площадь занятая в FPGA будет больше на 10-25% больше, но сроки исполнения проекта уменьшатся в разы!

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

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


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

Я Вам честно скажу, все основные производители софта Cadence, Synopsys, Mentor не прекращали развивать SystemC, даже более того у каждого из них есть свой транслятор С языка в RTL.

Это наиболее динамично развивающееся направление на данный момент! Посмотрите как изменился за последние пару лет C to Silicon Compiler, небольшие проекты на FPGA на нем можно спокойно сделать, не прибегая к Verilog'у, да он скомпилирует код не так оптимально, как могло бы быть, площадь занятая в FPGA будет больше на 10-25% больше, но сроки исполнения проекта уменьшатся в разы!

Речь шла не о С->HDL, а конкретно о SystemC. Был у Synopsys синтезатор CoCentric, где он сейчас? То, что есть какие-то частные инструменты С->HDL, это положения не меняет - частное решение, оно частным и остаётся. Ни совместимости, ни переносимости. SystemC же - это реальный широкораспространённый С++, с его возможностями не сравнится ни один С-HDL'ный язык ни по поддержке разнообразнейшими библиотеками (для написания тестбенчей всё идёт в ход), ни по количеству литературы, ни по числу квалифицированных специалистов, ни по качеству (и количеству) компиляторов. Все эти С-языки - они точно так же генерят промежуточный код для выполнения его на виртуальной машине симулятора, поэтому симулятор нужен - производители симуляторов ничего против не имеют.

 

А вот с SystemC в плане синтеза всё не очень хорошо. Поэтому для моделирования-то он годится, а вот что дальше делать - вопрос. Справедливости ради надо отметить, что в Mentor Catapult, вроде бы, некоторое время назад вернули поддержку SystemC, но на каком она там уровне, не знаю. В любом случае SC в плане синтеза сейчас в зачаточном состоянии.

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


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

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

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

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

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

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

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

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

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

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