Когда AXI4Lite будет лучшим выбором, чем шина APB?

8

Я работаю над улучшением и очисткой уже функционирующего большого дизайна FPGA с 64-битной шиной данных. Один из возникших вопросов:

«Должны ли мы перевести все наши автобусы на AXI4Lite / APB, или мы должны оставить их как есть?»

Некоторые из них AXI4Lite, а некоторые APB.

Те, кто в команде AXI4Lite, утверждают, что многие сторонние IP-блоки FPGA используют шину AXI; с другой стороны, коллеги предполагают, что шина APB может использовать меньше ресурсов (FF и LUT), хотя я не смог это подтвердить.

Я на стороне выбрать один и придерживаться его .

Какие есть причины выбирать одну над другой? Существуют ли сценарии, когда одной шине может потребоваться больше ресурсов, чем другой? Есть ли веская причина для перехода на один над другим?

Клик
источник
2
AXI - это будущее, APB / AHB - это прошлое. Будет ли ваш дизайн продолжать развиваться в течение многих лет? И есть «Если это работает, не исправляйте это».
TEMLIB
@TEMLIB Дизайн будет развиваться в течение многих лет; По этой причине мы смотрим на наш текущий дизайн и пытаемся определить, какие позитивные шаги можно предпринять для повышения эффективности, масштабируемости и ремонтопригодности.
Клик

Ответы:

1

Существенная разница между AXI-Liteи APBзаключается в том, что AXI реализует независимые адреса чтения и записи. Таким образом, есть немного больше управляющей сигнализации и, вероятно, увеличение ресурсов маршрутизации / буферизации на ~ 33%.

я мог бы ожидаю, что ваши существующие периферийные устройства APB используют 32-битную шину данных, поэтому преобразование в AXI будет менее тривиальным, чем вы ожидаете - если у вас нет подходящих интерфейсов AXI, которые уже можно использовать повторно.

Переход на AXI должен улучшить пропускную способность, а если вы в состоянии перейти на 100%, следует упростить постоянную поддержку. Если рассматриваемые периферийные устройства имеют низкую активность или вам нужно сохранить APB в своем проекте (для отладочных компонентов или аналогичных), то попытка миграции выглядит менее вероятно, что даст хороший результат.

Стоит отметить, что процессоры Cortex-M по-прежнему используют AHB, а APB используется как для отладки, так и (гораздо реже) конфигурационных интерфейсов некоторых периферийных устройств.

Шон Хулихейн
источник