Завершающий доклад дня будет посвящён реализации и верификации разработанных алгоритмов обработки сигналов на конечных целевых платформах. Мы продемонстрируем современный подход к решению этой задачи в рамках концепции МОП, подразумевающий активное использование поведенческой модели алгоритма, а также автоматизацию многих этапов разработки и тестирования.
2. 2
Процесс реализации сложных систем на
целевом оборудовании
Детальный проект
(fixed-point,
микроархитектура)
Разработка
алгоритма
Исследование
архитектуры
на системном
уровне
РЕАЛИЗАЦИЯ
ТРЕБОВАНИЯ
ТЕСТИРОВАНИЕ И ВЕРИФИКАЦИЯ
3. 3
Модельно-Ориентированное
Проектирование для ПЛИС
СПЕЦИФИКАЦИЯ
Работа со спецификацией:
o Модель не используется повторно
o Ограниченные возможности исследования
микроархитектуры
o Ошибки ручного кодирования, неоднозначная
трактовка спецификации
o Медленная верификация, ошибки поздней
стадии
o Поздняя интеграция
Модельно-Ориентированное Проектирование:
• Моделирование мульти-доменных систем
• Анализ и оптимизация поведения системы
• Совместная работа разных отделов
ИНТЕГРАЦИЯ
АППАРАТНАЯ РЕАЛИЗАЦИЯ
Микроархитектура
Язык описания аппаратуры
Особенности платформы
ТЕСТИРОВАНИЕИВЕРИФИКАЦИЯ
МОДЕЛЬ
АЛГОРИТМЫ
НА СИСТЕМНОМ УРОВНЕ
ИССЛЕДОВАНИЯ ТРЕБОВАНИЯ
4. 4
Модельно-Ориентированное
Проектирование для ПЛИС
СПЕЦИФИКАЦИЯСПЕЦИФИКАЦИЯ
ИНТЕГРАЦИЯ
АППАРАТНАЯ РЕАЛИЗАЦИЯ
Микроархитектура
Язык описания аппаратуры
Особенности платформы
ТЕСТИРОВАНИЕИВЕРИФИКАЦИЯ
Модельно-Ориентированное Проектирование
• Моделирование мульти-доменных систем
• Анализ и оптимизация поведения системы
• Совместная работа разных отделовМОДЕЛЬ
АЛГОРИТМЫ
НА СИСТЕМНОМ УРОВНЕ
ИССЛЕДОВАНИЯ ТРЕБОВАНИЯ
Simulink Coder, Embedded Coder и HDL Coder
• Генерируют код для реализации моделей на
аппаратных платформах
Средства верификации MathWorks (HDL Verifier,
Simulink RealTime…)
• Повторно использует модели в качестве
тестбенчей или эталонов для сравнения при
HDL-симуляции
5. 5
Применение концепции МОП заказчиками
Сокращение времени на реализацию - 48% (всего проекта - 33%)
Создание прототипа FPGA ускорилось на 47%
Цикл одной итерации проекта – на 80% короче
Применение
HDL Coder и HDL Verifier
Написание кода и
тестовых векторов
вручную
1-й прототип FPGA 2-й прототип FPGA
1-й прототип FPGA
6. 6
История успеха - Reutech Radar Systems
Задача
Разработать ядро подсистемы обработки сигналов для
радиолокационной системы мониторинга воздушного и
морского пространства
Решение
Применить концепцию МОП с MATLAB и Simulink для
разработки алгоритмов и ключевых компонентов
модели, симуляции на системном уровне и генерации
HDL-кода
Результаты
§ Время разработки уменьшилось на два года
§ Повторное использование проектов ЦОС
§ Создано надёжно программное обеспечение
“Завершить этот проект вовремя без
использования концепции МОП было бы
очень сложно. Возможность генерировать
HDL-код и отделить создание алгоритмов
обработки сигналов от детализированной
аппаратной реализации помогло нам
уменьшить затраты над данным проектом
на два инженер-года.”
Kevin Williams
Reutech Radar Systems
RSR 210N - многоцелевая
обзорная РЛС
8. 8
Технология генерации HDL-кода
• Тип данных fixed-point и вычисления в
fixed-point арифметике
• Автоматический перевод функций и
моделей в fixed-point арифметику
• Основа автоматической кодогенерации
• Автоматическая генерация
синтезируемого Verilog или VHDL кода из
функций MATLAB, моделей Simulink и
диаграмм Stateflow
HDL
Coder
MATLAB
Coder
Fixed-Point
Designer
9. 9
Анализ в Fixed-Point Designer
От floating-point моделей к оптимизированным fixed-point моделям:
• автоматическое
отслеживание
динамического
диапазона
сигналов для
блоков Simulink и
блоков MATLAB
function, выбор
размера слова и
дробной части
10. 10
Анализ в Fixed-Point Designer
Автоматическое
сравнение
результатов
симуляции:
• Floating-Point vs.
Fixed-Point
• Fixed-Point vs.
Fixed-Point
11. 11
HDL Coder
§ Читаемый открытый код
§ Простота замены целевой платформы
§ Анализ и оптимизация по
скорости/площади
§ Работа с фиксированной и плавающей
точкой
§ Варианты выбора микроархитектуры
§ Оптимизация под конкретную
платформу
§ Трассируемость к модели и
требованиям (DO-254)
HDL
Coder
МОДЕЛЬ
MATLAB Simulink Stateflow
Синтезируемый
VHDL / Verilog
12. 12
Генерация кода в плавающей точке
Двунаправленная
трассируемость
Native Floating Point
14. 14
HDL Verifier
§ Верификация в режиме ПЛИС-в-контуре
§ Повторное использование
тестбенчей MATLAB/Simulink
§ Ускорение верификации на
аппаратной платформе
MATLAB/Simulink
Вход Отклик
15. 15
Работа с пользовательскими платам
Reference Design
Система ПЛИС/СнК
АЛГОРИТМ
АЛГОРИТМ
Входное
устройство
• FIFO
• Контроллеры памяти
• RAM
• Блоки деления частоты
• Управляющая логика
Внешняя память
Данные Выходное
устройство
Данные
Кристалл ПЛИС/СнК
HDL Coder
16. 16
Работа с пользовательскими платам
Reference Design
Система ПЛИС/СнК
АЛГОРИТМ
АЛГОРИТМ
• FIFO
• Контроллеры памяти
• RAM
• Блоки деления частоты
• Управляющая логика
Внешняя память
Данные Данные
Кристалл ПЛИС/СнК
Интерфейс
Reference Design
Интерфейс
ИнтерфейсИнтерфейс
HDL Coder
IP
Core
17. 17
Кто создаёт Reference Design?
Разработчик
алгоритма
Инженер ПЛИС,
Разработчик
встраиваемого
ПО
§ Инженер ПЛИС:
– Создаёт и отлаживает аппаратный проект системы (разово)
§ Разработчик алгоритма:
– Использует HDL Coder для быстрых итераций алгоритма на плате
Reference
Design
АЛГОР
ИТМ
• FIFO
• Контроллеры
памяти
Данны
е
Данны
е
Интерфейс
Reference Design
Интерфейс
ИнтерфейсИнтерфейс
IP
Core