Можно создать код HDL из модели с блоками Simulink ® и Xilinx ® с помощью подсистем Xilinx System Generator (XSG).
Использование блоков Simulink и Xilinx в модели обеспечивает следующие преимущества.
Единая платформа для комбинированного моделирования, генерации и синтеза Simulink и Xilinx System Generator.
Целевое формирование кода: системный генератор Xilinx для DSP генерирует код из блоков Xilinx; HDL Coder™ генерирует код из блоков Simulink.
Оптимизация площади кодера HDL и скорости для компонентов Simulink.
Для создания кода необходимо сгруппировать блоки Xilinx в одну или несколько подсистем Xilinx System Generator (XSG). Подсистема XSG может содержать иерархию подсистем.
Для генерации кода из подсистемы генератора системы Xilinx:
Используйте Vivado ® или ISE Design Suite 13.4 или более поздней версии .
Если Ваш дизайн использует типы булевых данных, выберите Использование тип STD_LOGIC для Булевой или настройки ворот 1 бит шириной на Системном окне Генератора Xilinx. По умолчанию используется системный генератор Xilinx std_logic_vector для представления логических типов, в то время как кодер HDL использует std_logic, что может привести к несоответствию.
Подсистема XSG является блоком подсистемы с:
Для архитектуры установлено значение Module.
Один маркер системного генератора, размещенный на верхнем уровне иерархии подсистемы XSG.
Блоки Xilinx.
Блоки Simulink, не требующие генерации кода.
Порты ввода и вывода, подключенные непосредственно к блокам Gateway In или Gateway Out.
Распространить тип данных на параметр вывода, включенный в блоках Gateway Out.
Согласование типов входных и выходных данных в блоках Gateway In. См. раздел Ограничения для генерации кода из подсистем генератора системы Xilinx.
Создайте подсистему, содержащую блоки Xilinx, и задайте для ее архитектуры значение Module.
Добавьте маркер системного генератора на верхнем уровне подсистемы.
В подсистеме Xilinx System Generator может быть иерархия подсистем, но на верхнем уровне иерархии должен быть маркер System Generator.
Подключите каждый входной или выходной порт подсистемы непосредственно к блоку Gateway In или Gateway Out.
В каждом блоке Gateway Out выберите параметр Распространить тип данных для вывода.
Формирование кода от подсистем Xilinx System Generator (XSG) имеет следующие ограничения:
ConstrainedOutputPipeline, InputPipeline, и OutputPipeline являются единственными допустимыми свойствами блока для подсистемы XSG.
Кодер HDL не генерирует код для блоков в подсистеме XSG, включая блоки Simulink.
Шлюз в блоках не должен выполнять нетривиальное преобразование типа данных. Например, блок Gateway In может преобразовываться между sfix8_en6 и Fix_8_6 типы данных, но изменение знака данных, длины слова или длины дроби не допускается.
При создании кода Verilog ® имена блоков Simulink в конструкции не могут совпадать с именами Xilinx. Аналогично, блоки Xilinx в конструкции не могут иметь то же имя, что и другие блоки Xilinx. Кодер HDL не может разрешить эти конфликты имен и создает ошибку с опозданием в процессе создания кода.