Jump to content

    

Какой язык, плис, среда?

18 minutes ago, syoma said:

Просто представьте, что какой-нибудь аксакал старой закалки предлагает новичку начать знакомство с микроконтроллерами с ассемблера. "И пока не сделаешь хоть один рабочий проект с LCD, І2С и кнопочками, даже не думай переходить на Си!". Как думаете, это будет сильно полезно новичку?

Я хоть и не аксакал старой закалки (мой возраст должен быть в профиле), но, не поверите, я бы так и стал учить. Поверьте, я видел и обратную сторону медали, когда человек научисля "лабать" проги на Си(++) для МК, совершенно не понимая, как он работает. И пока программа выполняет то, что задумано, всё хорошо. Но как только первое зависание - всё, приехали. И для него откровение, что МК редко завивает, на самом деле он зациклен в каком-нибудь "фолте" или выполяет область флеша, которая содержит 0xffffffff. Просто сейчас иногда мода как можно быстрее загнать человека в разработку, минуя глубинное понимание. Я считаю, что это не очень хорошая мода. Куда торопиться? Только не надо мне про "time to market". Чепуха, ибо.

Share this post


Link to post
Share on other sites

Приветствую!

3 hours ago, syoma said:

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

Поэтому я настаиваю на том, что среду разработки стоит рассматривать отдельно от железа и MATLAB/Simunink отлично подходят для первого знакомства с ПЛИС, так как позволяет получить нужный результат практически в любом проекте, без сильного вникания в особенности языков. И расти до более оптимизированных дизайнов там есть куда.

Просто представьте, что какой-нибудь аксакал старой закалки предлагает новичку начать знакомство с микроконтроллерами с ассемблера. "И пока не сделаешь хоть один рабочий проект с LCD, І2С и кнопочками, даже не думай переходить на Си!". Как думаете, это будет сильно полезно новичку?

Мне кажется тут вы немного сами себе противоречите - ведь Matlab|simulink это такой же язык как VHDL и Verilog только еще более абстрактный.  И то что можно "легко"?  скомпилировать FPGA-шный "Hello world"  не дает ни каких знаний специфики разработки для FPGA. Ведь на выходе HDL кодера вы что получите?  Готовый образ для FPGA?  Или набор файлов на незнакомом для новорожденного "специалиста FPGA" непонятном языке? 

 

Увы, пока еще основными языками разработки для FPGA есть Verilog, SV, VHDL, которые напрямую позволяют получить бинарник для FPGA в компилляторах вендеров.  И эти языки не ассемблер (попробуете-ка на гейт-уровне FFT нарисовать :wacko:), а очень даже FPGA-шный аналог C и местами даже C++.

 

Ну а Matlab, HLS, ... это отличные средства разработки алгоритмов и прикладных приложений. И то что на нем можно  делать сложные дизайны для FPGA не сильно вникая в особенности оных говорить лишь об одном - у вас хорошая команда разработчиков в которой есть как минимум один  аксакал старой закалки по FPGA. :biggrin:

 

Удачи! Rob.

 

 

 

 

Share this post


Link to post
Share on other sites
2 часа назад, blackfin сказал:

Вот, любопытно, а Matlab/Simulink уже научились считать на Virtex'ах БПФ от 4096 комплексных семплов за 7 мкс? 

За меня уже ответили.

Могу только дополнить, что при желании можно указать делать все не на корке а на чистых DSP. Но результат будет много хуже.

Share this post


Link to post
Share on other sites
1 час назад, syoma сказал:

...

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

Хорошо, приведу пример:

Simulink хорош графическим представлением проекта допустим, и это вас устраивает. Но я вот использую HDL Designer от Mentor Graphics и в нем великолепное графическое представление. И FSM есть и таблицы и все, что позволяют языки включая SV. Потому для меня этот пункт не является критичным. У других участников форума есть иные требования и им тоже часть функционала верхнего уровня не нужна.

Каждому инструменту - своё место.

Share this post


Link to post
Share on other sites
3 hours ago, RobFPGA said:

Мне кажется тут вы немного сами себе противоречите - ведь Matlab|simulink это такой же язык как VHDL и Verilog только еще более абстрактный.  И то что можно "легко"?  скомпилировать FPGA-шный "Hello world"  не дает ни каких знаний специфики разработки для FPGA. Ведь на выходе HDL кодера вы что получите?  Готовый образ для FPGA?  Или набор файлов на незнакомом для новорожденного "специалиста FPGA" непонятном языке? 

