Kapan AXI4Lite menjadi pilihan yang lebih baik daripada bus APB?

8

Saya sedang bekerja untuk meningkatkan dan membersihkan desain FPGA besar yang sudah fungsional yang memiliki bus data 64 bit. Salah satu pertanyaan yang muncul adalah,

"haruskah kita mentransisikan semua bus kita ke AXI4Lite / APB, atau haruskah kita meninggalkannya apa adanya?"

Beberapa AXI4Lite dan beberapa APB.

Orang-orang di tim AXI4Lite berpendapat bahwa banyak blok IP FPGA pihak ketiga menggunakan bus AXI; di pihak lawan, rekan menyarankan bahwa bus APB mungkin menggunakan lebih sedikit sumber daya (FF dan LUT) - meskipun saya belum dapat mengonfirmasi hal itu.

Saya berada di sisi pick one dan tetap menggunakannya .

Alasan apa yang ada untuk memilih satu dari yang lain? Adakah skenario ketika satu bus mungkin membutuhkan lebih banyak sumber daya daripada yang lain? Apakah ada alasan kuat untuk bermigrasi ke yang lain?

Klik
sumber
2
AXI adalah masa depan, APB / AHB adalah masa lalu. Apakah desain Anda akan terus berkembang selama bertahun-tahun? Dan ada "Jika berhasil, jangan memperbaikinya".
TEMLIB
@TEMLIB Desain akan terus berkembang selama bertahun-tahun; untuk alasan itu kami melihat desain kami saat ini dan mencoba menentukan langkah positif apa yang dapat diambil untuk meningkatkan efisiensi, skalabilitas, dan pemeliharaan.
Klik

Jawaban:

1

Perbedaan mendasar antara AXI-Litedan APBadalah bahwa AXI mengimplementasikan alamat baca dan tulis independen. Jadi ada sedikit lebih banyak kontrol pensinyalan, dan mungkin peningkatan ~ 33% dalam sumber daya routing / buffering.

Saya perkirakan perangkat APB Anda saat ini menggunakan bus data 32 bit, sehingga konversi ke AXI akan lebih sepele daripada yang Anda perkirakan - kecuali jika Anda memiliki antarmuka AXI yang cocok yang sudah dapat digunakan kembali.

Transisi ke AXI harus meningkatkan bandwidth, dan jika Anda dapat bertransisi 100% harus menyederhanakan dukungan yang sedang berlangsung. Jika periferal yang dimaksud adalah aktivitas rendah, atau Anda perlu mempertahankan APB dalam desain Anda (untuk komponen debug atau sejenisnya), maka upaya migrasi tampaknya tidak akan memberikan hasil yang baik.

Perlu dicatat bahwa prosesor Cortex-M masih menggunakan AHB, dan APB digunakan untuk debug dan (jauh lebih jarang) konfigurasi antarmuka dari beberapa periferal.

Sean Houlihane
sumber