Quando AXI4Lite sarebbe una scelta migliore rispetto al bus APB?


8

Sto lavorando per migliorare e ripulire un design FPGA di grandi dimensioni già funzionale che ha un bus dati a 64 bit. Una delle domande che sono emerse è

"dovremmo trasferire tutti i nostri bus in AXI4Lite / APB o dovremmo lasciarli così come sono?"

Alcuni sono AXI4Lite e altri sono APB.

Quelli del team AXI4Lite sostengono che molti blocchi IP FPGA di terze parti utilizzano il bus AXI; dalla parte opposta i colleghi suggeriscono che il bus APB potrebbe usare meno risorse (FF e LUT), anche se non sono stato in grado di confermarlo.

Sono dalla parte di sceglierne uno e restare con esso .

Quali sono i motivi per sceglierne uno sopra l'altro? Ci sono scenari in cui un bus potrebbe richiedere più risorse dell'altro? C'è un motivo valido per migrare l'uno sull'altro?


2
AXI è il futuro, APB / AHB è il passato. Il tuo design continuerà ad evolversi per molti anni? E c'è "Se funziona, non aggiustarlo".
TEMLIB,

@TEMLIB Il design continuerà ad evolversi per molti anni; per questo motivo stiamo osservando il nostro progetto attuale e provando a determinare quali passi positivi possono essere presi per aumentare l'efficienza, la scalabilità e la manutenibilità.
Klik,

Risposte:


1

La differenza sostanziale tra AXI-Litee APBè che AXI implementa indirizzi di lettura e scrittura indipendenti. Quindi c'è un po 'più di segnale di controllo e probabilmente un aumento del 33% circa delle risorse di routing / buffering.

Mi aspetto che le tue periferiche APB esistenti utilizzino un bus dati a 32 bit, quindi la conversione in AXI sarebbe meno banale di quanto prevedi, a meno che tu non abbia interfacce AXI adatte che possano essere già riutilizzate.

Il passaggio ad AXI dovrebbe migliorare la larghezza di banda e, se si è in grado di passare al 100%, dovrebbe semplificare il supporto continuo. Se le periferiche in questione sono a bassa attività o è necessario conservare APB nella progettazione (per componenti di debug o simili), lo sforzo di migrazione sembra meno probabile per dare un buon ritorno.

Vale la pena notare che i processori Cortex-M usano ancora AHB e APB è usato sia per le interfacce di debug che (molto meno spesso) di configurazione di alcune periferiche.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.