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

More Related Content

What's hot

Разработка систем управления для отечественных АКПП
Разработка систем управления для отечественных АКППРазработка систем управления для отечественных АКПП
Разработка систем управления для отечественных АКППMATLAB
 
Быстрое прототипирование алгоритмов управления
Быстрое прототипирование алгоритмов управленияБыстрое прототипирование алгоритмов управления
Быстрое прототипирование алгоритмов управленияMATLAB
 
Цифровая обработка сигналов
Цифровая обработка сигналовЦифровая обработка сигналов
Цифровая обработка сигналовMATLAB
 
Экспорт алгоритмов и создание независимых приложений
Экспорт алгоритмов и создание независимых приложенийЭкспорт алгоритмов и создание независимых приложений
Экспорт алгоритмов и создание независимых приложенийMATLAB
 
Практическая верификация и командная работа
Практическая верификация и командная работаПрактическая верификация и командная работа
Практическая верификация и командная работаMATLAB
 
Полунатурная модель управляемой ракеты с пассивной ГСН
Полунатурная модель управляемой ракеты с пассивной ГСНПолунатурная модель управляемой ракеты с пассивной ГСН
Полунатурная модель управляемой ракеты с пассивной ГСНMATLAB
 
Параллельные и распределенные вычисления
Параллельные и распределенные вычисленияПараллельные и распределенные вычисления
Параллельные и распределенные вычисленияMATLAB
 
TMPA-2013 Senov: Applying OLAP and MapReduce Technologies for Performance Tes...
TMPA-2013 Senov: Applying OLAP and MapReduce Technologies for Performance Tes...TMPA-2013 Senov: Applying OLAP and MapReduce Technologies for Performance Tes...
TMPA-2013 Senov: Applying OLAP and MapReduce Technologies for Performance Tes...Iosif Itkin
 
TMPA-2013: Shipin System-C Control Points
TMPA-2013: Shipin System-C Control PointsTMPA-2013: Shipin System-C Control Points
TMPA-2013: Shipin System-C Control PointsIosif Itkin
 
Анализ данных и машинное обучение
Анализ данных и машинное обучениеАнализ данных и машинное обучение
Анализ данных и машинное обучениеMATLAB
 
Flame graph: новый взгляд на старое профилирование
Flame graph: новый взгляд на старое профилированиеFlame graph: новый взгляд на старое профилирование
Flame graph: новый взгляд на старое профилированиеКирилл Борисов
 
Технология предметно ориентированного программирования гетерогенных многоядер...
Технология предметно ориентированного программирования гетерогенных многоядер...Технология предметно ориентированного программирования гетерогенных многоядер...
Технология предметно ориентированного программирования гетерогенных многоядер...CEE-SEC(R)
 
20100314 virtualization igotti_lecture06
20100314 virtualization igotti_lecture0620100314 virtualization igotti_lecture06
20100314 virtualization igotti_lecture06Computer Science Club
 
о некоторых вопросах бинарной совместимости в C++
о некоторых вопросах бинарной совместимости в C++о некоторых вопросах бинарной совместимости в C++
о некоторых вопросах бинарной совместимости в C++corehard_by
 
Гареев Роман, Создание генератора промежуточного представления Ssa из полиэдр...
Гареев Роман, Создание генератора промежуточного представления Ssa из полиэдр...Гареев Роман, Создание генератора промежуточного представления Ssa из полиэдр...
Гареев Роман, Создание генератора промежуточного представления Ssa из полиэдр...Darya Zubova
 
Инженерная инфраструктура АСУ ТП
Инженерная инфраструктура АСУ ТПИнженерная инфраструктура АСУ ТП
Инженерная инфраструктура АСУ ТПАйдар Гилязов
 
Виртуалтрединг
ВиртуалтредингВиртуалтрединг
ВиртуалтредингCEE-SEC(R)
 
Автоматическая оптимизация алгоритмов с помощью быстрого возведения матриц в ...
Автоматическая оптимизация алгоритмов с помощью быстрого возведения матриц в ...Автоматическая оптимизация алгоритмов с помощью быстрого возведения матриц в ...
Автоматическая оптимизация алгоритмов с помощью быстрого возведения матриц в ...Alexander Borzunov
 
