AHB ja AXI ovat molemmat linja-automestareita. Molemmat väyläisännät ovat osa AMBA-väylää (Advanced Microcontroller Bus Architecture). Se on tavoite korkean suorituskyvyn, kaistanleveyden ja taajuuden järjestelmäsuunnitteluun. Molemmat väyläisännät korreloivat, vaikka ne ovat erilaisia monilta osin, ja erot mainitaan tässä alla olevassa artikkelissa.
AHB vs AXI
Suurin ero AHB:n ja AXI:n välillä on, että AHB on yksikanavainen väylä, kun taas toisaalta AXI ei ole yksikanavainen väylä. AXI on monikanavainen luku- ja kirjoitusoptimoitu väylä. Lisäksi AHB on käyttökelpoisempi protokolla ASIC Verificationissa sekä sirussa tapahtuvaan tiedonsiirtoon verrattuna AXI:iin.
Advanced High-performance Bus on yksikanavainen väylä, joka on ARM:n erittäin suosittu protokolla. Se tukee yksittäistä maksutapahtumaa väyläisäntäkohtaisesti. AHB:n väyläviiveet alkavat 16 tavun tapahtumista. Joitakin AHB:n ominaisuuksia ovat yksireunainen kelloprotokolla, jaetut tapahtumat, suuret väylän leveydet, lukitut siirrot.
AXI on monikanavainen väylä, jossa on 5 kanavaa, jotka ovat lukudatakanava, kirjoitusdatakanava, lukuosoitekanava, kirjoitusosoitekanava ja kirjoitusvastauskanava. AXI tukee useita maksamattomia tapahtumia. AXI:n väyläviiveet alkavat 64 tavun tapahtumista. Joitakin AXI:n ominaisuuksia ovat QoS, Write strobot, full-duplex-viestintätila jne.
Vertailutaulukko AHB:n ja AXI:n välillä
Vertailuparametrit | AHB | AXI |
Täysi muoto | Edistyksellinen korkean suorituskyvyn väylä | Edistyksellinen laajennettava käyttöliittymä |
kanava | Se on yksikanavainen väylä. | Se on monikanavainen väylä. |
ominaisuudet | Varhainen purskeen lopettaminen, lukitut siirrot | QoS, Write Data Interleaving, tasaamaton tiedonsiirto, tavuinvarianssi. |
Osoitetila on määritetty yhdelle orjalle | Se on 1 kt AHB:lle. | Se on 4 kt AXI:lle. |
Purskeiden pituudet | AHB:n purskeen pituudet ovat 1, 2, 6, 16. (lukuun ottamatta INCR-tyyppejä) | Purskepituudet ovat 1-16 AXI3:lle ja 1-256 AXI4:lle. |
Mikä on AHB?
AHB tulee sanoista Advanced High-performance Bus. Se on yksikanavainen väylä, joka on myös jaettu väylä, jossa on yksi osoitekanava, lukudatakanava ja kirjoitusdatakanava. Jokainen AHB:n väyläisäntä kytkeytyy yksikanavaiseen jaettuun väylään. AHB:llä on vain kaksi väyläjaksoa yksinkertaisessa tapahtumassa, osoitevaihe ja sitä seuraava datavaihe. AHB:llä on suuret linja-autoleveydet.
AHB:ssä, jos käyttäjä ei pysty täyttämään ajoitusvaatimuksia, se ei tue putkea, joka rekisteröityy sen polulle. Ja koska se ei pysty tukemaan liukuhihnarekisterien lisäämistä, se ei salli korkeampaa taajuutta ja sen sijaan rajoittaa suunnittelun maksimitaajuutta.
AHB ei tue QoS-ominaisuutta, kirjoitusvaloja eikä Exclusive-tukea. Se tukee vain lukittuja siirtoja. Siinä on alhainen tehohäviö ja rajoitettu suorituskyky. Myös purskeen pituudet AHB:ssä ovat kiinteät. Ne ovat 1, 2, 6, 16 lukuun ottamatta tapausta INCR. INCR:ssä purskeella voi olla mikä tahansa pituus, vaikka sen kestoa ei jaeta. Lisäksi sillä voi olla mikä tahansa pituus vain, kunnes se ei ylitä 4K: tä.
ARM-osakeyhtiö esitteli AHB:n AMBAversion 2:ssa, ja se oli erittäin suosittu protokolla, kunnes uutta AXI-versiota ei otettu käyttöön.
Mikä on AXI?
AXI tulee sanoista Advanced eXtensible Interface. Se on monikanavainen väylä, joka on suunniteltu sirun sisäiseen tiedonsiirtoon. Se on korkean suorituskyvyn, korkeataajuinen, Full-duplex-tilan tiedonsiirtoliitäntä. AXI:ssa on 5 kanavaa ja jokainen on toisistaan riippumaton. Kanavat ovat kirjoitusosoitekanava (AW), kirjoitusdatakanava (W), lukudatakanava eli R (sillä lähetetään myös lukuvastaus), lukuosoitekanava (AR) ja kirjoitusvastauskanava (B).
Koska AXI:ssa on 5 rinnakkaista kanavaa käynnissä, layoutissa käytetään monia johtoja. Käyttäjä voi lisätä liukuhihnarekisterin mihin tahansa minkä tahansa kanavan polulle ja sen ansiosta AXI mahdollistaa korkeamman toimintataajuuden.
Joitakin AXI:n ominaisuuksia ovat kohdistamaton tiedonsiirto (vilkkujen avulla), erillinen osoite/ohjaus, datavaiheet, tavuinvarianssi, purskepohjaiset tapahtumat aloitusosoitteella, QoS, epäkunnossa tapahtumien suorittaminen, Write Data Interleaving ja atomic toiminnot. AXI:ssa on todellakin lisäsignalointimekanismeja, kuten AxRegion ja AxUser.
AXI:ssa voi olla useita tiedonsiirtoja yhtä pyyntöä varten, mikä tarkoittaa, että se on purskepohjainen protokolla. Se helpottaa, kun suuri määrä dataa on siirrettävä tietyn mallin osoitteista tai osoitteisiin. AXI:ssa on kolmenlaisia purskeita: FIXED, INCR ja WRAP. Näiden purskeiden pituus on tiedossa alusta alkaen ja ne voivat olla 1-16 AXI3:lle ja 1-256 AXI4:lle.
Tärkeimmät erot AHB:n ja AXI:n välillä
Johtopäätös
Sekä AXI että AHB ovat osa AMBA-väylää (Advanced Microcontroller Bus Architecture). Advanced High-Performance Bus eli AHB on yksikanavainen väylä, jossa jokaisen väyläisännöistä on yhdistettävä yksikanavaiseen jaettuun väylään. AHB-väyläisäntä ei tue full-duplex-tilaa.
AXI tulee sanoista Advanced extensible Interface, joka on monikanavainen väylä. Siinä on 5 itsenäistä kanavaa. Useiden kanavien ansiosta AHB on kaksisuuntainen viestintätukiväyläisäntä. AXI tukee ominaisuuksia, kuten kohdistamaton tiedonsiirto (käyttämällä stroboa), QAS, Semaphore-toimintatila, tavuinvarianssi ja Write Data Interleaving. Se on AMBA:n kolmas sukupolvi.