Программируемая логика - это не так уж и сложно. Разберемся вместе.
Ответить

IP блоки

Вс дек 20, 2015 04:23:58

Кому было бы интересно почитать про реализацию IP блоков (hdl) из Матлаб (Симулинк)?
Может, у кого-то есть ПЛИСина и куча свободного времени чтобы отточить это (под моим руководством) и нацарапать статью?

Re: IP блоки

Вс дек 20, 2015 20:44:13

Gudd-Head писал(а):Кому было бы интересно почитать про реализацию IP блоков (hdl) из Матлаб (Симулинк)?

Мне интересно почитать и реализовать! Вопрос, что за блоки?
Давно облизывался насчет симулинка, но не смог связать его с моделсимом заточенным под альтеру.
Gudd-Head писал(а):Может, у кого-то есть ПЛИСина и куча свободного времени чтобы отточить это (под моим руководством) и нацарапать статью?

ПЛИСина есть и не одна (циклоны 3 и 4, из недорогих и спартан 3).
Кучи свободного времени нет, могу выкроить по часу/двум в вечер (с отрывом на новогодние "каникулы").
Со статьей, тоже могу попытаться.

Re: IP блоки

Вт фев 09, 2016 19:42:35

Пипец, времени совсем нет.
Вопрос, что за блоки?
Блоки... ну не знаю. На ПЛИС есть смысл делать что-то из DSP — то, на что не хватит быстродействия обычному контроллеру.
Meteor писал(а):Давно облизывался насчет симулинка, но не смог связать его с моделсимом заточенным под альтеру.
В Симулинке генерится .hdl файл и подгружается в Квартус. Квартус делает из симулинковской схемы один блок.

Re: IP блоки

Ср фев 10, 2016 05:56:41

Gudd-Head писал(а):На ПЛИС есть смысл делать что-то из DSP — то, на что не хватит быстродействия обычному контроллеру.

Возможности ПЛИС я знаю (сам работаю исключительно с ПЛИСинами, про МК уже даже позабыл-позабросил). Вопрос был на что именно из блоков ориентироваться. Одно дело скажем делать связку блоков из IP - ядер стороннего производителя (или плис-производителя) и другое под IP блоком понимать набор своего функционала (вот например у меня есть блок формирования протоколов).
Gudd-Head писал(а):В Симулинке генерится .hdl файл и подгружается в Квартус. Квартус делает из симулинковской схемы один блок.

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

Re: IP блоки

Пн фев 22, 2016 10:38:04

На этой неделе наконец-то удалось отладить полный процесс:
Сборка и моделирование блока в Симулинке, создание .hdl файла, экспорт его в Квартус и создание символа, компиляция и прошивка ПЛИСины, отладка (обратная связь из ПЛИСины в комп).
Сразу появилось много неочевидных (наверное, для тех кто ранее не работал с ПЛИС) подводных камней. Может, дело в высокой тактовой частоте (300 МГц).

Re: IP блоки

Пн фев 22, 2016 10:52:58

Поздравляю!
300 МГц это серьезно. Без TimeQuest делать нечего, начиная с 200 МГц.
Формируя hdl симулинк хоть что-то пустил в конвейер? Или раскидал напрямую?

Re: IP блоки

Сб мар 19, 2016 23:13:44

Meteor писал(а):300 МГц это серьезно. Без TimeQuest делать нечего, начиная с 200 МГц.
Ну не знаю, ни разу не запускал :))) На этой неделе начало получаться =)))
Первое время конечно вставал вопрос, что зя хня?!? Когда вместо прямой линии была почти что кардиограмма со скачками ±100%. Но всё решают триггеры :))) хуяк-хуяк и на выходе не будет непонятных результатов.
Ну и конечно даташиты. Например, я знаю что у у ПЛИСины есть умножители 9×9, которые работают на 300 МГц. Потому все скоростные вычисления яя подвожу под 9 знаков. А ещё есть двойной умножитель 18×18, он работает чуть медленней, чем 9×9. Потому чтобы дать ему просраться я защёлкиваю его не через 1, а через 2 такта (с запасом).

Re: IP блоки

Вт мар 29, 2016 05:50:06

А Вы не пробовали запускать в симулинке м-файлы?
У меня есть примитивная функция выявления перехода через порог.
В матлабе она работает корректно, а вот когда ее же скормил симулинку - выдала мне вместо одномерного вектора массив размером 51*Х.
При этом не наблюдаю даже намека на соответствие с тем, что делает рабочее поле матлаба.

Re: IP блоки

Пт апр 29, 2016 17:55:22

Бл. Совсем плох стал. Извиняйте.

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

А если применительно к теме, то скорее всего компилятор будет ругаться, что данный блок не поддерживается HDL и поэтому ему его не сгенерить. Не все блоки можно вставлять в будущий ПЛИСовский проект, только "избранные".

А я тем временем наконец-то победил (вроде) все аномалии в прошивке для ПЛИСины. Прокачал свой скилл до некст левела, так сказать. И понял что триггеры (задержки) — наше всё. Надо бы, наверное, накропать статейку... Но у меня и так нет времени даже просто выйти на форум. Там слишком много очевидных для меня вещей которые надо будет расписывать подробно для незнакомых с Матлабом. И полноценную поддержку статьи я не смогу осуществлять. Но, блин, надо бы. Кстати, я ведь пока только с Альтерой работаю. Вы ведь с другими ПЛИСами тоже? Что если дойдёт дело и вы напишите часть для ПЛИС других фирм? Обещаю выходить на связь почаще вместо игр на телефоне :oops:
Мне бы в своё время это очень помогло.

До связи :)

Ну т.е. вы мне блок с моделью, а я уж буду пробовать.
Ответить