реклама на сайте
подробности

 
 
4 страниц V  < 1 2 3 4 >  
Reply to this topicStart new topic
> MATLAB R2012a HDL Code Generation, непонятки с типами, знаками, размерностями
ИльяКи
сообщение Sep 19 2012, 13:42
Сообщение #16


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 30-01-10
Из: Таганрог
Пользователь №: 55 160



Цитата
Можно взять Simulink и вставить как блок-модули вашу логику а место где деление - вставить как Verilog файл. Помниться мы так делали когда нас не устраивали ньюансы laughing.gif правда много вставлять Verilog-а не получалось - жаба падала, но в ключевых моментах это нам помогло.

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

Послушать отзывы так попытки использования MATLAB для мало-мальски эффективной HDL-генерации пока что есть утопия и лучше сразу писать в HDL. А так радужно это дело мне описывали, мол, написал функцию - она сразу так красиво сама в код заделалась и хоть сразу компиль и зашивай в ПЛИСину или разводи в ASIC, только настройки успевай выставлять. А оказалось что эта система даже об элементарную арифметику уже спотыкается =_=
Go to the top of the page
 
+Quote Post
des00
сообщение Sep 19 2012, 14:40
Сообщение #17


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(ИльяКи @ Sep 19 2012, 07:42) *
Послушать отзывы так попытки использования MATLAB для мало-мальски эффективной HDL-генерации пока что есть утопия и лучше сразу писать в HDL. А так радужно это дело мне описывали, мол, написал функцию - она сразу так красиво сама в код заделалась и хоть сразу компиль и зашивай в ПЛИСину или разводи в ASIC, только настройки успевай выставлять. А оказалось что эта система даже об элементарную арифметику уже спотыкается =_=

обратитесь в саппорт матлаба (или на сайт), там чел есть вменяемый по этому делу. Как он мне намекнул, "просто вы не умеете готовить".


--------------------
Go to the top of the page
 
+Quote Post
ИльяКи
сообщение Sep 20 2012, 05:07
Сообщение #18


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 30-01-10
Из: Таганрог
Пользователь №: 55 160



Да уж, ничего больше не остается - пытать саппорт только. Нюансов может быть еще море и стаканчик, жаль только что далеко не все освещены в стандартном матлабовском хелпе smile3046.gif
Go to the top of the page
 
+Quote Post
Gate
сообщение Sep 20 2012, 07:49
Сообщение #19


Знающий
****

Группа: Свой
Сообщений: 859
Регистрация: 7-04-05
Из: Санкт-Петербург
Пользователь №: 3 943



Цитата(des00 @ Sep 18 2012, 19:32) *
Народ, те кто применяет симулинк и матлаб HDL кодеры для прототипирования и разработки, расскажите свои результаты. А то есть у меня проект, хочу прогнать его через сквозное проектирование в симулинке, но вот стоит ли идти до получения хдл кода ?

Советую посмотреть в сторону synopsys synphony model compiler (это бывший synplify dsp). Примерный эквивалент xilinx system generator или altera dsp builder, но без привязки к конкретному вендору.


--------------------
"Человек - это существо, которое охотнее всего рассуждает о том, в чем меньше всего разбирается." (с) С.Лем
Go to the top of the page
 
+Quote Post
des00
сообщение Sep 20 2012, 08:43
Сообщение #20


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Gate @ Sep 20 2012, 02:49) *
Советую посмотреть в сторону synopsys synphony model compiler (это бывший synplify dsp). Примерный эквивалент xilinx system generator или altera dsp builder, но без привязки к конкретному вендору.

хмм, а они уже довели свой инструмент до ума ? он появился года 2 назад, но как то тишина была с тех пор.


--------------------
Go to the top of the page
 
+Quote Post
Gate
сообщение Sep 20 2012, 19:29
Сообщение #21


Знающий
****

Группа: Свой
Сообщений: 859
Регистрация: 7-04-05
Из: Санкт-Петербург
Пользователь №: 3 943



Цитата(des00 @ Sep 20 2012, 12:43) *
хмм, а они уже довели свой инструмент до ума ? он появился года 2 назад, но как то тишина была с тех пор.

Да вроде работает. Моделирует, генерит hdl, который потом синтезирует синплифай. Даже с-модели делает. Вопрос в том, подойдет ли он для Ваших задач. Вот здесь я писал, как можно взять поиграться: http://electronix.ru/forum/index.php?showtopic=104839
ps вообще-то synplify dsp появился лет 7-8 назад, так что время отладить немножко было.


