Вычислите квадратный корень, подписанный квадратный корень или обратную величину квадратного корня (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.
Введите должно быть скалярное значение без знака.
Вывод является скалярным значением фиксированной точки.