Wann wäre AXI4Lite die bessere Wahl als der APB-Bus?

8

Ich arbeite daran, ein bereits funktionsfähiges großes FPGA-Design mit einem 64-Bit-Datenbus zu verbessern und zu bereinigen. Eine der aufgeworfenen Fragen ist:

"Sollten wir alle unsere Busse auf AXI4Lite / APB umstellen oder sollten wir sie so lassen, wie sie sind?"

Einige sind AXI4Lite und einige sind APB.

Die Mitarbeiter des Teams AXI4Lite argumentieren, dass viele FPGA-IP-Blöcke von Drittanbietern den AXI-Bus verwenden. Auf der Gegenseite schlagen Kollegen vor, dass der APB-Bus möglicherweise weniger Ressourcen (FFs und LUTs) verbraucht - obwohl ich dies nicht bestätigen konnte.

Ich bin auf der Seite von Pick One und bleibe dabei .

Welche Gründe gibt es, einen über den anderen zu wählen? Gibt es Szenarien, in denen ein Bus möglicherweise mehr Ressourcen benötigt als der andere? Gibt es einen starken Grund, übereinander zu migrieren?

Klik
quelle
2
AXI ist die Zukunft, APB / AHB ist die Vergangenheit. Wird sich Ihr Design noch viele Jahre weiterentwickeln? Und es gibt "Wenn es funktioniert, reparieren Sie es nicht".
TEMLIB
@TEMLIB Das Design wird sich noch viele Jahre weiterentwickeln. Aus diesem Grund betrachten wir unser aktuelles Design und versuchen herauszufinden, welche positiven Schritte unternommen werden können, um die Effizienz, Skalierbarkeit und Wartbarkeit zu steigern.
Klik

Antworten:

1

Der wesentliche Unterschied zwischen AXI-Liteund APBbesteht darin, dass AXI unabhängige Lese- und Schreibadressen implementiert. Es gibt also ein bisschen mehr Steuersignalisierung und wahrscheinlich eine Erhöhung der Routing- / Pufferressourcen um ~ 33%.

Ich würde erwarten, dass Ihre vorhandenen APB-Peripheriegeräte einen 32-Bit-Datenbus verwenden, sodass die Konvertierung in AXI weniger trivial ist als erwartet - es sei denn, Sie verfügen über geeignete AXI-Schnittstellen, die bereits wiederverwendet werden können.

Der Übergang zu AXI sollte die Bandbreite verbessern. Wenn Sie zu 100% wechseln können, sollte dies die laufende Unterstützung vereinfachen. Wenn die fraglichen Peripheriegeräte eine geringe Aktivität aufweisen oder Sie APB in Ihrem Design beibehalten müssen (für Debug-Komponenten oder ähnliches), ist es weniger wahrscheinlich, dass der Aufwand für die Migration eine gute Rendite bringt.

Es ist erwähnenswert, dass Cortex-M-Prozessoren immer noch AHB verwenden und APB sowohl für Debug- als auch (viel seltener) Konfigurationsschnittstellen einiger Peripheriegeräte verwendet wird.

Sean Houlihane
quelle