Top Banner
ni.com Введение в LabVIEW FPGA
28

Введение в LabVIEW FPGA - nstu.runitec.nstu.ru/.../LabVIEW_FPGA_Webcast_6.14_rus.pdf · LabVIEW LabVIEW FPGA Процессор реального FPGA времени 1 23

Mar 19, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Введение в LabVIEW FPGA - nstu.runitec.nstu.ru/.../LabVIEW_FPGA_Webcast_6.14_rus.pdf · LabVIEW LabVIEW FPGA Процессор реального FPGA времени 1 23

ni.com

Введение в LabVIEW FPGA

Page 2: Введение в LabVIEW FPGA - nstu.runitec.nstu.ru/.../LabVIEW_FPGA_Webcast_6.14_rus.pdf · LabVIEW LabVIEW FPGA Процессор реального FPGA времени 1 23

2 ni.com

Технология FPGA

Блоки памяти Хранят наборы данных или значения в

определяемой пользователем области памяти

Конфигурируемые логические

блоки (CLBs) Реализуют логику, используя триггеры и

таблицы преобразования (LUTs)

Блоки умножения и цифровые

сигнальные процессоры (DSPs) Реализуют обработку сигналов используя

схемы умножителей и умножителей-

накопителей

Блоки ввода-вывода Обеспечивают непосредственный доступ к

линиям цифрового и аналогового ввода-

вывода

Программируемые

межсоединения Создают маршруты распространения

сигналов в матрице FPGA

Page 3: Введение в LabVIEW FPGA - nstu.runitec.nstu.ru/.../LabVIEW_FPGA_Webcast_6.14_rus.pdf · LabVIEW LabVIEW FPGA Процессор реального FPGA времени 1 23

3 ni.com

Будущее FPGA:

Гетерогенные, с массовым параллелизмом системы

на кристаллах

• Снижение потребляемой мощности

• Уменьшение общей площади на плате

• Улучшение реконфигурирования

• Снижение стоимости

Image Source Xilinx: Xilinx_Zynq-7000_AP_SoC.jpg

Page 4: Введение в LabVIEW FPGA - nstu.runitec.nstu.ru/.../LabVIEW_FPGA_Webcast_6.14_rus.pdf · LabVIEW LabVIEW FPGA Процессор реального FPGA времени 1 23

4 ni.com

Эволюция подходов к технологии проектирования

Более совершенные Традиционные компоненты

Page 5: Введение в LabVIEW FPGA - nstu.runitec.nstu.ru/.../LabVIEW_FPGA_Webcast_6.14_rus.pdf · LabVIEW LabVIEW FPGA Процессор реального FPGA времени 1 23

5 ni.com

Процессор

Метод, основанный на процессоре

Аппаратн

ые с

ред

ств

а

Операц

ионная с

исте

ма

AP

I драй

вера

При

клад

ная п

рогр

ам

ма

Вы

чи

сл

ени

я

Выходы

Система

Или

устройство

Входы

Отклик через

~25 мкс

Page 6: Введение в LabVIEW FPGA - nstu.runitec.nstu.ru/.../LabVIEW_FPGA_Webcast_6.14_rus.pdf · LabVIEW LabVIEW FPGA Процессор реального FPGA времени 1 23

6 ni.com

Процессор

Принятие решений в схеме FPGA

FPGA

Операц

ионная с

исте

ма

AP

I драй

вера

При

клад

ная п

рогр

ам

ма

Вы

чи

сл

ени

я

Выходы

Система

Или

устройство

Входы

Отклик через

~25 нс

Page 7: Введение в LabVIEW FPGA - nstu.runitec.nstu.ru/.../LabVIEW_FPGA_Webcast_6.14_rus.pdf · LabVIEW LabVIEW FPGA Процессор реального FPGA времени 1 23

7 ni.com

Архитектура NI LabVIEW RIO

Процессор FPGA

Аналоговый ввод

Аналоговый вывод

Цифровой ввод-вывод

Цифровой ввод-вывод

Подход NI

Page 8: Введение в LabVIEW FPGA - nstu.runitec.nstu.ru/.../LabVIEW_FPGA_Webcast_6.14_rus.pdf · LabVIEW LabVIEW FPGA Процессор реального FPGA времени 1 23

8 ni.com

Модуль LabVIEW FPGA

• Использование LabVIEW для разработки аппаратных средств

• Разгрузка наиболее важных частей вашего приложения

• Высокоскоростное управление

