Аппроксимируйте N-мерную функцию (HDL Coder)
n-D блок Lookup Table доступен с Simulink®.
Для получения информации о поведении симуляции и параметрах блоков, см. n-D Интерполяционную таблицу.
Этот блок имеет одну, архитектуру HDL по умолчанию.
Количество регистров, чтобы поместить при выходных параметрах путем перемещения существующих задержек в рамках проекта. Распределенная конвейеризация не перераспределяет эти регистры. Значение по умолчанию 0. См. также ConstrainedOutputPipeline.
Количество входных настроек канала связи, чтобы вставить в сгенерированный код. Распределенная конвейеризация и ограниченная выходная конвейеризация могут переместить эти регистры. Значение по умолчанию 0. См. также InputPipeline.
Количество выходных настроек канала связи, чтобы вставить в сгенерированный код. Распределенная конвейеризация и ограниченная выходная конвейеризация могут переместить эти регистры. Значение по умолчанию 0. См. также OutputPipeline.
Этот блок поддерживает генерацию кода для комплексных сигналов.
Если вы используете устройство Intel® MAX 10, чтобы сопоставить интерполяционную таблицу с RAM, добавьте эту команду Tcl при создании проекта в инструменте Куарта:
set_global_assignment -name INTERNAL_FLASH_UPDATE_MODE "SINGLE IMAGE WITH ERAM"
Блокируйте установку | Поддержка HDL Coder™ |
---|---|
Number of table dimensions | Задайте до максимальной размерности 2. |
Breakpoints specification | Выберите Explicit values или Even spacing . |
Index search method | Выберите Evenly spaced points . |
Extrapolation method | Выберите Clip . Генератор кода не поддерживает экстраполяцию вне даже границ. |
Interpolation method | Выберите Flat или Linear point-slope . |
Diagnostic for out-of-range input | Выберите Error . Если вы задаете другие опции, HDL Coder генерирует предупреждение. |
Use last table value for inputs at or above last breakpoint | Установите этот флажок. |
Require all inputs to have the same data type | Установите этот флажок. |
Fraction | Выберите Inherit: Inherit via internal rule . |
Integer rounding mode | Выберите Zero , Floor или Simplest . |
Если HDL Coder сталкивается с условиями, при которых операция деления требуется, чтобы совпадать с поведением симуляции модели, предупреждение выведено. Условия описали причину этот блок, чтобы испустить оператор деления. Когда вы используете этот блок для генерации HDL-кода, избегаете следующих условий:
Если блок сконфигурирован, чтобы использовать интерполяцию, оператор деления требуется. Чтобы избежать этого требования, установите Interpolation method : к Flat
.
Неравномерный табличный интервал. Генерация HDL-кода требует, чтобы блок использовал "Равномерно Расположенные с интервалами Точки" алгоритм. Отображение блока от типа входных данных до основанного на нуле табличного индекса в целом требует деления. Когда интервал точки останова является точной степенью 2, это деление реализовано как сдвиг вместо как деление. Чтобы настроить интервал точки останова, настройте количество точек останова в таблице или различие между левыми и правыми границами области значений точки останова.
Это - хорошая практика, чтобы структурировать вашу таблицу, таким образом, что интервал между точками останова является степенью двойки. Если интервал точки останова не удовлетворяет этому условию, HDL Coder выдает предупреждение. Когда интервал точки останова является степенью двойки, можно заменить операции деления на шаге перед поиском с операциями сдвига вправо.
Табличные данные должны решить к типу данных нес плавающей точкой.
Все порты на блоке требуют скалярных значений.