|
|
  |
FPGA и Си |
|
|
|
Apr 14 2007, 13:39
|
Знающий
   
Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997

|
Наткнулся на эту тему. Прочитал. Нифига не понял.  Я сам абсолютный новичок во всех этих делах, но поставлена передо мной задача, описанная тут http://electronix.ru/forum/index.php?showtopic=30180Объясните, пожалуйста, используется ли сейчас написание на C для FPGA? Если нет, то почему? Стоит ли мне на данный момент вообще заморачиваться с изучением этой области? Тут в теме был ряд ссылок на различные версии компиляторов C->FPGA. Как я понял, они все транслируют написанный код в HDL, а уже этот HDL потом вставляется в квартус и так далее. Так? Как они вообще работают и как с ними взаимодействовать? Какие лучше? Как вообще выглядит процесс разработки? Вообщем, очень хотелось бы получить небольшой ликбез на эту тему. Я плотненько полазал по сайту ImpulseC, там все так красиво описано, что аж слюнки текут. А как оно в реальности обстоит?
Сообщение отредактировал RHnd - Apr 14 2007, 13:51
|
|
|
|
|
Apr 14 2007, 16:01
|
Знающий
   
Группа: Свой
Сообщений: 921
Регистрация: 6-04-07
Из: Israel
Пользователь №: 26 822

|
Цитата(Camelot @ Feb 23 2007, 02:47)  На западе как я смотрю вовсю больше пользуют VHDL чем Verilog к примеру, хотя иногда поподаются требования знать его. По моему все дело в том что написано куча готовых проектов, в которые вложены деньги и переходить на новые языки с работающих кодов никто не хочет. Вот это все и отмирает по тихоньку.... На западе в принципе и то и то в ходу. Есть тенденция писать ASICи на Verilogе, особенно в Штатах и им подобных моделях хай-тека (например Израиль и Дальний Восток), ну а если учесть что часто (но не всегда) FPGA это идет как переходный процесс к ASIC (т.е. делается принципиальная имплементация на FPGAе, отрабатываются проблемные логические вещи, алгоритмы и т.д. и потом делается ASIC), но удобства ради предпочитают Verilog и для FPGAев. Т.е. если вы напереваетесь например войты в рынок труда в данной области в Штатах, Израиле, Дальнем Востоке (Тайвань, Япония и т.д.) - знание и опыт Verilogа вам помогут больше чем VHDLя (хотя и последний далеко не помеха...) Европа-же по моему больше стоит на VHDLе.
|
|
|
|
|
Apr 14 2007, 23:09
|

тоже уже Гуру
     
Группа: Свой
Сообщений: 2 047
Регистрация: 13-06-05
Из: Кёлн - Санкт-Петербург
Пользователь №: 5 973

