В этом примере показано, как настроить приложение FPGA-in-the-Loop (FIL) с помощью HDL- Verifier™. Приложение использует Simulink ® и плату разработки FPGA, чтобы проверить реализацию HDL-контроллера с пропорциональной интегральной производной (PID). В этом примере Simulink генерирует желаемое положение двигателя и моделирует двигатель, управляемый этим ПИД-регулятором.
Помимо перечисленных продуктов MathWorks, другие требования включают:
Программное обеспечение для проекта FPGA (комплект для проекта Xilinx ® ISE ® или набор для проекта Xilinx ® Vivado ® или ПО для проекта Intel ® Quartus ® II или ПО для проекта микросеми ® Libero ® SoC)
Одна из поддерживаемых плат разработки FPGA. Для поддерживаемого оборудования смотрите Поддерживаемые устройства FPGA для верификации FPGA.
Для подключения с использованием Ethernet: Gigabit Ethernet Adapter, установленный на хост-компьютер, перекрестный кабель Gigabit Ethernet
Для подключения с использованием JTAG: USB Blaster I или II кабель и драйвер для плат Intel FPGA. Кабель Digilent ® JTAG и драйвер для плат Xilinx FPGA.
Для подключения с помощью платы PCI Express ®: FPGA, установленной в паз PCI Express хост-компьютера.
Необходимые условия:
MATLAB ® и программное обеспечение для проекта FPGA могут быть либо локально установлены на вашем компьютере, либо на сетевом доступном устройстве. Если вы используете программное обеспечение из сети, вам понадобится второй сетевой адаптер, установленный на вашем компьютере, чтобы обеспечить частную сеть для платы разработки FPGA. Чтобы узнать, как установить сетевой адаптер, обратитесь к руководствам по оборудованию и сетям вашего компьютера.
Пропустите этот шаг и шаг 2, если вы используете PCI Express для симуляции. Если подключение PCI Express не настроено, используйте программное обеспечение установки пакета поддержки для настройки PCI Express.
Для настройки платы разработки FPGA выполните следующие шаги.
Убедитесь, что переключатель степени остается выключенным.
Подключите шнур степени переменного тока к разъему степени. Подключите кабель адаптера степени питания к плате разработки FPGA.
Подключите разъем Ethernet на плате разработки FPGA непосредственно к Ethernet-адаптеру на вашем компьютере с помощью перекрестного кабеля Ethernet.
Используйте кабель загрузки JTAG для подключения платы разработки FPGA к компьютеру.
Убедитесь, что все перемычки на плате разработки FPGA находятся в заводском положении по умолчанию, кроме Microsemi PolarFire, который требует специальных настроек. См. «Установка набора для оценки полярности микросеми» (HDL Verifier Support Package for Microsemi FPGA Board).
Пропустите этот шаг, если вы используете соединение JTAG для симуляции. Для подключения к Ethernet необходимо иметь сетевой адаптер Gigabit Ethernet на компьютере, чтобы запустить этот пример.
В Windows ® выполните следующие действия:
Откройте панель управления.
Введите View network connections в строке поиска. Выберите View network connections в результатах поиска.
Щелкните правой кнопкой мыши значок подключения к панели разработки FPGA и выберите Properties во всплывающем меню.
В разделе Это подключение использует следующие элементы, выберите Межсетевой протокол версии 4 (TCP/IPv4) и нажмите Свойства.
Выберите Использовать следующий IP-адрес:. Установите IP-адрес 192.168.0.1. Если этот адрес используется другим компьютером в сети, измените его на любой доступный IP-адрес в этой подсети, например 192.168.0.100. Это ваш хост-компьютер адрес. Установите маску подсети равной 255.255.255.0. Теперь ваши свойства TCP/IP должны выглядеть так же, как на следующем рисунке:
В Linux ®:
Используйте команду ifconfig, чтобы настроить локальный адрес. Для примера:
% ifconfig eth1 192.168.0.1
В этом примере eth1 является вторым Ethernet-адаптером на компьютере Linux. Проверьте систему, чтобы определить, какой адаптер Ethernet подключен к плате разработки FPGA. Вышеуказанная команда устанавливает локальный IP-адрес 192.168.0.1. Если этот адрес используется другим компьютером в сети, измените его на любой доступный IP-адрес в этой подсети, например 192.168.0.100.
1. Настройка программного обеспечения для проекта ПЛИС
Перед использованием цикл настройте системное окружение для доступа к программному обеспечению проекта FPGA. Можно использовать функцию hdlsetuptoolpath, чтобы добавить ISE, Vivado, Quartus или Libero SoC к системному пути для текущего сеанса работы с MATLAB. Пример командных строк для каждого инструмента приведен ниже. Замените фактическим исполняемым файлом, если он отличается.
Для плат Xilinx FPGA, использующих программное обеспечение для проекта ISE, запустите:
hdlsetuptoolpath('ToolName', 'Xilinx ISE', 'ToolPath', 'C:\Xilinx\13.1\ISE_DS\ISE\bin\nt64\ise.exe');
Для плат Xilinx FPGA, использующих программное обеспечение для проекта Vivado, запустите:
hdlsetuptoolpath('ToolName','Xilinx Vivado','ToolPath','C:\Xilinx\Vivado\2016.4\bin\vivado.bat');
Для системных плат Intel, запуска:
hdlsetuptoolpath('ToolName','Altera Quartus II','ToolPath','C:\altera\16.0\quartus\bin\quartus.exe');
Для плат Microsemi выполните:
hdlsetuptoolpath('ToolName', 'Microsemi Libero SoC', 'ToolPath', 'C:\Microsemi\Libero_SoC_v11.8\Designer\bin\libero.exe');
2. Откройте модель fil_pid.
Эта модель содержит ПИД-регулятор с фиксированной точкой, реализованную с основными блоками Simulink. Эта модель также содержит модель электродвигателя постоянного тока, управляемую этим ПИД-регулятором, а также желаемое положение двигателя постоянного тока в качестве входа стимула.
Запустите эту модель сейчас и наблюдайте желаемые и фактические положения двигателя в возможности.
Запустите FPGA-in-the-Loop Wizard, выполнив следующее:
Откройте Apps
галерея и выбор FIL Wizard
от Code Verification, Validation, and Test
раздел.
Также можно ввести команду filWizard в командной строке MATLAB.
filWizard
Установите опции FIL для платы разработки FPGA.
1. Укажите, будет ли мастер генерировать блок FIL Simulink или системный объект FILSimulation MATLAB. В данном примере выберите Simulink для симуляции FIL с Simulink.
2. Для платы Имени выберите плату разработки FPGA, подключенную к вашему хосту-компьютеру. Если ваша плата отсутствует в списке, выберите один из следующих опций:
«Получите больше плат»... для загрузки пакета поддержки платы FPGA (эта опция запускает программу установки пакета поддержки).
«Создать пользовательскую плату»..., чтобы создать файл определения платы FPGA для вашей конкретной платы FPGA (эта опция запускает новый менеджер платы FPGA).
3. Выберите соединение для симуляции. Доступными методами подключения являются Ethernet и JTAG. Не все платы поддерживают оба метода подключения.
4. Только подключение Ethernet: Если при настройке сетевого адаптера IP-адрес компьютера был изменен на другой с 192.168.0.x, или если IP-адрес платы по умолчанию используется другим устройством, разверните раздел Дополнительные параметры и измените IP-адрес платы в соответствии со следующими рекомендациями:
Адрес подсети, обычно три первых байта IP-адреса платы, должен совпадать с адресом IP хоста.
Последний байт IP-адреса платы должен отличаться от IP-адреса хоста.
IP-адрес платы не должен конфликтовать с IP-адресами других компьютеров.
Например, если IP-адрес хоста 192.168.8.2, то можно использовать 192.168.8.3, если он доступен. Не изменяйте MAC-адрес платы.
5. Необязательно: Если вы хотите изменить тактовую частоту DUT с частоты по умолчанию (25 МГц), можно развернуть Advanced Опций и изменить частоту системных часов FPGA (МГц).
6. Для продолжения нажмите кнопку Далее.
Укажите проект HDL, который будет реализован в FPGA.
1. Нажмите Add и перейдите в директорию, созданный в разделе Prepare Example Resources.
2. Выберите следующие HDL- файлов в pid_hdlsrc директории:
Controller.vhd
D_component.vhd
I_component.vhd
Это файлы проекта HDL, подлежащие проверке на плате FPGA.
3. В таблице Исходные файлы установите флажок в строке файла Controller.vhd, чтобы указать, что этот HDL-файл содержит HDL-модуль верхнего уровня.
Мастер FIL автоматически заполняет поле Имя модуля верхнего уровня именем выбранного HDL- файла; в этом случае Контроллер. В этом примере имя модуля верхнего уровня совпадает с именем файла, так что вам не нужно его изменять. Если имя модуля верхнего уровня и имя файла не совпадают, имя модуля верхнего уровня в этом диалоговом окне будет исправлено вручную.
Для продолжения нажмите кнопку Далее.
Мастер FIL анализирует контроллер модуля HDL верхнего уровня в Controller.vhd, чтобы получить все порты ввода-вывода и отобразить их в таблице Порты ввода-вывода DUT. Анализатор пытается автоматически определить возможные типы портов, просматривая имена портов и отображая эти сигналы в разделе Port Type.
1. Проверьте список портов. Если анализатор присвоил неправильный тип порта для любого данного порта, можно вручную изменить сигнал. Для синхронного проекта задайте сигнал включения синхроимпульса, сброса или синхроимпульса. В этом примере мастер FIL автоматически заполняет таблицу правильно.
2. Для продолжения нажмите кнопку Далее.
1. Для выхода HDL control_signal измените тип данных на Фиксированную точку, Подписать и Длину дроби на 28. Это делает сгенерированный блок FIL установкой выходного сигнала FPGA-design-test (DUT) на правильный тип данных.
2. Для продолжения нажмите кнопку Далее.
1. Укажите папку для файлов выхода. В данном примере используйте опцию по умолчанию, которая является подпапкой с именем Controller_fil в текущей директории.
В сводных данных отображаются местоположения файла проекта FPGA и файла программирования FPGA. Эти два файла могут понадобиться для дополнительных операций.
2. Нажмите Build, чтобы начать процесс сборки.
В процессе сборки происходят следующие действия:
Блок FIL с именем Controller генерируется в новой модели, как показано на следующем рисунке. Не закрывайте эту модель.
После генерации новой модели Мастер FIL открывает командное окно, где программное обеспечение для проекта FPGA выполняет синтез, подгонку, месторасположение, анализ времени и генерацию файлов программирования FPGA.
Когда процесс проекта программного обеспечения FPGA закончен, сообщение в окне командной строки позволяет вам знать, что вы можете закрыть окно. Закройте окно и перейдите к следующему шагу.
В модели fil_pid замените подсистему контроллер на блок FIL, сгенерированный в новой модели. Измененная fil_pid модель теперь появляется как показано на следующем рисунке:
1. Включите степень платы разработки FPGA.
2. Дважды кликните блок FIL в модели fil_pid, чтобы открыть маску блока.
3. В маске открытого блока нажмите кнопку Загрузка.
Если ваша плата подключена к хосту-компьютеру через кабель JTAG, отобразится окно сообщения, показывающее, что файл программирования FPGA успешно загружен. Нажмите кнопку ОК, чтобы закрыть это диалоговое окно.
4. Только подключение Ethernet: Вы можете проверить, правильно ли подключена плата FPGA к хосту-компьютеру через тест ping. Запустите окно командной строки и введите следующую команду:
C:\MyTests> ping 192.168.0.2
При изменении IP-адреса платы при настройке сетевого адаптера замените 192.168.0.2 на IP-адрес платы. Если подключение Gigabit Ethernet настроено правильно, вы увидите ответ ping от платы разработки FPGA.
1. В маске блока FIL перейдите на вкладку «Атрибуты сигнала».
2. Проверьте, что тип данных control_signal HDL-сигнала фиксирован (1,32,28). Если нет, измените его.
3. Нажмите кнопку ОК, чтобы закрыть маску блока.
1. Запустите симуляцию модели fil_pid.
2. Когда симуляция выполнена, просмотрите форму волны требуемого и фактического положения двигателя в возможности. Обратите внимание, что результаты симуляции FIL должны совпадать с результатами образца модели Simulink, которую вы моделировали в Пример Resources.