Взаимный Sqrt

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

Описание

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

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

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

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

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

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

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

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

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

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

RecipSqrtNewtonIterations + 2

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

RecipSqrtNewtonSingleRate(Iterations * 4) + 5

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

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

Общий

ConstrainedOutputPipeline

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

InputPipeline

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

Iterations

Количество итераций для метода Ньютона. Значение по умолчанию равняется 3.

OutputPipeline

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

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

Примечание

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

HandleDenormals

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

LatencyStrategy

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

MantissaMultiplyStrategy

Задайте, как реализовать операцию умножения мантиссы во время генерации кода. При помощи различных настроек можно управлять использованием DSP на целевом устройстве FPGA. Значением по умолчанию является inherit. См. также MantissaMultiplyStrategy.

Ограничения

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

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

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

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

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

Введенный в R2014a