Вычислите квадратный корень, подписанный квадратный корень или обратную величину квадратного корня (HDL Coder)
Блок Sqrt доступен с Simulink®.
Для получения информации о поведении симуляции и параметрах блоков, смотрите Sqrt.
Для блока Sqrt с набором Function к sqrt
генератор кода поддерживает различную архитектуру и типы данных. Архитектура sqrtfunction
поддерживает генерацию кода в нативном режиме с плавающей точкой. Для этой архитектуры можно задать настройки HandleDenormals и LatencyStrategy от вкладки Native Floating Point в диалоговом окне HDL Block Properties.
Архитектура | Фиксированная точка | Собственный компонент, с плавающей точкой | HandleDenormals | LatencyStrategy |
---|---|---|---|---|
sqrtfunction | ✓ | ✓ | ✓ | ✓ |
sqrtnewton | ✓ | — | — | — |
sqrtnewtonsinglerate | ✓ | — | — | — |
sqrtbitset | ✓ | — | — | — |
Этот блок имеет реализации мультицикла, которые вводят дополнительную задержку в сгенерированном коде. Чтобы видеть добавленную задержку, просмотрите сгенерированную модель или модель валидации. См. Сгенерированную Модель Модели и Валидации.
Архитектура | Параметр | Дополнительные циклы задержки | Описание |
---|---|---|---|
SqrtFunction (значение по умолчанию) | 'none' | 0 | Используйте bitset алгоритм сдвига/сложения. Архитектура |
SqrtBitset | UseMultiplier | 0 | Алгоритм зависит от установки
|
SqrtNewton | Iterations | Iterations + 3 | Используйте итеративный метод Ньютона. Выберите эту опцию, чтобы оптимизировать область. Значение по умолчанию для Рекомендуемое значение для |
SqrtNewtonSingleRate | Iterations | (Iterations * 4) + 6 | Используйте конвейерный метод Ньютона одного уровня. Выберите эту опцию, чтобы оптимизировать скорость, или если вы хотите одну реализацию уровня. Значение по умолчанию для Рекомендуемое значение для |
Количество регистров, чтобы поместить при выходных параметрах путем перемещения существующих задержек в рамках проекта. Распределенная конвейеризация не перераспределяет эти регистры. Значение по умолчанию 0. См. также ConstrainedOutputPipeline.
Количество итераций для SqrtNewton
или реализации SqrtNewtonSingleRate
.
Количество входных настроек канала связи, чтобы вставить в сгенерированный код. Распределенная конвейеризация и ограниченная выходная конвейеризация могут переместить эти регистры. Значение по умолчанию 0. См. также InputPipeline.
Количество выходных настроек канала связи, чтобы вставить в сгенерированный код. Распределенная конвейеризация и ограниченная выходная конвейеризация могут переместить эти регистры. Значение по умолчанию 0. См. также OutputPipeline.
Выберите алгоритм для реализации SqrtBitset
. Значением по умолчанию является off
.
Блок Sqrt не поддерживает генерацию HDL-кода с типами данных double
в режиме Native Floating Point
.
Задайте, хотите ли вы, чтобы HDL Coder вставил дополнительную логику, чтобы обработать нестандартные числа в вашем проекте. Нестандартные числа являются числами, которые имеют значения меньше, чем самое маленькое число с плавающей запятой, которое может быть представлено без начальных нулей в мантиссе. Значением по умолчанию является inherit
. См. также HandleDenormals.
Задайте, сопоставить ли блоки в вашем проекте к inherit
, Max
, Min
, Zero
или Custom
для оператора с плавающей точкой. Значением по умолчанию является inherit
. См. также LatencyStrategy.
Чтобы задать значение, установите LatencyStrategy на Custom
. Задержка Coderadds HDL равняется значению, которое вы задаете для установки NFPCustomLatency. См. также NFPCustomLatency.
Введите должно быть скалярное значение без знака.
Вывод является скалярным значением фиксированной точки.