Разделите тот, введенный другим (HDL Coder)
Блок Divide доступен с Simulink®. Для получения информации о поведении симуляции и параметрах блоков, смотрите, Делятся.
Когда вы развертываете сгенерированный HDL-код на целевой компьютер, убедитесь, что вы устанавливаете параметр signed integer division rounds to в панели Hardware Implementation диалогового окна Configuration Parameters к Zero
или Simplest
.
Чтобы выполнить оптимизированную HDL операцию деления, соедините блок продукта с блоком Divide во взаимном режиме. Для получения информации о блоке Divide во взаимном режиме смотрите Взаимный Режим.
В режиме по умолчанию блок Divide поддерживает только целочисленные типы данных для генерации HDL-кода.
Архитектура | Параметры | Описание |
---|---|---|
default Linear | 'none' | Сгенерируйте деление (/ ) оператор в HDL-коде. |
Когда Number of Inputs установлен в /
, блок Divide находится во взаимном режиме.
Этот блок имеет реализации мультицикла, которые вводят дополнительную задержку в сгенерированном коде. Чтобы видеть добавленную задержку, просмотрите сгенерированную модель или модель валидации. См. Сгенерированную Модель Модели и Валидации.
Во взаимном режиме блок Divide имеет реализации блока HDL, описанные в следующей таблице.
Архитектура | Параметры | Дополнительные циклы задержки | Описание |
---|---|---|---|
default Linear | 'none' | 0 | Когда вы вычисляете обратную величину, использование, HDL делит ( |
ReciprocalRsqrtBasedNewton | Iterations | Подписанный вход: Вход без знака: | Используйте итеративный метод Ньютона. Выберите эту опцию, чтобы оптимизировать область. Значение по умолчанию для Рекомендуемое значение для |
ReciprocalRsqrtBasedNewtonSingleRate | Iterations | Подписанный вход: ( Вход без знака: ( | Используйте конвейерный метод Ньютона одного уровня. Выберите эту опцию, чтобы оптимизировать скорость, или если вы хотите одну реализацию уровня. Значение по умолчанию для Рекомендуемое значение для |
Итерационный метод Ньютона-Raphson:
ReciprocalRsqrtBasedNewton
и ReciprocalRsqrtBasedNewtonSingleRate
реализуют метод Ньютона-Raphson с:
Количество регистров, чтобы поместить при выходных параметрах путем перемещения существующих задержек в рамках проекта. Распределенная конвейеризация не перераспределяет эти регистры. Значение по умолчанию 0. См. также ConstrainedOutputPipeline.
Количество регистров, чтобы поместить при выходных параметрах путем перемещения существующих задержек в рамках проекта. Распределенная конвейеризация не перераспределяет эти регистры. Значение по умолчанию 0. См. также ConstrainedOutputPipeline.
Синтез приписывает для отображения множителя. Значением по умолчанию является none
. См. также DSPStyle.
Количество входных настроек канала связи, чтобы вставить в сгенерированный код. Распределенная конвейеризация и ограниченная выходная конвейеризация могут переместить эти регистры. Значение по умолчанию 0. См. также InputPipeline.
Количество выходных настроек канала связи, чтобы вставить в сгенерированный код. Распределенная конвейеризация и ограниченная выходная конвейеризация могут переместить эти регистры. Значение по умолчанию 0. См. также OutputPipeline.
Задайте, хотите ли вы, чтобы HDL Coder вставил дополнительную логику, чтобы обработать нестандартные числа в вашем проекте. Нестандартные числа являются числами, которые имеют значения меньше, чем самое маленькое число с плавающей запятой, которое может быть представлено без начальных нулей в мантиссе. Значением по умолчанию является inherit
. См. также HandleDenormals.
Задайте, сопоставить ли блоки в вашем проекте к inherit
, Max
, Min
, Zero
или Custom
для оператора с плавающей точкой. Значением по умолчанию является inherit
. См. также LatencyStrategy.
Чтобы задать значение, установите LatencyStrategy на Custom
. Задержка Coderadds HDL равняется значению, которое вы задаете для установки NFPCustomLatency. См. также NFPCustomLatency.
Задайте, как реализовать операцию умножения мантиссы во время генерации кода. При помощи различных настроек можно управлять использованием DSP на целевом устройстве FPGA. Значением по умолчанию является inherit
. См. также MantissaMultiplyStrategy.
Задайте, использовать ли Основание 2 или Основание 4 алгоритма, чтобы выполнить деление с плавающей точкой. Режим Radix 2 предлагает компромисс между задержкой и частотой. Режим Radix 4 предлагает компромисс между задержкой и использованием ресурсов. Для получения дополнительной информации смотрите DivisionAlgorithm.
Этот блок не поддерживает генерацию кода для деления с комплексными сигналами.
Когда вы используете блок Divide во взаимном режиме, следующие ограничения применяются:
Вход должен быть скаляром и должен иметь целочисленную или фиксированную точку (подписанный или без знака) тип данных.
Вывод должен быть скаляром и иметь целочисленную или фиксированную точку (подписанный или без знака) тип данных.
Только режим округления Zero
поддерживается.
Необходимо выбрать опцию Saturate on integer overflow на блоке.