• Обработка сигналов в реальном времени

• Пользовательские протоколы

• Специализированные тактирование,

запуск и синхронизация

• Быстрое тестирование методом

стимул/отклик

Page 9: Введение в LabVIEW FPGA - nstu.runitec.nstu.ru/.../LabVIEW_FPGA_Webcast_6.14_rus.pdf · LabVIEW LabVIEW FPGA Процессор реального FPGA времени 1 23

9 ni.com

Интерфейс ввода-вывода Обмен данными

Управление Тактирование

Элементы LabVIEW FPGA

Page 10: Введение в LabVIEW FPGA - nstu.runitec.nstu.ru/.../LabVIEW_FPGA_Webcast_6.14_rus.pdf · LabVIEW LabVIEW FPGA Процессор реального FPGA времени 1 23

10 ni.com

~4000 строк VHDL

Поточечное измерение аналоговых

сигналов

Прямая передача аналоговых данных в

память компьютера через FIFO для

регистрации данных, визуализации и т.п.

Абстрагирование от сложности аппаратных

средств

VHDL LabVIEW FPGA сравните

Page 11: Введение в LabVIEW FPGA - nstu.runitec.nstu.ru/.../LabVIEW_FPGA_Webcast_6.14_rus.pdf · LabVIEW LabVIEW FPGA Процессор реального FPGA времени 1 23

11 ni.com

Отображение LabVIEW на FPGA

W

X

Y Z

A

B

C

D

F

Page 12: Введение в LabVIEW FPGA - nstu.runitec.nstu.ru/.../LabVIEW_FPGA_Webcast_6.14_rus.pdf · LabVIEW LabVIEW FPGA Процессор реального FPGA времени 1 23

12 ni.com

“VI” = Приложение

“Лицевая панель” = Элементы интерфейса “Блок-диаграмма” = Код

“Проект” = Конфигурация

системы

Среда графического программирования LabVIEW

Page 13: Введение в LabVIEW FPGA - nstu.runitec.nstu.ru/.../LabVIEW_FPGA_Webcast_6.14_rus.pdf · LabVIEW LabVIEW FPGA Процессор реального FPGA времени 1 23

13 ni.com

Доступ к вводу-выводу и периферии

• Простые API для ввода-вывода на лицевую панель

• Высокая пропускная способность потокового обмена

данными с хостом или другими устройствами PXI через

PCI Express

• Чтение/запись в DRAM с произвольной адресацией

Программирование с LabVIEW FPGA

• Элементы программирования, знакомые по

LabVIEW

• Программирование, симуляция, отладка,

компиляция и развертывание в LabVIEW

• Интеграция внешних FPGA IP

Высокоэффективные свойства

• Высокопроизводительные математические

функции

• Улучшенное управление тактированием

• Доступ к оптимизированным ядрам цифровой

обработки сигналов

Page 14: Введение в LabVIEW FPGA - nstu.runitec.nstu.ru/.../LabVIEW_FPGA_Webcast_6.14_rus.pdf · LabVIEW LabVIEW FPGA Процессор реального FPGA времени 1 23

14 ni.com

В программно проектируемых измерительных

приборах FPGA, программируемые

пользователем, предоставляют возможность :

1. Выполнять измерения и генерацию стимулирующих

воздействия в FPGA

2. Тестировать в контуре с обратной связью или в

соответствии с протоколом

3. Реализовать пользовательский запуск и сжатие данных

4. Детерминировано выполнять тесты и управлять

тестируемым объектом

5. Учитывать индивидуальные особенности тестируемого

устройства или специализированного приложения

Наивысшая

производительность

тестирования

Новое, инновационное

тестирование

Перспективы многократного

использования аппаратных

средств

Минимальная стоимость тестирования

Page 15: Введение в LabVIEW FPGA - nstu.runitec.nstu.ru/.../LabVIEW_FPGA_Webcast_6.14_rus.pdf · LabVIEW LabVIEW FPGA Процессор реального FPGA времени 1 23

15 ni.com

Процессор FPGA

Аналоговый ввод

Аналоговый вывод

Цифровой В/В

Цифровой В/В

FPGA –расширения драйвера прибора

Гибкость архитектуры LabVIEW

RIO Совместимость с драйверами

стандартных промышленных

приборов

FPGA-расширения драйвера прибора

Page 16: Введение в LabVIEW FPGA - nstu.runitec.nstu.ru/.../LabVIEW_FPGA_Webcast_6.14_rus.pdf · LabVIEW LabVIEW FPGA Процессор реального FPGA времени 1 23

