Совместное моделирование проектов в Modelsim (Qusestasim) и Simulink
Некоторое время назад мне пришлось много заниматся разработкой систем ЦОС на ПЛИС. В часности разроботкой и отладкой модемов. Хорошим инструментов для "обкатки" алгоритмов, и самое главное динамической визуализации поведения, является Simulink, который входит в состав Matlab. Simulink позволяет создать модель системы высокого уровня и настроить ее параметры согласно предпологаемым режимам работы. После переноса системы на какойнибуть из языков HDL, встает вопрос соответствия эталонной модели. И вот сдесь очень удобным является совместное моделирование системы реализованой в Simulink и в ПЛИС. В данной заметке я раскажу как это можно сделать.
Итак эксперементы будем проводить над такими версиями ПО:
- Matlab 2006b (7.3.0) с установленым Link for modelsim
- QuestaSim 6.4c
Далее по шагам что необходимо сделать для успешного запуска:
- Скомпилировать проект который хотим прогнать совместно с Simulink в рабочую библиотеку Questasim.
-
Запустить моделирование в Questasim командой:
vsim -foreign {simlinkserver d:/matlab/toolbox/modelsim/win32/simulinklink.dll} work.top
Предпологается что Matlab установлен в папку d:/matlab.
- Открываем новую модель Simulink и добавляем на нее компонент HDL Cosimulation, из папкм Link for modelsim, браузера моделей simulink.
- На закладке Connection указываем тип соединения Shared Memory, после этого на закладке Ports можно использовать кнопку Auto Fill которая позволяет автоматически получить список портов модуля. Если как в команде приведеной выше имя верхнего модуля top, то достаточно в окне вбить строку /top/ и нажать кнопку Ok. После этого должен появится список всех портов ввода-вывода модуля top.
- На закладке Clocks добавляем тактовые входы (с закладки Ports их необходимо убрать), указываем необходимые значения тактовых частот, а на закладке Timescale соотношения тактовых частот модели simulink и HDL модуля.
- Закрывем диалог настройки кнопкой Ok. После этого у блока HDL Cosimulation должны появится входные и выходные порты:
- Нажимаем Ctrl-E для открытия диалога параметров модели. Идем на закладку Solver. Выбираем:
Type: Fixed-step, Solver: discrete(no continuous states) Tasking mode for periodic sample times: Single Tasking
- Закрываем диалог кнопкой Ok.
Теперь можно добавить необходимые блоки для создания входных воздействий, и запускать модель кнопкой Start Simulation.
Эксперементально было установлено что при остановке модели Simulink и повторном ее запуске, состояние модели в Questasim сбрасывается только внешним сигналом сброса. Поэтому если в xHDL модели присутствуют блоки которые сбрасываются однократно при инициализации, то они "залипнут" в предыдущем состоянии что может привести к неправильной работе модели при повторном запуске. Если такие блоки присутствуют то необходимо перед каждым запуском Simulink модели перезапускать моделирование в Questasim (Modelsim).
Ниже представлен небольшой видеоролик как это все работает.
- блог пользователя mks
- 50296 просмотров
Новые записи в блогах
- Устранение дребезга контактов на основе вертикальных счетчиков
- Диагностика Imprecise Bus Faults в микроконтроллерах Cortex-M3/M4/M4F
- Self-powered камера
- Фоновый модулятор: беспроводная связь из ничего (перевод)
- Texas Instruments Analog Applications Journal SLYT612 "Снижение искажений в аналоговых КМОП ключах" (перевод)
- USB MSD. Часть 6. Команды SCSI (перевод)
- USB MSD. Часть 3. USB класс накопителей данных (перевод)
- Texas Instruments Application Report SBAA042 "Кодовые схемы, используемые в аналогово-цифровых преобразователях" (перевод)
- 10 принципов правильного интерфейса
- Релиз SDK на русский микропроцессор КРОЛИК
Комментарии
SEO консултации
брауни кекс
тайланд работа
Почивка на Малдиви от София
sapporo88
vibration analysis
avtoznak-dublikat and ru
avtoznak-dublikat and ru
Все о кожном недуге
Все о кожном недуге
buy generic lotrisone
best place to buy seroquel
buy generic seroquel no prescription
can you buy zovirax at the supermarket
buy duloxetine online
order propecia finasteride
reglan online
can you split cymbalta pills
buy coumadin canada
methotrexate online
clomid cheap no prescription
neurontin generic
can you buy reglan over the counter
best place to buy seroquel
buy coumadin meter
buy clomid canadian pharmacy
where do you buy clomid online
generic metoprolol
warfarin price
generic maxalt
stromectol buy online
desyrel
discount coupons on cymbalta
mobic
stromectol 3mg
zofran prices
crestor tabletten teilen
good site buy clomid
seroquel yellow pill
buy reglan liquid
cheapest place to buy seroquel
buy neurontin online
buy crestor in canada
Все о кожном недуге
Kennetherors
Визовая информация
Гостиницы
Путеводители
Круизы
Гостиницы
Отправить комментарий