Еще раз - изучение основ ПЛИС необходимо. Но это изучение можно начать и с Матлабом. На выходе вы можете получить как готовый битстрим для заливки в ПЛИС, так и корку с AXI интерфейсом, готовую для включения в SoC проект. Прямо из матлаба. Причем подключить ее в том же Вивадо можно тоже графически. Залазить в сгенерированные исходники можно, но не обязательно. 

Share this post


Link to post
Share on other sites

А если нет такой корки, либо цена превышает бюджет, либо что-то не так коркой, там ведь не боги горшки обжигают.

Share this post


Link to post
Share on other sites
3 hours ago, warrior-2001 said:

За меня уже ответили.

Могу только дополнить, что при желании можно указать делать все не на корке а на чистых DSP. Но результат будет много хуже.

Но результат на чистых ДСП все равно будет больше зависеть от знаний об архитектуре ПЛИС, чем о Verilog/VHDL. И поэтому в принципе я не вижу объективных причин, почему DSP алгоритмы, написанные на HDL вдруг должны получиться эффективнее, чем сделанные в Симулинке. Чем вы там можете играться лучше, чем в симулинке, тем более не имея таких развитых возможностей моделирования/отладки, как в Матлабе?

Share this post


Link to post
Share on other sites
15 hours ago, haker_fox said:

Я хоть и не аксакал старой закалки (мой возраст должен быть в профиле), но, не поверите, я бы так и стал учить. Поверьте, я видел и обратную сторону медали, когда человек научисля "лабать" проги на Си(++) для МК, совершенно не понимая, как он работает. И пока программа выполняет то, что задумано, всё хорошо. Но как только первое зависание - всё, приехали. И для него откровение, что МК редко завивает, на самом деле он зациклен в каком-нибудь "фолте" или выполяет область флеша, которая содержит 0xffffffff. Просто сейчас иногда мода как можно быстрее загнать человека в разработку, минуя глубинное понимание. Я считаю, что это не очень хорошая мода. Куда торопиться? Только не надо мне про "time to market". Чепуха, ибо.

Именно поэтому советую начать со схематика и потихоньку переходить на VHDL, а затем, лишь осознав, что VHDL не подходит, переходить на Verilog. Если VHDL устраивает, то переход на Verilog Вам не нужен. 

VHDL - сертифицированный язык.

Share this post


Link to post
Share on other sites
16 hours ago, syoma said:

Еще раз - изучение основ ПЛИС необходимо. Но это изучение можно начать и с Матлабом.

Поморгать светодиотом (именно с этого в 99% случаев начинается изучение ПЛИС) при помощи Матлаба? Божечки-кошечки.

Share this post


Link to post
Share on other sites
7 hours ago, Oymyacon said:

VHDL - сертифицированный язык. 

Что бы это пустое изречение могло значить?

Share this post


Link to post
Share on other sites

RobFPGA

Увы, пока еще основными языками разработки для FPGA есть Verilog, SV, VHDL, которые напрямую позволяют получить бинарник для FPGA в компилляторах вендеров.  И эти языки не ассемблер (попробуете-ка на гейт-уровне FFT нарисовать :wacko:), а очень даже FPGA-шный аналог C и местами даже C++.

Через С и HDL надо продираться, чтобы FFT и подобное сделать, там ничего нет для понимания и отладки задачи, китайский язык мешающий, никакого окружения, в котором алгоритм живёт. В симулинке модель плавно конкретизируется до RTL, отлаживается там же сравнением с несинтезируемым исходным алгоритмом, на выходе читаемый HDL, сразу готовый для заливки в FPGA, без ада HDL и HDL симуляторов.

Share this post


Link to post
Share on other sites

Приветствую!

1 hour ago, petrov said:

Через С и HDL надо продираться, чтобы FFT и подобное сделать, там ничего нет для понимания и отладки задачи, китайский язык мешающий, никакого окружения, в котором алгоритм живёт. В симулинке модель плавно конкретизируется до RTL, отлаживается там же сравнением с несинтезируемым исходным алгоритмом, на выходе читаемый HDL, сразу готовый для заливки в FPGA, без ада HDL и HDL симуляторов.

Опять "за рыбу гроши".   

 

