Вычислите квадратный корень, подписанный квадратный корень или обратную величину квадратного корня (HDL Coder)
Блок Reciprocal Sqrt доступен с Simulink®.
Для получения информации о поведении симуляции и параметрах блоков, смотрите Взаимный Sqrt.
Для блока Sqrt с набором Function к rSqrt
генератор кода поддерживает различную архитектуру и типы данных. Архитектура sqrtfunction
поддерживает генерацию кода в нативном режиме с плавающей точкой. Для этой архитектуры можно задать настройки HandleDenormals и LatencyStrategy от вкладки Native Floating Point в диалоговом окне HDL Block Properties.
Архитектура | Фиксированная точка | Собственный компонент, с плавающей точкой | HandleDenormals | LatencyStrategy |
---|---|---|---|---|
sqrtfunction | — | ✓ | ✓ | ✓ |
recipsqrtnewton | ✓ | — | — | — |
recipsqrtnewtonsinglerate | ✓ | — | — | — |
Этот блок имеет реализации мультицикла, которые вводят дополнительную задержку в сгенерированном коде. Чтобы видеть добавленную задержку, просмотрите сгенерированную модель или модель валидации. См. Сгенерированную Модель Модели и Валидации.
Архитектура | Дополнительные циклы задержки | Описание |
---|---|---|
SqrtFunction (значение по умолчанию) | 0 | Используйте bitset алгоритм сдвига/сложения. Архитектура |
RecipSqrtNewton | Iterations + 2 | Используйте итеративный метод Ньютона. Выберите эту опцию, чтобы оптимизировать область. |
RecipSqrtNewtonSingleRate | (Iterations * 4) + 5 | Используйте конвейерный метод Ньютона одного уровня. Выберите эту опцию, чтобы оптимизировать скорость, или если вы хотите одну реализацию уровня. |
Количество регистров, чтобы поместить при выходных параметрах путем перемещения существующих задержек в рамках проекта. Распределенная конвейеризация не перераспределяет эти регистры. Значение по умолчанию 0. См. также ConstrainedOutputPipeline.
Количество входных настроек канала связи, чтобы вставить в сгенерированный код. Распределенная конвейеризация и ограниченная выходная конвейеризация могут переместить эти регистры. Значение по умолчанию 0. См. также InputPipeline.
Количество итераций для метода Ньютона. Значение по умолчанию равняется 3.
Количество выходных настроек канала связи, чтобы вставить в сгенерированный код. Распределенная конвейеризация и ограниченная выходная конвейеризация могут переместить эти регистры. Значение по умолчанию 0. См. также OutputPipeline.
Продукт блока Element не поддерживает генерацию HDL-кода с типами данных double
в режиме Native Floating Point
.
Задайте, хотите ли вы, чтобы HDL Coder™ вставил дополнительную логику, чтобы обработать нестандартные числа в вашем проекте. Нестандартные числа являются числами, которые имеют значения меньше, чем самое маленькое число с плавающей запятой, которое может быть представлено без начальных нулей в мантиссе. Значением по умолчанию является inherit
. См. также HandleDenormals.
Задайте, сопоставить ли блоки в вашем проекте к inherit
, Max
, Min
, Zero
или Custom
для оператора с плавающей точкой. Значением по умолчанию является inherit
. См. также LatencyStrategy.
Задайте, как реализовать операцию умножения мантиссы во время генерации кода. При помощи различных настроек можно управлять использованием DSP на целевом устройстве FPGA. Значением по умолчанию является inherit
. См. также MantissaMultiplyStrategy.
Введите должно быть скалярное значение без знака.
Вывод является скалярным значением фиксированной точки.