16 ni.com

Архитектура NI LabVIEW RIO

Процессор FPGA

Аналоговый ввод

Аналоговый вывод

Цифровой ввод-вывод

Цифровой ввод-вывод

LabVIEW FPGA для встроенных систем

Page 17: Введение в LabVIEW FPGA - nstu.runitec.nstu.ru/.../LabVIEW_FPGA_Webcast_6.14_rus.pdf · LabVIEW LabVIEW FPGA Процессор реального FPGA времени 1 23

17 ni.com

NI Linux Real-Time: гибкая программная архитектура

FPGA Interface C

API C/C++

LabVIEW

LabVIEW

FPGA

FPGA Процессор реального

времени

1

2 3

1 LabVIEW RT и FPGA

2

Приложение LabVIEW RT для

ввода-вывода, вызов

приложений или библиотек

C/C++ app or library

3 C/C++ на процессоре RT,

C API интерфейс для обмена данными

между FPGA и LabVIEW FPGA

Page 18: Введение в LabVIEW FPGA - nstu.runitec.nstu.ru/.../LabVIEW_FPGA_Webcast_6.14_rus.pdf · LabVIEW LabVIEW FPGA Процессор реального FPGA времени 1 23

18 ni.com

Демонстрация – измерение сигнала с датчика в

LabVIEW FPGA

1 2 3

Датчик

приближения

Ротор

Выходной

сигнал

датчика

тахометра

Порог отсечения

помех

Порог

Гистерезис

Время полного оборота

одного зубца датчика

приближения

Преобразование

периода (мкс/импульс) в

обороты/минуту

Page 19: Введение в LabVIEW FPGA - nstu.runitec.nstu.ru/.../LabVIEW_FPGA_Webcast_6.14_rus.pdf · LabVIEW LabVIEW FPGA Процессор реального FPGA времени 1 23

19 ni.com

Механизмы интеграции HDL

FPGA

LabVIEW FPGA VI

Интеграция IP

CLIP пользователя

CLIP пользователя

101110

I/O

Socketed

CLIP 101110

Page 20: Введение в LabVIEW FPGA - nstu.runitec.nstu.ru/.../LabVIEW_FPGA_Webcast_6.14_rus.pdf · LabVIEW LabVIEW FPGA Процессор реального FPGA времени 1 23

20 ni.com

Проверяйте код, симулируя ввод-вывод

Используйте узел Desktop Execution Node для проверки

кода путем создания тестовых средств и используя

симулированные или генерируемые из файла данные ввода-

вывода

Проверяйте временные свойства сигнала с

помощью пробника Waveform Probe

Используйте пробник Digital Waveform Probe для

наблюдения одних сигналов относительно других и просмотра

их предистории

Выполняйте отладку, используя при симуляции

стандартные средства LabVIEW

Подсветку выполнения, контрольные точки, пошаговое

выполнениt

Проверяйте быстрее

Работайте эффективнее с LabVIEW FPGA

Page 21: Введение в LabVIEW FPGA - nstu.runitec.nstu.ru/.../LabVIEW_FPGA_Webcast_6.14_rus.pdf · LabVIEW LabVIEW FPGA Процессор реального FPGA времени 1 23

21 ni.com

LabVIEW

•Built-in simulator

•Third-party simulator

•FPGA Hardware

Создание, выполнение, анализ и представление результатов

тестирования в одной среде

Тестируйте ваши компоненты с помощью LabVIEW

Ваш компонент

Выполнить

Тестовые векторы/

Входные воздействия/

Варианты/

Стимулирующие

воздействия/

Спецификации

Создать/Собрать/

Сгенерировать

Выходные сигналы/

Результаты

тестирования/

Протоколы/

Отчеты

Собрать/Проанализировать/

Визуализировать

Предварительный

проект/

Модель

Выполнить

• Среда проектирования,

ориентированная на

данные/сигналы

• Палитры генерации сигналов

• Инструментальные средства,

ориентированные на

конкретную отрасль

промышленности

• Большая библиотека анализа

• Индикаторы & Графики

•Палитры LabVIEW

•C/C++, .m, и Simulink™

Page 22: Введение в LabVIEW FPGA - nstu.runitec.nstu.ru/.../LabVIEW_FPGA_Webcast_6.14_rus.pdf · LabVIEW LabVIEW FPGA Процессор реального FPGA времени 1 23

22 ni.com

