Использование MATLAB совместно с приборами Keysight Technologies
1. PXIe оцифровщики и генераторы с
программируемой ПЛИС –
cовместное использование с
MATLAB HDL Coder
Александр Чумадин
+7 985 222 43 20
alexander.chumadin@keysight.com
2. Page
Модульные приборы Keysight Technologies
Modular Update
February 2017
Ускорение тестирования на всех этапах разработки
устройств
Самые высокие требования
к измерениям:
Частотный диапазон
Полоса анализа/модуляции
Ускорение настройки за счет
использование таких же
измерительных приложений,
как при разработке
Компактные полностью
автоматизированные системы
выполнения ограниченного
набора тестов
Выходной
контроль
НастройкаРазработка
Ускорение разработки за счет единой программной среды на всех платформах
Анализ цепей Формирование сигналов Анализ сигналовМоделирование
4. Page
PXIe модули серии М3ххх в линейке Keysight
AWG с опциями переключения в реальном
времени и программируемой ПЛИС
• 1 Гвыб/с, 14 бит, 2 или 4 канала
• 500 Мвыб/с, 16 бит, 2 / 4 канала
4/27/201
7
M3xxxx
Products 4
Оцифровщик с опциями переключения в реальном
времени и программируемой ПЛИС
• 500 Мвыб/с, 14 бит, 2 или 4 канала
• 100 Мвыб/с, 14 бит, 4 или 8 каналов
Комбинированный модуль (AWG + оцифровщик) с
опциями переключения в реальном времени и
программируемой ПЛИС
• 500+100 Мвыб/с, 2+4 или 4+8 каналов
• 500+500 Мвыб/с, 2+2 канала
6. Page
Алгоритм программирования ПЛИС
M3xxxx
Products
6
4/27/201
7
Файл
прошивки
ПЛИС
Разработка ПЛИС
FPGAflow
• Графическая среда
• Создание кода ПЛИС:
• Блоки FPGAflow
• VHDL, Verilog или проекты Xilinx®
VIVADO/ISE
• Проекты в MATLAB/Simulink®
• IP ядра Xilinx® CORE Generator
• Сборка прошивки ПЛИС
Использование ПЛИС
• Загрузка файла в модуль по PCIe
Драйверы
• Взаимодействие с пользовательским ПО
• Поддержка Windows и Linux
• Загрузка файла в модуль по PCIe
FPGAflow
11. Page
ПО для программирования
4/27/201
7
M3xxxx
Products
18
SW Programming
HW Programming
M3xxxx ПЛИС Programming
Библиотеки и драйверы
M3xxxx HVI Technology PROCESSflow
FPGAflow
Среда HVI
• Графическое программирование в виде
диаграммы состояния
• Жесткое реальное время
• Синхронизация модулей
Программирование ПЛИС
• Графическая среда
• Поддержка MATLAB/Simulink
• Поддержка VHDL и Verilog
• Обработка и передача данных между ПЛИС
• Windows and Linux
M3xxxx Libraries
12. Page
Среда HVI
M3xxxx
Products
19
4/27/201
7
Бинарный
файл HVI
Создание HVI
PROCESSflow
• Графический GUI
• Создание и программирование
HVI
• Компиляция HVI
• Экспорт бинарного файла HVI
Запуск HVI
PROCESSflow
• Графический GUI
• Загрузка бинарного файла в
модуль
• Запуск/останов HVI
• Отладка HVI
Драйверы
• Поддержка Windows и Linux
• Загрузка бинарного файла в модуль
• Запуск/останов HVI
• Передача данных
• Запуск и управление триггерами
13. Page
Графическая среда управлением модулем
Программирование работы модуля в реальном
времени
Реальное время
• Аппаратное исполнение
• Без влияния ОС
• Шаг 1 нс
• Точность порядка пс
Задается время на
переход
Параллельность
• В каждом модуле своя
последовательность
• Характеристики не зависят от
числа модулей
14. Page
Графическая среда управлением модулем
M3xxxx
Products
Блоки
21
4/27/201
7
Доступные блоки
• Встроенные команды
• Команды из драйвера
• Основные математические и логические функции
• В обном блоке может быть несколько команд
• Передача данных:
• Чтение/запись данных между модулями
• Управление прошивкой ПЛИС
• Порты ввода/вывода, связывающие с прошивкой ПЛИС (FPGAflow)
Блоки
15. Page
Графическая среда управлением модулем
M3xxxx
Products
Блоки для детерминированного поведения
22
4/27/201
7
Упрвление работой (условия, ветвления)
• Влияют на один прибор
• Условие:
• Состояние входа
• Значение переменной или регистра
• Команда от программы, запущенной на ПК
If - Else For Loops While Loops Trigger Wait
16. Page
Графическая среда управлением модулем
Блоки для детерминированного поведения
Автоматическая
синхронизация модулей
Синхронизированные ветвления
Синхронизированное
ветвление
Синхронизированные
блоки
Синхронизированное управление
• Блоки исполняются во всех модулях
одновременно
• Условие:
• Состояние входа
• Значение переменной или
регистра
• Команда от программы,
запущенной на ПК
• Управление от ведущего модуля
17. Page
Пример использования HVI
M3xxxx
Products
Формирование сигнала
24
4/27/201
7
Задача:
сформировать два
сигнала с заданной
задержкой
Trigger
Generator
Trigger
Generator
Marker
Trigger
Triggers
Обычный подход
Проблемы: джиттер, когерентность, время на программирование
HVI
Время на разработку 5 минут, модули
синхронизированны