Можно сгенерировать HDL-код из модели с обоими Simulink® и Xilinx® блокирует с использованием подсистем Xilinx System Generator (XSG).
Использование как блоков Simulink, так и блоков Xilinx в вашей модели предоставляет следующие преимущества:
Единая платформа для комбинированной симуляции Simulink и Xilinx System Generator, генерации кода и синтеза.
Целевая генерация кода: Xilinx System Generator для DSP генерирует код из блоков Xilinx; HDL Coder™ генерирует код из блоков Simulink.
HDL Coder для компонентов Simulink.
Для генерации кода необходимо сгруппировать блоки Xilinx в одну или несколько подсистем Xilinx System Generator (XSG). Подсистема XSG может содержать иерархию подсистем.
Чтобы сгенерировать код из подсистемы Xilinx System Generator:
Использование Vivado® или ISE Design Suite 13.4 или более поздней версии.
Если в проекте используются логические типы данных, выберите параметр Use STD_LOGIC type for Boolean or 1 bit wide gateways в окне Xilinx System Generator. По умолчанию Xilinx System Generator использует std_logic_vector
для представления логических типов, в то время как HDL Coder использует std_logic
, что может привести к несоответствию.
Подсистема XSG является блоком Subsystem с:
Для архитектуры задано значение Module.
Одна лексема System Generator, размещенный на верхнем уровне иерархии подсистем XSG.
Блоки Xilinx.
Блоки Simulink, не требующие генерации кода.
Входные и выходные порты, подключенные непосредственно к блокам Gateway In или Gateway Out.
Propagate data type to output опция включена для блоков Gateway Out.
Соответствие типов входных и выходных данных в блоках Gateway In. Смотрите ограничения для генерации кода из подсистем Xilinx System Generator.
Создайте подсистему, содержащую блоки Xilinx, и установите ее архитектуру на Module
.
Добавьте лексему System Generator на верхнем уровне подсистемы.
Вы можете иметь иерархию подсистем в подсистеме Xilinx System Generator, но должен быть лексема System Generator на верхнем уровне иерархии.
Соедините каждый входной или выходной порт подсистемы непосредственно с блоком Gateway In или Gateway Out.
На каждом блоке Gateway Out выберите опцию Propagate data type to output.
Генерация кода из подсистем Xilinx System Generator (XSG) имеет следующие ограничения:
ConstrainedOutputPipeline
, InputPipeline
, и OutputPipeline
являются единственными допустимыми свойствами блоков для подсистемы XSG.
HDL Coder не генерирует код для блоков в подсистеме XSG, включая блоки Simulink.
Шлюзы In не должны выполнять нетривиальное преобразование типа данных. Для примера Шлюза In может преобразовываться между sfix8_en6
и Fix_8_6
типы данных, но изменение знака данных, размеры слова или длины дроби не допускается.
Для Verilog® генерация кода, имена блоков Simulink в вашем проекте не могут совпадать с именами Xilinx. Точно так же блоки Xilinx в вашем проекте не могут иметь то же имя, что и другие блоки Xilinx. HDL Coder не может разрешить эти конфликты по совпадению имен и генерирует ошибку поздно в процессе генерации кода.