В этом примере показано, как использовать Системный Генератор 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');
В этом примере дерево суммы обозначается sldut
разделите в SLandSysGen
Подсистема моделируется с блоками Simulink. Можно использовать распределенную функцию конвейеризации, чтобы заботиться об оптимизации скорости.
Распределенная конвейеризация может переместить регистры трубопровода в дерево суммы, чтобы уменьшать критический путь, не изменяя функцию модели. Другая оптимизация, такая как разделение ресурсов, также доступна, но не используемая в этом примере.
open_system('hdlcoder_slsysgen/SLandSysGen');
Создать Системную подсистему Генератора Xilinx:
Поместите блоки Xilinx в одну подсистему и оставьте набор архитектуры HDL значению по умолчанию Module
.
Поместите Системную лексему Генератора в верхнем уровне подсистемы. У вас может быть иерархия подсистемы в Системной Подсистеме Генератора Xilinx, но должна быть Системная лексема Генератора в верхнем уровне иерархии.
open_system('hdlcoder_slsysgen/SLandSysGen/sysgendut');
В каждой Системной подсистеме Генератора Xilinx необходимо соединить порты ввода и вывода непосредственно со Шлюзом В, и Шлюз блокируется.
Шлюз В блоках не должен делать нетривиального преобразования типа данных. Например, блок Gateway In может преобразовать между uint8
и UFix_8_0
, но изменение знака данных, размера слова или дробной длины не позволено.
Можно использовать или makehdl в командной строке или HDL Workflow Advisor, чтобы сгенерировать HDL-код. Использовать makehdl:
makehdl('hdlcoder_slsysgen/SLandSysGen');
Можно также сгенерировать испытательный стенд, симулировать и синтезировать проект, как вы были бы для любой другой модели.