9. Память на ПЛИС
Как и в большинстве вычислительных устройств, в ПЛИС есть своя иерархия памяти, построенная вокруг всё того же поиска баланса между скоростью доступа и объёмом (на самом деле ценой).
Нас будет интересовать память, которая доступна на кристале. В основном, это регистры и блочная память (B-SRAM).
Естественно, можно подключать и внешнюю (в том числе энергонезависимую) память, но это уже зависит от платы (в меньшей мере от чипа). Часто доступны DDR, Flash, при желании и какой-нибудь съёмный носитель можно подключить. Для ускорителей характерно использование HBM.
Block SRAM
Block SRAM (B-SRAM, иногда просто SRAM) — энергозависимая память на кристале, организованная не очень большими блоками (десятки килобит), суммарным объёмом порядка сотен килобайт. Например, для наших плат.
-
Для Tang Primer 25K: 56 блоков по 18 килобит (порядка 120 килобайт суммарно)
-
Для Tang Mega 138K Pro Dock: 340 блоков по 18 килобит (порядка 760 килобайт суммарно)
Каждый блок может быть сконфигурирован отдельно или включён в состав хранилища, организованного из нескольких блоков. На что важно обратить внимание.
-
Каждый блок имеет два порта (один на чтение, один на запись), каждый из которых может быть сконфигурирован независимо. В частности, каналы могут работать на разных частотах.
-
В блок могут быть загружены какие-либо (задаваемые пользователем) данные при инициализации.
Блоки можно подключать вручную, но производители рекомендуют использовать возможности соответствующих САПР. Это существенно упрощает настройку. В нашем случае имеет смысл изучить руководства UG285 или UG300 в зависимости от платы.
Обязательно порешайте упражнения. |