Вычислите обратную величину с методом приближения Ньютона-Raphson
HDL Coder / Операции HDL
Блок HDL Reciprocal использует итерационный метод Ньютона-Raphson, чтобы вычислить обратную величину входа блока. Метод Ньютона-Raphson использует линейную аппроксимацию, чтобы последовательно найти лучшие приближения к корням действительной функции.
Обратная величина вещественного числа задан как нуль функции:
HDL Coder™ выбирает первоначальную оценку в области значений когда это - область сходимости для функции.
Чтобы последовательно вычислить корни функции, задайте параметр Number of iterations в диалоговом окне Block Parameters. Процесс повторяется как:
производная функции .
Следующая таблица показывает сравнение поведения симуляции Обратной величины HDL с блоком Math Reciprocal:
Математическая обратная величина | Обратная величина HDL |
---|---|
Вычисляет обратную величину, когда 1/N при помощи HDL делит оператор (/), чтобы реализовать деление. | Использует итерационный метод Ньютона-Raphson. Блок вычисляет приближенное значение обратной величины входа блока и может привести к различным результатам симуляции по сравнению с блоком Math Reciprocal. Чтобы совпадать с результатами симуляции блоку Math Reciprocal, увеличьте число итераций для блока HDL Reciprocal. |
Количество итераций Ньютона-Raphson. Значение по умолчанию равняется 3.
Блок имеет следующие порты:
Поддерживаемые типы данных: фиксированная точка, целое число (подписанный или без знака), дважды, один
Минимальная битная ширина: 2
Максимальная битная ширина: 128
Тип входных данных | Тип выходных данных |
---|---|
'double' | 'double' |
единственный | единственный |
встроенное целое число | встроенное целое число |
встроенная фиксированная точка | встроенная фиксированная точка |
|
|
|
|
Этот блок имеет реализации мультицикла, которые вводят дополнительную задержку в сгенерированном коде. Чтобы видеть добавленную задержку, просмотрите сгенерированную модель или модель валидации. См. Сгенерированную Модель Модели и Валидации.
Архитектура | Дополнительные циклы задержки | Описание |
---|---|---|
ReciprocalNewton (значение по умолчанию) | Iterations + 1 | Используйте многоскоростную реализацию итеративного метода Ньютона. Выберите эту опцию, чтобы оптимизировать область. Значение по умолчанию для Рекомендуемое значение для |
ReciprocalNewtonSingleRate | (Iterations * 2) + 1 | Используйте конвейерный метод Ньютона одного уровня. Выберите эту опцию, чтобы оптимизировать скорость, или если вы хотите одну реализацию уровня. Значение по умолчанию для Рекомендуемое значение для |
Количество регистров, чтобы поместить при выходных параметрах путем перемещения существующих задержек в рамках проекта. Распределенная конвейеризация не перераспределяет эти регистры. Значение по умолчанию 0. См. также ConstrainedOutputPipeline.
Количество входных настроек канала связи, чтобы вставить в сгенерированный код. Распределенная конвейеризация и ограниченная выходная конвейеризация могут переместить эти регистры. Значение по умолчанию 0. См. также InputPipeline.
Количество выходных настроек канала связи, чтобы вставить в сгенерированный код. Распределенная конвейеризация и ограниченная выходная конвейеризация могут переместить эти регистры. Значение по умолчанию 0. См. также OutputPipeline.