При создании кода HDL из проекта MATLAB ® выполняется преобразование алгоритма в архитектуру, которая должна соответствовать требованиям к аппаратной области и скорости.
Проект MATLAB имеет следующие требования:
Код MATLAB в проекте должен поддерживаться для генерации кода HDL.
Входы и выходы не должны быть матрицами или структурами.
При создании кода из командной строки проверьте готовность кода к созданию кода с помощью следующей команды:
coder.screener('design_function_name')Для справки по поддержке языка MATLAB, включая поддерживаемые функции из Designer™ Fixed-Point, см. раздел Функции, поддерживаемые для генерации кода HDL.
Для улучшения кода HDL и более быстрого создания кода разработайте код MATLAB в соответствии со следующими передовыми практиками:
Сериализируйте входные и выходные данные. Параллельные структуры обработки данных требуют большего количества аппаратных ресурсов и большего количества контактов.
Используйте алгоритмы сложения и вычитания вместо алгоритмов, использующих такие функции, как синус, деление и по модулю. Операции добавления и вычитания используют меньше аппаратных ресурсов.
Избегайте больших массивов и матриц. Для хранения больших массивов и матриц требуется больше регистров и оперативной памяти.
Преобразование кода из плавающей точки в фиксированную. Типы данных с плавающей запятой неэффективны для реализации аппаратных средств. HDL Coder™ обеспечивает автоматизированный рабочий процесс для преобразования с плавающей запятой в фиксированную.
Разматывание петель для увеличения скорости за счет увеличения площади; раскручивание меньшего количества циклов и оптимизация потоковой передачи циклов для экономии площади при меньших затратах на пропускную способность.