Целевые Советы FPGA программы или устройства SoC

Чтобы сконфигурировать или программировать соединенное целевое устройство SoC или плату FPGA, используйте рабочий процесс IP Core Generation в HDL Workflow Advisor.

Как программировать целевое устройство

Используя советника по вопросам рабочего процесса пользовательский интерфейс

  1. Откройте HDL Workflow Advisor. Щелкните правой кнопкой по DUT Subsystem, который содержит алгоритм, который будет развернут на целевом FPGA и выберет HDL Code> HDL Workflow Advisor.

  2. В задаче Set Target Device and Synthesis Tool задайте IP Core Generation как Target workflow и задайте Target platform кроме Generic Xilinx Platform или Generic Altera Platform.

  3. Щелкните правой кнопкой по задаче Program Target Device и выберите Run to Selected Task.

  4. В задаче Program Target Device задайте Programming method и запустите эту задачу.

Чтобы узнать больше о HDL Workflow Advisor, смотрите Начало работы с HDL Workflow Advisor.

Используя советника по вопросам рабочего процесса скрипт

Чтобы программировать целевое устройство в командной строке, после того, как вы зададите целевой рабочий процесс и целевую платформу в задаче Set Target Device and Synthesis Tool, экспортируют настройки HDL Workflow Advisor в скрипт. В окне HDL Workflow Advisor выберите File> Export to Script. Скрипт создает и конфигурирует объект hdlcoder.WorkflowConfig, который обозначается hWC.

Прежде чем вы запустите скрипт, можно задать, как программировать целевой компьютер при помощи свойства ProgrammingMethod объекта WorkflowConfig. Этот фрагмент кода показывает скрипт в качестве примера, который экспортируется от HDL Workflow Advisor, когда вы используете Download по умолчанию Programming method. Чтобы запустить задачу Program Target Device, настройте этот скрипт путем установки атрибута RunTaskProgramTargetDevice объекта WorkflowConfig к true.

% This script was generated using the following parameter values:

% ...

% Set properties related to 'RunTaskProgramTargetDevice' Task
hWC.RunTaskProgramTargetDevice = true;
hWC.ProgrammingMethod = hdlcoder.ProgrammingMethod.Download;

% Validate the Workflow Configuration Object
hWC.validate;

%% Run the workflow
hdlcoder.runWorkflow('hdlcoder_led_blinking/led_counter', hWC);

После того, как вы запускаете задачу Build FPGA Bitstream, Советник по вопросам Рабочего процесса предоставляет вам ссылку, чтобы сгенерировать скрипт Рабочего процесса, который программирует целевое устройство, не повторно выполняя предыдущие задачи в Советнике по вопросам Рабочего процесса.

Щелкните по ссылке, чтобы открыть скрипт в Редакторе MATLAB®. Этот фрагмент кода показывает скрипт в качестве примера, который сгенерирован HDL Workflow Advisor. Если близко HDL Workflow Advisor, можно запустить скрипт, чтобы программировать целевой компьютер, не запуская другие задачи рабочего процесса.

% Load the Model

% ...

% Set Workflow tasks to run
hWC.RunTaskGenerateRTLCodeAndIPCore = false;
hWC.RunTaskCreateProject = false;
hWC.RunTaskGenerateSoftwareInterfaceModel = false;
hWC.RunTaskBuildFPGABitstream = false;
hWC.RunTaskProgramTargetDevice = true;

% Set properties related to 'RunTaskProgramTargetDevice' Task
hWC.ProgrammingMethod = hdlcoder.ProgrammingMethod.Download;

% Validate the Workflow Configuration Object
hWC.validate;
Чтобы узнать больше о рабочем процессе на основе скриптов, смотрите Рабочий процесс HDL Выполнения со Скриптом.

Методы программирования

Загрузить

Если вы имеете Embedded Coder® и используете исходные проекты для Xilinx® Zynq® и аппаратных платформ Intel® SoC, генератор кода использует Download в качестве Programming method по умолчанию.

Когда вы используете Download в качестве Programming method и запускаете задачу Program Target Device, HDL Coder™ копирует сгенерированный поток битов FPGA, Linux devicetree и системные скрипты инициализации к SD-карте на Zynqboard, и затем сохраняет поток битов на SD-карте постоянно.

Рекомендуется, чтобы вы использовали метод Download, потому что этот метод программирует поток битов FPGA и загружает соответствующий Linux devicetree прежде, чем загрузить систему Linux. Поэтому метод Download более устойчив и не приводит к панике ядра, или ядро зависают на, загружаются. Во время перезагрузки Linux поток битов FPGA повторно запрограммирован от SD-карты автоматически.

Чтобы задать Download как Programming method, когда вы запускаете рабочий процесс с помощью Советника по вопросам Рабочего процесса скрипт, прежде чем вы запустите скрипт, убеждаются, что свойство ProgrammingMethod объекта WorkflowConfig, hWC, установлено в Download.

hWC.ProgrammingMethod = hdlcoder.ProgrammingMethod.Download;

JTAG

Когда вы задаете JTAG как Programming method и запускаете задачу Program Target Device, HDL Coder использует кабель JTAG, чтобы программировать целевое устройство SoC. Используйте этот метод, чтобы программировать устройства Intel и Xilinx SoC и автономные платы FPGA.

Для программирования устройств SoC рекомендуется, чтобы вы использовали метод Download. Режим JTAG не включает процессор ARM и программирует встроенный FPGA непосредственно. Этот режим не обновляет Linux devicetree, и может разрушить систему Linux или привести к панике ядра, когда поток битов не совпадает с devicetree. Чтобы избежать этой ситуации, используйте метод Download, чтобы программировать устройство SoC.

Автономные платы FPGA Intel и Xilinx не имеют встроенного процессора ARM. JTAG является методом по умолчанию, который вы используете, чтобы программировать платы FPGA.

Чтобы задать JTAG как Programming method, когда вы запускаете рабочий процесс с помощью Советника по вопросам Рабочего процесса скрипт, прежде чем вы запустите скрипт, изменяют свойство ProgrammingMethod объекта WorkflowConfig, hWC, к JTAG.

hWC.ProgrammingMethod = hdlcoder.ProgrammingMethod.JTAG;

Пользовательский

Чтобы программировать целевое устройство, можно задать пользовательский метод программирования, когда вы создаете свой собственный исходный проект. Используйте CallbackCustomProgrammingMethod класса hdlcoder.ReferenceDesign, чтобы указать указатель на функцию для функции обратного вызова, которая выполняется при выполнении задачи Program Target Device. Чтобы задать вашу функцию обратного вызова, создайте файл, который задает функцию MATLAB, и добавьте файл в свой путь MATLAB.

Этот отрывок примера кода показывает файл определения исходного проекта, который использует пользовательский метод программирования. Чтобы узнать больше, смотрите CallbackCustomProgrammingMethod.

unction hRD = plugin_rd()
% Reference design definition

% ...

% Construct reference design object
hRD = hdlcoder.ReferenceDesign('SynthesisTool', 'Xilinx Vivado');

hRD.ReferenceDesignName = 'Parameter Callback Custom';
hRD.BoardName = 'ZedBoard';

% Tool information
hRD.SupportedToolVersion = {'2017.2'};

% ...

hRD.CallbackCustomProgrammingMethod = 
            @my_reference_design.callback_CustomProgrammingMethod;

Связанные примеры

Больше о