Программные целевые платы FPGA или однокристальные устройства

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

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

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

  1. Откройте HDL Workflow Advisor. Щелкните правой кнопкой мыши Подсистему DUT, содержащую алгоритм, который будет развернут на целевом 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.

Использование скрипта Workflow Advisor

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

Прежде чем запускать скрипт, можно задать, как запрограммировать целевой компьютер с помощью ProgrammingMethod свойство WorkflowConfig Объект .This кода snippet показывает пример скрипта, который экспортируется из 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 задачи советник по рабочему процессу предоставляет вам ссылку для генерации скрипта Workflow, который программирует целевое устройство, не перезапуская предыдущие задачи в Workflow Advisor.

Щелкните ссылку, чтобы открыть скрипт в 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, когда вы запускаете рабочий процесс с помощью скрипта Workflow Advisor, прежде чем запускать скрипт, убедитесь, что ProgrammingMethod свойство объекта WorkflowConfig, hWC, установлено в Download.

hWC.ProgrammingMethod = hdlcoder.ProgrammingMethod.Download;

JTAG

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

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

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

Чтобы задать JTAG как Programming method, когда вы запускаете рабочий процесс с помощью скрипта Workflow Advisor, прежде чем запускать скрипт, измените 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;

Похожие примеры

Подробнее о