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

Почему использование системные подсистемы генератора Xilinx?

Можно сгенерировать HDL-код из модели и с Simulink® и с блоками Xilinx® с помощью подсистем Системного генератора Xilinx (XSG).

И Используя Simulink и Используя блоки Xilinx в вашей модели предоставляет следующие преимущества:

  • Единая платформа для объединенного Simulink и Системной симуляции Генератора Xilinx, генерации кода и синтеза.

  • Целевая генерация кода: Системный Генератор Xilinx для DSP генерирует код от блоков Xilinx; HDL Coder™ генерирует код от блоков Simulink.

  • Область HDL Coder и оптимизация скорости для компонентов Simulink.

Требования для системных подсистем генератора Xilinx

Необходимо сгруппировать блоки Xilinx в одну или несколько подсистем Системного генератора Xilinx (XSG) для генерации кода. Подсистема XSG может содержать иерархию подсистем.

Сгенерировать код от Системной подсистемы Генератора Xilinx:

  • Используйте Vivado® или Комплект Проекта ISE 13.4 или позже.

  • Если ваш проект использует булевы типы данных, выберите установку Use STD_LOGIC type for Boolean or 1 bit wide gateways на окне Xilinx System Generator. По умолчанию Системный Генератор Xilinx использует std_logic_vector, чтобы представлять булевы типы, тогда как HDL Coder использует std_logic, который может привести к несоответствию.

Подсистема XSG является блоком Subsystem с:

  • Набор архитектуры к Module.

  • Одна Системная лексема Генератора, помещенная в верхний уровень иерархии подсистемы XSG.

  • Блоки Xilinx.

  • Блоки Simulink, не требующие генерации кода.

  • Порты ввода и вывода, соединенные непосредственно со Шлюзом В или Шлюзом, блокируются.

  • Опция Propagate data type to output включила на Шлюзе, блокируется.

  • Соответствие с входными и выходными данными вводит на Шлюзе В блоках. Смотрите Ограничения для Генерации кода от Системных Подсистем Генератора Xilinx.

Как создать системную подсистему генератора Xilinx

  1. Создайте подсистему, содержащую блоки Xilinx, и установите его архитектуру на Module.

  2. Добавьте Системную лексему Генератора в верхнем уровне подсистемы.

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

  3. Соедините каждый порт ввода или вывода подсистемы непосредственно с блоком Gateway In или Gateway Out.

  4. На каждом блоке Gateway Out выберите опцию Propagate data type to output.

Для примера генерации HDL-кода от Системной подсистемы Генератора Xilinx смотрите Используя Системный Генератор Xilinx для DSP с HDL Coder.

Ограничения для генерации кода от системных подсистем генератора Xilinx

У генерации кода от подсистем Системного генератора Xilinx (XSG) есть следующие ограничения:

  • ConstrainedOutputPipeline, InputPipeline и OutputPipeline являются единственными допустимыми свойствами блока для подсистемы XSG.

  • HDL Coder не генерирует код для блоков в подсистеме XSG, включая блоки Simulink.

  • Шлюз В блоках не должен делать нетривиального преобразования типа данных. Например, блок Gateway In может преобразовать между sfix8_en6 и типами данных Fix_8_6, но изменяющим знаком данных, размером слова, или фракционироваться, длина не позволена.

  • Для генерации кода Verilog® имена блока Simulink в вашем проекте не могут совпасть с именами Xilinx. Точно так же блоки Xilinx в вашем проекте не могут иметь того же имени как другие блоки Xilinx. HDL Coder не может разрешить эти конфликты по совпадению имен и генерирует ошибку поздно в процессе генерации кода.