Использование Fixed-Point Designer для задания и просмотра типов данных и масштабирования в MATLAB, Simulink и Stateflow
Использование Fixed-Point Designer для задания и просмотра типов данных и масштабирования в MATLAB, Simulink и Stateflow

Fixed-Point Designer предоставляет типы данных и инструменты для разработки алгоритмов с фиксированной точкой и с одинарной точностью для оптимизации производительности на встраиваемых системах. Fixed-Point Designer анализирует проект и предлагает типы данных и атрибуты, такие как длина слова и масштабирование. Можно указать подробные атрибуты данных, такие как режим округления и действие при переполнении, и смешивать данные одинарной точности и данные с фиксированной точкой. Вы можете выполнять бит-истинные симуляции, чтобы наблюдать влияние ограниченного диапазона и точности без реализации проекта в железе.

Fixed-Point Designer позволяет конвертировать алгоритмы двойной точности в одинарную точность или фиксированную точку. Можно создавать и оптимизировать типы данных, соответствующие требованиям числовой точности и целевым аппаратным ограничениям. Можно определить требования к диапазонам сигналов в проекте с помощью математического анализа или инструментальной симуляции. Fixed-Point Designer предоставляет приложения и инструменты, которые помогут вам в процессе преобразования данных и позволят сравнить результаты в фиксированной точке с оригиналом в плавающей точке.

Fixed-Point Designer поддерживает генерацию C, HDL и PLC кода.

Использование Fixed-Point Designer для задания и просмотра типов данных и масштабирования в MATLAB, Simulink и Stateflow Использование Fixed-Point Designer для задания и просмотра типов данных и масштабирования в MATLAB, Simulink и Stateflow

Ключевые возможности

  • Спецификация типов данных с фиксированной точкой в MATLAB, Simulink и Stateflow;
  • Бит-истинная симуляция алгоритмов с фиксированной и одинарной точностью;
  • Гистограммы и связанные с ними инструменты для изучения и оптимизации типов данных;
  • Приложения для преобразования из двойной точности в фиксированную точку или одинарную точность;
  • Инструментирование для сбора значений min и max во время симуляции;
  • Анализ диапазонов для полной оценки min и max значений в проекте;
  • Инструменты обнаружения переполнения и потери точности для отладки и визуализации.


Спецификация с фиксированной точкой

Не зависящий от типа данных алгоритм КИХ-фильтра в MATLAB, который позволяет наблюдать отклик во floating-point и в fixed-point
Не зависящий от типа данных алгоритм КИХ-фильтра в MATLAB, который позволяет наблюдать отклик во floating-point и в fixed-point
Не зависящий от типа данных алгоритм КИХ-фильтра в MATLAB, который позволяет наблюдать отклик во floating-point и в fixed-point Не зависящий от типа данных алгоритм КИХ-фильтра в MATLAB, который позволяет наблюдать отклик во floating-point и в fixed-point

Fixed-Point Designer позволяет задать все свойства, связанные с фиксированной точкой, для кода MATLAB, моделей Simulink и диаграмм Stateflow. Он обеспечивает полный контроль знака, длины слова и масштабирования. Он поддерживает длины слов от 1 бита до 128 бит или более. Также поддерживается двоичное масштабирование и произвольное масштабирование при помощи наклона и смещения, необходимое датчикам и приводам. Вы можете управлять деталями математических операций, таких как обработка округления и переполнения.

Fixed-Point Designer предоставляет большое количество функций, таких как математические и побитовые операции, манипуляции с массивами и матрицами, CORDIC реализации и тригонометрические функции для поддержки вычислений с фиксированной точкой.

С помощью Fixed-Point Designer можно управлять арифметикой с фиксированной точкой. В MATLAB переменные с фиксированной точкой могут либо совместно использовать один набор арифметических атрибутов, либо иметь свои собственные заданные арифметические атрибуты.

