Сгенерируйте блок FPGA RAM из интерполяционных таблиц

Вы можете следовать этим рекомендациям, чтобы узнать о том, как можно сопоставить блоки интерполяционной таблицы с ОЗУ, чтобы сохранить область на целевом устройстве FPGA.

Каждое руководство имеет уровень серьезности, который указывает на уровень податливостей. Для получения дополнительной информации см. HDL-руководства по моделированию уровней серьезности.

Идентификатор руководства

2.3.1

Серьезность

Очень рекомендуем

Описание

Чтобы сопоставить интерполяционные таблицы с блочной ОЗУ, можно использовать адаптивную оптимизацию конвейеризации. Эта оптимизация по умолчанию отключена. Оптимизация вставляет блок Delay, который имеет длину 1 и установлено значение ResetType none сразу после блока Интерполяционная таблица. Этот шаблон моделирования эффективно преобразует ваш проект в блок RAM на FPGA. Чтобы использовать адаптивную оптимизацию конвейеризации, необходимо:

  • Убедитесь, что AdaptivePipelining включено в модели.

  • Укажите инструмент синтеза.

Дополнительные сведения об адаптивных конвейеризациях см. в разделе Адаптивные Конвейеризации.

Если вы не хотите использовать адаптивную оптимизацию конвейеризации для всего проекта, можно выборочно включить эту оптимизацию для определенных подсистем в проекте или создать тот же шаблон моделирования в проекте, который в противном случае генерируется оптимизацией.

Для получения примера откройте модель hdlcoder_LUT_BRAM_mapping.slx.

open_system('hdlcoder_LUT_BRAM_mapping')
set_param('hdlcoder_LUT_BRAM_mapping','SimulationCommand','Update')

Адаптивная оптимизация конвейеризации отключена в этой модели.

hdlget_param('hdlcoder_LUT_BRAM_mapping','AdaptivePipelining')
ans =

    'off'

The LUT_BRAM Подсистема содержит блок 1-D Интерполяционная Таблица, за которым следует блок Delay с длиной 1 и установлено значение ResetType none.

open_system('hdlcoder_LUT_BRAM_mapping/LUT_BRAM')

Когда вы генерируете HDL-код и синтезируете проект на FPGA, он эффективно преобразуется в Block RAM. Этот рисунок отображает результаты синтеза для LUT_BRAM Подсистема.

The LUT Подсистема в этой модели не использует этот шаблон моделирования.

open_system('hdlcoder_LUT_BRAM_mapping/LUT')

Поскольку адаптивная конвейеризация отключена в модели, синтезация этой Подсистемы сопоставляет логику с LUT вместо использования Блокированных ОЗУ. Этот рисунок отображает результаты синтеза для LUT Подсистема.

См. также

Функции

Параметры конфигурации Simulink

Похожие темы