Для конфигурирования или программирования подключенного оконечного устройства SoC или платы FPGA используйте IP Core Generation в Консультаторе по рабочим процессам HDL.
Откройте помощник по рабочим процессам HDL. Щелкните правой кнопкой мыши подсистему DUT, содержащую алгоритм для развертывания на целевом FPGA, и выберите Код HDL > Помощник по рабочим процессам HDL.
В задании Set Target Device and Synthesis Tool укажите IP Core Generation в качестве целевого рабочего процесса и укажите целевую платформу, отличную от Generic Xilinx Platform или Generic Altera Platform.
Щелкните правой кнопкой мыши задачу Program Target Device и выберите Run to Selected Task.
В задаче «Целевое устройство программы» укажите метод программирования и запустите эту задачу.
Дополнительные сведения о консультанте по рабочим процессам HDL см. в разделе Начало работы с консультантом по рабочим процессам HDL.
Чтобы запрограммировать целевое устройство в командной строке, после указания целевого рабочего процесса и целевой платформы в задаче Set Target Device and Synthesis Tool экспортируйте параметры помощника по рабочим процессам HDL в сценарий. В окне помощника по рабочим процессам HDL выберите File > Export to Script. сценарий создает и настраивает hdlcoder.WorkflowConfig объект, который обозначается hWC.
Перед запуском сценария можно указать способ программирования целевого оборудования с помощью ProgrammingMethod имущества WorkflowConfig object.This фрагмент кода показывает пример сценария, который экспортируется из помощника по рабочим процессам HDL при использовании по умолчанию Download
Метод программирования. Чтобы запустить задачу «» Целевое устройство программы «», настройте этот сценарий, установив 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);
После запуска задачи создания Bitstream FPGA помощник по рабочим процессам предоставляет ссылку для создания сценария рабочего процесса, который программирует целевое устройство без повторного выполнения предыдущих задач в помощнике по рабочим процессам.

Щелкните ссылку, чтобы открыть сценарий в редакторе MATLAB ®. Этот фрагмент кода показывает пример сценария, который создается помощником по рабочим процессам HDL. При закрытии помощника по рабочим процессам HDL можно запустить сценарий для программирования целевого оборудования без выполнения других задач рабочего процесса.
% 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;
При использовании эталонных проектов для аппаратных платформ Zynq ® и Intel ® SoC генератор кода используетDownload в качестве метода программирования по умолчанию.
При использовании Download в качестве метода программирования и выполнения задачи Program Target Device, HDL Coder™ копирует сгенерированный битовый поток FPGA, дерево устройств Linux и сценарии инициализации системы на карту SD на целевой плате, а затем постоянно сохраняет битовый поток на карте SD. Для использования этого метода программирования лицензия Embedded Coder ® не требуется. Можно создать объект SSH, указав IP-адрес, имя пользователя SSH и пароль SSH. Кодер HDL использует объект SSH для копирования потока битов на карту SD и перепрограммирования платы.
Рекомендуется использовать Download метод, поскольку этот метод программирует битовый поток FPGA и загружает соответствующее устройство Linux перед загрузкой системы Linux. Следовательно, Download метод является более надежным и не приводит к панике ядра или зависанию ядра при загрузке. Во время перезагрузки Linux битовый поток FPGA автоматически перепрограммируется с карты SD. Определить Download в качестве метода программирования при выполнении рабочего процесса с помощью сценария помощника по рабочим процессам перед запуском сценария убедитесь, что ProgrammingMethod свойство объекта WorkflowConfig, hWC, имеет значение Download.
hWC.ProgrammingMethod = hdlcoder.ProgrammingMethod.Download;
При указании JTAG в качестве метода программирования и выполнения задачи «Целевое устройство программы» кодер HDL использует кабель JTAG для программирования целевого устройства SoC. Используйте этот метод для программирования устройств Intel и Xilinx ® SoC и автономных плат FPGA.
Для программирования SoC-устройств рекомендуется использовать Download способ. JTAG режим не включает процессор ARM и непосредственно программирует встроенный FPGA. Этот режим не обновляет дерево устройств Linux и может привести к аварийному завершению работы системы Linux или вызвать панику ядра, когда битовый поток не совпадает с деревом устройств. Чтобы избежать этой ситуации, используйте Download способ программирования устройства SoC.
Автономные платы Intel и Xilinx FPGA не имеют встроенного процессора ARM. JTAG - это метод по умолчанию, используемый для программирования плат FPGA.
Определить JTAG как метод программирования при выполнении рабочего процесса с помощью сценария помощника по рабочим процессам, перед выполнением сценария измените 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;