Целевые Советы 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.RunTaskGenerateSoftwareInterface = 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 Запуска со Скриптом.

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

Загрузить

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

Когда вы используете Download как Programming method и запуск задача Program Target Device, HDL Coder™ копирует сгенерированный поток битов FPGA, Linux devicetree и системные скрипты инициализации к SD-карте на требуемой плате, и затем сохраняет поток битов на SD-карте постоянно. Чтобы использовать этот метод программирования, вы не требуете Embedded Coder® лицензия. Можно создать объект SSH путем определения IP Address, SSH Username и SSH Password. HDL Coder использует копируемый объект SSH поток битов для 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;

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

Больше о