2014 Разработка программного средства для оценки параметров широкополосного с...
2014 Разработка программного средства для оценки параметров широкополосного с...2014 Разработка программного средства для оценки параметров широкополосного с...
2014 Разработка программного средства для оценки параметров широкополосного с...RF-Lab
 
Кутумов - Автоматизация тестирования транспортных карт
Кутумов - Автоматизация тестирования транспортных картКутумов - Автоматизация тестирования транспортных карт
Кутумов - Автоматизация тестирования транспортных картqasib
 

What's hot (20)

Разработка систем управления для отечественных АКПП
Разработка систем управления для отечественных АКППРазработка систем управления для отечественных АКПП
Разработка систем управления для отечественных АКПП
 
Быстрое прототипирование алгоритмов управления
Быстрое прототипирование алгоритмов управленияБыстрое прототипирование алгоритмов управления
Быстрое прототипирование алгоритмов управления
 
Цифровая обработка сигналов
Цифровая обработка сигналовЦифровая обработка сигналов
Цифровая обработка сигналов
 
Экспорт алгоритмов и создание независимых приложений
Экспорт алгоритмов и создание независимых приложенийЭкспорт алгоритмов и создание независимых приложений
Экспорт алгоритмов и создание независимых приложений
 
Практическая верификация и командная работа
Практическая верификация и командная работаПрактическая верификация и командная работа
Практическая верификация и командная работа
 
Полунатурная модель управляемой ракеты с пассивной ГСН
Полунатурная модель управляемой ракеты с пассивной ГСНПолунатурная модель управляемой ракеты с пассивной ГСН
Полунатурная модель управляемой ракеты с пассивной ГСН
 
Параллельные и распределенные вычисления
Параллельные и распределенные вычисленияПараллельные и распределенные вычисления
Параллельные и распределенные вычисления
 
TMPA-2013 Senov: Applying OLAP and MapReduce Technologies for Performance Tes...
TMPA-2013 Senov: Applying OLAP and MapReduce Technologies for Performance Tes...TMPA-2013 Senov: Applying OLAP and MapReduce Technologies for Performance Tes...
TMPA-2013 Senov: Applying OLAP and MapReduce Technologies for Performance Tes...
 
TMPA-2013: Shipin System-C Control Points
TMPA-2013: Shipin System-C Control PointsTMPA-2013: Shipin System-C Control Points
TMPA-2013: Shipin System-C Control Points
 
Анализ данных и машинное обучение
Анализ данных и машинное обучениеАнализ данных и машинное обучение
Анализ данных и машинное обучение
 
Flame graph: новый взгляд на старое профилирование
Flame graph: новый взгляд на старое профилированиеFlame graph: новый взгляд на старое профилирование
Flame graph: новый взгляд на старое профилирование
 
Технология предметно ориентированного программирования гетерогенных многоядер...
Технология предметно ориентированного программирования гетерогенных многоядер...Технология предметно ориентированного программирования гетерогенных многоядер...
Технология предметно ориентированного программирования гетерогенных многоядер...
 
20100314 virtualization igotti_lecture06
20100314 virtualization igotti_lecture0620100314 virtualization igotti_lecture06
20100314 virtualization igotti_lecture06
 
о некоторых вопросах бинарной совместимости в C++
о некоторых вопросах бинарной совместимости в C++о некоторых вопросах бинарной совместимости в C++
о некоторых вопросах бинарной совместимости в C++
 
Гареев Роман, Создание генератора промежуточного представления Ssa из полиэдр...
Гареев Роман, Создание генератора промежуточного представления Ssa из полиэдр...Гареев Роман, Создание генератора промежуточного представления Ssa из полиэдр...
Гареев Роман, Создание генератора промежуточного представления Ssa из полиэдр...
 
Инженерная инфраструктура АСУ ТП
Инженерная инфраструктура АСУ ТПИнженерная инфраструктура АСУ ТП
Инженерная инфраструктура АСУ ТП
 
Виртуалтрединг
ВиртуалтредингВиртуалтрединг
Виртуалтрединг
 
Автоматическая оптимизация алгоритмов с помощью быстрого возведения матриц в ...
Автоматическая оптимизация алгоритмов с помощью быстрого возведения матриц в ...Автоматическая оптимизация алгоритмов с помощью быстрого возведения матриц в ...
Автоматическая оптимизация алгоритмов с помощью быстрого возведения матриц в ...
 
