Можно следовать этим инструкциям, чтобы узнать о том, как можно сопоставить блоки интерполяционной таблицы с RAM, чтобы сохранить область на целевом устройстве FPGA.
Каждая инструкция имеет уровень серьезности, который указывает на уровень требований соответствия. Чтобы узнать больше, смотрите Уровни серьезности Руководств по моделированию HDL.
2.3.1
Строго рекомендуемый
Следуйте этой инструкции, чтобы изучить, как сопоставить блок Lookup Table в вашем проекте к Блоку RAM на FPGA. Уровень серьезности инструкции указывает на уровень требований соответствия. Чтобы узнать больше, смотрите Уровни серьезности Руководств по моделированию HDL.
Чтобы сопоставить интерполяционные таблицы с блоком RAM, можно использовать адаптивную оптимизацию конвейеризации. Эта оптимизация включена по умолчанию. Оптимизация вставляет блок Delay, который имеет длину Задержки 1
и набора ResetType к none
сразу после блока Lookup Table. Этот шаблон моделирования эффективно сопоставляет ваш проект с Блоком 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'
Подсистема LUT_BRAM
содержит 1D блок Lookup Table, сопровождаемый блоком Delay, который имеет длину Задержки 1
и набора ResetType к none
.
open_system('hdlcoder_LUT_BRAM_mapping/LUT_BRAM')
Когда вы генерируете HDL-код и синтезируете проект на FPGA, это эффективно сопоставляет, чтобы Блокировать RAM. Эта фигура отображает результаты синтеза для Подсистемы LUT_BRAM
.
Подсистема LUT
в этой модели не использует этот шаблон моделирования.
open_system('hdlcoder_LUT_BRAM_mapping/LUT')
Когда адаптивная конвейеризация отключена на модели, синтезирование этой Подсистемы сопоставляет логику с LUTs вместо того, чтобы использовать RAM Блока. Эта фигура отображает результаты синтеза для Подсистемы LUT
.