Используя Fixed-Point Designer с MATLAB Coder или Embedded Coder, вы можете генерировать чисто целочисленный код C из вашего кода с фиксированной точкой в MATLAB. Используя Fixed-Point Designer с HDL Coder, вы можете генерировать бит-истинный, синтезируемый код Verilog и VHDL из кода с фиксированной точкой в MATLAB, моделей Simulink и диаграмм Stateflow. 

Бит-истинный процесс проектирования

Использование Simulation Data Inspector для равнения результатов симуляции во floating-point с результатами симуляции в fixed-point
Использование Simulation Data Inspector для равнения результатов симуляции во floating-point с результатами симуляции в fixed-point

Fixed-Point Designer обеспечивает бит-истинное соответствие в рабочем процессе, использующем модельно-ориентированное проектирование. Поведение алгоритма с фиксированной точкой является бит-истинным для всех видов симуляции и генерации кода, включая режимы Accelerator и Software-in-the-Loop. Анализ и верификация алгоритма с фиксированной точкой основаны на бит-истинных представлениях. Бит-истинное соответствие максимизирует многие преимущества модельно-ориентированного проектирования, такие как возможность обнаружения проблем на ранних этапах рабочего процесса, когда их проще и дешевле исправить.

После настройки проекта с типами данных с фиксированной точкой можно симулировать его производительность для изучения компромиссов между ограниченным диапазоном и точностью для встроенных систем с фиксированной точкой.

С помощью инструментов Fixed-Point Designer можно получить доступ к этим значениям и изменить типы данных сигналов, оптимизируя точность и обеспечивая охват их диапазона. Диапазоны типов данных можно задать с помощью минимумов и максимумов проектирования, результатов моделирования или полученных минимальных и максимальных результатов. Для моделей Simulink можно заблокировать типы выходных данных, чтобы предотвратить их изменение. 

Использование Simulation Data Inspector для равнения результатов симуляции во floating-point с результатами симуляции в fixed-point Использование Simulation Data Inspector для равнения результатов симуляции во floating-point с результатами симуляции в fixed-point

Исследование и оптимизация типов данных

Гистограмма визуализации сигналов, выделяющих переполнения и исчезновения порядка
Гистограмма визуализации сигналов, выделяющих переполнения и исчезновения порядка
Гистограмма визуализации сигналов, выделяющих переполнения и исчезновения порядка Гистограмма визуализации сигналов, выделяющих переполнения и исчезновения порядка

Fixed-Point Designer предоставляет инструменты для системной визуализации диапазонов симуляции и исследует, как различные сигналы соответствуют определенному выбору типа данных. Fixed-Point Designer позволяет легко сравнить ваш идеальный дизайн с плавающей точкой и эффективную реализацию с использованием оптимальных типов данных для встраиваемой системы.

Используя переопределение типа данных, проект с фиксированной или одинарной точностью можно мгновенно переключить на двойную точность для анализа влияния квантования. Легко выполнять сравнение симуляций идеализированного поведения и поведения на встраиваемой системе. Интеграция рабочего процесса с Simulation Data Inspector позволяет легко определить, находится ли реакция системы в пределах желаемых допусков.

Можно итеративно настраивать типы данных, собирать новые результаты симуляции, а затем определять, соответствует ли новый проект допускам относительно двойной точности. Этот простой цикл итераций позволяет легко исследовать и оптимизировать типы данных, режимы округления и параметры насыщения. 

Преобразование двойной точности в одинарную или фиксированную точку

Рабочий процесс для преобразования идеального дизайна с плавающей точкой в фиксированную точку, оптимизированную для встраиваемой системы
Рабочий процесс для преобразования идеального дизайна с плавающей точкой в фиксированную точку, оптимизированную для встраиваемой системы