--------------------
"Человек - это существо, которое охотнее всего рассуждает о том, в чем меньше всего разбирается." (с) С.Лем
Go to the top of the page
 
+Quote Post
Tue
сообщение Sep 24 2012, 17:38
Сообщение #22


Частый гость
**

Группа: Свой
Сообщений: 166
Регистрация: 7-09-05
Из: Москва
Пользователь №: 8 340



Попробую повыступать в защиту HDL Code Generation в Simulink и использования его для проектирования ПЛИС. Здесь пишу скорее не топикстартеру, а людям, начавшим обсуждать Simulink HDL Coder
Цитата(ИльяКи @ Sep 19 2012, 16:42) *
Послушать отзывы так попытки использования MATLAB для мало-мальски эффективной HDL-генерации пока что есть утопия и лучше сразу писать в HDL. А так радужно это дело мне описывали, мол, написал функцию - она сразу так красиво сама в код заделалась и хоть сразу компиль и зашивай в ПЛИСину или разводи в ASIC, только настройки успевай выставлять. А оказалось что эта система даже об элементарную арифметику уже спотыкается =_=

Вот вообще с Вами не согласен. Никакой утопии нет, нужно просто "уметь готовить". Уже лет 5 наверное использую HDL Coder для Simulink'а для разработки проектов ПЛИС (об этом несколько раз писал на форуме, правда не в этом разделе). Именно нативный, без всяких вендорных фишек типа System Generator или DSP Builder (хотя если речь идет о серьезном ЦОС, то лучше конечно использовать их для получения максимального быстродействия в кристалле)

Цитата(des00 @ Sep 19 2012, 07:33) *
Ну т.е. что кроме фильтров вы генерировали с матлаба, использовали симулинк или m файлы, какое по вашему качество реализации получилось ? Интересует не столько Xilinx/Altera DSP Builder, а чистый нативный HDL кодер.

Да много чего генерировал, полноценные большие проекты делал в Симулинке, потом выход на VHDL/Verilog. Качество реализации зависит от степени приложения мозгов в проектировании. Если рассматривать это средство как инструмент для домохозяек и "бездумно" делать модель, то и код будет соответствующий. В случае же когда при проектировании есть понимание во что в ПЛИС превратится та или иная конструкция в модели, то все получается нормально. Да, возможно найдутся случаи, когда руками получится оптимальнее (площадь, время, ...) но у меня такого пожалуй не было. Да и не этим (не только этим) ценен для меня такой метод проектирования. Чтобы не повторяться можно почитать вот тут немного.
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Sep 24 2012, 18:30
Сообщение #23


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



Цитата(ИльяКи @ Sep 19 2012, 16:42) *
Ну это костыли еще посуровее будут, получается надо препарировать модель в местах деления пополам, такое зверство над моделью maniac.gif Безусловно, мне как начинающему будет полезно поманьячить лишний раз, но для чего-то серьезного надо бы уходить от подобной практики.

На счёт препарирования - из того что видел, такая метода позволяет существенно сократить время на разработку когда нарисовался какой то глюк через криворукость кодера или свою (или скорость не дотягивает), времени разбираться нет потому что нужно на "позавчера" и оно всё работает. Просто, как было сказано, нужно иметь представление о вн. структуре алгоритма, тогда такие "препарации" будут не очень болезненными, ну или представлять как оно может быть приблизительно реализовано на камне - тогда ещё проще laughing.gif
Go to the top of the page
 
+Quote Post
des00
сообщение Sep 28 2012, 15:37
Сообщение #24


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Tue @ Sep 24 2012, 12:38) *
Да много чего генерировал....

Спасибо за развернутый ответ, сгонял на конференцию, пообщался, посмотрел как люди работают, был несколько шокирован возможностями. В общем да, его нужно уметь готовить. Щас сижу изучаю синтез Digital Filter, блин, он даже оптимизирует csd умножители почти как человек. В планах собрать простой демодулятор и проверить ресурс, сравнить со своими наработками.

Один большой минус, цена.....

PS. Проверил валидацию задержек, на примере простых Digital Filter, теперь понятно как сделать cycle-accurate модель. Извините за глупые вопросы в начале %)


--------------------
Go to the top of the page
 
+Quote Post
Tue
сообщение Oct 1 2012, 18:16
Сообщение #25


Частый гость
**

Группа: Свой
Сообщений: 166
Регистрация: 7-09-05
Из: Москва
Пользователь №: 8 340



