Откройте FPGA-in-the-Loop Wizard.
В командном окне MATLAB введите следующее:
>> filWizard
Чтобы восстановить предыдущий сеанс, используйте следующую команду:
filWizard('./Subsystem_fil/Subsystem_fil.mat')
(Эта страница предназначена для системы FIL object™. Для Simulink® блокируйте опции FIL, см. Шаг 3: Установите Опции FIL для блока FIL.)
На FIL Options странице:
FIL Simulation with: Выбор MATLAB System Object
.
Board Name: Выберите плату разработки FPGA. Если вы еще не загрузили пакет поддержки платы HDL Verifier™ FPGA, см. Загрузку пакета поддержки платы FPGA. (Если вы не видите никаких перечисленных плат, то вы еще не загрузили пакет поддержки). Если вы планируете самостоятельно определить пользовательскую плату, см. раздел Индивидуальную настройку платы FPGA.
FPGA-in-the-Loop Connection: Метод соединения симуляции FIL. Опции в раскрывающемся меню обновляются в зависимости от методов подключения, поддерживаемых для выбранной целевой платы. Если целевая плата и HDL Verifier поддерживают подключение, можно выбрать Ethernet
, JTAG
, или PCI Express
.
Advanced Options:
При выборе соединения Ethernet можно при необходимости настроить IP-адрес и MAC-адрес платы.
Опция | Инструкции |
---|---|
Board IP address | Используйте эту опцию для настройки IP-адреса платы, если он не является IP-адресом по умолчанию (192.168.0.2). Если IP-адрес платы по умолчанию (192.168.0.2) используется другим устройством или вам нужна другая подсеть, измените IP-адрес платы в соответствии со следующими рекомендациями:
|
Board MAC address | В большинстве случаев вам не нужно менять MAC-адрес платы. Если вы подключите несколько плат разработки FPGA к одному хосту-компьютеру, измените MAC-адрес платы для любых дополнительных плат так, чтобы каждый адрес был уникальным. Для каждой платы необходимо иметь отдельный сетевой адаптер. Для изменения MAC-адреса платы щелкните в поле Board MAC address. Укажите адрес, отличный от адреса любого другого устройства, подключенного к компьютеру. Для получения MAC-адреса системной платы для конкретной платы разработки FPGA см. метку, проставленную на плате, или ознакомьтесь с документацией по продукту. |
FPGA system clock frequency (MHz): Введите целевую тактовую частоту. Для плат Intel и плат, поддерживаемых Xilinx ISE, filWizard
проверяет требуемую частоту по возможностям для запрашиваемой платы. Если требуемая частота невозможна для этой платы, filWizard
возвращает ошибку и предлагает альтернативную частоту. Для плат, поддерживаемых Xilinx Vivado, или PCI Express® платы, filWizard
не может проверить частоту. Инструменты синтеза делают максимальную попытку с требуемой частотой, но могут выбрать альтернативную частоту, если заданная частота не была достижима. Значение по умолчанию является 25
МГц.
Нажмите Next.
(Эта страница предназначена для объекта FIL System. Для блок Simulink HDL исходные файлы, смотрите Шаг 4: Добавить исходные файлы HDL для FIL блока.)
На Source Files странице:
Задайте проект HDL, которая будет косимулирована в FPGA. Эти файлы являются HDL-файлами проекта, подлежащими проверке на плате FPGA.
Укажите исходные файлы нажав Add. Выберите файлы в диалоговом окне выбора файлов.
Мастер FIL пытается идентифицировать типы исходных файлов. Если любой из типов файлов не является тем, что вы ожидаете, можно изменить его, выбрав из выпадающего списка File Type. Допустимые типы файлов:
VHDL®
Verilog®
Netlist
Скрипт TCL
Ограничения
Другие
«Другие» означают следующее:
Для Intel файлы указаны как Other
добавляются к проекту FPGA, но не влияют на сгенерированный блок. Для примера можно поместить некоторые комментарии в readme
и включить его в этот список файлов.
Для Xilinx файлы указаны как Other
может быть любым файлом, принятым Xilinx ISE. ISE просматривает расширение файла, чтобы определить, как использовать этот файл. Для примера, если вы добавляете foo.vhd
в список и укажите его следующим Other
ISE обрабатывает файл как VHDL-файл.
Укажите, какой файл содержит HDL-файл верхнего уровня.
Установите флажок в строке HDL- файла, содержащей HDL-модуль верхнего уровня в столбце под названием Top-level. Мастер FIL автоматически заполняет Top-level module name поле именем выбранного HDL- файла. Если имя модуля верхнего уровня и имя файла не совпадают, можно вручную изменить имя модуля верхнего уровня в этом диалоговом окне. Перед продолжением укажите имя модуля верхнего уровня.
(Необязательно) Чтобы отобразить полные пути к исходным файлам, установите флажок «Show full paths to source files».
Нажмите Next.
(Эта страница предназначена для FIL с системным объектом. Для Simulink смотрите Шаг 5: Проверьте порты ввода-вывода DUT для блока FIL.)
На DUT I/O Ports странице:
Проверьте список портов. Мастер FIL анализирует HDL-модуль верхнего уровня, получая все порты ввода-вывода и отображая их в таблице Порты ввода-вывода DUT. Анализатор пытается определить типы портов по именам портов. Затем мастер отобразит эти сигналы в разделе «Тип порта».
Убедитесь, что все входные/выходные/сбросные порты/часы отображены как вы ожидаете. Если анализатор присвоил неправильный тип порта для любого порта, можно вручную изменить сигнал. Для синхронного проекта задайте Часы, Сброс или, при желании, сигнал включения Часы. Типы портов, указанные в этой таблице, должны совпадать с типами в HDL-коде. Должен быть по крайней мере один выходной порт.
Выберите Manually enter port information, чтобы добавить или удалить сигналы.
Щелкните Regenerate, чтобы перезагрузить таблицу с исходными определениями портов (из HDL-кода).
Нажмите Next.
(Эта страница предназначена для объекта FIL System. Для выходных типов блоков Simulink, смотрите Шаг 6: Задайте типы Выхода для блока FIL.)
На Output Types странице:
Задайте типы выходных данных. Мастер присваивает типы данных. Если какой-либо выход данных не является тем, что вы ожидаете, вручную измените тип.
Выберите из:
Fixedpoint
Integer
Logical
Тип данных может зависеть от заданной ширины бита.
Можно задать тип выхода, который будет Signed
, Unsigned
, или Fraction Length
.
Нажмите Next.
(Эта страница предназначена для объекта FIL System. Для Simulink смотрите Шаг 7: Задайте опции сборки для блока FIL.)
На Build Options странице :
Укажите папку для файлов выхода. Можно использовать опцию по умолчанию. Обычно по умолчанию это подпапка, названная в честь модуля верхнего уровня, расположенная под текущей папкой.
В Summary отображаются местоположения файла проекта ISE и файла программирования FPGA. Эти два файла могут понадобиться для расширенных операций с маской блоков FIL.
Щелкните Build, чтобы инициировать генерацию объекта FIL System.
Мастер FIL создает следующие файлы:
В ./
папка, функция MATLAB с именем toplevel
_fil/
, где toplevel
_programFPGA.mtoplevel
- имя верхнего уровня HDL. Этот файл содержит код для загрузки файла программирования FPGA в FPGA.
function toplevel_programFPGA %Load the bitstream in the FPGA filProgramFPGA('Xilinx', '/dir/mybitstream.bit', 1); end
Файл MATLAB с именем
, где toplevel
_fil.mtoplevel
- имя верхнего уровня HDL. Этот файл содержит определение класса, полученное из 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 Workflow Advisor, вряд ли вам нужно будет настраивать какие-либо настройки. Если вы сгенерировали объект FIL System с помощью Мастера FIL, можно настроить некоторые параметры. Вы можете настроить любое свойство writable одним из следующих методов:
Измените свойство с помощью метода set:
MYFIL.set('FPGAProgrammingFile','c:\work\filfiles')
Установите свойство непосредственно:
MYFIL.FPGAProgrammingFile='c:\work\filfiles'
Редактирование
непосредственно. Если вы редактируете toplevel
_fil.m.m
еще раз создайте экземпляр объекта в рабочей области, если это было сделано ранее.
Для получения дополнительной информации о свойствах объекта смотрите hdlverifier.FILSimulation
.
Программировать FPGA можно используя либо programFPGA
function, или programFPGA
метод объекта FIL System. Если вы еще не выполнили управляемый аппаратный Setup, сделайте это сейчас, прежде чем загружать файлы программирования.
programFPGA
функция:
./toplevel_fil/toplevel_programFPGA
programFPGA
метод:
MYFIL.programFPGA
MYFIL
является образцом FILSimulation
объект.
Вызовите системный объект в коде MATLAB.
Запустите свой код MATLAB, как обычно. Убедитесь, что вы выполнили управляемый аппаратный Setup перед началом.
Первый вызов объекта устанавливает связь с платой FPGA.