Математическая функция

Выполните математическую функцию (HDL Coder)

Описание

Блок Math Function доступен с Simulink®.

Для получения информации о поведении симуляции и параметрах блоков, смотрите Математическую функцию.

Архитектура HDL

союз

АрхитектураОписание
ComplexConjugate Вычислите сопряженное комплексное число. Смотрите Математическую функцию в документации Simulink.

эрмитов

АрхитектураОписание
Hermitian Вычислите эрмитов. Смотрите Математическую функцию в документации Simulink.

обратная величина

Этот блок имеет реализации мультицикла, которые вводят дополнительную задержку в сгенерированном коде. Чтобы видеть добавленную задержку, просмотрите сгенерированную модель или модель валидации. См. Сгенерированную Модель Модели и Валидации.

АрхитектураПараметрыДополнительные циклы задержкиОписание
Math (значение по умолчанию)
Reciprocal
'none'0Вычислите обратную величину, когда 1/N, с помощью HDL делит (/) оператор, чтобы реализовать деление.
ReciprocalRsqrtBasedNewtonIterations

Подписанный вход: Iterations + 5

Вход без знака: Iterations + 3

Используйте итеративный метод Ньютона. Выберите эту опцию, чтобы оптимизировать область.

Значение по умолчанию для Iterations равняется 3.

Рекомендуемое значение для Iterations от 2 до 10. Если Iterations вне рекомендуемой области значений, HDL Coder™ генерирует сообщение.

 
ReciprocalRsqrtBasedNewtonSingleRateIterations

Подписанный вход: (Iterations * 4) + 8

Вход без знака: (Iterations * 4) + 6

Используйте конвейерный метод Ньютона одного уровня. Выберите эту опцию, чтобы оптимизировать скорость, или если вы хотите одну реализацию уровня.

Значение по умолчанию для Iterations равняется 3.

Рекомендуемое значение для Iterations от 2 до 10. Если Iterations вне рекомендуемой области значений, кодер генерирует сообщение.

 

Итерационный метод Ньютона-Raphson:

xi+1=xif(xi)f'(xi)=xi(1.50.5axi2)

ReciprocalRsqrtBasedNewton и ReciprocalRsqrtBasedNewtonSingleRate реализуют метод Ньютона-Raphson с:

f(x)=1x21

перемещение

АрхитектураОписание
Transpose Вычислите массив, транспонируют. Смотрите Математическую функцию в документации Simulink.

Свойства блока HDL

Общий

ConstrainedOutputPipeline

Количество регистров, чтобы поместить при выходных параметрах путем перемещения существующих задержек в рамках проекта. Распределенная конвейеризация не перераспределяет эти регистры. Значение по умолчанию 0. См. также ConstrainedOutputPipeline.

InputPipeline

Количество входных настроек канала связи, чтобы вставить в сгенерированный код. Распределенная конвейеризация и ограниченная выходная конвейеризация могут переместить эти регистры. Значение по умолчанию 0. См. также InputPipeline.

OutputPipeline

Количество выходных настроек канала связи, чтобы вставить в сгенерированный код. Распределенная конвейеризация и ограниченная выходная конвейеризация могут переместить эти регистры. Значение по умолчанию 0. См. также OutputPipeline.

Нативная плавающая точка

HandleDenormals

Задайте, хотите ли вы, чтобы HDL Coder вставил дополнительную логику, чтобы обработать нестандартные числа в вашем проекте. Нестандартные числа являются числами, которые имеют значения меньше, чем самое маленькое число с плавающей запятой, которое может быть представлено без начальных нулей в мантиссе. Значением по умолчанию является inherit. См. также HandleDenormals.

LatencyStrategy

Задайте, сопоставить ли блоки в вашем проекте к inherit, Max, Min, Zero или Custom для оператора с плавающей точкой. Значением по умолчанию является inherit. См. также LatencyStrategy.

NFPCustomLatency

Чтобы задать значение, установите LatencyStrategy на Custom. Задержка Coderadds HDL равняется значению, которое вы задаете для установки NFPCustomLatency. См. также NFPCustomLatency.

Поддержка комплексных данных

conj, hermitian и функции transpose поддерживают комплексные данные.

Ограничения

Когда вы используете реализацию reciprocal:

  • Введите должен быть скаляр и должен иметь целочисленную или фиксированную точку (подписанный или без знака) тип данных.

  • Вывод должен быть скаляром и иметь целочисленную или фиксированную точку (подписанный или без знака) тип данных.

  • Только режим округления Zero поддерживается.

  • Опция Saturate on integer overflow на блоке должна быть выбрана.

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью Simulink® Coder™.

Генерация HDL-кода
Сгенерируйте Verilog и код VHDL для FPGA и проекты ASIC с помощью HDL Coder™.

Введенный в R2014a