Цитата(des00 @ Sep 28 2012, 19:37) *
...сгонял на конференцию....

А есть какие-нить материалы в электронном виде ?
Go to the top of the page
 
+Quote Post
des00
сообщение Oct 2 2012, 03:25
Сообщение #26


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Tue @ Oct 1 2012, 12:16) *
А есть какие-нить материалы в электронном виде ?

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


--------------------
Go to the top of the page
 
+Quote Post
syoma
сообщение Oct 4 2012, 12:55
Сообщение #27


Профессионал
*****

Группа: Свой
Сообщений: 1 817
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368



Хочу написать, как пользователь Xilinx System Generator, сравнение с HDL Coder.
Работаю на нем уже 5 лет. В нем полностью без VHDL сделана real-time model управления 3-х-фазным IGBT инвертором со всей защитой, автоматикой и векторным управлением. Все крутится на Spartan-3. За все время - глюков было очень мало.
Сейчас хотим еще больше начать использовать Матлаб и они нас уламывают использовать ихнюю автоматическую генерацию кода - так как мы используем и процессоры и ПЛИС для управления системами. Но пообщавшись с ними (а моя фирма - key account для Mathworks) пока остановились только на Real-time Embedded coder для процессоров - тут спору нет - хорошая штука и генерит код то, что надо.
Но по HDL Coderу очень много вопросов.
Во первых модель все-равно надо приводить в фиксированную точку и играться с латентностью, как и в XSG - хотя у Матлаба есть интересные визарды, которые должны этот процесс ускорить. Но в конце концов идеала - чтобы человек вообще без знаний ПЛИС мог создавать генерируемый код - тут тоже не добиться.
Кстати насчет латентности
Цитата
Мне интересен натурный HDL кодер. На демонстрации которую матлабовцы показывали по россии, конвейеризация m файлов выглядела так, вместо a = b написали a1 = b, a = a1 (без каких либо квалификаторов и тегов) и получили прирост тактовой в ~5 раз, за счет конвейризации и увеличения латентности на 1 такт. При этом для моделирования этого m файла в матлабе, это "пустые" операции и задержки не будет. Т.е. модель и железо тут разошлись.

Это и есть фишка HDL Coderа. Но в этом скорей всего и его проблема. В XSG все четко - латентность программист сам задает для каждого блока и она моделируется. Если заданы нереальные значения (куча логики без регистров), то железо просто не разведется или будут огромные варнинги. Но если все развелось - то работать будет четко, как и модель. Если не развелось, то можно увидеть критичиские пути, но гонку сигналов каждый должен моделировать сам. Так что такой гибкости, как в HDL coder - там нет.


Во-вторых HDL Coder не будет работать со специфичискими ресурсами, типа DSP48, а все будет делать из логики.
С другой стороны - можно использовать нативный Stateflow для автоматов - нас это очень привлекает.
Третья - пока основная проблема - HDL Coder в отличии от XSG не поддерживает работу в составе System-on-Chip - то есть если сгенерированый код будет частью большого проекта с софтпроцессором, который должен иметь возможность обмениваться данными с матлабовской системой. Фактически такого механизма нет вообще. А он однозначно нужен для параметризации и т.д. В XSG все аккуратно сделано через двухпортовую память и шину данных с драйверами и всем-всем.

Ну и в последнюю очередь - цена. За HDL Coder + FPT + еще что-то из тулбоксов надо отдать 15k€. А к нему все равно ISE нужен. А если посчитать чистую стоимость XSG - получается в районе 900$.
В итоге мы пока остаемся на XSG. Кстати у меня Матлаббер уже умудрился PCIе корку в XSG дизайн всунуть, и как ни странно - она работает.

Цитата(Tue @ Oct 1 2012, 20:16) *
А есть какие-нить материалы в электронном виде ?

У меня есть презентация HDL Coder - могу выложить на ФТП
Go to the top of the page
 
+Quote Post
Goose
сообщение Oct 26 2012, 06:14
Сообщение #28


Частый гость
**

Группа: Свой
Сообщений: 165
Регистрация: 26-02-10
Из: Москва
Пользователь №: 55 683