2014 Разработка программного средства для оценки параметров широкополосного с...
2014 Разработка программного средства для оценки параметров широкополосного с...2014 Разработка программного средства для оценки параметров широкополосного с...
2014 Разработка программного средства для оценки параметров широкополосного с...
 
Кутумов - Автоматизация тестирования транспортных карт
Кутумов - Автоматизация тестирования транспортных картКутумов - Автоматизация тестирования транспортных карт
Кутумов - Автоматизация тестирования транспортных карт
 

Similar to Развертывание алгоритмов на ПЛИС

Подходы к мониторингу информационных систем
Подходы к мониторингу информационных системПодходы к мониторингу информационных систем
Подходы к мониторингу информационных системCisco Russia
 
Модельно-ориентированная инженерия в MATLAB и Simulink
Модельно-ориентированная инженерия в MATLAB и SimulinkМодельно-ориентированная инженерия в MATLAB и Simulink
Модельно-ориентированная инженерия в MATLAB и SimulinkAlexander Efremov
 
вгу презентация
вгу презентациявгу презентация
вгу презентацияAlexander Efremov
 
Автоматическая генерация C кода и тестирование на целевых вычислителях
Автоматическая генерация C кода и тестирование на целевых вычислителяхАвтоматическая генерация C кода и тестирование на целевых вычислителях
Автоматическая генерация C кода и тестирование на целевых вычислителяхMATLAB
 
