Откройте мастер FPGA-in-the-Loop.
В окне команды MATLAB введите следующее:
>> filWizard
Для восстановления предыдущего сеанса используйте следующую команду:
filWizard('./Subsystem_fil/Subsystem_fil.mat')
(Эта страница предназначена для системы FIL object™. Для получения информации о параметрах FIL блока Simulink ® см. Шаг 3: Настройка параметров FIL для блока FIL.)
На странице Параметры FIL:
Моделирование FIL с помощью команды «Выбрать» MATLAB System Object.
Имя платы: Выберите плату разработки FPGA. Если пакет поддержки плат HDL Verifier™ FPGA еще не загружен, см. раздел Загрузка пакета поддержки плат FPGA. (Если нет ни одной из перечисленных плат, пакет поддержки еще не загружен). Если вы планируете самостоятельно определить пользовательскую плату, см. раздел Настройка платы FPGA.
FPGA-in-the-Loop Connection: метод имитационного соединения FIL. Опции раскрывающегося меню обновляются в зависимости от методов подключения, поддерживаемых для выбранной целевой платы. Если целевая плата и HDL Verifier поддерживают подключение, можно выбрать Ethernet, JTAG, или PCI Express.
Дополнительные параметры:
При выборе соединения Ethernet при необходимости можно настроить IP-адрес и MAC-адрес платы.
| Выбор | Инструкции |
|---|---|
| IP-адрес платы | Используйте эту опцию для установки IP-адреса платы, если он не является IP-адресом по умолчанию (192.168.0.2). Если IP-адрес платы по умолчанию (192.168.0.2) используется другим устройством или требуется другая подсеть, измените IP-адрес платы в соответствии со следующими рекомендациями:
|
| MAC-адрес платы | В большинстве случаев изменение MAC-адреса платы не требуется. При подключении нескольких плат разработки FPGA к одному хост-компьютеру измените MAC-адрес платы для любых дополнительных плат таким образом, чтобы каждый адрес был уникальным. Для каждой платы необходимо иметь отдельную сетевую плату. Для изменения MAC-адреса платы щелкните в поле Board MAC address. Укажите адрес, отличный от адреса любого другого устройства, подключенного к компьютеру. Для получения MAC-адреса платы для конкретной платы разработки FPGA обратитесь к этикетке, прикрепленной к плате, или обратитесь к документации по продукции. |
Тактовая частота системы FPGA (МГц): Введите целевую тактовую частоту. Для системных плат Intel и плат, поддерживаемых Xilinx ISE, filWizard проверяет запрашиваемую частоту относительно возможных для запрашиваемой платы. Если запрошенная частота невозможна для данной платы, filWizard возвращает ошибку и предлагает альтернативную частоту. Для плат Xilinx Vivado или PCI Express ® ,filWizard не удается проверить частоту. Инструменты синтеза делают наилучшую попытку на требуемой частоте, но могут выбрать альтернативную частоту, если указанная частота не была достижимой. Значение по умолчанию: 25 МГц.
Нажмите кнопку Далее.

(Эта страница предназначена для объекта FIL System. Исходные файлы HDL блока Simulink см. в разделе Шаг 4: Добавление исходных файлов HDL для блока FIL.)
На странице Исходные файлы:
Укажите конструкцию ЛПВП, которая будет косимулирована в FPGA. Эти файлы представляют собой файлы дизайна HDL, которые должны быть проверены на плате FPGA.
Укажите исходные файлы, нажав кнопку «» Добавить «». Выберите файлы в диалоговом окне выбора файлов.
Мастер FIL пытается определить типы исходных файлов. Если какой-либо из типов файлов не соответствует ожидаемому, его можно изменить, выбрав в выпадающем списке Тип файла. Допустимые типы файлов:
VHDL ®
Verilog ®
Netlist
Сценарий Tcl
Ограничения
Другие
«Прочие» означают следующее:
Для Intel файлы указаны как Other добавляются в проект FPGA, но не влияют на созданный блок. Например, можно поместить некоторые комментарии в readme и включить его в этот список файлов.
Для Xilinx файлы указаны как Other может быть любым файлом, принятым Xilinx ISE. ISE просматривает расширение файла, чтобы определить, как использовать этот файл. Например, при добавлении foo.vhd в список и укажите его как OtherISE обрабатывает файл как файл VHDL.
Укажите, какой файл содержит файл HDL верхнего уровня.
Установите флажок в строке файла HDL, содержащего модуль HDL верхнего уровня, в столбце Top-level. Мастер FIL автоматически заполняет поле Имя модуля верхнего уровня именем выбранного файла HDL. Если имя модуля верхнего уровня и имя файла не совпадают, можно вручную изменить имя модуля верхнего уровня в этом диалоговом окне. Перед продолжением укажите имя модуля верхнего уровня.
(Необязательно) Для отображения полных путей к исходным файлам установите флажок «Показать полные пути к исходным файлам».
Нажмите кнопку Далее.