Цитата(syoma @ Oct 4 2012, 15:55) *
Хочу написать, как пользователь Xilinx System Generator, сравнение с HDL Coder.
Работаю на нем уже 5 лет. В нем полностью без VHDL сделана real-time model управления 3-х-фазным IGBT инвертором со всей защитой, автоматикой и векторным управлением. Все крутится на Spartan-3. За все время - глюков было очень мало.
Сейчас хотим еще больше начать использовать Матлаб и они нас уламывают использовать ихнюю автоматическую генерацию кода - так как мы используем и процессоры и ПЛИС для управления системами. Но пообщавшись с ними (а моя фирма - key account для Mathworks) пока остановились только на Real-time Embedded coder для процессоров - тут спору нет - хорошая штука и генерит код то, что надо.
Но по HDL Coderу очень много вопросов.
Во первых модель все-равно надо приводить в фиксированную точку и играться с латентностью, как и в XSG - хотя у Матлаба есть интересные визарды, которые должны этот процесс ускорить. Но в конце концов идеала - чтобы человек вообще без знаний ПЛИС мог создавать генерируемый код - тут тоже не добиться.
Кстати насчет латентности

Это и есть фишка HDL Coderа. Но в этом скорей всего и его проблема. В XSG все четко - латентность программист сам задает для каждого блока и она моделируется. Если заданы нереальные значения (куча логики без регистров), то железо просто не разведется или будут огромные варнинги. Но если все развелось - то работать будет четко, как и модель. Если не развелось, то можно увидеть критичиские пути, но гонку сигналов каждый должен моделировать сам. Так что такой гибкости, как в HDL coder - там нет.


Во-вторых HDL Coder не будет работать со специфичискими ресурсами, типа DSP48, а все будет делать из логики.
С другой стороны - можно использовать нативный Stateflow для автоматов - нас это очень привлекает.
Третья - пока основная проблема - HDL Coder в отличии от XSG не поддерживает работу в составе System-on-Chip - то есть если сгенерированый код будет частью большого проекта с софтпроцессором, который должен иметь возможность обмениваться данными с матлабовской системой. Фактически такого механизма нет вообще. А он однозначно нужен для параметризации и т.д. В XSG все аккуратно сделано через двухпортовую память и шину данных с драйверами и всем-всем.

Ну и в последнюю очередь - цена. За HDL Coder + FPT + еще что-то из тулбоксов надо отдать 15k€. А к нему все равно ISE нужен. А если посчитать чистую стоимость XSG - получается в районе 900$.
В итоге мы пока остаемся на XSG. Кстати у меня Матлаббер уже умудрился PCIе корку в XSG дизайн всунуть, и как ни странно - она работает.


У меня есть презентация HDL Coder - могу выложить на ФТП

Очень хотел бы увидеть презентацию. я общался с этим толковым человеком с софтлайна, и он мне около часа затирал как прекрасно матлаб генерит код любой сложности причем и HDL и C, просто никто не умеет правильно галочки расставлять в настройках. Хотелось бы узнать как же правильно их расставлять)
Go to the top of the page
 
+Quote Post
x736C
сообщение Oct 30 2012, 07:30
Сообщение #29


Профессионал
*****

Группа: Участник
Сообщений: 1 273
Регистрация: 3-03-06
Пользователь №: 14 942



Мы перевели разработку модема на рельсы модельно-ориентированного проектирования (Simulink, Matlab).
В железе еще не проверяли, но по тактовым, эффективности и т.п. соизмеримо с ручным кодированием. По эффективности вылавливания глюков и по качеству системного уровня альтернативы не вижу.

Если по HDL-кодеру еще есть вопросы, то, например, Си-код генерируется совершенно замечательно.

Такой подход особенно полезен тем, кому надо будет проходить сертификацию по DO или КТ.

Да и Матлаб со своими генераторами уже не тот, что был даже еще год назад.


Насчет качества HDL и Си кода. Стало понятно, что необходимо хорошо разобраться что и как делает Матлаб из вашей модели. Все сам и красиво по волшебному нажатию кнопки он, конечно, не сделает.
Go to the top of the page
 
+Quote Post
petrov
сообщение Oct 30 2012, 10:01
Сообщение #30


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(x736C @ Oct 30 2012, 11:30) *
Мы перевели разработку модема на рельсы модельно-ориентированного проектирования (Simulink, Matlab).



Как осуществляется разворот сложной комбинационной схемы в последовательные вычисления во времени? Автоматически с генерацией управляющей логики и автоматов, c указанием на сколько тактов разбить вычисления?
Go to the top of the page
 
+Quote Post

4 страниц V  < 1 2 3 4 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 16th June 2025 - 19:58
Рейтинг@Mail.ru


Страница сгенерированна за 0.01523 секунд с 7
ELECTRONIX ©2004-2016