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

При создании кода HDL и синтезировании конструкции на FPGA он эффективно сопоставляется с Block RAM. На этом рисунке показаны результаты синтеза для LUT_BRAM Подсистема.

LUT Подсистема в этой модели не использует этот шаблон моделирования.
open_system('hdlcoder_LUT_BRAM_mapping/LUT')

Поскольку адаптивная конвейерная обработка в модели отключена, синтезирование этой подсистемы сопоставляет логику с LUT вместо использования Block RAM. На этом рисунке показаны результаты синтеза для LUT Подсистема.