(Эта страница предназначена для FIL с объектом System. Для Simulink см. Шаг 5: Проверка портов ввода/вывода DUT для блока FIL.)
На странице Порты ввода/вывода DUT:
Просмотрите список портов. Мастер FIL анализирует модуль HDL верхнего уровня для получения всех портов ввода/вывода и отображения их в таблице портов ввода/вывода DUT. Синтаксический анализатор пытается определить типы портов из имен портов. Затем мастер отображает эти сигналы в разделе Port Type.
Убедитесь, что все порты/часы ввода/вывода/сброса отображены в соответствии с ожиданиями. Если синтаксический анализатор назначил неверный тип порта для любого порта, можно вручную изменить сигнал. Для синхронного проектирования укажите тактовый сигнал, сброс или, при необходимости, сигнал включения тактового сигнала. Типы портов, указанные в этой таблице, должны совпадать с типами портов в коде HDL. Должен быть хотя бы один выходной порт.
Выберите Manually enter port information для добавления или удаления сигналов.
Щелкните Регенерировать (Regenerate), чтобы перезагрузить таблицу с исходными определениями портов (из кода HDL).
Нажмите кнопку Далее.

(Эта страница предназначена для объекта FIL System. Типы вывода блоков Simulink см. в разделе Шаг 6: Определение типов вывода для блока FIL.)
На странице «Типы вывода»:
Укажите типы выходных данных. Мастер назначает типы данных. Если какой-либо тип выходных данных не соответствует ожидаемому, измените тип вручную.
Выберите из:
Fixedpoint
Integer
Logical
Тип данных может зависеть от заданной ширины бита.
Можно указать тип вывода Signed, Unsigned, или Fraction Length.
Нажмите кнопку Далее.