Fixed-Point Designer предоставляет инструменты анализа для эффективного преобразования проекта с двойной точностью в одинарную точность или фиксированную точку. Fixed-Point Tool обеспечивает управляемый рабочий процесс для итеративного изучения различных вариантов типов данных в соответствии с требованиями к числовой точности и оптимального использования ресурсов встраиваемой системы. Этот инструмент позволяет наблюдать динамический диапазон переменных в проекте и гарантировать, что алгоритм ведет себя сообразно в представлениях с плавающей и фиксированной точкой.

В MATLAB или Simulink можно использовать Fixed-Point Designer для сбора минимальных и максимальных значений с помощью симуляции или анализа диапазона и получения предлагаемых типов данных. Гистограмма генерируется для каждого сигнала и переменной в вашем проекте и вы можете использовать эту гистограмму для оптимизации длины слова и длины дробной части. Вы можете заменить любые неподдерживаемые функции MATLAB в своем проекте функцией аппроксимации на основе интерполяционной таблицы. 

Рабочий процесс для преобразования идеального дизайна с плавающей точкой в фиксированную точку, оптимизированную для встраиваемой системы Рабочий процесс для преобразования идеального дизайна с плавающей точкой в фиксированную точку, оптимизированную для встраиваемой системы

Инструментирование модели и анализ диапазонов

Fixed-Point Tool, показывающий минимальные и максимальные значения моделирования на основе входных данных симуляции и дающий возможность получения диапазонов на основе расчетных минимумов и максимумов, указанных в модели
Fixed-Point Tool, показывающий минимальные и максимальные значения моделирования на основе входных данных симуляции и дающий возможность получения диапазонов на основе расчетных минимумов и максимумов, указанных в модели
Fixed-Point Tool, показывающий минимальные и максимальные значения моделирования на основе входных данных симуляции и дающий возможность получения диапазонов на основе расчетных минимумов и максимумов, указанных в модели Fixed-Point Tool, показывающий минимальные и максимальные значения моделирования на основе входных данных симуляции и дающий возможность получения диапазонов на основе расчетных минимумов и максимумов, указанных в модели

Fixed-Point Designer позволяет собирать данные о диапазонах во время симуляции с помощью инструментирования модели без необходимости записывать все сигналы в модели в явном виде. Эти данные о диапазонах являются основой для предложения типов данных и сбора статистики, такой как данные гистограммы, которые помогают в анализе вашего проекта.

Fixed-Point Designer также предоставляет вам информацию о диапазонах, основанную на математическом анализе вашего проекта. Это позволяет определить наихудшие диапазоны сигналов вашего проекта без создания полностью исчерпывающих симуляционных тестов. Используя полученные диапазоны, вы можете убедиться, что ваш проект корректно работает и обрабатывает все возможные граничные ситуации. 

Обнаружение потери точности и переполнения

Трассировка переполнения к определенному блоку в модели
Трассировка переполнения к определенному блоку в модели

Fixed-Point Designer предоставляет инструменты, которые позволяют быстро идентифицировать источники переполнения, потери точности и лишний диапазон или точность. Используя переопределение данных с двойной точностью, можно визуализировать идеальное поведение модели с плавающей точкой и проанализировать это поведение по отношению к указанным встроенным фиксированным типам данных. 

Визуальный дисплей с использованием гистограмм, которые накладываются на идеализированный диапазон и встроенный фиксированный тип данных, позволяет легко обнаружить источники переполнений, исчезновений порядка, лишних битов диапазона и лишних битов точности. Это позволяет легко определить места, в которых требуются улучшения типов данных. 

Вы можете проследить переполнение/исчезновение порядка к определенному элементу проекта, например к определенному блоку, элементу диаграммы Stateflow или секции кода MATLAB. Интеграция Fixed-Point Designer с диагностикой Simulink позволяет обнаруживать и изолировать ошибки проектирования, такие как переполнения во время выполнения. Возможность подавления диагностики отдельных элементов модели, таких как правильно переполненный таймер, позволяет тратить время только на реальные проблемы. 

Трассировка переполнения к определенному блоку в модели Трассировка переполнения к определенному блоку в модели