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

Ich arbeite an der Verbesserung und Bereinigung eines bereits funktionsfähigen großen FPGA-Designs mit einem 64-Bit-Datenbus. Eine der Fragen, die aufkamen, war,

"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 Mitglieder des Teams AXI4Lite argumentieren, dass viele FPGA-IP-Blöcke von Drittanbietern den AXI-Bus verwenden; Auf der anderen Seite schlagen Kollegen vor, dass der APB-Bus möglicherweise weniger Ressourcen (FFs und LUTs) verbraucht – obwohl ich das nicht bestätigen konnte.

Ich bin auf der Seite, wähle einen aus und bleibe dabei .

Welche Gründe gibt es, eines über das andere zu stellen? Gibt es Szenarien, in denen ein Bus mehr Ressourcen benötigt als der andere? Gibt es einen triftigen Grund, zu einem über das andere zu migrieren?

AXI ist die Zukunft, APB/AHB ist die Vergangenheit. Wird sich Ihr Design über viele Jahre weiterentwickeln? Und es gibt "Wenn es funktioniert, repariere es nicht".
@TEMLIB Das Design wird sich über viele Jahre weiterentwickeln; Aus diesem Grund schauen wir uns unser aktuelles Design an und versuchen festzustellen, welche positiven Schritte unternommen werden können, um die Effizienz, Skalierbarkeit und Wartbarkeit zu steigern.

Antworten (1)

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

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

Die Umstellung auf AXI sollte die Bandbreite verbessern, und wenn Sie zu 100 % wechseln können, sollte der laufende Support vereinfacht werden. 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), dann scheint der Migrationsaufwand weniger wahrscheinlich eine gute Rendite zu erzielen.

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.