Используя генератор Xilinx® System для DSP с HDL Coder™

В этом примере показано, как использовать Системный Генератор Xilinx в DSP с HDL Coder.

Введение

Используя Xilinx Системный блок Subsystem Генератора включает вам с блоками использования проектов модели и из Simulink® и из Xilinx, и автоматически сгенерировать интегрированный HDL-код. HDL Coder™ генерирует HDL-код от блоков Simulink и использует Системный Генератор Xilinx, чтобы сгенерировать HDL-код от Системных блоков Subsystem Генератора Xilinx.

В этом примере проект или подсистема генерации кода, содержит две части: один с собственными блоками Simulink, и один с блоками Xilinx. Блоки Xilinx сгруппированы в Системную Подсистему Генератора Xilinx sysgendut это в SLandSysGen Подсистема в верхнем уровне модели hdlcoder_slsysgen. Системный Генератор оптимизирует эти блоки для Xilinx FPGAs. В остальной части проекта блоки Simulink и HDL Coder предлагают возможности модельно-ориентированного проектирования и оптимизацию HDL, такой, как распределено балансировка задержки и конвейеризация.

open_system('hdlcoder_slsysgen');
open_system('hdlcoder_slsysgen/SLandSysGen');

Выполните оптимизацию Уровня Модели для Simulink® Components

В этом примере дерево суммы обозначается sldut разделите в SLandSysGen Подсистема моделируется с блоками Simulink. Можно использовать распределенную функцию конвейеризации, чтобы заботиться об оптимизации скорости.

Распределенная конвейеризация может переместить конвейерные регистры в дерево суммы, чтобы уменьшать критический путь, не изменяя функцию модели. Другая оптимизация, такая как разделение ресурсов, также доступна, но не используемая в этом примере.

open_system('hdlcoder_slsysgen/SLandSysGen');

Создайте системную подсистему генератора Xilinx

Создать Системную подсистему Генератора Xilinx:

  1. Поместите блоки Xilinx в одну подсистему и оставьте набор архитектуры HDL значению по умолчанию Module.

  2. Поместите Системную лексему Генератора в верхнем уровне подсистемы. У вас может быть иерархия подсистемы в Системной Подсистеме Генератора Xilinx, но должна быть Системная лексема Генератора в верхнем уровне иерархии.

open_system('hdlcoder_slsysgen/SLandSysGen/sysgendut');

Сконфигурируйте шлюз в, и шлюз блокируется

В каждой Системной подсистеме Генератора Xilinx необходимо соединить порты ввода и вывода непосредственно со Шлюзом В, и Шлюз блокируется.

Шлюз В блоках не должен делать нетривиального преобразования типа данных. Например, блок Gateway In может преобразовать между uint8 и UFix_8_0, но изменение знака данных, размера слова или дробной длины не позволено.

Сгенерируйте HDL-код

Можно использовать или makehdl в командной строке или HDL Workflow Advisor, чтобы сгенерировать HDL-код. Использовать makehdl:

makehdl('hdlcoder_slsysgen/SLandSysGen');

Можно также сгенерировать испытательный стенд, симулировать и синтезировать проект, как вы были бы для любой другой модели.