• Автоматическая оптимизация ваших LabVIEW FPGA VI

• Простое портирование кода LabVIEW персонального компьютера на FPGA

• Повторное использование ваших IP для решения различных проблем, модификация не требуется

LabVIEW FPGA IP Builder

Высокоуровневый синтез FPGA

Директивы

выполнения

VI для

персонального

компьютера

LabVIEW FPGA

IP Builder

Vivado HLS

Высокоуровневый

синтез + Оптимизированный

FPGA VI =

Page 23: Введение в LabVIEW FPGA - nstu.runitec.nstu.ru/.../LabVIEW_FPGA_Webcast_6.14_rus.pdf · LabVIEW LabVIEW FPGA Процессор реального FPGA времени 1 23

23 ni.com

Процесс компиляции

Код LabVIEW FPGA Реализация логики в FPGA Компилятор Xilinx VHDL

Page 24: Введение в LabVIEW FPGA - nstu.runitec.nstu.ru/.../LabVIEW_FPGA_Webcast_6.14_rus.pdf · LabVIEW LabVIEW FPGA Процессор реального FPGA времени 1 23

24 ni.com

Трансляция

Генерация

кода VHDL

Оптимизация

Минимизация

логической

функции

Синтез

Размещение и

соединение

Проверка

временных

параметров

Генерация

двоичного

кода

Загрузка и

выполнение

Процесс компиляции

Код LabVIEW FPGA Реализация логики в FPGA Компилятор Xilinx VHDL

Page 25: Введение в LabVIEW FPGA - nstu.runitec.nstu.ru/.../LabVIEW_FPGA_Webcast_6.14_rus.pdf · LabVIEW LabVIEW FPGA Процессор реального FPGA времени 1 23

25 ni.com

Компиляция и развертывание одним щелчком

Компьютер

разработчика

Сервер и

менеджеры

компиляции

Облачный сервис

высокой

производительности

Page 26: Введение в LabVIEW FPGA - nstu.runitec.nstu.ru/.../LabVIEW_FPGA_Webcast_6.14_rus.pdf · LabVIEW LabVIEW FPGA Процессор реального FPGA времени 1 23

26 ni.com

PXI, FlexRIO & R Series

CompactRIO Single Board

CompactRIO Single Board+GPIC

CompactRIO System On Module

Ул

учш

ени

е п

ока

зате

ля

"вре

мя-д

еньги

"

Выше оптимизация затрат

Графическая система

проектирования FPGA

Vision

Builder

Для C/C++

InsightCMTM Тысячи SW и HW IP

Тестирование

и симуляция

в реальном

времени

Разработка

Службы Техническая

поддержка

Обучение

Управление

бюджетом

Минимизация потерь

времени

Упрощение

логистики

Ремонт

Сопровождение

Экосистема 500+

Групп

пользователей

В Альянсе 1000+

партнеров с

9000+ инженерами

250+ Аддонов

3 000 000+

загрузок

The NI Solution

Прочные, проверенные промышленностью – десятки тысяч внедрений работают в

любых условиях на Земле

Multisim Circuit Design

4 & 8 Slot CompactRIO

CompactRIO Industrial Controller

Rugged, Industry Proven – 10,000s Deployed in Every

Environment on Earth

Page 27: Введение в LabVIEW FPGA - nstu.runitec.nstu.ru/.../LabVIEW_FPGA_Webcast_6.14_rus.pdf · LabVIEW LabVIEW FPGA Процессор реального FPGA времени 1 23

27 ni.com

Встроенная обработка

сигналов

Специализированные протоколы Высокоскоростное управление

Разгружает самые критические части вашего приложения

Модуль LabVIEW FPGA

Пользовательские тактирование,

запуск и синхронизация

Page 28: Введение в LabVIEW FPGA - nstu.runitec.nstu.ru/.../LabVIEW_FPGA_Webcast_6.14_rus.pdf · LabVIEW LabVIEW FPGA Процессор реального FPGA времени 1 23

28 ni.com

Дополнительные ресурсы

ni.com/fpga • Основы FPGA

• Изучить подробнее инструментальные средства

o LabVIEW FPGA

o Аппаратура на основе

Опробывание LabVIEW FPGA

• http://www.ni.com/rioeval/

• Варианты только для программиста и комплект разработчика

Руководство разработчика систем на основе CompactRIO

• http://www.ni.com/compactriodevguide/

Измерительные приборы, реализованные программно http://www.ni.com/software-designed-instruments/