Можно сгенерировать HDL-код из модели с обоими Simulink® и Altera® DSP Builder Advanced блокирует подсистемы Altera DSP Builder (DSPB).
Использование блоков Simulink и Altera в вашей модели предоставляет следующие преимущества:
Единая платформа для комбинированной симуляции, генерации кода и синтеза Simulink и Altera DSP Builder.
Целевая генерация кода: Altera DSP Builder генерирует код из блоков Altera; HDL Coder™ генерирует код из блоков Simulink.
HDL Coder для компонентов Simulink.
Для генерации кода необходимо сгруппировать блоки Altera в одну или несколько подсистем Altera DSP Builder (DSPB). Подсистема DSPB может содержать иерархию подсистем.
Чтобы сгенерировать код из подсистемы Altera DSP Builder, необходимо использовать Quartus II 13.0 или более позднюю версию.
Подсистема DSPB является блоком Subsystem с:
Для архитектуры задано значение Module.
Действительный проект DSP Builder Advanced Blockset, включая блок устройства верхнего уровня и блоки DSP Builder Advanced, как определено в документации Altera DSP Builder.
Создайте проект расширенной библиотеки Altera DSP Builder, как определено в документации Altera DSP Builder.
Создайте подсистему, содержащую Библиотеку проекта Altera DSP Builder Advanced, и установите ее Architecture Module
.
Чтобы увидеть пример, показывающий генерацию HDL-кода для подсистемы Altera DSP Builder, смотрите Использование Altera DSP Builder Advanced Blockset с HDL Coder.
Подсистемы DSPB должны работать либо на базовой скорости подсистемы DUT, либо вы можете предоставить пользовательский синхроимпульс.
Определение базовой скорости подсистемы DUT может быть итеративным процессом. Оптимизация областей, такая как отображение ОЗУ или совместное использование ресурсов, может привести к тому, что HDL Coder переопределит оптимизированные по площадям части проекта. Поэтому начальная базовая ставка подсистемы DUT может отличаться от конечной базовой скорости, и вы можете не знать базовую скорость модели, пока не сгенерируете код.
Чтобы определить базовую скорость модели, итеративно сгенерируйте код, пока ваша модель не сойдется на базовой скорости:
Сгенерируйте код для подсистемы DUT, которая содержит вашу подсистему DSPB.
Если HDL Coder отображает сообщение об ошибке, в котором говорится, что ваша скорость подсистемы DSPB медленнее, чем базовая скорость, измените входы подсистемы DSPB так, чтобы подсистема DSPB выполнялась с базовой скоростью в сообщении.
Для примера можно вставить блок Upsample.
Повторяйте эти шаги до тех пор, пока ваша ставка подсистемы DSPB не будет соответствовать базовой ставке.
Чтобы предоставить пользовательские часы для подсистемы DSPB:
В HDL Workflow Advisor, для HDL Code Generation> Set Code Generation Options> Set Advanced Options> Clock inputs, избранный Multiple.
В сгенерированном HDL-коде подключите пользовательские часы к входным портам синхроимпульса DUT, которые соответствуют часам подсистем DSPB.
Генерация кода для подсистем Altera DSP Builder (DSPB) имеет следующие ограничения:
Подсистема DUT не может быть подсистемой DSPB.
Подсистемы DSPB должны запускаться на базовой скорости модели Simulink. Вам, возможно, потребуется итерационно сгенерировать код, чтобы определить базовую скорость, потому что оптимизация области может привести к локальному мультирейту. Рабочий процесс см. в разделе Определение требований к синхронизации для подсистем Altera DSP Builder.
Блоки altera с шинными интерфейсами не поддерживаются.
Altera DSP Builder не генерирует Verilog® код.
Испытательные стенды несоответствия симуляции могут возникнуть, потому что сравнение данных Simulink не учитывает допустимые сигналы Altera. Пример и обходные пути см. в разделе Использование Altera DSP Builder Advanced Blockset с HDL Coder.