Презентация Дроздова А. (Вице-президента Soft Machines), Владиславлева В.(Зам...
Презентация Дроздова А. (Вице-президента Soft Machines), Владиславлева В.(Зам...Презентация Дроздова А. (Вице-президента Soft Machines), Владиславлева В.(Зам...
Презентация Дроздова А. (Вице-президента Soft Machines), Владиславлева В.(Зам...Наталия Егорова
 
TMPA-2013 Petrenko Pakulin: Technical Solutions and Non-Technical Challenges ...
TMPA-2013 Petrenko Pakulin: Technical Solutions and Non-Technical Challenges ...TMPA-2013 Petrenko Pakulin: Technical Solutions and Non-Technical Challenges ...
TMPA-2013 Petrenko Pakulin: Technical Solutions and Non-Technical Challenges ...Iosif Itkin
 
3 средства автоматизации проектирования корпоративных приложений
3 средства автоматизации проектирования корпоративных приложений3 средства автоматизации проектирования корпоративных приложений
3 средства автоматизации проектирования корпоративных приложенийKewpaN
 
NG automate yourself
NG automate yourselfNG automate yourself
NG automate yourselfkulibin
 
Архитектура программных систем на Node.js
Архитектура программных систем на Node.jsАрхитектура программных систем на Node.js
Архитектура программных систем на Node.jsTimur Shemsedinov
 
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQAFest
 
Леонид Воронцов -- инженерия больших радиоэлектронных систем
Леонид Воронцов -- инженерия больших радиоэлектронных системЛеонид Воронцов -- инженерия больших радиоэлектронных систем
Леонид Воронцов -- инженерия больших радиоэлектронных системAnatoly Levenchuk
 
Reda ip businessplan
Reda ip businessplanReda ip businessplan
Reda ip businessplanYuri Fonin
 
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...Модели в профессиональной инженерии и тестировании программ. Александр Петрен...
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...yaevents
 
Промышленная разработка ПО. Лекция 2. Инструменты
Промышленная разработка ПО. Лекция 2. ИнструментыПромышленная разработка ПО. Лекция 2. Инструменты
Промышленная разработка ПО. Лекция 2. ИнструментыMikhail Payson
 
JSLab.Тимур Шемсединов. "Архитектура программных систем на Node.js"
JSLab.Тимур Шемсединов. "Архитектура программных систем на Node.js"JSLab.Тимур Шемсединов. "Архитектура программных систем на Node.js"
JSLab.Тимур Шемсединов. "Архитектура программных систем на Node.js"GeeksLab Odessa
 
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.Vadim Martynov
 
Дмитрий Новицкий (ОАО "НТЦ ФСК ЕЭС", ИПУ РАН). Разработка эталонной архитекту...
Дмитрий Новицкий (ОАО "НТЦ ФСК ЕЭС", ИПУ РАН). Разработка эталонной архитекту...Дмитрий Новицкий (ОАО "НТЦ ФСК ЕЭС", ИПУ РАН). Разработка эталонной архитекту...
Дмитрий Новицкий (ОАО "НТЦ ФСК ЕЭС", ИПУ РАН). Разработка эталонной архитекту...Cleandex, Research and Information Agency
 
Технический задел
Технический заделТехнический задел
Технический заделVladimir Petrov
 
SQL Server Reporting Services - дюжина советов
SQL Server Reporting Services - дюжина советовSQL Server Reporting Services - дюжина советов
SQL Server Reporting Services - дюжина советовAndrey Korshikov
 

Similar to Развертывание алгоритмов на ПЛИС (20)

Подходы к мониторингу информационных систем
Подходы к мониторингу информационных системПодходы к мониторингу информационных систем
Подходы к мониторингу информационных систем
 
Модельно-ориентированная инженерия в MATLAB и Simulink
Модельно-ориентированная инженерия в MATLAB и SimulinkМодельно-ориентированная инженерия в MATLAB и Simulink
Модельно-ориентированная инженерия в MATLAB и Simulink
 
вгу презентация
вгу презентациявгу презентация
вгу презентация
 
Автоматическая генерация C кода и тестирование на целевых вычислителях
Автоматическая генерация C кода и тестирование на целевых вычислителяхАвтоматическая генерация C кода и тестирование на целевых вычислителях
Автоматическая генерация C кода и тестирование на целевых вычислителях
 
Презентация Дроздова А. (Вице-президента Soft Machines), Владиславлева В.(Зам...
Презентация Дроздова А. (Вице-президента Soft Machines), Владиславлева В.(Зам...Презентация Дроздова А. (Вице-президента Soft Machines), Владиславлева В.(Зам...
Презентация Дроздова А. (Вице-президента Soft Machines), Владиславлева В.(Зам...
 
TMPA-2013 Petrenko Pakulin: Technical Solutions and Non-Technical Challenges ...
TMPA-2013 Petrenko Pakulin: Technical Solutions and Non-Technical Challenges ...TMPA-2013 Petrenko Pakulin: Technical Solutions and Non-Technical Challenges ...
TMPA-2013 Petrenko Pakulin: Technical Solutions and Non-Technical Challenges ...
 
3 средства автоматизации проектирования корпоративных приложений
3 средства автоматизации проектирования корпоративных приложений3 средства автоматизации проектирования корпоративных приложений
3 средства автоматизации проектирования корпоративных приложений
 
NG automate yourself
NG automate yourselfNG automate yourself
NG automate yourself
 
Архитектура программных систем на Node.js
Архитектура программных систем на Node.jsАрхитектура программных систем на Node.js
Архитектура программных систем на Node.js
 
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
 
QAFest. Роль тестирования в Devops
QAFest. Роль тестирования в DevopsQAFest. Роль тестирования в Devops
QAFest. Роль тестирования в Devops
 
Леонид Воронцов -- инженерия больших радиоэлектронных систем
Леонид Воронцов -- инженерия больших радиоэлектронных системЛеонид Воронцов -- инженерия больших радиоэлектронных систем
Леонид Воронцов -- инженерия больших радиоэлектронных систем
 
Reda ip businessplan
Reda ip businessplanReda ip businessplan
Reda ip businessplan
 
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...Модели в профессиональной инженерии и тестировании программ. Александр Петрен...
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...
 
Промышленная разработка ПО. Лекция 2. Инструменты
Промышленная разработка ПО. Лекция 2. ИнструментыПромышленная разработка ПО. Лекция 2. Инструменты
Промышленная разработка ПО. Лекция 2. Инструменты
 
JSLab.Тимур Шемсединов. "Архитектура программных систем на Node.js"
JSLab.Тимур Шемсединов. "Архитектура программных систем на Node.js"JSLab.Тимур Шемсединов. "Архитектура программных систем на Node.js"
JSLab.Тимур Шемсединов. "Архитектура программных систем на Node.js"
 
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
 
Дмитрий Новицкий (ОАО "НТЦ ФСК ЕЭС", ИПУ РАН). Разработка эталонной архитекту...
Дмитрий Новицкий (ОАО "НТЦ ФСК ЕЭС", ИПУ РАН). Разработка эталонной архитекту...Дмитрий Новицкий (ОАО "НТЦ ФСК ЕЭС", ИПУ РАН). Разработка эталонной архитекту...
Дмитрий Новицкий (ОАО "НТЦ ФСК ЕЭС", ИПУ РАН). Разработка эталонной архитекту...
 
Технический задел
Технический заделТехнический задел
Технический задел
 
SQL Server Reporting Services - дюжина советов
SQL Server Reporting Services - дюжина советовSQL Server Reporting Services - дюжина советов
SQL Server Reporting Services - дюжина советов
 

More from MATLAB

Создание модели ЭП
Создание модели ЭПСоздание модели ЭП
Создание модели ЭПMATLAB
 
Разработка сау для привода 2017
Разработка сау для привода 2017Разработка сау для привода 2017
Разработка сау для привода 2017MATLAB
 
Использование нейросетей для моделирования процесса гидроочистки бензина
Использование нейросетей для моделирования процесса гидроочистки бензина Использование нейросетей для моделирования процесса гидроочистки бензина
Использование нейросетей для моделирования процесса гидроочистки бензина MATLAB
 
Машинное обучение с MATLAB
Машинное обучение с MATLABМашинное обучение с MATLAB
Машинное обучение с MATLABMATLAB
 
Машинное и глубокое обучение
Машинное и глубокое обучение Машинное и глубокое обучение
Машинное и глубокое обучение MATLAB
 
МОП для моно-колеса
МОП для моно-колесаМОП для моно-колеса
МОП для моно-колесаMATLAB
 
Моделирование и анализ дискретно-событийных систем
Моделирование и анализ дискретно-событийных системМоделирование и анализ дискретно-событийных систем
Моделирование и анализ дискретно-событийных системMATLAB
 
Presagis presentation
Presagis presentationPresagis presentation
Presagis presentationMATLAB
 
Тренинги Mathworks
Тренинги MathworksТренинги Mathworks
Тренинги MathworksMATLAB
 

More from MATLAB (9)

Создание модели ЭП
Создание модели ЭПСоздание модели ЭП
Создание модели ЭП
 
Разработка сау для привода 2017
Разработка сау для привода 2017Разработка сау для привода 2017
Разработка сау для привода 2017
 
Использование нейросетей для моделирования процесса гидроочистки бензина
Использование нейросетей для моделирования процесса гидроочистки бензина Использование нейросетей для моделирования процесса гидроочистки бензина
Использование нейросетей для моделирования процесса гидроочистки бензина
 
Машинное обучение с MATLAB
Машинное обучение с MATLABМашинное обучение с MATLAB
Машинное обучение с MATLAB
 
Машинное и глубокое обучение
Машинное и глубокое обучение Машинное и глубокое обучение
Машинное и глубокое обучение
 
МОП для моно-колеса
МОП для моно-колесаМОП для моно-колеса
МОП для моно-колеса
 
Моделирование и анализ дискретно-событийных систем
Моделирование и анализ дискретно-событийных системМоделирование и анализ дискретно-событийных систем
Моделирование и анализ дискретно-событийных систем
 
Presagis presentation
Presagis presentationPresagis presentation
Presagis presentation
 
Тренинги Mathworks
Тренинги MathworksТренинги Mathworks
Тренинги Mathworks
 

Развертывание алгоритмов на ПЛИС

  • 1. 1© 2016 The MathWorks, Inc. Развертывание алгоритмов на ПЛИС Марат Усс, инженер ЦИТМ Экспонента
  • 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 - многоцелевая обзорная РЛС
  • 7. 7 Модельно-Ориентированное Проектирование – этапы: Использование симуляции в течение всего процесса разработки для обеспечения выполнения требований Модель в Fixed Point Модель во Floating Point Системные требования Модель реализации Исполняемый код
  • 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
  • 13. 13 HDL Verifier § Ко-симуляция с ModelSim или Incisive MATLAB/Simulink Входы Отклик HDL-симулятор HDL-код
  • 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