В этом примере показано, как использовать Xilinx System Generator для DSP с HDL Coder.
Использование блока Xilinx System Generator Subsystem позволяет моделировать проекты с помощью блоков Simulink ® и Xilinx, и автоматически генерировать интегрированный HDL-код. HDL Coder™ генерирует HDL-код из блоков Simulink и использует Xilinx System Generator, чтобы сгенерировать HDL-код из блоков Xilinx System Generator Subsystem.
В этом примере проект, или подсистема генерации кода, содержит две части: одну с нативными блоками Simulink и одну с блоками Xilinx. Блоки Xilinx сгруппированы в подсистему Xilinx System Generator sysgendut который находится внутри SLandSysGen Подсистема на верхнем уровне модели hdlcoder_slsysgen. Системный генератор оптимизирует эти блоки для Xilinx FPGA. В остальной части дизайна блоки Simulink и HDL Coder предлагают модельно-ориентированному проектированию возможности и оптимизацию HDL, такие как распределенная конвейеризации и балансировка задержек.
open_system('hdlcoder_slsysgen'); open_system('hdlcoder_slsysgen/SLandSysGen');

В этом примере дерево сумм, обозначенное sldut сечение внутри SLandSysGen Подсистема моделируется блоками Simulink. Можно использовать функцию распределённой конвейеризации, чтобы позаботиться об оптимизации скорости.
Распределённая конвейеризация может переместить регистры трубопровода в дерево сумм, чтобы уменьшить критический путь, не меняя функцию модели. Другие оптимизации, такие как совместное использование ресурсов, также доступны, но не используются в этом примере.
open_system('hdlcoder_slsysgen/SLandSysGen');

Чтобы создать подсистему Xilinx System Generator, выполните следующие действия.
Поместите блоки Xilinx в одну подсистему и оставьте для архитектуры HDL значение по умолчанию Module.
Поместите лексему System Generator на верхний уровень подсистемы. Вы можете иметь иерархию подсистем в Подсистеме Генератора Систем Xilinx, но должен быть лексема Генератора Систем на верхнем уровне иерархии.
open_system('hdlcoder_slsysgen/SLandSysGen/sysgendut');

В каждой подсистеме Xilinx System Generator необходимо подключить входные и выходные порты непосредственно к блокам Gateway In и Gateway Out.
Шлюзы In не должны выполнять нетривиальное преобразование типов данных. Для примера Шлюза In может преобразовываться между uint8 и UFix_8_0, но изменение знака данных, размеры слова или длины дроби не допускается.
Для генерации HDL-кода можно использовать makehdl в командной строке или HDL Workflow Advisor. Чтобы использовать makehdl:
makehdl('hdlcoder_slsysgen/SLandSysGen');
Можно также сгенерировать тестовый график, моделировать и синтезировать проект так же, как для любой другой модели.