Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Создание модели для последующего перевода в HDL
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Вопросы системного уровня проектирования
Djony1987
Здравсвуйте!
Какими принципами руководствоваться при создании модели в Simulink, чтобы потом можно было её конвертировать в HDL с помощью HDL Coder?
Спасибо!
litv
Цитата(Djony1987 @ Feb 15 2010, 19:56) *
Здравсвуйте!
Какими принципами руководствоваться при создании модели в Simulink, чтобы потом можно было её конвертировать в HDL с помощью HDL Coder?
Спасибо!


На мой взгляд прямого и универсального конвертора не получится(как говорил Жванецкий если конечно Вас не интересует результат).
Надо пользоваться фирменными средствами xilinx(System Generator и AccelDSP) и altera для simulink.
Например вы хотите фильтр и синтезатор частоты. Как Вы потом Ваш реализуете VHDL??? Вот в чем вопрос.
А Xilinx и Altera имеют фирменные и оптимальные генераторы под свои архитектуры по быстродействию и числу вентилей.
Tue
Djony1987, не слушайте litv, все отлично получается. Уже давно испульзую Simulink и Simulink HDL Coder для создания проектов ПЛИС любой сложности. В хелпе очень хорошо все расписано. Если Вам что-то непонятно, задайте конкретные вопросы.
Djony1987
litv, Tue Спасибо за ответы!

Tue, а он может генерировать HDL просто стандартных блоков? Например декодера Витерби? Какие-то есть ограничения?
Спасибо!
Tue
список стандартных блоков, готовых к переводу в HDL можно посмотреть командами hdllib (это набоор блоков из Simulink) и eml_hdl_design_patterns (это написанные на Embedded Matlab).
Djony1987
Цитата(Tue @ Feb 20 2010, 17:10) *
список стандартных блоков, готовых к переводу в HDL можно посмотреть командами hdllib (это набоор блоков из Simulink) и eml_hdl_design_patterns (это написанные на Embedded Matlab).

Спасибо большое!
Хороший ли код получается при этой операции? Хочу написать декодер Витерби с мягкими решениями, можно ли например сгенерировать здесь и потом уже улучшить код? Или лучше писать самому?
petrov
ИМХО не стоит на всякие генераторы всерьёз рассчитывать, вручную обычно всё пишется.
fontp
Цитата(petrov @ Feb 20 2010, 17:43) *
ИМХО не стоит на всякие генераторы всерьёз рассчитывать, вручную обычно всё пишется.


Разве что алгоритмы стандартные и реализованы в библиотеке AccelWare для AccelDSP
Там реализована линейная алгебра, фурье и т.д..
Muscat
Уважаемые, простите что влезу в эту тему со своим вопросом

Я студент, на работе поставлена задача - написать модель, которая будет имитировать работу кодера и декодера Витерби. То есть делаем настраиваем источник бинарных последовательностей, настраиваемый кодер, канал с варьируемой BER и такой же варьируемый декодер. Далее смотрим полученную после декодирования ошибку, выбираем оптимальную структуру, делаем декодер на ПЛИС.

Проблма в том, что я новичок в Matlab, до этого делал только цифровую обработку в SPTool. Есть опыт решения вычислительных задач на С++. Наработки надо показать в ближайший месяц. Можно конечно скачать готовое решение, но хочется как можно быстрее, не тратя пока времени на подробности, разобраться с основами моделирования в симулинке.
Посоветуйте хорошую книгу,что то вроде "Simulink для радионженера", потому как все книги по ЦОС описывают проектирование различных фильтров, а это я уже более менее себе представляю. Ищутся любые, как бумажные так и электронные книги, на русском или английском языках.
Спасибо
petrov
Внутренности декодера витерби неудобно в симулинке разрабатывать, лучше делайте на скриптовом языке в матлабе.
Muscat
Пока я вижу это так
1) Отрабатывается модель из симулинковских блоков
2) Пишется HDL код декодера, который потом преобразуется в блок для симулинка и модель прогоняется уже систем
3) Синтезируется проект, и снова вставляется в существующую модель
Так пойдет?
Или как правильно это сделать?

Скачал и читаю Дьяконов В. П. "Simulink 5/6/7. Самоучитель". Хорошая книга?
petrov
Цитата(Muscat @ Jun 15 2010, 14:24) *
1) Отрабатывается модель из симулинковских блоков


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

Цитата(Muscat @ Jun 15 2010, 14:24) *
2) Пишется HDL код декодера, который потом преобразуется в блок для симулинка и модель прогоняется уже систем


ИМХО прежде чем на HDL что-то писать это нужно промоделировать тщательно, желательно вплоть до арифметических операций с ограниченной разрядностью как это будет FPGA, матлабовский язык для этого хорошо подходит.
Muscat
Таким образом окончательный план действий

1) Учить матлабовский язык, описывать на нем механизм работы декодера
2) Моделировать в симулинке
3) Profit!

Или не парить мозг, а просто сразу писать декодер на С++ и потом с нуля писать полученный алгоритм на VHDL ?
hobgoblin
Код на матлабовском языке можно использовать и в simulink. там есть блок под названием Embedded Matlab function.
Огромный плюс с точки зрения последующего переноса на железо заключается в наличии в MATLAB-е fixed point toolbox. Существуют ли внятные библиотеки для работы с данными в формате с фиксированной точкой нестандартных разрядностей под C++ я не знаю.
Muscat
Тогда посоветуйте книгу или статью с которой стоит начать?

Принцип, идею работы декодера Витерби понял. Интересуют различные способы реализации.
И что тогда почитать по матлабу, как языку программирования. Опыт писания на других язык имеется
petrov
Цитата(Muscat @ Jun 15 2010, 17:03) *
Таким образом окончательный план действий

1) Учить матлабовский язык, описывать на нем механизм работы декодера
2) Моделировать в симулинке
3) Profit!

Или не парить мозг, а просто сразу писать декодер на С++ и потом с нуля писать полученный алгоритм на VHDL ?


В первую очередь читать книги, статьи и патенты по декодеру витерби и т. п . Вряд ли сложность в языке будет. В матлабе будет удобнее т. к. это среда моделирования с кучей готовых средств визуализации результатов и математических функций. Симулинк может и не нужен вам вовсе.
dxp
Цитата(hobgoblin @ Jun 15 2010, 20:14) *
Существуют ли внятные библиотеки для работы с данными в формате с фиксированной точкой нестандартных разрядностей под C++ я не знаю.

SystemC.
Muscat
Начал писать модель декодера на С++.
Пишу "так как понял" - отработал операции на бумаге руками и в матлабе. В матлабе получается криво, буду делать в том, в чем умею.
Но потом все равно придется переводить все это на HDL. Поискал по инету, но ничего по нужной теме не нашел. В основном либо готовые ядра, либо абстрактное описание работы. Подкиньте пожалуйста ссылок на архитектуру реализации?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.