Вы можете следовать этим рекомендациям, чтобы узнать о том, как можно сопоставить блоки интерполяционной таблицы с ОЗУ, чтобы сохранить область на целевом устройстве 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
Подсистема.