Еще раз - надо разделять разработку под FPGA и разработку алгоритма (который может работать в FPGA). Каждая задача имеет свой инструментарий и свою специфику. Можно ли только средствами MatLab  сделать синтез и P&R для FPGA? А проверить тайминги и сделать постP&R верификацию совместно с моделями внешней к FPGA периферии? А написать constraint для размещения/фиксации частей дизайна на чипе?  Симуляцию с корками которых НЕТ в библиотеке Matlab  вы как будете делать не зная "китайский VHDL, Verilog? SV"?   

 

Ну да вам никто не мешает нарисовать ВСЕ в симулинке. Я уже приводил пример как народ в Matlab делал проект для FPGA -  скриптами на .m генерировал из примитивов!!! простыни simulink блоков чтобы потом их "плавно и прозрачно" конвертировать в "китайский" RTL.

Matlab  отличный универсальный инструмент разработки алгоритмов.  И его текущие возможности разработки алгоритмов с оптимизацией под различные платформы (в том числе и под FPGA) впечатляют. Но IMHO изучать специфику разработки под FPGA через Matlab это неправильно.   

 

Ну и убийственный аргумент - когда вы сами выбираете на чем дизайнить  проблем нет. Что хотите то и пиз. используете. :wink2: Но вот когда набор инструментов выбирают за вас то надо уметь сделать конфетку и из того материала что есть. 

 

Я когда-то много работал в ActiveHDL. В нем кстати  была классная интеграция с Matlab через PLI и я очень много сделал проектов в такой связке (в том числе и с simulik). Даже потом сам написал такую же интеграцию через DPI и в Modelsim когда пришлось забыть про  ActiveHDL так как у нового работодателя был свой набор инструментов разработки и моделирования. И очень может быть что Matlab будет вам недоступен на новом месте работы. И что будет делать в таком случае современный разработчик FPGA?  Неужто учить "китайский" Verilog, VHDL, SV, C, C++, SystemC, Python?  Боже упаси! :biggrin:

 

 Удачи! Rob.

 

Share this post


Link to post
Share on other sites

поддержу RobFPGA. Я конечно понимаю, санкции, софт считать трофейным и т.д.. Но у кого из пользователей(ну кроме syoma), стоит легально рабочее место MATLAB/Simulink? Хотя бы честное одно место?

Имено лицензия на коммерческую разработку с ДСП тулбоксами и тулбоксом HDL Coder? Не учебная версия, используемая для коммерческой разработки, пока никто не видит, не ограниченная версия, под конкретную борду с прокаченным нелегально набором тулбоксов, а честная, лицензионная версия, с честными тулбоксами? Назовите сходу цену такого рабочего места? 

ЗЫ. Цену одного рабочего места matlab в свое время просчитывал, с полным набором тулбоксов для разработки DSP алгоритмов. Мне даже скидку давали, за количество рабочих мест. Вот мне интересно узнать, каковы современные реалии? 

ЗЗЫ. Одно время, представители Mathworks в России, планировали реализовать вид аренды софта, в виде доступа к серверу, с установленным матлабом/симулинком. Подписка платная, получалось гораздо дешевле чем покупать лицензию. Не знаю как сейчас обстоят с этим дела, может кто прольет свет) 

Share this post


Link to post
Share on other sites
3 часа назад, des00 сказал:

ЗЫ. Цену одного рабочего места matlab в свое время просчитывал, с полным набором тулбоксов для разработки DSP алгоритмов. Мне даже скидку давали, за количество рабочих мест. Вот мне интересно узнать, каковы современные реалии?

Всё, указанное тут для работы от модели matlab через simulinkк прошивке под конкретную, даже кастомную, плату - порядка 30 млн. рублей РФ. Но представители matworks весьма гибки в части ценообразования!

Edited by warrior-2001
уточнение

Share this post


Link to post
Share on other sites
20 minutes ago, warrior-2001 said:

Всё, указанное тут для работы от модели matlab через simulinkк прошивке под конкретную, даже кастомную, плату - порядка 30 млн. рублей РФ. Но представители matworks весьма гибки в части ценообразования!

 

Есть ещё и hls, он тоже позволяет работать со встроенными vivado корками, да и набор библиотек довольной большой. Пошаговая отладка на си гораздо понятнее для новичков, чем наборы диаграмм в hdl симуляторе.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now