(Эта страница предназначена для объекта FIL System. Для Simulink см. Шаг 7: Определение параметров построения для блока FIL.)
На странице «Параметры построения»:
Укажите папку для выходных файлов. Можно использовать опцию по умолчанию. Обычно по умолчанию используется подпапка с именем модуля верхнего уровня, расположенная под текущей папкой.
В окне Сводка отображаются расположения файла проекта ISE и файла программирования FPGA. Эти два файла могут понадобиться для расширенных операций с маской блока FIL.
Щелкните Создать (Build), чтобы инициировать создание объекта FIL System.
Мастер FIL создает следующие файлы:
В ./ папка, функция MATLAB с именем toplevel_fil/, где toplevel_programFPGA.mtoplevel - имя верхнего уровня ЛПВП. Этот файл содержит код для загрузки файла программирования FPGA в FPGA.
function toplevel_programFPGA
%Load the bitstream in the FPGA
filProgramFPGA('Xilinx', '/dir/mybitstream.bit', 1);
endФайл MATLAB с именем , где toplevel_fil.mtoplevel - имя верхнего уровня ЛПВП. Этот файл содержит определение класса, полученное из hdlverifier.FILSimulation и инициализирует частные свойства. Этот файл находится в текущей папке.
Ниже приведен пример файла определения класса, созданного с помощью мастера FIL из DUT с именем fft8.
classdef fft8_fil < hdlverifier.FILSimulation
% fft8_fil is a filWizard generated class used for FPGA-In-the-Loop
% simulation with the 'fft8' DUT.
% fft8_fil connects MATLAB with a FPGA and cosimulate with it by
% writing inputs in the FPGA and reading outputs from the FPGA.
%
% MYFIL = fft8_fil
%
% FIL syntax:
%
% [out1, out2, ...] = MYFIL(in1, in2, ...) connect to the FPGA,
% write in1, in2, ... to the FPGA and read out1, out2, ... from
% the FPGA
%
% fft8_fil methods:
%
% release - Allow property value and input characteristics changes, and
% release connection to FPGA board
% clone - Create fft8_fil object with same property values
% isLocked - Locked status (logical)
% programFPGA - Load the programming file in the FPGA
%
% fft8_fil properties:
%
% DUTName - DUT top level name
% InputSignals - Input paths in the HDL code
% InputBitWidths - Width in bit of the inputs
% OutputSignals - Output paths in the HDL code
% OutputBitWidths - Width in bit of the outputs
% OutputDataTypes - Data type of the outputs
% OutputSigned - Sign of the outputs
% OutputFractionLengths - Fraction lengths of the outputs
% OutputDownsampling - Downsampling factor and phase of the outputs
% OverclockingFactor - Overclocking factor of the hardware
% SourceFrameSize - Frame size of the source (only for HDL source block)
% Connection - Parameters for the connection with the board
% FPGAVendor - Name of the FPGA chip vendor
% FPGABoard - Name of the FPGA board
% FPGAProgrammingFile - Path of the Programming file for the FPGA
% ScanChainPosition - Position of the FPGA in the JTAG scan chain
%
% File Name: fft8_fil.m
% Created: 26-Apr-2012 18:18:06
%
% Generated by FIL Wizard
properties (Nontunable)
DUTName = 'fft8';
end
methods
function obj = fft8_fil
%THE FOLLOWING PROTECTED PROPERTIES ARE SPECIFIC TO THE HW DUT
%AND MUST NOT BE EDITED (RERUN THE FIL WIZARD TO CHANGE THEM)
obj.InputSignals = char('Xin_re','Xin_im');
obj.InputBitWidths = [10,10];
obj.OutputSignals = char('Xout_re','Xout_im');
obj.OutputBitWidths = [13,13];
obj.Connection = char('UDP','192.168.0.2','00-0A-35-02-21-8A');
obj.FPGAVendor = 'Xilinx';
obj.FPGABoard = 'XUP Atlys Spartan-6 development board';
obj.ScanChainPosition = 1 ;
%THE FOLLOWING PUBLIC PROPERTIES ARE RELATED TO THE SIMULATION
%AND CAN BE EDITED WITHOUT RERUNING THE FIL WIZARD
obj.OutputSigned = [true,true];
obj.OutputDataTypes = char('fixedpoint','fixedpoint');
obj.OutputFractionLengths = [9,9];
obj.OutputDownsampling = [1,0];
obj.OverclockingFactor = 1;
obj.SourceFramieSize = 1;
obj.FPGAProgrammingFile = 'S:\MATLAB\demo\fft8_fil\fft8_fil.bit';
end
end
end
Мастер FIL открывает окно команд.
В этом окне программное обеспечение разработки FPGA выполняет генерацию файлов программирования синтеза, подгонки, PAR и FPGA.
После завершения процесса в окне команд появится сообщение с предложением закрыть окно.

Создание пользовательского FILSimulation Системный объект из файла определения класса, полученный с помощью мастера FIL. Этот фрагмент кода создает экземпляр класса и инициализирует все свойства.
MYFIL = toplevel_fil
Если объект FIL System был создан из помощника по рабочим процессам HDL, вряд ли потребуется корректировать какие-либо параметры. Если объект FIL System был создан с помощью мастера FIL, может потребоваться изменить некоторые параметры настройки. Можно настроить любое свойство, доступное для записи, одним из следующих способов:
Измените свойство с помощью метода set:
MYFIL.set('FPGAProgrammingFile','c:\work\filfiles')Задайте свойство непосредственно:
MYFIL.FPGAProgrammingFile='c:\work\filfiles'
Править непосредственно. При редактировании toplevel_fil.m.m создайте экземпляр объекта в рабочей области еще раз, если это было сделано ранее.
Дополнительные сведения о свойствах объекта см. в разделе hdlverifier.FILSimulation.
Можно запрограммировать FPGA с помощью programFPGA функции или programFPGA метод объекта FIL System. Если настройка управляемого оборудования еще не выполнена, сделайте это перед загрузкой файлов программирования.
programFPGA функция:
./toplevel_fil/toplevel_programFPGA
programFPGA способ:
MYFIL.programFPGA
MYFIL является экземпляром FILSimulation объект.
Вызовите системный объект в коде MATLAB.
Запустите код MATLAB, как обычно. Перед началом установки убедитесь, что выполнена настройка управляемого оборудования.
Первый вызов объекта устанавливает связь с платой FPGA.