Sqrt

Вычислите квадратный корень, подписанный квадратный корень или обратную величину квадратного корня (HDL Coder)

Описание

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

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

Поддержка генерации HDL-кода

Для блока Sqrt с набором Function к sqrt генератор кода поддерживает различную архитектуру и типы данных. Архитектура sqrtfunction поддерживает генерацию кода в нативном режиме с плавающей точкой. Для этой архитектуры можно задать настройки HandleDenormals и LatencyStrategy от вкладки Native Floating Point в диалоговом окне HDL Block Properties.

АрхитектураФиксированная точкаСобственный компонент, с плавающей точкойHandleDenormalsLatencyStrategy
sqrtfunction
sqrtnewton
sqrtnewtonsinglerate
sqrtbitset

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

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

АрхитектураПараметрДополнительные циклы задержкиОписание
SqrtFunction (значение по умолчанию)'none'0

Используйте bitset алгоритм сдвига/сложения.

Архитектура SqrtFunction эквивалентна архитектуре SqrtBitset с набором UseMultiplier к off.

SqrtBitsetUseMultiplier0

Алгоритм зависит от установки UseMultiplier:

  • off (значение по умолчанию): Используйте bitset алгоритм сдвига/сложения.

  • on: Используйте умножиться/добавить алгоритм.

SqrtNewtonIterationsIterations + 3

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

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

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

SqrtNewtonSingleRateIterations(Iterations * 4) + 6

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

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

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

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

Общий

ConstrainedOutputPipeline

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

Iterations

Количество итераций для SqrtNewton или реализации SqrtNewtonSingleRate.

InputPipeline

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

OutputPipeline

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

UseMultiplier

Выберите алгоритм для реализации SqrtBitset. Значением по умолчанию является off.

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

Примечание

Блок Sqrt не поддерживает генерацию HDL-кода с типами данных double в режиме Native Floating Point.

HandleDenormals

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

LatencyStrategy

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

NFPCustomLatency

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

Ограничения

  • Введите должно быть скалярное значение без знака.

  • Вывод является скалярным значением фиксированной точки.

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

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

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

Введенный в R2014a