exponenta event banner

Создание оперативной памяти блока FPGA из таблиц поиска

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

См. также

Функции

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

Связанные темы