|
Цитата(RHnd @ Apr 14 2007, 23:38)  А на мои вопросы кто-нибудь ответит?  наверное просто все светилы Катапульт Си отдыхают - советую дождаться их, но если не втерпёж - могу и я на уровне сплетен поделиться  Цитата Тут в теме был ряд ссылок на различные версии компиляторов C->FPGA. Как я понял, они все транслируют написанный код в HDL, а уже этот HDL потом вставляется в квартус и так далее. Так? был на конференции на одной - там был доклад по какому-то из подобных инструментов - они действительно производили трансляцию с Си на ВХДЛ - зачем верхний уровень на Си? - чтобы можно было моделировать взаимодействие программной и аппаратной части (это в принципе решается и средствами СистемСи и Верилога - и в какой-то степени и ВХДЛ для двух последних методами импорта Сишных функций в общую модель симулятора - в первом случае - естественно напрямую /Си++ всё-таки/) в принципе задачи синтеза поведеньческих конструкций до некоторой степени решаемы (можно например синтезировать do-while или цикл for так чтобы он был действительно циклом во времени а не в пространстве) поэтому поведение Си синтезировать до некоторой степени можно однако програмистским языкам как правило не хватает синтаксических средств для представления структуры устройства (ведь функционирование устройства - это множество параллельных процессов - а следовательно и представления о взаимодействие процессов во времени, но самая большая сложность для поведеньческого синтеза -это неоднозначность абстрактных операций над данными и множества их возможных реализаций - простой пример - умножение вам как выполнять? конвейером за n тактов или мартичным умножителем за 1 такт(но более длинный в рамках той же технологии) - и так далее - а система вещь детерминированная - там хотя бы одна неоднозначность и формальные методы уже не работают. (можно на эту тему долго рассуждать - здесь не буду - далеко зайти можно ) Цитата Объясните, пожалуйста, используется ли сейчас написание на C для FPGA? Если нет, то почему? Стоит ли мне на данный момент вообще заморачиваться с изучением этой области? используется, но эти инструменты стоят дороже и каждый- это индивидуальное техническое решение какой-то компании, поэтому они занимают малую долю рынка. вы хотите чтоб все ваши проекты зависили от одного единственного продукта? а если фирма его производящая, например, разориться - а вы будете привязаны к их технологии ну вот всё что знал рассказал
--------------------
И снова на арене цирка - дрессированные клоуны!! Оказываем консультации по электронике за симпу круглосуточно.
|
|
|
|
|
Apr 15 2007, 01:48
|
Местный
  
Группа: Свой
Сообщений: 496
Регистрация: 14-03-07
Из: In The District
Пользователь №: 26 165

|
Цитата(Саша Z @ Apr 14 2007, 13:07)  Да, так и есть. И учитывая это - трудно понять академии - в универах на последнем году обучения предлагаются предметы програмируемой логики - но везде в основном учат азы VHDL (универы Израиля и те американские о которых я в курсе). Может из-за того что VHDL более строг и систематичен... Мой уневер (UMCP в 2003-2004 гг.) офицально только преподавал Verilog как HDL которым следует пользоватся. Тем не мение, отдельные препод. могли включать VHDL в программу по желанию, но это не было детальное образование, а так, на скорую руку, только что бы что-то постигнуть... Но зато все фирмы выполняющаи госзаказы работают с VHDL, правительство США не признает Verilog не для гражданских, и не на военных заказов. Собственно, VHDL был создан для пользовоня DoD контракторов.
--------------------
In Mozilla, you keep tabs on your browser. In the USSR, your browser keeps tabs on you.
|
|
|
|
|
Apr 15 2007, 09:48
|
Знающий
   
Группа: Свой
Сообщений: 921
Регистрация: 6-04-07
Из: Israel
Пользователь №: 26 822

|
Цитата(CodeWarrior1241 @ Apr 15 2007, 02:48)  Мой уневер (UMCP в 2003-2004 гг.) офицально только преподавал Verilog как HDL которым следует пользоватся. Тем не мение, отдельные препод. могли включать VHDL в программу по желанию, но это не было детальное образование, а так, на скорую руку, только что бы что-то постигнуть... Но зато все фирмы выполняющаи госзаказы работают с VHDL, правительство США не признает Verilog не для гражданских, и не на военных заказов. Собственно, VHDL был создан для пользовоня DoD контракторов. Это интересно, не знал. У нас почти везде где проэктируются ASICи - идет Verilog. Наши конторы очень часто и много пересекаются с американскими (много так-же R&D центров американских контор), и везде там Verilog где сталкивались. Хотя не знаком со Штатовксой военкой лично, вполен вероятно они действительно обязаны работать на VHDLe. В плане ASICом я сталкивался только с областью consumer (чипы на рынок мультимедии - digital cameras, DVDs, DVD recorders, и т.д.) В израильских техн. вузах я пока не встречал курсов HDLя на Verilogе, все что видел - VHDL, но тоже уровень самый базисный. Тоже самое слышал об нескольких Штатовских, думал что это тенденция. Хотя странно, ежели официальная линиая правительства (в Штатах) на военку/гос-заказы - VHDL, почему-же в универах тогда дают Verilog ? Или одно другого не касается ?
|
|
|
|
|
Apr 15 2007, 11:50
|
Местный
  
Группа: Свой
Сообщений: 232
Регистрация: 19-12-06
Из: Silicon Valley, California
Пользователь №: 23 683

|
Цитата(Саша Z @ Apr 15 2007, 09:48)  Это интересно, не знал. У нас почти везде где проэктируются ASICи - идет Verilog. Наши конторы очень часто и много пересекаются с американскими (много так-же R&D центров американских контор), и везде там Verilog где сталкивались. Хотя не знаком со Штатовксой военкой лично, вполен вероятно они действительно обязаны работать на VHDLe. В плане ASICом я сталкивался только с областью consumer (чипы на рынок мультимедии - digital cameras, DVDs, DVD recorders, и т.д.) В израильских техн. вузах я пока не встречал курсов HDLя на Verilogе, все что видел - VHDL, но тоже уровень самый базисный. Тоже самое слышал об нескольких Штатовских, думал что это тенденция. Хотя странно, ежели официальная линиая правительства (в Штатах) на военку/гос-заказы - VHDL, почему-же в универах тогда дают Verilog ? Или одно другого не касается ? Потому что гос-заказы в США - это очень мало, основной объем разработок - коммерческий. Официальным языком программирования для военки США долго была Ada - ну и что, практически никто его не знает.
|
|
|
|
|
Apr 15 2007, 16:26
|

Electrical Engineer
     
Группа: СуперМодераторы
Сообщений: 2 163
Регистрация: 4-10-04
Пользователь №: 778

|
Цитата(v_mirgorodsky @ Feb 22 2007, 13:32)  Это в общем-то напоминает ситуацию с процессорами лет на 15 раньше. Тогда, в эпоху 286 машин ... [skiped] ... Я думаю, что по мере роста ресурсов в FPGA все большая и большая часть проектов будет разрабатываться на SystemC и лишь высокоскоростные блоки будут все также писаться на поведенческом VHDL или Verilog. Такая практика повсеместно используется в разработке програмного обеспечения и дает наилучшее сочетание цена/производительность получаемых решений. я бы не стал проводить подобных аналогий между десктоп-направлением и встраиваемыми применениями (а уж в проекции на FPGA - высокопроизводительными встраиваемыми системами) в процессорах плата за пользовани ЯВУ - увеличенное время выполнения алгоритма в ПЛИС - повышенное потребление (докучи к необходимости применения более емкого и дорогого кристалла) в ASIC-проектировании ситуция еще более интересная (в случае рассмотрения возможного использования SC): надо найти компромисс между площадью (т.е. стоимостью) конечного кристалла и временем разработки + опять же существуют свои сферы устройств с критичным энергопотреблением.
--------------------
|
|
|
|
|
Apr 16 2007, 01:29
|
Местный
  
Группа: Свой
Сообщений: 496
Регистрация: 14-03-07
Из: In The District
Пользователь №: 26 165

|
Цитата(cupertino @ Apr 15 2007, 04:50)  Потому что гос-заказы в США - это очень мало, основной объем разработок - коммерческий. Официальным языком программирования для военки США долго была Ada - ну и что, практически никто его не знает. Я знаю  . Первая работа послала на курс Ada-95, у нас все софт что выше network и link layer (в т.ч. все чего косается пользователь) должно было быть на Ada. И не какая нибудь супер-секретноя работа, а заурядня гражданская контора... Просто кому-то хотелось иметь Mil-Spec, и почему-то не нравилось C/C++. Я от туда смотался после 2 лет, но слышал от знакомых что теперь все переписывают на Java  .
--------------------
In Mozilla, you keep tabs on your browser. In the USSR, your browser keeps tabs on you.
|
|
|
|
|
Apr 16 2007, 11:24
|
Местный
  
Группа: Свой
Сообщений: 342
Регистрация: 21-02-05
Пользователь №: 2 804

|
Цитата я бы не стал проводить подобных аналогий между десктоп-направлением и встраиваемыми применениями (а уж в проекции на FPGA - высокопроизводительными встраиваемыми системами) в процессорах плата за пользовани ЯВУ - увеличенное время выполнения алгоритмав ПЛИС - повышенное потребление (докучи к необходимости применения более емкого и дорогого кристалла)в ASIC-проектировании ситуция еще более интересная (в случае рассмотрения возможного использования SC): надо найти компромисс между площадью (т.е. стоимостью) конечного кристалла и временем разработки + опять же существуют свои сферы устройств с критичным энергопотреблением. Угу, так потому я и сказал о дальнейшем развитии технологий FPGA до той степени, когда 10-20 тысяч макроячеек - типа современных альтеровский ALUT'ов будут раздаваться в качестве бонуса к основному объему самой FPGA  Согласен, это время наступит очень не скоро, но оно обязательно придет. Все ведь дело в соотношении стоимости чипа ко времени программиста его проектирующего  C точки зрения временного или пространственного разворота цикла - так это тоже не проблема. Компилятор будущего  сам примет решение как его развернуть и сгенерит код, который будет давать абсолютно четкий детерминированный результат согласно спецификации языка. Для примера, Intel C++ компилятор версии 6.0 при компиляции исходников для P4 Northwood заменял некоторые операции умножения несколькими операциями сложения - чем не пример пространственного vs временного разворота цикла? Еще. По роду занятий пришлось немного пооптимизировать на Ассемблере для старших x86 - презанимательнейшее занятие. Как оказалось, каждая команда имеет свое время обновления результатов, их можно спаривать - тогда они выполняются одновременно, если попытаться использовать результат выполнения команды слишком рано, то процессор останавливается и ждет готовности операндов команды, а может запустить другие независимые команды из очереди. Короче, компилятор постоянно решает задачи планирования, подобные временной vs пространственный разворот. И весьма успешно. Еще более интересным с этой точки зрения оказывается Ассемблер сигнальников. Там можно просто непосредственно указать, что эта инструкция должна быть спарена с той - получаются такие себе сверх оптимальные функции, эффективность которых ограничена только знаниями программиста. Пройдет время и подобные инструменты появятся и для FPGA. Может не сразу оптимальные, но ведь и компиляторы прошли долгую эволюцию до своего сегодняшнего уровня.
--------------------
WBR, V. Mirgorodsky
|
|
|
|
|
Apr 16 2007, 17:07
|

Знающий
   
Группа: Свой
Сообщений: 601
Регистрация: 1-03-05
Из: Spb
Пользователь №: 2 972

|
Цитата(CaPpuCcino @ Apr 16 2007, 17:09)  ага - и на марсе скоро будут яблони цвести. конечно когда-нибудь всё у всех будет. да и в принципе языки программирования отомрут - компиляторы будут непосредственно читать гениальные мысли разработчика прям из мозга - по электромагнитным показаниям его активность  +1 Вот помечтали о следующем веке... Думаю, ресурсами одной компании сделать нормальный синтезатор с языка С задача как минимум 5-10 лет.
--------------------
Насколько проще была бы жизнь, если бы она была в исходниках
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|