MNL-AVABUSREF Avalon-koppelvlak

Avalon®-koppelvlakspesifikasies
Opgedateer vir Intel® Quartus® Prime Design Suite: 20.1

Aanlyn weergawe Stuur terugvoer

MNL-AVABUSREF

ID: 683091 Weergawe: 2022.01.24

Inhoud

Inhoud
1. Inleiding tot die Avalon®-koppelvlakspesifikasies……………………………………………………… 4 1.1. Avalon-eienskappe en -parameters…………………………………………………………………………. 5 1.2. Seinrolle……………………………………………………………………………………………………………….5 1.3. Interface tydsberekening………………………………………………………………………………………………………. 5 1.4. Bvample: Avalon-koppelvlakke in stelselontwerpe…………………………………………………………. 5
2. Avalon-klok- en terugstel-koppelvlakke………………………………………………………………………………. 8 2.1. Avalon Clock Sink Sein Rolle………………………………………………………………………………….. 8 2.2. Horlosie sink eienskappe………………………………………………………………………………… 9 2.3. Geassosieerde klokkoppelvlakke …………………………………………………………………………………9 2.4. Avalon-klokbronseinrolle…………………………………………………………………………..9 2.5. Horlosiebron-eienskappe……………………………………………………………………………………… 9 2.6. Stel wasbak terug …………………………………………………………………………………………………………………. 10 2.7. Stel sink-koppelvlak-eienskappe terug……………………………………………………………………………… 10 2.8. Geassosieerde Herstel-koppelvlakke …………………………………………………………………………………10 2.9. Stel Bron terug……………………………………………………………………………………………………….10 2.10. Stel Bronkoppelvlak-eienskappe terug……………………………………………………………………….11
3. Avalon-geheue-gekarteer-koppelvlakke………………………………………………………………………………….12 3.1. Inleiding tot Avalon Memory-Mapped Interfaces………………………………………………… 12 3.2. Avalon Geheue Gekarteer Interface Sein Rolle …………………………………………………………14 3.3. Interface-eienskappe………………………………………………………………………………………….17 3.4. Tydsberekening……………………………………………………………………………………………………………….20 3.5. Oordragte……………………………………………………………………………………………………… 20 3.5.1. Tipiese lees- en skryfoordragte………………………………………………………………. 21 3.5.2. Oordragte Die gebruik van die kelnerversoekToelae eiendom ………………………………… 23 3.5.3. Lees en skryf oordragte met vaste wagstate ………………………………….. 26 3.5.4. Pyplyn-oordragte……………………………………………………………………….. 27 3.5.5. Burst-oordragte………………………………………………………………………………………………. 30 3.5.6. Lees en skryf antwoorde……………………………………………………………… 34 3.6. Adresbelyning……………………………………………………………………………………….. 36 3.7. Avalon-MM Agent-adressering………………………………………………………………………………36
4. Avalon Onderbreking Interfaces……………………………………………………………………………………… 38 4.1. Onderbreek Sender…………………………………………………………………………………………..38 4.1.1. Avalon Onderbreking Sender Sein Rolle………………………………………………………….38 4.1.2. Onderbreek Sender Eiendomme………………………………………………………………….. 38 4.2. Onderbreking Ontvanger………………………………………………………………………………………………39 4.2.1. Avalon Onderbreking Ontvanger Sein Rolle……………………………………………….. 39 4.2.2. Onderbreking Ontvanger Eiendomme……………………………………………………………… 39 4.2.3. Onderbreking Tydsberekening……………………………………………………………………………….. 39
5. Avalon-stroomkoppelvlakke…………………………………………………………………………………………. 40 5.1. Bepalings en konsepte……………………………………………………………………………………… 41 5.2. Avalon-stroomkoppelvlakseinrolle……………………………………………………………….. 42 5.3. Seinvolgorde en tydsberekening ………………………………………………………………………… 43 5.3.1. Sinchroniese koppelvlak………………………………………………………………………………43 5.3.2. Klok aktiveer……………………………………………………………………………………… 43

Avalon®-koppelvlakspesifikasies 2

Stuur terugvoer

Inhoud
5.4. Avalon-ST-koppelvlak-eienskappe………………………………………………………………………………….43 5.5. Tipiese data-oordragte …………………………………………………………………………………44 5.6. Seinbesonderhede……………………………………………………………………………………………………… 44 5.7. Data-uitleg …………………………………………………………………………………………………………. 45 5.8. Data-oordrag sonder terugdruk………………………………………………………………….. 46 5.9. Data-oordrag met terugdruk………………………………………………………………………. 46
5.9.1. Data-oordragte Gebruik readyLatency en readyAllowance………………………….. 47 5.9.2. Data-oordragte met behulp van readyLatency…………………………………………………………. 49 5.10. Pakkiedata-oordragte……………………………………………………………………………………….. 50 5.11. Seinbesonderhede ………………………………………………………………………………………… 51 5.12. Protokolbesonderhede ………………………………………………………………………………………………….52
6. Avalon-stroomkredietkoppelvlakke………………………………………………………………………………… 53 6.1. Bepalings en konsepte……………………………………………………………………………………… 53 6.2. Avalon-stroomkredietkoppelvlakseinrolle……………………………………………….. 54 6.2.1. Sinchroniese koppelvlak………………………………………………………………………………55 6.2.2. Tipiese data-oordragte……………………………………………………………………………….56 6.2.3. Terugbetaling van die krediete …………………………………………………………………………………. 57 6.3. Avalon-stroomkredietgebruikerseine……………………………………………………………… 58 6.3.1. Per-simbool gebruiker sein………………………………………………………………………. 58 6.3.2. Per-pakkie gebruikersein………………………………………………………………………………59
7. Avalon Conduit Interfaces…………………………………………………………………………………………60 7.1. Avalon Conduit Sein Rolle………………………………………………………………………………. 61 7.2. Leibuiseienskappe …………………………………………………………………………………………………. 61
8. Avalon Tristate Conduit Interface……………………………………………………………………………… 62 8.1. Avalon Tristate Conduit Sein Rolle………………………………………………………………………….. 64 8.2. Tristate Conduit Properties………………………………………………………………………… 65 8.3. Tristate buistydsberekening ………………………………………………………………………………….65
A. Verouderde seine………………………………………………………………………………………………………. 67
B. Dokumenthersieningsgeskiedenis vir die Avalon-koppelvlakspesifikasies………………………… 68

Stuur terugvoer

Avalon®-koppelvlakspesifikasies 3

683091 | 2022.01.24 Stuur terugvoer

1. Inleiding tot die Avalon®-koppelvlakspesifikasies

Avalon®-koppelvlakke vereenvoudig stelselontwerp deurdat jy maklik komponente in Intel® FPGA kan koppel. Die Avalon-koppelvlakfamilie definieer koppelvlakke wat geskik is vir die stroom van hoëspoeddata, lees en skryf van registers en geheue, en die beheer van off-chip toestelle. Komponente beskikbaar in Platform Designer sluit hierdie standaard koppelvlakke in. Boonop kan u Avalon-koppelvlakke in pasgemaakte komponente inkorporeer, wat die interoperabiliteit van ontwerpe verbeter.
Hierdie spesifikasie definieer al die Avalon-koppelvlakke. Nadat u hierdie spesifikasie gelees het, moet u verstaan ​​watter koppelvlakke geskik is vir u komponente en watter seinrolle om vir spesifieke gedrag te gebruik. Hierdie spesifikasie definieer die volgende sewe koppelvlakke:
· Avalon Streaming Interface (Avalon-ST) – 'n koppelvlak wat die eenrigtingvloei van data ondersteun, insluitend multiplekse strome, pakkies en DSP-data.
· Avalon Memory Mapped Interface (Avalon-MM) – 'n adresgebaseerde lees/skryf-koppelvlak tipies van Host-Agent-verbindings.
· Avalon Conduit Interface – 'n koppelvlaktipe wat individuele seine of groepe seine akkommodeer wat nie in enige van die ander Avalon-tipes pas nie. U kan kanaalkoppelvlakke binne 'n platformontwerper-stelsel koppel. Alternatiewelik kan u dit uitvoer om aan ander modules in die ontwerp of na FPGA-penne te koppel.
· Avalon Tri-State Conduit Interface (Avalon-TC) – 'n koppelvlak om verbindings na buite-skyfie randapparatuur te ondersteun. Veelvuldige randapparatuur kan penne deel deur seinmultipleksing, wat die pentelling van die FPGA en die aantal spore op die PCB verminder.
· Avalon Interrupt Interface – 'n koppelvlak wat komponente toelaat om gebeurtenisse na ander komponente te sein.
· Avalon-klokkoppelvlak – 'n koppelvlak wat horlosies aandryf of ontvang.
· Avalon-terugstel-koppelvlak – 'n koppelvlak wat herstelkonnektiwiteit bied.
'n Enkele komponent kan enige aantal van hierdie koppelvlakke insluit en kan ook veelvuldige gevalle van dieselfde koppelvlaktipe insluit.

Let wel:

Avalon-koppelvlakke is 'n oop standaard. Geen lisensie of tantième word vereis om produkte te ontwikkel en te verkoop wat Avalon-koppelvlakke gebruik of daarop gebaseer is nie.

Verwante inligting
· Inleiding tot Intel FPGA IP Cores Verskaf algemene inligting oor alle Intel FPGA IP-kerns, insluitend parameterisering, generering, opgradering en simulering van IP-kerne.
· Genereer 'n Gekombineerde Simulator Opstelling Skrip Skep simulasie skrifte wat nie handmatige opdaterings vir sagteware of IP weergawe opgraderings benodig nie.

Intel Corporation. Alle regte voorbehou. Intel, die Intel-logo en ander Intel-merke is handelsmerke van Intel Corporation of sy filiale. Intel waarborg prestasie van sy FPGA- en halfgeleierprodukte volgens huidige spesifikasies in ooreenstemming met Intel se standaardwaarborg, maar behou die reg voor om enige tyd sonder kennisgewing veranderinge aan enige produkte en dienste aan te bring. Intel aanvaar geen verantwoordelikheid of aanspreeklikheid wat voortspruit uit die toepassing of gebruik van enige inligting, produk of diens wat hierin beskryf word nie, behalwe soos uitdruklik skriftelik deur Intel ooreengekom. Intel-kliënte word aangeraai om die nuutste weergawe van toestelspesifikasies te bekom voordat hulle op enige gepubliseerde inligting staatmaak en voordat bestellings vir produkte of dienste geplaas word. *Ander name en handelsmerke kan as die eiendom van ander geëis word.

ISO 9001:2015 Geregistreer

1. Inleiding tot die Avalon®-koppelvlakspesifikasies 683091 | 2022.01.24
· Projekbestuur Beste Praktyke Riglyne vir doeltreffende bestuur en oordraagbaarheid van jou projek en IP files.
1.1. Avalon-eienskappe en -parameters
Avalon-koppelvlakke beskryf hul gedrag met eienskappe. Die spesifikasie vir elke koppelvlak tipe definieer al die koppelvlak eienskappe en verstek waardes. Byvoorbeeldample, die maxChannel-eienskap van Avalon-ST-koppelvlakke laat jou toe om die aantal kanale wat deur die koppelvlak ondersteun word, te spesifiseer. Die clockRate-eienskap van die Avalon Clock-koppelvlak verskaf die frekwensie van 'n kloksein.
1.2. Sein Rolle
Elke Avalon-koppelvlak definieer seinrolle en hul gedrag. Baie seinrolle is opsioneel. U het die buigsaamheid om slegs die seinrolle te kies wat nodig is om die vereiste funksionaliteit te implementeer. Byvoorbeeldample, die Avalon-MM-koppelvlak bevat opsionele beginbursttransfer en burstcount seinrolle vir komponente wat bars ondersteun. Die Avalon-ST-koppelvlak bevat die opsionele begin-van-pakkie- en einde-pakkie-seinrolle vir koppelvlakke wat pakkies ondersteun.
Behalwe vir Avalon Conduit-koppelvlakke, mag elke koppelvlak slegs een sein van elke seinrol insluit. Baie seinrolle laat aktief-lae seine toe. Aktiewe-hoë seine word oor die algemeen in hierdie dokument gebruik.
1.3. Interface Tydsberekening
Daaropvolgende hoofstukke van hierdie dokument bevat tydsberekeninginligting wat oordragte vir individuele koppelvlaktipes beskryf. Daar is geen gewaarborgde werkverrigting vir enige van hierdie koppelvlakke nie. Werklike werkverrigting hang af van baie faktore, insluitend komponentontwerp en stelselimplementering.
Die meeste Avalon-koppelvlakke moet nie randsensitief wees vir ander seine as die klok en reset nie. Ander seine kan verskeie kere oorgaan voordat hulle stabiliseer. Die presiese tydsberekening van seine tussen klokrande wissel na gelang van die eienskappe van die geselekteerde Intel FPGA. Hierdie spesifikasie spesifiseer nie elektriese eienskappe nie. Verwys na die toepaslike toesteldokumentasie vir elektriese spesifikasies.
1.4. Eksample: Avalon-koppelvlakke in stelselontwerpe
In hierdie example die Ethernet-beheerder sluit ses verskillende koppelvlaktipes in: · Avalon-MM · Avalon-ST · Avalon Conduit · Avalon-TC · Avalon-onderbreking · Avalon-klok.
Die Nios® II-verwerker kry toegang tot die beheer- en statusregisters van op-skyfie-komponente deur 'n Avalon-MM-koppelvlak. Die verstrooiing versamel DMA's stuur en ontvang data deur Avalon-ST-koppelvlakke. Vier komponente sluit onderbreking in

Stuur terugvoer

Avalon®-koppelvlakspesifikasies 5

1. Inleiding tot die Avalon®-koppelvlakspesifikasies 683091 | 2022.01.24

Figuur 1.

koppelvlakke bedien deur sagteware wat op die Nios II-verwerker loop. 'n PLL aanvaar 'n horlosie via 'n Avalon Clock Sink-koppelvlak en verskaf twee klokbronne. Twee komponente sluit in Avalon-TC-koppelvlakke om toegang tot off-chip geheues te verkry. Laastens kry die DDR3-beheerder toegang tot eksterne DDR3-geheue deur 'n Avalon Conduit-koppelvlak.

Avalon-koppelvlakke in 'n stelselontwerp met Scatter Gather DMA-beheerder en Nios II-verwerker

Gedrukte stroombaanbord

SSRAM-flits

DDR3

Cn

Cn

Cn

Intel FPGA
M Avalon-MM Gasheer Cn Avalon Conduit S Avalon-MM AgentTCM Avalon-TC Gasheer Src Avalon-ST Bron TCS Avalon-TC Agent Snk Avalon-ST Sink CSrc Avalon Klokbron
CSnk Avalon Clock Sink

Cn Tristate Conduit
Brug TCS
TCM Tristate Conduit
Pin Sharer TCS TCS

IRQ4 IRQ3 Nios II

C1

M

IRQ1 C1

UART S

IRQ2 timer

C1

S

TCM

TCM

Tristate Cntrl SSRAM

Tristate Cntrl Flash

C1

S

C1

S

C2

Cn DDR3-beheerder
S

Avalon-MM

S

Leiding

Cn Src Avalon-ST

Ethernet-beheerder
Snk

EIEU Buffer Avalon-ST

Avalon-ST

C2

EIEU buffer

SM Scatter GatheIrRQ4
DMA Snk

S C2

Avalon-ST

Src

M IRQ3

C2

Strooi Versamel DMA

CSrc

CSnkPLL C1

Verw Clk

CSrc

C2

In die volgende figuur kry 'n eksterne verwerker toegang tot die beheer- en statusregisters van op-skyfie-komponente via 'n eksterne busbrug met 'n Avalon-MM-koppelvlak. Die PCI Express Root Port beheer toestelle op die gedrukte stroombaan en die ander komponente van die FPGA deur 'n on-chip PCI Express Endpoint met 'n AvalonMM gasheer koppelvlak aan te dryf. 'n Eksterne verwerker hanteer onderbrekings van vyf komponente. 'n PLL aanvaar 'n verwysingsklok via 'n Avalon Clock sink-koppelvlak en verskaf twee klok

Avalon®-koppelvlakspesifikasies 6

Stuur terugvoer

1. Inleiding tot die Avalon®-koppelvlakspesifikasies 683091 | 2022.01.24

Figuur 2.

bronne. Die flits- en SRAM-geheue deel FPGA-penne deur 'n Avalon-TC-koppelvlak. Laastens kry 'n SDRAM-beheerder toegang tot 'n eksterne SDRAM-geheue deur 'n Avalon Conduit-koppelvlak.
Avalon-koppelvlakke in 'n stelselontwerp met PCI Express-eindpunt en eksterne verwerker

Gedrukte stroombaanbord

PCI Express-wortelpoort

Eksterne SVE

Intel FPGA
IRQ1
Ethernet MAC

C1

M

C1

IRQ2 persoonlike logika
M
Avalon-MM

PCI Express eindpunt

IRQ3 IRQ5 IRQ4 IRQ3
IRQ2 IRQ1

C1

M

C1

Eksterne busprotokolbrug
M

S

Tristate Cntrl SSRAM TCS

Tristate Cntrl Flash TCS

S

SDRAM-beheerder

C1

Cn

S

IRQ4

IRQ5

S

S

UART C2

Pasgemaakte logika C2

TCM TCM Tristate Conduit
Pin Sharer TCS
TCM Tristate Conduit
Brug Cn

Verw Clk

CSrc CSnk PLL C1
CSrc C2

Cn

Cn

SSRAM

Flits

Cn SDRAM

Stuur terugvoer

Avalon®-koppelvlakspesifikasies 7

683091 | 2022.01.24 Stuur terugvoer

2. Avalon Klok en Herstel koppelvlakke

Figuur 3.

Avalon Clock-koppelvlakke definieer die horlosie of horlosies wat deur 'n komponent gebruik word. Komponente kan klokinsette, klokuitsette of albei hê. 'n Fase-geslote lus (PLL) is 'n eksample van 'n komponent wat beide 'n klokinvoer en klokuitsette het.

Die volgende figuur is 'n vereenvoudigde illustrasie wat die belangrikste insette en uitsette van 'n PLL-komponent toon.

PLL Core Klok Uitsette en Insette

PLL kern

altpll Intel FPGA IP

herstel

Stel terug

Horlosie

Sink

Bron

Klokuitsetkoppelvlak1

Klokbron

Klokuitsetkoppelvlak2

ref_clk

Horlosie

Horlosie

Sink

Bron

Klok Uitset Interface_n

2.1. Avalon Klok Sink Sein Rolle

'n Klokwasbak bied 'n tydsberekeningsverwysing vir ander koppelvlakke en interne logika.

Tabel 1.

Klok Sink Sein Rolle

Sein Rol clk

Breedte 1

Rigting Invoer

Vereis Ja

Beskrywing
'n Kloksein. Verskaf sinchronisasie vir interne logika en vir ander koppelvlakke.

Intel Corporation. Alle regte voorbehou. Intel, die Intel-logo en ander Intel-merke is handelsmerke van Intel Corporation of sy filiale. Intel waarborg prestasie van sy FPGA- en halfgeleierprodukte volgens huidige spesifikasies in ooreenstemming met Intel se standaardwaarborg, maar behou die reg voor om enige tyd sonder kennisgewing veranderinge aan enige produkte en dienste aan te bring. Intel aanvaar geen verantwoordelikheid of aanspreeklikheid wat voortspruit uit die toepassing of gebruik van enige inligting, produk of diens wat hierin beskryf word nie, behalwe soos uitdruklik skriftelik deur Intel ooreengekom. Intel-kliënte word aangeraai om die nuutste weergawe van toestelspesifikasies te bekom voordat hulle op enige gepubliseerde inligting staatmaak en voordat bestellings vir produkte of dienste geplaas word. *Ander name en handelsmerke kan as die eiendom van ander geëis word.

ISO 9001:2015 Geregistreer

2. Avalon Klok en Stel koppelvlakke 683091 | 2022.01.24

2.2. Klok Sink Eienskappe

Tabel 2.

Klok Sink Eienskappe

Noem klokkoers

Standaardwaarde 0

Regswaardes 0

Beskrywing
Dui die frekwensie in Hz van die klok sink-koppelvlak aan. Indien 0, laat die kloktempo enige frekwensie toe. Indien nie-nul, reik Platform Designer 'n waarskuwing uit as die gekoppelde klokbron nie die gespesifiseerde frekwensie is nie.

2.3. Geassosieerde klok koppelvlakke
Alle sinchrone koppelvlakke het 'n geassosieerde Klok-eienskap wat spesifiseer watter klokbron op die komponent as 'n sinchronisasieverwysing vir die koppelvlak gebruik word. Hierdie eienskap word in die volgende figuur geïllustreer.
Figuur 4. geassosieerde Klok Eiendom

rx_clk Klok
Sink

Dubbele klok EIEU

Horlosie tx_clk
Sink

rx_data ST associationClock = "rx_clk"
Sink

geassosieerKlok = "tx_clk" ST tx_data
Bron

2.4. Avalon Klok Bron Sein Rolle

'n Avalon Clock-bronkoppelvlak dryf 'n kloksein uit 'n komponent.

Tabel 3.

Klok Bron Sein Rolle

Sein Rol

Breedte

Rigting

klk

1

Uitset

Vereis Ja

Beskrywing 'n Uitsetkloksein.

2.5. Klokbron-eienskappe

Tabel 4.

Klokbron-eienskappe

Naam geassosieerDirectClock

Verstekwaarde
NVT

klokKoers

0

klokKoers Bekend

vals

Regswaardes

Beskrywing

'n invoer Die naam van die klokinvoer wat hierdie kloknaam se klokuitset direk aandryf, indien enige.

0

Dui die frekwensie in Hz aan waarteen die klokuitset aangedryf word.

waar, onwaar

Dui aan of die klokfrekwensie bekend is of nie. As die klokfrekwensie bekend is, kan jy ander komponente in die stelsel aanpas.

Stuur terugvoer

Avalon®-koppelvlakspesifikasies 9

2. Avalon Klok en Stel koppelvlakke 683091 | 2022.01.24

2.6. Stel wasbak terug

Tabel 5.

Stel insetseinrolle terug
Die reset_req-sein is 'n opsionele sein wat jy kan gebruik om korrupsie van geheue-inhoud te voorkom deur 'n terugstel-handdruk uit te voer voor 'n asynchrone terugstellingbewering.

Sein Rol

Breedte

Rigting

Vereis

Beskrywing

terugstel, terugstel_n

1

Invoer

Ja

Stel die interne logika van 'n koppelvlak of komponent terug

na 'n gebruiker-gedefinieerde toestand. Die sinchrone eienskappe van

die reset word gedefinieer deur die synchronousEdges

parameter.

reset_req

1

insette

Nee

Vroeë aanduiding van herstelsein. Hierdie sein dien as 'n

ten minste 'n een-siklus waarskuwing van hangende terugstelling vir ROM

primitiewe. Gebruik reset_req om die klokaktivering te deaktiveer

of masker die adres bus van 'n on-chip geheue, om

verhoed dat die adres oorskakel wanneer 'n

asynchrone terugstelinvoer word beweer.

2.7. Stel sink-koppelvlak-eienskappe terug

Tabel 6.

Stel insetseinrolle terug

Naam geassosieerKlok

Verstekwaarde
NVT

sinchroniese-Rande

DEASSERT

Regswaardes

Beskrywing

'n horlosie naam

Die naam van 'n horlosie waarmee hierdie koppelvlak gesinchroniseer is. Vereis as die waarde van synchronousEdges DEASSERT of BEIDE is.

GEEN DEASSERT
ALBEI

Dui die tipe sinchronisasie aan wat die herstelinvoer vereis. Die volgende waardes word gedefinieer:
· GEEN sinchronisasie word vereis nie omdat die komponent logika vir interne sinchronisasie van die terugstelsein insluit.
· DEASSERTdie terugstelbewering is asinchronies en deassertion is sinchronies.
BEIDE teruggestelde bewering en deassertion is sinchronies.

2.8. Geassosieerde Herstel-koppelvlakke
Alle sinchrone koppelvlakke het 'n geassosieerde Herstel-eienskap wat spesifiseer watter terugstelsein die koppelvlaklogika terugstel.

2.9. Stel bron terug

Tabel 7.

Stel uitsetseinrolle terug
Die reset_req-sein is 'n opsionele sein wat jy kan gebruik om korrupsie van geheue-inhoud te voorkom deur 'n terugstel-handdruk uit te voer voor 'n asynchrone terugstellingbewering.

Sein Rol

Breedte

Rigting

Vereis

Beskrywing

terugstel reset_n

1

Uitset

Ja

Stel die interne logika van 'n koppelvlak of komponent terug

na 'n gebruiker-gedefinieerde toestand.

reset_req

1

Uitset

Opsioneel Aktiveer generering van herstelversoeke, wat 'n vroeë is

sein wat beweer word voor die herstel van bewering. Een keer

beweer, dit kan nie gedeasserted word totdat die reset is

voltooi.

Avalon®-koppelvlakspesifikasies 10

Stuur terugvoer

2. Avalon Klok en Stel koppelvlakke 683091 | 2022.01.24

2.10. Stel Bronkoppelvlak-eienskappe terug

Tabel 8.

Stel koppelvlak-eienskappe terug

Naam

Verstekwaarde

Regswaardes

Beskrywing

geassosieerde Klok

NVT

'n horlosie

Die naam van 'n horlosie waarna hierdie koppelvlak

naam

gesinchroniseer. Vereis as die waarde van

synchronousEdges is DEASSERT of BEIDE.

geassosieerdeDirekte Herstel

NVT

'n terugstelling

Die naam van die terugstel-invoer wat dit direk dryf

naam

stel bron terug deur 'n een-tot-een skakel.

geassosieerdeResetSinks

NVT

'n terugstelling

Spesifiseer terugstellinginsette wat veroorsaak dat 'n terugstellingbron na

naam

bewer herstel. Byvoorbeeldample, 'n reset synchronizer wat

voer 'n OF-bewerking uit met veelvuldige herstelinsette na

genereer 'n reset-uitset.

sinchrone rande

DEASSERT

GEEN DEASSERT
ALBEI

Dui die terugstelling afvoer se sinchronisasie aan. Die volgende waardes word gedefinieer:
· GEEN Die terugstel-koppelvlak is asynchronies.
· DEASSERTdie terugstelbewering is asinchronies en deassertion is sinchronies.
· BEIDE-teruggestelde bewering en deassertion is sinchronies.

Stuur terugvoer

Avalon®-koppelvlakspesifikasies 11

683091 | 2022.01.24 Stuur terugvoer
3. Avalon geheue-gekarteer koppelvlakke
3.1. Inleiding tot Avalon Memory-Mapped Interfaces
Jy kan Avalon Memory-Mapped (Avalon-MM) koppelvlakke gebruik om lees- en skryfkoppelvlakke vir Gasheer- en Agent-komponente te implementeer. Die volgende is examplese van komponente wat tipies geheue-gekarteer koppelvlakke insluit: · Mikroverwerkers · Herinneringe · UARTs · DMAs · Timers Avalon-MM koppelvlakke wissel van eenvoudig tot kompleks. Byvoorbeeldample, SRAM-koppelvlakke wat vaste-siklus lees- en skryfoordragte het, het eenvoudige Avalon-MM-koppelvlakke. Pyplyn koppelvlakke wat in staat is om bars oordragte is kompleks.

Intel Corporation. Alle regte voorbehou. Intel, die Intel-logo en ander Intel-merke is handelsmerke van Intel Corporation of sy filiale. Intel waarborg prestasie van sy FPGA- en halfgeleierprodukte volgens huidige spesifikasies in ooreenstemming met Intel se standaardwaarborg, maar behou die reg voor om enige tyd sonder kennisgewing veranderinge aan enige produkte en dienste aan te bring. Intel aanvaar geen verantwoordelikheid of aanspreeklikheid wat voortspruit uit die toepassing of gebruik van enige inligting, produk of diens wat hierin beskryf word nie, behalwe soos uitdruklik skriftelik deur Intel ooreengekom. Intel-kliënte word aangeraai om die nuutste weergawe van toestelspesifikasies te bekom voordat hulle op enige gepubliseerde inligting staatmaak en voordat bestellings vir produkte of dienste geplaas word. *Ander name en handelsmerke kan as die eiendom van ander geëis word.

ISO 9001:2015 Geregistreer

3. Avalon-geheue-gekarteer-koppelvlakke 683091 | 2022.01.24

Figuur 5.

Fokus op Avalon-MM-agentoordragte
Die volgende figuur toon 'n tipiese stelsel, wat die Avalon-MM-agent-koppelvlakverbinding met die interkonneksiestof uitlig.
Ethernet PHY

valon-MM-stelsel
Verwerker Avalon-MM
Gasheer

Ethernet MAC
Avalon-MM Gasheer

Pasgemaakte logika
Avalon-MM Gasheer

Interkonnekteer

Avalon-MM Agent
Flitsbeheerder

Avalon-MM Agent
SRAM-beheerder

Avalon-MM Agent
RAM-beheerder

Avalon-MM Agent
UART

AvAavloanlon- MM SlaAvgeePnotrt
Lor Custom
Logika

Tristate Conduit Agent
Tristate Conduit Pin Sharer & Tristate Conduit Bridge
Tristate Conduit Gasheer

Tristate Conduit Agent
Flash Memory

Tristate Conduit Agent
SRAM geheue

RAM geheue

RS-232

Avalon-MM-komponente sluit tipies slegs die seine in wat benodig word vir die komponentlogika.

Stuur terugvoer

Avalon®-koppelvlakspesifikasies 13

3. Avalon-geheue-gekarteer-koppelvlakke 683091 | 2022.01.24

Figuur 6.

Exampdie Agentkomponent

Die 16-bis algemene I/O-randtoestel wat in die volgende figuur gewys word, reageer slegs op skryfversoeke. Hierdie komponent sluit slegs die Agent-seine in wat benodig word vir skryfoordragte.

Avalon-MM Perifere skryfdata[15..0] D

Toepassing-

Q

pio_out[15..0] Spesifiek
Koppelvlak

Avalon-MM-koppelvlak
(Avalon-MM skryf Agent Interface)
klk

CLK_EN

Elke sein in 'n Avalon-MM-agent stem ooreen met presies een Avalon-MM-seinrol. 'n Avalon-MM-koppelvlak kan slegs een geval van elke seinrol gebruik.

3.2. Avalon Memory Mapped Interface Sein Rolle

Seinrolle definieer die seintipes wat Avalon-geheue-gekarteer gasheer- en agentpoorte toelaat.

Hierdie spesifikasie vereis nie dat alle seine in 'n Avalon-geheue-gekarteer-koppelvlak bestaan ​​nie. Daar is nie een sein wat altyd nodig is nie. Die minimum vereistes vir 'n Avalon geheue gekarteer koppelvlak is leesdata vir 'n lees-alleen-koppelvlak, of skryfdata en skryf vir 'n skryf-alleen-koppelvlak.

Die volgende tabel lys sein rolle vir die Avalon geheue gekarteer koppelvlak:

Tabel 9.

Avalon Geheue Gekarteer Sein Rolle
Sommige Avalon geheue gekarteer seine kan aktief hoog of aktief laag wees. Wanneer aktief laag, eindig die seinnaam met _n.

Sein Rol

Breedte

Rigting

Vereis

Beskrywing

adres

1 – 64 Gasheeragent

byteenable byteenable_n

2, 4, 8, 16,
32, 64, 128

Gasheer agent

Fundamentele seine

Nee

Gashere: By verstek verteenwoordig die adressein 'n greep

adres. Die waarde van die adres moet ooreenstem met die datawydte.

Om na spesifieke grepe binne 'n datawoord te skryf, moet die gasheer gebruik

die byteenable sein. Verwys na die adreseenhede-koppelvlak

eiendom vir woordadressering.

Agente: By verstek vertaal die interkonneksie die greepadres in 'n woordadres in die agent se adresruimte. Vanuit die perspektief van die agent, is elke agenttoegang vir 'n woord van data.

Byvoorbeeldample, adres = 0 kies die eerste woord van die agent. adres = 1 kies die tweede woord van die agent. Verwys na die addressUnits-koppelvlak-eienskap vir greepadressering.

Nee

Aktiveer een of meer spesifieke greepbane tydens oordragte aan

koppelvlakke van breedte groter as 8 bisse. Elke bietjie in byteenable

stem ooreen met 'n greep in skryfdata en leesdata. Die gasheer

bietjie van byteenable dui aan of byte word

voortgesit …

Avalon®-koppelvlakspesifikasies 14

Stuur terugvoer

3. Avalon-geheue-gekarteer-koppelvlakke 683091 | 2022.01.24

Sein Rol
ontfouting lees lees_n leesdata-reaksie [1:0] skryf skryf_n skryfdata

Breedte

Rigting vereis

Beskrywing

geskryf aan. Tydens skryf, spesifiseer byteenables na watter grepe geskryf word. Ander grepe moet deur die agent geïgnoreer word. Tydens leess dui byteenables aan watter grepe die gasheer lees. Agente wat bloot leesdata terugstuur sonder newe-effekte is vry om byteenables tydens lees te ignoreer. As 'n koppelvlak nie 'n bytienbare sein het nie, gaan die oordrag voort asof alle byteenables beweer word.
Wanneer meer as een bis van die bytienbare sein beweer word, is alle beweerde bane aangrensend.

1

Gasheer agent

Nee

Wanneer dit beweer word, laat die Nios II-verwerker toe om op die skyfie te skryf

geheues gekonfigureer as ROM's.

1

Gasheer agent

Nee

Bevestig om 'n leesoordrag aan te dui. Indien teenwoordig, is leesdata

vereis word.

8, 16, Agent Gasheer

Nee

Die leesdata wat van die agent na die gasheer gedryf word in reaksie op

32,

'n leesoordrag. Vereis vir koppelvlakke wat lees ondersteun.

64,

128,

256,

512,

1024

2

Agent Gasheer

Nee

Die reaksiesein is 'n opsionele sein wat die

reaksie status.

Let wel: Omdat die sein gedeel word, kan 'n koppelvlak nie 'n skryfrespons en 'n leesrespons in dieselfde kloksiklus uitreik of aanvaar nie.

· 00: OKAY–Suksesvolle reaksie vir 'n transaksie.

· 01: GERESERVEER – Enkodering is voorbehou.

· 10: SLVERR–Fout van 'n eindpuntagent. Dui 'n onsuksesvolle transaksie aan.

· 11: DEKODERFOUT – Dui gepoogde toegang tot 'n ongedefinieerde ligging aan.

Vir lees antwoorde:

· Een antwoord word saam met elke leesdata gestuur. 'n Leesbarslengte van N lei tot N response. Minder antwoorde is nie geldig nie, selfs in die geval van 'n fout. Die responsseinwaarde kan verskil vir elke leesdata in die sarsie.

· Die koppelvlak moet gelees beheerseine hê. Pyplynondersteuning is moontlik met die readdatavalid sein.

· Op leesfoute is die ooreenstemmende leesdata “gee nie om nie”.

Vir skryfantwoorde:

· Een skryfantwoord moet vir elke skryfopdrag gestuur word. 'n Skryfsarsie lei tot slegs een antwoord, wat gestuur moet word nadat die finale skryfoordrag in die sarsie aanvaar is.

· Indien writeresponsevalid teenwoordig is, moet alle skryfopdragte met skryfantwoorde voltooi word.

1

Gasheer agent

Nee

Bevestig om 'n skryfoordrag aan te dui. Indien teenwoordig, is skryfdata

vereis word.

8, 16, 32, 64, 128, 256, 512, 1024

Gasheer agent

Nee

Data vir skryfoordragte. Die breedte moet dieselfde wees as die

breedte van leesdata indien albei teenwoordig is. Vereis vir koppelvlakke

dat ondersteuning skryf.

Wag-toestand seine

voortgesit …

Stuur terugvoer

Avalon®-koppelvlakspesifikasies 15

3. Avalon-geheue-gekarteer-koppelvlakke 683091 | 2022.01.24

Seinrolslot
waitrequest waitrequest_ n
readdatavali d readdatavali d_n
skryfrespons geldig

Breedte 1
1
1 1

Rigting vereis

Beskrywing

Gasheer agent

Nee

slot verseker dat sodra 'n gasheer arbitrasie wen, die wengasheer

behou toegang tot die agent vir verskeie transaksies. Sluit

beweer saam met die eerste lees of skryf van 'n geslote

volgorde van transaksies. Slot deasserts in die eindstryd

transaksie van 'n geslote volgorde van transaksies. slot bewering

waarborg nie dat arbitrasie gewen word nie. Na die slot-

beweer gasheer toegestaan ​​is, behou daardie gasheer toelae tot

slot is onteenseglik.

'n Gasheer toegerus met slot kan nie 'n bars gasheer wees nie. Arbitrasieprioriteitwaardes vir gashere wat met slot toegerus is, word geïgnoreer.

slot is veral nuttig vir lees-wysig-skryf (RMW) bewerkings. Die tipiese lees-wysig-skryf-bewerking sluit die volgende stappe in:

1. Gasheer A bevestig slot en lees 32-bis data wat veelvuldige bis velde het.

2. Gasheer A deasserts slot, verander een bis veld, en skryf die 32-bis data terug.

slot verhoed dat gasheer B 'n skryfwerk doen tussen gasheer A se lees en skryf.

Agent Gasheer

Nee

'n Agent beweer kelnerversoek wanneer nie in staat is om te reageer op 'n

lees of skryf versoek. Dwing die gasheer om te wag totdat die

interconnect is gereed om voort te gaan met die oordrag. Aan die begin van

alle oordragte, 'n gasheer inisieer die oordrag en wag totdat

kelnerversoek is onteenseglik. 'n Gasheer moet geen aanname maak nie

oor die beweringstatus van kelnerversoek wanneer die gasheer ledig is:

kelnerversoek kan hoog of laag wees, afhangende van die stelsel

eiendomme.

Wanneer kelnerversoek bevestig word, moet gasheerbeheerseine aan die agent konstant bly, behalwe vir beginburstoordrag. Vir 'n tydsberekeningdiagram wat die beginburstoordragsein illustreer, verwys na die figuur in Lees Bursts.

'n Avalon-geheue-gekarteer-agent kan kelnerversoeke tydens ledige siklusse beweer. 'n Avalon-geheue-gekarteer gasheer kan 'n transaksie inisieer wanneer wagversoek bevestig word en wag vir daardie sein om te bevestig. Om stelseltoesluit te vermy, moet 'n agenttoestel 'n kelnerversoek indien in terugstelling.

Pyplyn Seine

Agent Gasheer

Nee

Word gebruik vir veranderlike-latency, pyplyn leesoordragte. Wanneer

beweer, dui aan dat die leesdatasein geldige data bevat.

Vir 'n lees uitbarsting met burstcount waarde , die

leesdata geldige sein moet beweer word keer, een keer vir

elke leesdata-item. Daar moet ten minste een siklus van latensie wees

tussen aanvaarding van die lees en bewering van

leesdata geldig. Vir 'n tydsberekeningdiagram wat die leesdata-geldige sein illustreer, verwys na Pyplyn-leesoordrag met veranderlike latensie.

'n Agent kan leesdata geldig beweer om data na die gasheer oor te dra, onafhanklik van of die agent 'n nuwe opdrag met kelnerversoek staak.

Vereis as die gasheer pyplynlesings ondersteun. Bars-gashere met leesfunksionaliteit moet die leesdata-geldige sein insluit.

Agent Gasheer

Nee

'n Opsionele sein. Indien teenwoordig, skryf die koppelvlakprobleme

antwoorde vir skryfopdragte.

Wanneer dit beweer word, is die waarde op die reaksiesein 'n geldige skryfrespons.

Writeresponsevalid word slegs een kloksiklus of meer beweer nadat die skryfopdrag aanvaar is. Daar is ten minste 'n vertraging van een kloksiklus vanaf bevelaanvaarding tot bevestiging van

skryfantwoordgeldig.

voortgesit …

Avalon®-koppelvlakspesifikasies 16

Stuur terugvoer

3. Avalon-geheue-gekarteer-koppelvlakke 683091 | 2022.01.24

Sein Rol

Breedte

Rigting vereis

Beskrywing

'n Skryfopdrag word as aanvaar beskou wanneer die laaste maatslag van die sarsie aan die agent uitgereik word en die kelnerversoek laag is. writeresponsevalid kan een of meer kloksiklusse beweer word nadat die laaste maatslag van die sarsie uitgereik is.

uitbarstingstelling

1 11 Gasheeragent

Bars Seine

Nee

Word gebruik deur leërskare wat bars om die aantal oorplasings in aan te dui

elke bars. Die waarde van die maksimum burstcount parameter

moet 'n krag van 2 wees. 'n Burstcount-koppelvlak van breedte kan 'n maksimum sarsie van grootte 2 ( -1). Byvoorbeeldample, 'n 4-bis

burstcount sein kan 'n maksimum burst telling van 8 ondersteun.

Die minimum burstcount is 1. Die

constantBurstBehavior eiendom beheer die tydsberekening van die

burstcount sein. Leërskare wat bars met leesfunksies moet

sluit die readdatavalid sein in.

Vir ontploffing van gashere en agente wat byte-adresse gebruik, is die volgende beperking van toepassing op die breedte van die adres:

>= +
log2( )
Vir ontploffing van gashere en agente wat woordadresse gebruik, word die log2-term hierbo weggelaat.

beginbursttr

1

Interkonnekteer

antwoord

Agent

Nee

Bevestig vir die eerste siklus van 'n sarsie om aan te dui wanneer 'n sarsie

oordrag begin. Hierdie sein word na een siklus gedeaktiveer

ongeag die waarde van kelnerversoek. Vir 'n tydsberekening diagram

wat beginbursttransfer illustreer, verwys na die figuur in Lees

Bars.

beginbursttransfer is opsioneel. 'n Agent kan altyd intern die begin van die volgende skryfsarsie-transaksie bereken deur data-oordragte te tel.

Waarskuwing: moenie hierdie sein gebruik nie. Hierdie sein bestaan ​​om verouderde geheuebeheerders te ondersteun.

3.3. Interface-eienskappe

Tabel 10. Avalon-MM-koppelvlak-eienskappe

Noem adresEenhede

Verstekwaarde
Gasheer simbole Agent –
woorde

Regswaardes
woorde, simbole

Beskrywing
Spesifiseer die eenheid vir adresse. 'n Simbool is tipies 'n greep. Verwys na die definisie van adres in die Avalon Memory-Mapped Interface Signal Types tabel vir die tipiese gebruik van hierdie eiendom.

alwaysBurstMaxBurst burstcountUnits

valse woorde

waar, onwaar
woorde, simbole

Wanneer waar, dui dit aan dat die gasheer altyd die maksimum-lengte-sarsie uitreik. Die maksimum sarsielengte is 2burstcount_width – 1. Hierdie parameter het geen effek vir Avalon-MM-agentkoppelvlakke nie.
Hierdie eienskap spesifiseer die eenhede vir die burstcount sein. Vir simbole word die burstcount-waarde geïnterpreteer as die aantal simbole (grepe) in die burst. Vir woorde word die burstcount-waarde geïnterpreteer as die aantal woordoordragte in die burst.

burstOnBurstBoundariesOnly

vals

waar, onwaar

Indien waar, begin sarsie-oordragte wat aan hierdie koppelvlak aangebied word by adresse wat veelvoude van die maksimum sarsiegrootte is.
voortgesit …

Stuur terugvoer

Avalon®-koppelvlakspesifikasies 17

3. Avalon-geheue-gekarteer-koppelvlakke 683091 | 2022.01.24

Noem constantBurstBehavior
holdTime(1) linewrapBursts
maksimum Hangende Leestransaksies (1)
maximumPendingWriteTransact ions minimumResponseLatency

Verstekwaarde Host -false Agent -false
0 vals
1(2)
0 1

Regswaardes waar, onwaar
0 1000 siklusse
waar, onwaar
1 64
1 64

Beskrywing
Gashere: Wanneer dit waar is, verklaar dat die gasheer adres en burstcount konstant hou regdeur 'n bars transaksie. Wanneer onwaar (verstek), verklaar dat die gasheer adres en burstcount konstant hou slegs vir die eerste maatslag van 'n sarsie. Agente: Wanneer dit waar is, verklaar dat die agent verwag dat adres en burstcount konstant gehou sal word deur 'n sarsie. Wanneer onwaar (verstek), verklaar dat die agent samples adres en sarsie tel slegs op die eerste maatslag van 'n sarsie.
Spesifiseer tyd in tydsberekeningEenhede tussen die bevestiging van skryf en die bevestiging van adres en data. (Slegs van toepassing op skryftransaksies.)
Sommige geheuetoestelle implementeer 'n omvou-sarsie in plaas van 'n toenemende sarsie. Wanneer 'n toevou-bars 'n bars-grens bereik, draai die adres terug na die vorige bars-grens. Slegs die lae-orde bisse word benodig vir adrestelling. Byvoorbeeldample, 'n omvou-sarsie na adres 0xC met burst-grense elke 32 grepe oor 'n 32-bis-koppelvlak skryf na die volgende adresse: · 0xC · 0x10 · 0x14 · 0x18 · 0x1C · 0x0 · 0x4 · 0x8
Agente: Hierdie parameter is die maksimum aantal hangende leesstukke wat die agent kan in toustaan. Die waarde moet nie-nul wees vir enige agent met die readdatavalid sein.
Verwys na Pyplyn-leesoordrag met veranderlike vertraging vir 'n tydsberekeningdiagram wat hierdie eienskap illustreer en vir bykomende inligting oor die gebruik van kelnerversoek en leesdata geldig met veelvuldige uitstaande leeswerk.
Gashere: Hierdie eiendom is die maksimum aantal uitstaande leestransaksies wat die gasheer kan genereer.
Let wel: Moenie hierdie parameter op 0 stel nie. (Vir terugwaartse versoenbaarheid ondersteun die sagteware 'n parameterinstelling van 0. Jy moet egter nie hierdie instelling in nuwe ontwerpe gebruik nie).
Die maksimum aantal hangende nie-geplaaste skrywes wat 'n agent kan aanvaar of 'n gasheer kan uitreik. 'n Agent beweer kelnerversoek sodra die interkonneksie hierdie limiet bereik, en die gasheer hou op om opdragte uit te reik. Die verstekwaarde is 0, wat onbeperkte hangende skryftransaksies toelaat vir 'n gasheer wat skryfantwoorde ondersteun. 'n Agent wat skryfantwoorde ondersteun, moet dit op 'n nie-nul waarde stel.
Vir koppelvlakke wat readdatavalid of writeresponsevalid ondersteun, spesifiseer die minimum aantal siklusse tussen 'n lees- of skryfopdrag en die reaksie op die opdrag.
voortgesit …

Avalon®-koppelvlakspesifikasies 18

Stuur terugvoer

3. Avalon-geheue-gekarteer-koppelvlakke 683091 | 2022.01.24

Naam leesLatency(1) readWaitTime(1) setupTime(1) timingUnits(1) waitrequestAllowance
skryfWagtyd(1)
geassosieerde Klok

Verstekwaarde

Regswaardes

Beskrywing

0

0 63

Lees latency vir vaste-latency Avalon-MM-agente. Vir 'n

tydsberekening diagram wat 'n vaste latensie lees gebruik, verwys na

Pyplyn-leesoordragte met vaste vertraging.

Avalon-MM-agente met vaste latensie moet 'n waarde vir hierdie koppelvlak-eienskap verskaf. Avalon-MM agente

wat veranderlike latency is, gebruik die readdatavalid sein om geldige data te spesifiseer.

1

0 1000 Vir koppelvlakke wat nie die kelnerversoek gebruik nie

siklusse

sein. readWaitTime dui die tydsberekening in

tydsberekeningEenhede voordat die agente 'n lees aanvaar

bevel. Die tydsberekening is asof die agent beweer het

wagversoek vir leesWaitTime-siklusse.

0

0 1000 Spesifiseer tyd in tydsberekening Eenhede tussen die bewering

siklusse

van adres en data en bewering van lees of skryf.

siklusse

siklusse,
nanosekonde s

Spesifiseer die eenhede vir setupTime, holdTime,
skryfWaitTime en readWaitTime. Gebruik siklusse vir sinchrone toestelle en nanosekondes vir asinchrone toestelle. Byna alle Avalon-MM-agenttoestelle is sinchronies.
'n Avalon-MM-komponent wat van 'n AvalonMM-agentkoppelvlak na 'n off-chip toestel oorbrug, kan asynchronies wees. Daardie off-chip toestel het dalk 'n vaste afrekentyd vir bus omkeer.

0

Spesifiseer die aantal oordragte wat uitgereik kan word of

aanvaar nadat kelnerversoek bevestig is.

Wanneer die kelnerversoekToelae 0 is, skryf die
lees- en kelnerversoekseine handhaaf hul bestaande gedrag soos beskryf in die Avalon-MM-seinrolle-tabel.

Wanneer die wagversoekToelae groter as 0 is, tel elke kloksiklus waarop skryf of lees beweer word as 'n opdragoordrag. Sodra wagversoek bevestig is, is slegs waitrequestAllowance meer beveloordragte wettig terwyl wagversoek bevestig bly. Nadat die kelnerversoekToelae bereik is, moet skryf en lees onbevoeg bly solank as wat die kelnerversoek bevestig word.

Sodra kelnerversoek bevestig is, kan oordragte te eniger tyd sonder beperkings hervat word totdat kelnerversoek weer geld. Op hierdie tydstip kan wagversoekToelae meer oorplasings voltooi terwyl wagversoek bevestig bly.

0

0 1000 Vir koppelvlakke wat nie die kelnerversoek gebruik nie

Siklusse

sein, skryfWaitTime spesifiseer die tydsberekening in

tydsberekeningEenhede voordat 'n agent 'n skrywe aanvaar. Die

tydsberekening is asof die agent 'n wagversoek vir skryfWaitTime-siklusse of nanosekondes beweer het.

Vir 'n tydsberekeningdiagram wat die gebruik van skryfWaitTime illustreer, verwys na Lees en skryf oordragte met vaste wagtoestande.

Interface Verhouding Eienskappe

NVT

NVT

Naam van die klok koppelvlak waarheen hierdie Avalon-MM

koppelvlak is sinchronies.

voortgesit …

Stuur terugvoer

Avalon®-koppelvlakspesifikasies 19

3. Avalon-geheue-gekarteer-koppelvlakke 683091 | 2022.01.24

Naam

Verstekwaarde

Regswaardes

Beskrywing

geassosieerde Herstel

NVT

NVT

Naam van die terugstel-koppelvlak wat die logika terugstel

hierdie Avalon-MM-koppelvlak.

bridgesToHost

0

Avalon-MM 'n Avalon-MM-brug bestaan ​​uit 'n agent en 'n gasheer,

Gasheernaam en het die eiendom wat toegang tot die agent het

op die

die versoek van 'n greep of grepe veroorsaak dieselfde greep of

dieselfde

grepe wat deur die gasheer aangevra moet word. Die Avalon-MM

komponent Pyplynbrug in die Platform Designer-komponent

biblioteek implementeer hierdie funksionaliteit.

Notas:
1. Alhoewel hierdie eienskap 'n agenttoestel kenmerk, kan gashere hierdie eienskap verklaar om direkte verbindings tussen ooreenstemmende gasheer- en agentkoppelvlakke moontlik te maak.
2. As 'n agentkoppelvlak meer leesoordragte aanvaar as wat toegelaat word, kan die interkonneksie hangende gelees EIEU oorloop met onvoorspelbare resultate. Die agent kan leesdata verloor of leesdata na die verkeerde gasheerkoppelvlak lei. Of die stelsel kan toesluit. Die agentkoppelvlak moet kelnerversoek bevestig om hierdie oorloop te voorkom.

Verwante inligting · Avalon Memory Mapped Interface Sein Rolle op bladsy 14 · Lees en skryf antwoorde op bladsy 34 · Pyplyn-leesoordrag met veranderlike latensie op bladsy 28 · Pyplyn-leesoordragte met vaste vertraging op bladsy 29 · Lees en skryf antwoorde
In Platform Ontwerper Gebruikersgids: Intel Quartus® Prime Pro Edition

3.4. Tydsberekening
Die Avalon-MM-koppelvlak is sinchronies. Elke Avalon-MM-koppelvlak is gesinchroniseer met 'n gepaardgaande klokkoppelvlak. Seine kan kombinasie wees as hulle aangedryf word vanaf die uitsette van registers wat sinchronies met die kloksein is. Hierdie spesifikasie dikteer nie hoe of wanneer seine oorgaan tussen klokrande nie. Tydsberekeningdiagramme is sonder fynkorrelige tydsberekeninginligting.

3.5. Oordragte
Hierdie afdeling definieer twee basiese konsepte voordat die oordragtipes bekendgestel word:
· Oordrag – 'n Oordrag is 'n lees- of skryfbewerking van 'n woord of een of meer simbool van data. Oordragte vind plaas tussen 'n Avalon-MM-koppelvlak en die interkonneksie. Oordragte neem een ​​of meer kloksiklusse om te voltooi.
Beide gashere en agente is deel van 'n oordrag. Die Avalon-MM-gasheer begin die oordrag en die Avalon-MM-agent reageer.
· Gasheer-agent-paar – Hierdie term verwys na die gasheerkoppelvlak en agentkoppelvlak wat by 'n oordrag betrokke is. Tydens 'n oordrag gaan die gasheerkoppelvlakbeheer- en dataseine deur die interkonneksiestof en interaksie met die agentkoppelvlak.

Avalon®-koppelvlakspesifikasies 20

Stuur terugvoer

3. Avalon-geheue-gekarteer-koppelvlakke 683091 | 2022.01.24

3.5.1. Tipiese lees- en skryfoordragte

Hierdie afdeling beskryf 'n tipiese Avalon-MM-koppelvlak wat lees- en skryfoordragte ondersteun met agent-beheerde kelnerversoek. Die agent kan die interkonneksie vir soveel siklusse stop as wat vereis word deur die kelnerversoeksein te bevestig. As 'n agent kelnerversoek gebruik vir óf lees óf skryf oordragte, moet die agent kelnerversoek vir albei gebruik.

'n Agent ontvang tipies adres, byteenable, lees of skryf, en skryfdata na die stygende rand van die klok. 'n Agent voer 'n kelnerversoek aan voor die stygende klokrand om oordragte terug te hou. Wanneer die agent die kelnerversoek bevestig, word die oordrag vertraag. Terwyl kelnerversoek bevestig word, word die adres en ander beheerseine konstant gehou. Oordragte voltooi op die stygende rand van die eerste clk nadat die agent-koppelvlak 'n kelnerversoek afgehandel het.
Daar is geen beperking op hoe lank 'n agent-koppelvlak kan stilstaan ​​nie. Daarom moet jy verseker dat 'n agent-koppelvlak nie kelnerversoeke vir onbepaalde tyd bevestig nie. Die volgende figuur toon lees- en skryfoordragte met behulp van kelnerversoek.

Let wel:

kelnerversoek kan ontkoppel word van die lees- en skryfversoekseine. kelnerversoek kan tydens ledige siklusse aangevoer word. 'n Avalon-MM-gasheer kan 'n transaksie inisieer wanneer wagversoek bevestig word en wag vir daardie sein om te bevestig. Die ontkoppeling van kelnerversoek van lees- en skryfversoeke kan stelseltydsberekening verbeter. Ontkoppeling skakel 'n kombinasielus uit, insluitend die lees-, skryf- en wagversoekseine. As selfs meer ontkoppeling vereis word, gebruik die waitrequestAllowance-eienskap. waitrequestAllowance is beskikbaar vanaf die Quartus® Prime Pro v17.1 Stratix® 10 ES Editions-vrystelling.

Figuur 7.

Lees en skryf oordragte met wagversoek

1

2

klk

3

4

5

adres

adres

byteenable

byteenable

lees skryf kelnerversoek leesdata

leesdata

reaksie

reaksie

data skryf

6

7

data skryf

Stuur terugvoer

Avalon®-koppelvlakspesifikasies 21

3. Avalon-geheue-gekarteer-koppelvlakke 683091 | 2022.01.24
Die nommers in hierdie tydsberekeningsdiagram merk die volgende oorgange: 1. adres, byteenable en read word na die stygende rand van clk beweer. Die
agent beweer kelnerversoek, wat die oordrag stuit. 2. kelnerversoek is sampled. Omdat kelnerversoek bevestig word, word die siklus
'n wag-toestand. adres, lees, skryf en byteenable bly konstant. 3. Die agent deasserts waitrequest na die stygende rand van clk. Die agent beweer
leesdata en reaksie. 4. Die gasheer samples leesdata, reaksie en onbehoorlike kelnerversoek
voltooiing van die oordrag. 5. adres-, skryfdata-, byteenable- en skryfseine word na die
stygende rand van clk. Die agent beweer kelnerversoek wat die oordrag stuit. 6. Die agent deasserts waitrequest na die stygende rand van clk. 7. Die agent vang skryfdata vas wat die oordrag beëindig.

Avalon®-koppelvlakspesifikasies 22

Stuur terugvoer

3. Avalon-geheue-gekarteer-koppelvlakke 683091 | 2022.01.24

3.5.2. Oordragte Gebruik die waitrequestAllowance Eiendom

Die waitrequestAllowance-eienskap spesifiseer die aantal oordragte wat 'n AvalonMM-gasheer kan uitreik of 'n Avalon-MM-agent moet aanvaar nadat die wagversoeksein bevestig is. waitrequestAllowance is beskikbaar vanaf die Intel Quartus Prime 17.1-sagtewarevrystelling.
Die verstekwaarde van waitrequestAllowance is 0, wat ooreenstem met die gedrag wat beskryf word in Tipiese lees- en skryfoordragte, waar wagversoekbewering keer dat die huidige oordrag uitgereik of aanvaar word.
'n Avalon-MM-agent met 'n kelnerversoekToelae groter as 0 sal tipies kelnerversoek beweer wanneer sy interne buffer slegs wagversoekToelae meer inskrywings kan aanvaar voordat dit vol word. Avalon-MM-gashere met 'n waitrequestAllowance groter as 0 het waitrequestAllowance addisionele siklusse om op te hou om oordragte te stuur, wat meer pypleiding in die gasheerlogika moontlik maak. Die gasheer moet die lees- of skryfsein laat geld wanneer die wagversoekgeld bestee is.
Waardes van wagversoekToelae groter as 0 ondersteun hoëspoedontwerp waar onmiddellike vorme van terugdruk 'n daling in die maksimum bedryfsfrekwensie (FMAX) kan veroorsaak, dikwels as gevolg van kombinatoriese logika in die beheerpad. 'n Avalon-MM-agent moet alle moontlike oordragtydberekeninge ondersteun wat wettig is vir sy wagversoektoelaewaarde. Byvoorbeeldample, 'n agent met waitrequestAllowance = 2 moet enige van die gasheeroordraggolfvorms kan aanvaar wat in die volgende bv.amples.

Verwante inligting Tipiese lees- en skryfoordragte op bladsy 21

3.5.2.1. kelnerversoekToelae is gelyk aan twee
Die volgende tydsberekeningdiagram illustreer tydsberekening vir 'n Avalon-MM-gasheer wat twee kloksiklusse het om te begin en op te hou om oordragte te stuur nadat die Avalon-MM-agent onderskeidelik 'n kelnerversoek gedeassert of beweer.

Figuur 8. Gasheer skryf: waitrequestAllowance is gelyk aan twee kloksiklusse

1 2

3 4

5

6

horlosie

skryf

kelnerversoek

data[7:0]

A0 A1 A2

A3 A4

B0 B1

B3

Stuur terugvoer

Avalon®-koppelvlakspesifikasies 23

3. Avalon-geheue-gekarteer-koppelvlakke 683091 | 2022.01.24

Die merkers in hierdie figuur dui die volgende gebeurtenisse aan:
1. Die Avalon-MM> gasheer dryf skryf en data.
2. Die Avalon-MM>-agent bevestig kelnerversoek. Omdat die kelnerversoekToelae 2 is, kan die gasheer die 2 bykomende data-oordragte voltooi.
3. Die gasheer deasserts skryf soos vereis omdat die agent kelnerversoek vir 'n derde siklus bevestig.
4. Die Avalon-MM> gasheer dryf skryf en data. Die agent beweer nie kelnerversoek nie. Die skrywes voltooi.
5. Die Avalon-gasheer dryf skryf en data aan, alhoewel die agent 'n kelnerversoek bevestig. Omdat die kelnerversoekToelae 2 siklusse is, is die skryf voltooi.
6. Die Avalon-gasheer dryf skryf en data aan. Die agent voer nie kelnerversoeke uit nie. Die skryfwerk voltooi.

3.5.2.2. waitrequestToelae is gelyk aan een
Die volgende tydsberekeningdiagram illustreer tydsberekening vir 'n Avalon-MM-gasheer wat een kloksiklus het om te begin en op te hou om oordragte te stuur nadat die Avalon-MM-agent onderskeidelik 'n kelnerversoek gedeassert of beweer:
Figuur 9. Gasheerskryf: waitrequestAllowance is gelyk aan een kloksiklus

1 klk

23 4

5

6 7

8

skryf

kelnerversoek

data[7:0]

A0 A1 A2

A3 A4

B0

B1 B2

B3

Die getalle in hierdie figuur dui die volgende gebeurtenisse aan:
1. Die Avalon-MM gasheer dryf skryf en data.
2. Die Avalon-MM-agent bevestig kelnerversoek. Omdat die kelnerversoekToelae 1 is, kan die gasheer die skryf voltooi.
3. Die gasheer deasserts skryf omdat die agent 'n kelnerversoek vir 'n tweede siklus beweer.
4. Die Avalon-MM gasheer dryf skryf en data. Die agent beweer nie kelnerversoek nie. Die skrywes voltooi.
5. Die agent beweer kelnerversoek. Omdat die kelnerversoekToelae 1 siklus is, word die skrywe voltooi.

Avalon®-koppelvlakspesifikasies 24

Stuur terugvoer

3. Avalon-geheue-gekarteer-koppelvlakke 683091 | 2022.01.24

6. Avalon-MM gasheer dryf skryf en data. Die agent beweer nie kelnerversoek nie. Die skryfwerk voltooi.
7. Die Avalon-MM-agent bevestig kelnerversoek. Omdat die kelnerversoekToelae 1 is, kan die gasheer een bykomende data-oordrag voltooi.
8. Die Avalon-gasheer dryf skryf en data aan. Die agent voer nie kelnerversoeke uit nie. Die skryfwerk voltooi.

3.5.2.3. kelnerversoekToelae is gelyk aan twee – nie aanbeveel nie

Die volgende diagram illustreer tydsberekening vir 'n Avalon-MM>-gasheer wat twee oordragte kan stuur nadat kelnerversoek bevestig is.

Hierdie tydsberekening is wettig, maar word nie aanbeveel nie. In hierdie example die gasheer tel die aantal transaksies in plaas van die aantal kloksiklusse. Hierdie benadering vereis 'n teller wat die implementering meer kompleks maak en tydsberekening sluiting kan beïnvloed.
Wanneer die gasheer bepaal wanneer om transaksies te bestuur met die kelnerversoeksein en 'n konstante aantal siklusse, begin of stop die gasheer transaksies gebaseer op die geregistreerde seine.

Figuur 10. waitrequestAllowance is gelyk aan twee oordragte

1 23 klk

45

6

7

skryf

kelnerversoek

data

Die nommers in hierdie figuur dui die volgende gebeurtenisse aan: 1. Die Avalon-MM>-gasheer beweer skryf en dryf data.
2. Die Avalon-MM>-agent bevestig kelnerversoek.
3. Die Avalon-MM> gasheer dryf skryf en data. Omdat die waitrequestAllowance 2 is, bestuur die gasheer data in 2 opeenvolgende siklusse.
4. Die Avalon-MM> gasheer deasserts skryf omdat die gasheer die 2-oordrag waitrequest Allowance bestee het.
5. Die Avalon-MM>-gasheer reik 'n skrywe uit sodra die kelnerversoek afgekeur is.
6. Die Avalon-MM> gasheer dryf skryf en data. Die agent bevestig kelnerversoek vir 1 siklus.
7. In reaksie op kelnerversoek, hou die Avalon-MM>-gasheer data vir 2 siklusse.

3.5.2.4. waitrequestAllowance-versoenbaarheid vir Avalon-MM-gasheer- en agentkoppelvlakke
Avalon-MM-gashere en agente wat die kelnerversoeksein ondersteun, ondersteun terugdruk. Gashere met terugdruk kan altyd aan agente koppel sonder terugdruk. Gashere sonder terugdruk kan nie aan agente met terugdruk koppel nie.

Stuur terugvoer

Avalon®-koppelvlakspesifikasies 25

3. Avalon-geheue-gekarteer-koppelvlakke 683091 | 2022.01.24

Tabel 11. waitrequestAllowance-versoenbaarheid vir Avalon-MM-gashere en -agente

Gasheer en Agent kelnerversoekToelae

Verenigbaarheid

gasheer = 0 agent = 0
gasheer = 0 agent > 0

Volg dieselfde versoenbaarheidsreëls as standaard Avalon-MM-koppelvlakke.
Direkte verbindings is nie moontlik nie. Eenvoudige aanpassing word vereis vir die geval van 'n gasheer met 'n kelnerversoeksein. 'n Verbinding is onmoontlik as die gasheer nie die kelnerversoeksein ondersteun nie.

gasheer > 0 agent = 0
gasheer > 0 agent> 0

Direkte verbindings is nie moontlik nie. Aanpassing (buffers) word vereis wanneer aan 'n agent gekoppel word met 'n kelnerversoeksein of vaste wagtoestande.
Geen aanpassing is nodig as die gasheer se toelae <= agent se toelae nie. As die gasheertoelae < agenttoelae, kan pyplynregisters ingevoeg word. Vir punt-tot-punt-verbindings kan jy die pyplynregisters by die bevelseine of die kelnerversoekseine byvoeg. Tot registreer stages kan ingevoeg word waar is die verskil tussen die toelaes. Om 'n gasheer met 'n hoër kelnerversoekToelae as die agent te koppel, vereis buffering.

3.5.2.5. waitrequestAllowance Fout voorwaardes
Gedrag is onvoorspelbaar as 'n Avalon-MM-koppelvlak die kelnerversoektoelaagspesifikasie oortree.
· As 'n gasheer die waitrequestAllowance = oortree spesifikasie deur meer as te stuur oordragte, oordragte kan laat vaar word of datakorrupsie kan voorkom.
· As 'n agent 'n groter kelnerversoek Toelae adverteer as wat moontlik is, kan sommige oordragte laat vaar word of datakorrupsie kan voorkom.
3.5.3. Lees en skryf oordragte met vaste wagtoestande
'n Agent kan vaste wagtoestande spesifiseer deur die readWaitTime en writeWaitTime eienskappe te gebruik. Die gebruik van vaste wagtoestande is 'n alternatief vir die gebruik van kelnerversoek om 'n oordrag te stop. Die adres en beheer seine (byteenable, lees en skryf) word konstant gehou vir die duur van die oordrag. Stel leesWaitTime of writeWaitTime op is gelykstaande aan beweerde kelnerversoek vir siklusse per oordrag.
In die volgende figuur het die agent 'n skryfWaitTime = 2 en readWaitTime = 1.

Avalon®-koppelvlakspesifikasies 26

Stuur terugvoer

3. Avalon-geheue-gekarteer-koppelvlakke 683091 | 2022.01.24

Figuur 11.

Lees en skryf oordrag met vaste wagtoestande by die agentkoppelvlak

1

2

3

4

5

klk

adres

adres

adres

byteenable

byteenable

lees

skryf leesdata reaksie skryfdata

leesdata reaksie

data skryf

Die getalle in hierdie tydsberekeningdiagram dui die volgende oorgange aan:
1. Die gasheer beweer adres en lees op die stygende rand van clk.
2. Die volgende stygende rand van clk dui die einde van die eerste en enigste wag-toestand siklus aan. Die leesWagtyd is 1.
3. Die agent beweer leesdata en reaksie op die stygende rand van clk. Die leesoordrag eindig.
4. skryfdata, adres, byteenable en skryfseine is beskikbaar vir die agent.
5. Die skryfoordrag eindig na 2 wagtoestandsiklusse.
Oordragte met 'n enkele wag-toestand word algemeen gebruik vir multicycle off-chip randapparatuur. Die randapparaat vang adres- en beheerseine op die stygende rand van clk op. Die randapparaat het een volle siklus om data terug te gee.
Komponente met nul wag-toestande word toegelaat. Komponente met geen wagtoestande kan egter die haalbare frekwensie verlaag. Geen wagtoestande vereis dat die komponent die reaksie genereer in dieselfde siklus as wat die versoek gelewer is.

3.5.4. Pyplyn-oordragte
Avalon-MM pyplyn-leesoordragte verhoog die deurset vir sinchrone agenttoestelle wat verskeie siklusse benodig om data vir die eerste toegang terug te gee. Sulke toestelle kan tipies vir 'n geruime tyd daarna een datawaarde per siklus terugstuur. Nuwe pyplyn-leesoordragte kan begin voordat leesdata vir die vorige oordragte teruggestuur word.
'n Pyplyn-leesoordrag het 'n adresfase en 'n datafase. 'n Gasheer begin 'n oordrag deur die adres tydens die adresfase aan te bied. 'n Agent vervul die oordrag deur die data tydens die datafase te lewer. Die adresfase vir 'n nuwe oordrag (of veelvuldige oordragte) kan begin voordat die datafase van 'n vorige oordrag voltooi is. Die vertraging word pyplyn latency genoem. Die vertraging van die pyplyn is die duur vanaf die einde van die adresfase tot die begin van die datafase.

Stuur terugvoer

Avalon®-koppelvlakspesifikasies 27

3. Avalon-geheue-gekarteer-koppelvlakke 683091 | 2022.01.24

Oordragtydsberekening vir wagtoestande en pyplynvertraging het die volgende sleutelverskille:
· Wagtoestande–Wagtoestande bepaal die lengte van die adresfase. Wagtoestande beperk die maksimum deurset van 'n poort. As 'n agent een wagstaat vereis om op 'n oordragversoek te reageer, vereis die poort twee kloksiklusse per oordrag.
· Pyplyn Latency – Pyplyn Latency bepaal die tyd totdat data teruggestuur word onafhanklik van die adres fase. 'n Pyplynagent sonder wagtoestande kan een oordrag per siklus onderhou. Die agent kan egter verskeie siklusse van latensie benodig om die eerste eenheid data terug te gee.
Wagtoestande en pyplynlesings kan gelyktydig ondersteun word. Pyplyn latency kan óf vas óf veranderlik wees.

3.5.4.1. Pyplyn-leesoordrag met veranderlike vertraging
Nadat die adres- en beheerseine vasgelê is, neem 'n Avalon-MM-pyplynagent een of meer siklusse om data te produseer. 'n Pyplynagent kan op enige gegewe tydstip verskeie hangende leesoordragte hê.
Veranderlike-latency pyplyn leesoordragte:
· Vereis een bykomende sein, readdatavalid, wat aandui wanneer leesdata geldig is.
· Sluit dieselfde stel seine in as nie-pyplyn-leesoordragte.
In pyplyn-leesoordragte met veranderlike latensie word Agent-randapparatuur wat leesdata-geldig gebruik, beskou as pyplyn met veranderlike latensie. Die leesdata en leesdata geldige seine wat ooreenstem met 'n leesopdrag kan op die vroegste beweer word die siklus nadat daardie leesopdrag bevestig is.
Die agent moet leesdata terugstuur in dieselfde volgorde as wat die leesopdragte aanvaar word. Pyplyn agentpoorte met veranderlike latensie moet kelnerversoek gebruik. Die agent kan kelnerversoeke aanvoer om oordragte te stop om 'n aanvaarbare aantal hangende oorplasings te handhaaf. 'n Agent kan leesdata geldig beweer om data na die gasheer oor te dra, onafhanklik van of die agent 'n nuwe opdrag met kelnerversoek staak.

Let wel:

Die maksimum aantal hangende oordragte is 'n eienskap van die agentkoppelvlak. Die interkonneksie-stof bou logika om leesdata te stuur na versoekende gashere wat hierdie nommer gebruik. Die agentkoppelvlak, nie die interkonneksiestof nie, moet die aantal hangende leeswerk naspoor. Die agent moet kelnerversoeke bevestig om te verhoed dat die aantal hangende leeswerk die maksimum aantal oorskry. As 'n agent wagversoekToelae > 0 het, moet die agent die wagversoek vroeg genoeg bevestig sodat die totale hangende oordragte, insluitend dié wat aanvaar word terwyl die kelnerversoek bevestig word, nie die maksimum aantal hangende oorplasings wat gespesifiseer is, oorskry nie.

Avalon®-koppelvlakspesifikasies 28

Stuur terugvoer

3. Avalon-geheue-gekarteer-koppelvlakke 683091 | 2022.01.24

Figuur 12.

Pyplyn-leesoordragte met veranderlike vertraging

Die volgende figuur toon verskeie agentleesoordragte. Die agent word met veranderlike latensie gevoer. In hierdie figuur kan die agent 'n maksimum van twee hangende oordragte aanvaar. Die agent gebruik kelnerversoeke om te verhoed dat hierdie maksimum oorskry word.

1

2

34

5

6

78

9

10

11

klk

adres

addr1

addr2

addr3

addr4

addr5

lees

kelnerversoek

leesdata leesdata geldig

data 1

data 2

data 3

data 4

data 5

Die getalle in hierdie tydsberekeningdiagram, merk die volgende oorgange:
1. Die gasheer bevestig adres en lees, wat 'n leesoordrag begin.
2. Die agent vang addr1.
3. Die agent vang addr2.
4. Die agent voer kelnerversoek aan omdat die agent reeds 'n maksimum van twee hangende leeswerk aanvaar het, wat veroorsaak dat die derde oordrag tot stilstand kom.
5. Die agent beweer data1, die reaksie op addr1. Die agent bevestig kelnerversoek.
6. Die agent vang addr3. Die interkonneksie vang data vas1.
7. Die agent vang addr4. Die interkonneksie vang data vas2.
8. Die agent dryf readdatavalid en readdata aan in reaksie op die derde leesoordrag.
9. Die agent vang addr5. Die interkonneksie vang data3. Die leessein is gedeaktiveer. Die waarde van kelnerversoek is nie meer relevant nie.
10. Die interkonneksie vang data vas4.
11. Die agent dryf data5 aan en bevestig dat leesdata geldig is en voltooi die datafase vir die finale hangende leesoordrag.
As die agent nie 'n skryfoordrag kan hanteer terwyl hangende leesoordragte verwerk word nie, moet die agent kelnerversoek bevestig en die skryfbewerking staak totdat die hangende leesoordragte voltooi is. Die Avalon-MM-spesifikasie definieer nie die waarde van leesdata in die geval dat 'n agent 'n skryfoordrag na dieselfde adres as 'n tans hangende leesoordrag aanvaar nie.
3.5.4.2. Pyplyn-leesoordragte met vaste vertraging
Die adresfase vir leesoordragte met vaste latensie is identies aan die geval van veranderlike latensie. Na die adresfase neem 'n pyplyn met vaste leesvertraging 'n vaste aantal kloksiklusse om geldige leesdata terug te gee. Die readLatency-eienskap spesifiseer die aantal kloksiklusse om geldige leesdata terug te gee. Die interkonneksie vang leesdata op die toepaslike stygende klokrand vas, wat die datafase beëindig.

Stuur terugvoer

Avalon®-koppelvlakspesifikasies 29

3. Avalon-geheue-gekarteer-koppelvlakke 683091 | 2022.01.24

Tydens die adresfase kan die kelnerversoek aanvoer om die oordrag uit te stel. Of, die spesifiseer die leesLatency vir 'n vaste aantal wagtoestande. Die adres fase eindig op die volgende stygende rand van clk na wag state, indien enige.

Tydens die datafase lees die aandrywers data na 'n vaste latensie. Vir 'n lees latency van , moet die geldige leesdata op die stygende rand van clk na die einde van die adresfase.

Figuur 13.

Pyplyn-leesoordrag met vaste vertraging van twee siklusse

Die volgende figuur toon veelvuldige data-oordragte tussen 'n gasheer en 'n pyplyn. Die aandrywers se kelnerversoek om oordragte te staak en het 'n vaste leesvertraging van 2 siklusse.

12

3

45

6

klk

adres

addr1

addr2 addr3

lees

kelnerversoek

leesdata

data 1

data2 data3

Die getalle in hierdie tydsberekeningsdiagram merk die volgende oorgange: 1. 'n Gasheer begin 'n leesoordrag deur lees en addr1 te beweer. 2. Die beweerde kelnerversoek om die oordrag vir een siklus uit te stel. 3. Die vang addr1 by die stygende rand van clk. Die adresfase eindig hier. 4. Die bied geldige leesdata na 2 siklusse, wat die oordrag beëindig. 5. addr2 en read word beweer vir 'n nuwe leesoordrag. 6. Die gasheer inisieer 'n derde leesoordrag gedurende die volgende siklus, voor die data vanaf
die vorige oordrag word teruggestuur.

3.5.5. Burst-oordragte
'n Uitbarsting voer veelvuldige oordragte as 'n eenheid uit, eerder as om elke woord onafhanklik te behandel. Bursts kan deurvloei verhoog vir agentpoorte wat groter doeltreffendheid bereik wanneer verskeie woorde op 'n slag hanteer word, soos SDRAM. Die netto effek van bars is om die arbitrasie te sluit vir die duur van die bars. 'n Barsende Avalon-MM-koppelvlak wat beide lees en skryf ondersteun, moet beide lees- en skryfsarsies ondersteun.
Barsende Avalon-MM-koppelvlakke sluit 'n burstcount-uitsetsein in. As 'n agent 'n burstcount-invoer het, is die agent in staat om te bars.
Die burstcount-sein tree soos volg op:
· Aan die begin van 'n sarsie, stel sarsietelling die aantal opeenvolgende oordragte in die sarsie voor.
· Vir breedte van burstcount, die maksimum burstlengte is 2( -1). Die minimum wettige barslengte is een.

Avalon®-koppelvlakspesifikasies 30

Stuur terugvoer

3. Avalon-geheue-gekarteer-koppelvlakke 683091 | 2022.01.24
Om agent lees sarsies te ondersteun, moet 'n agent ook ondersteun:
· Wag state met die wagversoeksein.
· Pyplynoordragte met veranderlike latensie met die leesdata-geldige sein.
Aan die begin van 'n sarsie sien die agent die adres en 'n sarsielengtewaarde op sarsietelling. Vir 'n sarsie met 'n adres van en 'n burstcount-waarde van , moet die agent opeenvolgende oorplasings uitvoer wat by adres begin . Die uitbarsting voltooi nadat die agent die ontvang (skryf) of terugstuur (lees). woord van data. Die bars agent moet adres en burstcount slegs een keer vir elke sarsie vaslê. Die agentlogika moet die adres aflei vir almal behalwe die eerste oordragte in die sarsie. 'n Agent kan ook die insetsein beginbursttransfer gebruik, wat die interkonneksie op die eerste siklus van elke sarsie bevestig.
3.5.5.1. Skryf Bursts
Hierdie reëls is van toepassing wanneer 'n skryfsarsie begin met sarsietelling groter as een:
· Wanneer 'n uitbarsting van aan die begin van die sarsie aangebied word, moet die agent aanvaar opeenvolgende eenhede skryfdata om die sarsie te voltooi. Arbitrasie tussen die gasheer-agent-paar bly gesluit totdat die uitbarsting voltooi is. Hierdie slot waarborg dat geen ander gasheer transaksies op die agent kan uitvoer totdat die skryfsarsie voltooi is nie.
· Die agent moet slegs skryfdata vaslê wanneer skryf beweer. Tydens die sarsie, kan die gasheer skryf deassert wat aandui dat skryfdata ongeldig is. Desserterende skryf beëindig nie die sarsie nie. Die skryf-deassertion vertraag die uitbarsting en geen ander gasheer kan toegang tot die agent kry nie, wat die oordragdoeltreffendheid verminder.
· Die agent vertraag 'n oordrag deur kelnerversoek te beweer wat skryfdata, skryf, burstcount en byteenable dwing om konstant gehou te word.
· Die funksionaliteit van die byteenable sein is dieselfde vir bars en nie-bars agente. Vir 'n 32-bis-gasheer-burst-skryf na 'n 64-bis agent, begin by greepadres 4, is die eerste skryfoordrag wat deur die agent gesien word by sy adres 0, met byteenable = 8'b11110000. Die byteenables kan verander vir verskillende woorde van die sarsie.
· Die byteenable seine hoef nie almal beweer te word nie. 'n Uitbarstinggasheer wat gedeeltelike woorde skryf, kan die bytienbare sein gebruik om die data wat geskryf word, te identifiseer.
· Skryfstukke met byteenable seine wat almal 0'e is, word eenvoudig aan die AvalonMM-agent deurgegee as geldige transaksies.
· Die constantBurstBehavior-eienskap spesifiseer die gedrag van die burst-seine.
— Wanneer constantBurstBehavior waar is vir 'n gasheer, hou die gasheer adres en burstcount stabiel regdeur 'n sarsie. Wanneer dit waar is vir 'n agent, verklaar constantBurstBehavior dat die agent verwag dat adres en burstcount gedurende 'n sarsie stabiel gehou sal word.
- Wanneer constantBurstBehavior vals is, hou die gasheer adres en burstcount stabiel slegs vir die eerste transaksie van 'n burst. Wanneer constantBurstBehavior vals is, s die agentamples adres en bars tel slegs op die eerste transaksie van 'n bars.

Stuur terugvoer

Avalon®-koppelvlakspesifikasies 31

3. Avalon-geheue-gekarteer-koppelvlakke 683091 | 2022.01.24

Figuur 14.

Skryf Burst met constantBurstBehavior Stel op False vir Gasheer en Agent

Die volgende figuur demonstreer 'n agent skryf-sarsie van lengte 4. In hierdie example, die agent beweer kelnerversoek twee keer wat die uitbarsting vertraag.

12

3

4

5

67

8

klk

adres

addr1

begin burstoordrag

uitbarstingstelling

4

skryf

data skryf

data 1

data 2

data 3

data 4

kelnerversoek

Die getalle in hierdie tydsberekeningdiagram dui die volgende oorgange aan:
1. Die gasheer bevestig adres, burstcount, skryf en dryf die eerste eenheid skryfdata aan.
2. Die agent bevestig onmiddellik die kelnerversoek, wat aandui dat die agent nie gereed is om met die oordrag voort te gaan nie.
3. kelnerversoek is laag. Die agent vang addr1, burstcount en die eerste eenheid skryfdata vas. In die daaropvolgende siklusse van die oordrag word adres en burstcount geïgnoreer.
4. Die agent vang die tweede eenheid data by die stygende rand van clk vas.
5. Die sarsie word onderbreek terwyl skryf onweerstaanbaar is.
6. Die agent vang die derde eenheid data by die stygende rand van clk vas.
7. Die agent beweer kelnerversoek. In reaksie hierop word alle uitsette konstant gehou deur 'n ander kloksiklus.
8. Die agent vang die laaste eenheid data op hierdie stygende rand van clk vas. Die agent skryf bars eindig.
In die figuur hierbo word die beginbarsoordragsein vir die eerste kloksiklus van 'n uitbarsting bevestig en word dit op die volgende kloksiklus ontbind. Selfs as die agent 'n wagversoek bevestig, word die beginburstoordragsein slegs vir die eerste kloksiklus bevestig.
Verwante inligting
Interface-eienskappe op bladsy 17

3.5.5.2. Lees Bursts
Leessarsies is soortgelyk aan pyplyn-leesoordragte met veranderlike latensie. 'n Leesbars het duidelike adres- en datafases. readdatavalid dui aan wanneer die agent geldige leesdata aanbied. Anders as pyplyn-leesoordragte, lei 'n enkele leesbarsadres tot veelvuldige data-oordragte.

Avalon®-koppelvlakspesifikasies 32

Stuur terugvoer

3. Avalon-geheue-gekarteer-koppelvlakke 683091 | 2022.01.24

Hierdie reëls is van toepassing op leessarsies:
· Wanneer 'n gasheer direk met 'n agent koppel, word 'n uitbarsting van beteken die agent moet terugkeer woorde van leesdata om die sarsie te voltooi. Vir gevalle waar interkonneksie die gasheer- en agentpaar koppel, kan die interkonneksie leesopdragte wat vanaf die gasheer na die agent gestuur word, onderdruk. Byvoorbeeldample, as die gasheer 'n leesopdrag stuur met 'n byteenable waarde van 0, kan die interkonneksie die lees onderdruk. Gevolglik reageer die agent nie op die leesopdrag nie.
· Die agent bied elke woord aan deur leesdata te verskaf en leesdata geldig vir 'n siklus te beweer. Bevestiging van leesdata geldige vertragings, maar beëindig nie die sarsiedatafase nie.
· Vir leeswerk met 'n uitbarsting > 1, beveel Intel aan om alle grepe te beweer.

Let wel:

Intel beveel aan dat bars-bekwame agente nie lees newe-effekte het nie. (Hierdie spesifikasie waarborg nie hoeveel grepe 'n gasheer van die agent lees om aan 'n versoek te voldoen nie.)

Figuur 15.

Lees Burst

Die volgende figuur illustreer 'n stelsel met twee bars-gashere wat toegang tot 'n agent verkry. Let daarop dat Host B kan bestuur

'n leesversoek voordat die data vir Gasheer A teruggestuur is.

1

23

45

6

klk

adres A0 (gasheer A) A1 gasheer (B)

lees

begin burstoordrag

kelnerversoek

uitbarstingstelling

4

2

leesdata geldig

leesdata

D(A0)D(A0+1) D(A0+2D)(A0+3)D(A1)D(A1+1)

Die getalle in hierdie tydsberekeningdiagram, merk die volgende oorgange:
1. Gasheer A beweer adres (A0), burstcount, en lees na die stygende rand van clk. Die agent beweer kelnerversoek, wat veroorsaak dat alle insette behalwe beginbursttransfer konstant gehou word deur 'n ander kloksiklus.
2. Die agent vang A0 en burstcount vas by hierdie stygende rand van clk. 'n Nuwe oordrag kan in die volgende siklus begin.
3. Gasheer B dryf adres (A1), burstcount, en lees. Die agent beweer kelnerversoek, wat veroorsaak dat alle insette behalwe beginbursttransfer konstant gehou word. Die agent kon op die vroegste leesdata vanaf die eerste leesversoek op hierdie tydstip teruggestuur het.

Stuur terugvoer

Avalon®-koppelvlakspesifikasies 33

3. Avalon-geheue-gekarteer-koppelvlakke 683091 | 2022.01.24
4. Die agent bied geldige leesdata aan en beweer dat leesdata geldig is, en dra die eerste woord data vir gasheer A oor.
5. Die tweede woord vir gasheer A word oorgedra. Die agent bevestig leesdata geldig deur die leesbars te laat wag. Die agentpoort kan leesdata geldig hou vir 'n arbitrêre aantal kloksiklusse.
6. Die eerste woord vir gasheer B word teruggestuur.
3.5.5.3. LineWrapped Bursts
Verwerkers met instruksiekas kry doeltreffendheid deur lyn-omhulde sarsies te gebruik. Wanneer 'n verwerker data versoek wat nie in die kas is nie, moet die kasbeheerder die hele kaslyn hervul. Vir 'n verwerker met 'n kaslyngrootte van 64 grepe, veroorsaak 'n kasmis dat 64 grepe uit die geheue gelees word. As die verwerker vanaf adres 0xC lees wanneer die kasmis plaasgevind het, kan 'n ondoeltreffende kasbeheerder 'n sarsie by adres 0 uitreik, wat lei tot data vanaf leesadresse 0x0, 0x4, 0x8, 0xC, 0x10, 0x14, 0x18, . . . 0x3C. Die gevraagde data is nie beskikbaar tot die vierde lees nie. Met lynomvou-sarsies is die adresvolgorde 0xC, 0x10, 0x14, 0x18, . . . 0x3C, 0x0, 0x4 en 0x8. Die gevraagde data word eerste teruggestuur. Die hele kaslyn word uiteindelik uit die geheue hervul.
3.5.6. Lees en skryf antwoorde
Vir enige Avalon-MM-agent moet opdragte op 'n gevaarvrye wyse verwerk word. Lees en skryf die antwoorde uit in die volgorde waarin hulle aanvaar is.
3.5.6.1. Transaksiebestelling vir Avalon-MM lees en skryf antwoorde (gashere en agente)
Vir enige Avalon-MM gasheer: · Die Avalon Interface Spesifikasies waarborg dat opdragte aan dieselfde agent
bereik die agent in beveluitreikingsvolgorde, en die agent reageer in beveluitreikingsvolgorde. · Verskillende agente kan opdragte in 'n ander volgorde ontvang en daarop reageer as wat die gasheer dit uitreik. Wanneer dit suksesvol is, reageer die agent in beveluitreikingsvolgorde. · Antwoorde (indien teenwoordig) keer in beveluitreikingsvolgorde terug, ongeag of die lees- of skryfopdragte vir dieselfde of verskillende agente is. · Die Avalon-koppelvlakspesifikasies waarborg nie transaksieorde tussen verskillende gashere nie.
3.5.6.2. Avalon-MM Lees en Skryf Antwoorde Tydsberekening Diagram
Die volgende diagram toon bevelaanvaarding en beveluitreikingsvolgorde vir Avalon-MM lees- en skryfantwoorde. Omdat die lees- en skryfkoppelvlakke die reaksiesein deel, kan 'n koppelvlak nie 'n skryfrespons en 'n leesrespons in dieselfde kloksiklus uitreik of aanvaar nie.
Lees antwoorde, stuur een antwoord vir elke leesdata. A lees bars lengte van resultate in antwoorde.

Avalon®-koppelvlakspesifikasies 34

Stuur terugvoer

3. Avalon-geheue-gekarteer-koppelvlakke 683091 | 2022.01.24

Skryf antwoorde, stuur een antwoord vir elke skryfopdrag. 'n Skryfsarsie lei tot slegs een reaksie. Die agent-koppelvlak stuur die antwoord nadat die finale skryfoordrag in die sarsie aanvaar is. Wanneer 'n koppelvlak die skryfantwoordgeldige sein insluit, moet alle skryfopdragte voltooi word met skryfantwoorde.

Figuur 16. Avalon-MM Lees en Skryf Antwoorde Tydsberekening Diagram

klk

adres

R0

W0

W1

R1

lees

skryf

leesdata geldig

skryfantwoordgeldig

reaksie

R0

W0

W1

R1

3.5.6.2.1. minimumResponseLatency Tydsberekening Diagram met readdatavalid of writeresponsevalid

Vir koppelvlakke met readdatavalid of writeresponsevalid, kan die verstek 'n eensiklus minimumResponseLatency lei tot probleme om tydsberekening op Avalon-MM-gashere te sluit.

Die volgende tydsberekeningdiagramme toon die gedrag vir 'n minimumResponsLatency van 1 of 2 siklusse. Let daarop dat die werklike reaksievertraging ook groter as die minimum toegelate waarde kan wees soos hierdie tydsberekeningdiagramme illustreer.

Figuur 17. minimumResponseLatency is gelyk aan een siklus

clk lees
leesdata geldige data

1 siklus minimum reaksie latency

Figuur 18. minimumResponseLatency is gelyk aan twee siklusse clk
lees 2 siklusse minimumResponseLatency
leesdata geldige data

Verenigbaarheid
Koppelvlakke met dieselfde minimumResponseLatency is interoperabel sonder enige aanpassing. As die gasheer 'n hoër minimumResponseLatency as die agent het, gebruik pyplynregisters om vir die verskille te vergoed. Die pyplynregisters moet

Stuur terugvoer

Avalon®-koppelvlakspesifikasies 35

3. Avalon-geheue-gekarteer-koppelvlakke 683091 | 2022.01.24

vertraag leesdata van die agent. As die agent 'n hoër minimumResponseLatency as die gasheer het, is die koppelvlakke interoperabel sonder aanpassing.

3.6. Adresbelyning
Die interkonneksie ondersteun slegs belynde toegange. 'n Gasheer kan slegs adresse uitreik wat 'n veelvoud van sy datawydte in simbole is. 'n Gasheer kan gedeeltelike woorde skryf deur sommige byteenables te deassertering. Byvoorbeeldample, die byteenables van 'n skryf van 2 grepe by adres 2 is 4'b1100.

3.7. Avalon-MM Agent adressering

Dinamiese busgrootte bestuur data tydens oordragte tussen gasheer-agent-pare van verskillende datawydtes. Agentdata word in aaneenlopende grepe in die gasheeradresruimte belyn.

As die gasheerdatawydte wyer is as die agentdatawydte, word woorde in die gasheeradresspasie na verskeie liggings in die agentadresspasie toegewys. Byvoorbeeldample, 'n 32-bis-gasheer wat vanaf 'n 16-bis-agent gelees word, lei tot twee leesoordragte aan die agentkant. Die leesstukke is na opeenvolgende adresse.

As die gasheer nouer as die agent is, bestuur die interkonneksie die agentgreepbane. Tydens gasheerleesoordragte bied die interkonneksie slegs die toepaslike grepe van agentdata aan die nouer gasheer. Tydens gasheer skryf oordragte, die interconnect
beweer outomaties die byteenable-seine om data slegs na die gespesifiseerde agent-byte-bane te skryf.

Agente moet 'n datawydte van 8, 16, 32, 64, 128, 256, 512 of 1024 bisse hê. Die volgende tabel toon die belyning vir agentdata van verskillende breedtes binne 'n 32-bis-gasheer wat volwoordtoegange uitvoer. In hierdie tabel verwys OFFSET[N] na 'n agentwoordgrootte-afset in die agentadresspasie.

Tabel 12. Dinamiese busgrootte Gasheer-tot-agent-adreskartering

Gasheergreepadres (1)

Toegang

0x00

1

2

3

4

0x04

1

2

3

4

0x08

1

2

32-bis gasheerdata

By toegang tot 'n 8-bis-agentkoppelvlak

Wanneer u toegang tot 'n 16-bis-agentkoppelvlak kry

OFFSET[0]7..0

OFFSET[0]15..0 (2)

OFFSET[1]7..0 OFFSET[2]7..0 OFFSET[3]7..0

OFFSET[1]15..0 — —

OFFSET[4]7..0

OFFSET[2]15..0

OFFSET[5]7..0 OFFSET[6]7..0 OFFSET[7]7..0

OFFSET[3]15..0 — —

OFFSET[8]7..0

OFFSET[4]15..0

OFFSET[9]7..0

OFFSET[5]15..0

By toegang tot 'n 64-bis Agent Interface OFFSET[0]31..0 — — —
OFFSET[0]63..32 — — —
OFFSET[1]31..0 —
voortgesit …

Avalon®-koppelvlakspesifikasies 36

Stuur terugvoer

3. Avalon-geheue-gekarteer-koppelvlakke 683091 | 2022.01.24

Gasheergreepadres (1)

Toegang

By toegang tot 'n 8-bis-agentkoppelvlak

32-bis gasheerdata
Wanneer u toegang tot 'n 16-bis-agentkoppelvlak kry

3

OFFSET[10]7..0

4

OFFSET[11]7..0

0x0C

1

OFFSET[12]7..0

OFFSET[6]15..0

2

OFFSET[13]7..0

OFFSET[7]15..0

3

OFFSET[14]7..0

4 En so aan

OFFSET[15]7..0 En so aan

- En so aan

Notas: 1. Alhoewel die gasheer greepadresse uitreik, kry die gasheer toegang tot volle 32-bis woorde. 2. Vir alle agentinskrywings, [ ] is die woord offset en die subskripsiewaardes is die bisse in die woord.

By toegang tot 'n 64-bis agent-koppelvlak — —
OFFSET[1]63..32 — — — En so aan

Stuur terugvoer

Avalon®-koppelvlakspesifikasies 37

683091 | 2022.01.24 Stuur terugvoer

4. Avalon Interrupt Interfaces
Avalon Interrupt-koppelvlakke laat agentkomponente toe om gebeurtenisse aan te dui om komponente aan te bied. Byvoorbeeldample, 'n DMA-beheerder kan 'n verwerker onderbreek nadat 'n DMA-oordrag voltooi is.

4.1. Onderbreek die afsender
'n Onderbrekingsender dryf 'n enkele onderbrekingsein na 'n onderbrekingsontvanger. Die tydsberekening van die irq-sein moet sinchroon wees met die stygende rand van sy gepaardgaande klok. irq het geen verband met enige oordrag op enige ander koppelvlak nie. irq moet bevestig word totdat dit op die geassosieerde Avalon-MM-agentkoppelvlak erken word.
Onderbrekings is komponentspesifiek. Die ontvanger bepaal tipies die toepaslike reaksie deur 'n onderbrekingstatusregister vanaf 'n Avalon-MM-agentkoppelvlak te lees.

4.1.1. Avalon Onderbreking Sender Sein Rolle

Tabel 13. Onderbreek Sender Sein Rolle

Sein Rol

Breedte

Rigting

Vereis

irq irq_n

1-32

Uitset

Ja

Beskrywing
Onderbrekingsversoek. 'n Onderbrekingsender dryf 'n onderbrekingsein na 'n onderbrekingsontvanger.

4.1.2. Onderbreek Sender-eienskappe

Tabel 14. Onderbreking Sender Eienskappe

Eiendom Naam

Verstekwaarde

Regswaardes

Beskrywing

geassosieerdeAdresabl

NVT

ePoint

geassosieerde Klok

NVT

Naam van Avalon-MM-agent op hierdie komponent.
Naam van 'n horlosie-koppelvlak hierop
komponent.

Die naam van die Avalon-MM-agentkoppelvlak wat toegang tot die registers bied om die onderbreking te bedien.
Die naam van die klokkoppelvlak waartoe hierdie onderbrekingsender sinchronies is. Die sender en ontvanger kan verskillende waardes vir hierdie eiendom hê.

geassosieerde Herstel

NVT

Naam van 'n terugstelling

Die naam van die terugstel-koppelvlak waarheen hierdie onderbreking

koppelvlak hieroor

sender is sinchronies.

komponent.

Intel Corporation. Alle regte voorbehou. Intel, die Intel-logo en ander Intel-merke is handelsmerke van Intel Corporation of sy filiale. Intel waarborg prestasie van sy FPGA- en halfgeleierprodukte volgens huidige spesifikasies in ooreenstemming met Intel se standaardwaarborg, maar behou die reg voor om enige tyd sonder kennisgewing veranderinge aan enige produkte en dienste aan te bring. Intel aanvaar geen verantwoordelikheid of aanspreeklikheid wat voortspruit uit die toepassing of gebruik van enige inligting, produk of diens wat hierin beskryf word nie, behalwe soos uitdruklik skriftelik deur Intel ooreengekom. Intel-kliënte word aangeraai om die nuutste weergawe van toestelspesifikasies te bekom voordat hulle op enige gepubliseerde inligting staatmaak en voordat bestellings vir produkte of dienste geplaas word. *Ander name en handelsmerke kan as die eiendom van ander geëis word.

ISO 9001:2015 Geregistreer

4. Avalon Interrupt Interfaces 683091 | 2022.01.24

4.2. Onderbreek ontvanger
'n Onderbreking ontvanger koppelvlak ontvang onderbrekings van onderbreking sender koppelvlakke. Komponente met Avalon-MM-gasheerkoppelvlakke kan 'n onderbrekingsontvanger insluit om onderbrekings op te spoor wat beweer word deur agentkomponente met onderbrekingssenderkoppelvlakke. Die onderbrekingsontvanger aanvaar onderbrekingsversoeke van elke onderbrekingsender as 'n aparte bis.

4.2.1. Avalon Onderbreking Ontvanger Sein Rolle

Tabel 15. Onderbreking Ontvanger Sein Rolle

Sein Rol

Breedte

Rigting

Vereis

irq

1

Invoer

Ja

Beskrywing
irq is 'n -bisvektor, waar elke bis direk ooreenstem met een IRQ-sender met geen inherente aanname van prioriteit nie.

4.2.2. Onderbreking ontvanger eienskappe

Tabel 16. Onderbreking Ontvanger Eienskappe

Eiendom Naam

Verstekwaarde

Regswaardes

Beskrywing

geassosieerde aanspreekbare punt

NVT

Naam van Die naam van die Avalon-MM-gasheerkoppelvlak wat voorheen gebruik is

Avalon-MM-diensonderbrekings ontvang op hierdie koppelvlak.

gasheer

koppelvlak

geassosieerde Klok

NVT

Naam van 'n Die naam van die Avalon Clock-koppelvlak waarna dit

Avalon

onderbreking ontvanger is sinchronies. Die sender en

Horlosie

ontvanger kan verskillende waardes vir hierdie eiendom hê.

koppelvlak

geassosieerde Herstel

NVT

Naam van 'n Die naam van die terugstel-koppelvlak waarna hierdie onderbreking

Avalon

ontvanger is sinchronies.

Stel terug

koppelvlak

4.2.3. Onderbreking Tydsberekening

Die Avalon-MM-gasheer bedien die prioriteit 0-onderbreking voor die prioriteit 1-onderbreking.

Figuur 19.

Onderbreking Tydsberekening

In die volgende figuur het onderbreking 0 hoër prioriteit. Die onderbreking ontvanger is besig om int1 te hanteer

wanneer int0 beweer word. Die int0-hanteerder word geroep en voltooi. Dan hervat die int1-hanteerder. Die

diagram toon int0 deasserts op tyd 1. int1 deasserts op tyd 2.

1

2

klk

Individuele int0-versoeke
int1

Stuur terugvoer

Avalon®-koppelvlakspesifikasies 39

683091 | 2022.01.24 Stuur terugvoer

5. Avalon Streaming Interfaces

Jy kan Avalon Streaming (Avalon-ST)-koppelvlakke gebruik vir komponente wat hoëbandwydte, lae-latency, eenrigtingdata aandryf. Tipiese toepassings sluit in multiplekse strome, pakkies en DSP-data. Die Avalon-ST-koppelvlakseine kan tradisionele stroomkoppelvlakke beskryf wat 'n enkele stroom data ondersteun sonder kennis van kanale of pakkiegrense. Die koppelvlak kan ook meer komplekse protokolle ondersteun wat in staat is om bars en pakkie-oordragte met pakkies wat oor verskeie kanale verweef is, te ondersteun.

Let wel:

As jy 'n hoë-prestasie datastroom-koppelvlak benodig, verwys na Hoofstuk 6 Avalon Streaming Credit Interfaces.

Figuur 20. Avalon-ST-koppelvlak – Tipiese toepassing van die Avalon-ST-koppelvlak

Printed Circuit Board Intel FPGA Avalon-ST Interfaces (Data Plane)

Skeduleerder

Avalon-ST-invoer

Rx IF Kern hfst

2

Bron 0-2 Sink 1

0

Avalon-MM-koppelvlak (beheervlak)

Bron

Tx IF Core Sink

Avalon-ST Uitset

Avalon-MM-gasheerkoppelvlak
Verwerker

Avalon-MM-gasheerkoppelvlak
IO beheer

Avalon-MM Agent-koppelvlak
SDRAM Cntl
SDRAM geheue

Alle Avalon-ST bron- en sinkkoppelvlakke is nie noodwendig interoperabel nie. As twee koppelvlakke egter versoenbare funksies vir dieselfde toepassingspasie bied, is adapters beskikbaar om hulle in staat te stel om saam te werk.

Intel Corporation. Alle regte voorbehou. Intel, die Intel-logo en ander Intel-merke is handelsmerke van Intel Corporation of sy filiale. Intel waarborg prestasie van sy FPGA- en halfgeleierprodukte volgens huidige spesifikasies in ooreenstemming met Intel se standaardwaarborg, maar behou die reg voor om enige tyd sonder kennisgewing veranderinge aan enige produkte en dienste aan te bring. Intel aanvaar geen verantwoordelikheid of aanspreeklikheid wat voortspruit uit die toepassing of gebruik van enige inligting, produk of diens wat hierin beskryf word nie, behalwe soos uitdruklik skriftelik deur Intel ooreengekom. Intel-kliënte word aangeraai om die nuutste weergawe van toestelspesifikasies te bekom voordat hulle op enige gepubliseerde inligting staatmaak en voordat bestellings vir produkte of dienste geplaas word. *Ander name en handelsmerke kan as die eiendom van ander geëis word.

ISO 9001:2015 Geregistreer

5. Avalon Streaming Interfaces 683091 | 2022.01.24
Avalon-ST-koppelvlakke ondersteun datapaaie wat die volgende kenmerke vereis:
· Lae-latency, hoë-deurset punt-tot-punt data-oordrag
· Veelvuldige kanale ondersteun met buigsame pakkie interleaving
· Syband-sein van kanaal, fout, en begin en einde van pakkie afbakening
· Ondersteuning vir data bars
· Outomatiese koppelvlak aanpassing
5.1. Terme en konsepte
Die Avalon-ST-koppelvlakprotokol definieer die volgende terme en konsepte:
· Avalon-stroomstelsel – 'n Avalon-stroomstelsel bevat een of meer Avalon-ST-verbindings wat data van 'n bronkoppelvlak na 'n sinkkoppelvlak oordra. Die stelsel wat hierbo gewys word, bestaan ​​uit Avalon-ST-koppelvlakke om data van die stelselinset na afvoer oor te dra. Avalon-MM-beheer- en statusregister-koppelvlakke maak voorsiening vir sagtewarebeheer.
· Avalon Streaming Components – 'n Tipiese stelsel wat Avalon-ST-koppelvlakke gebruik, kombineer verskeie funksionele modules, genoem komponente. Die stelselontwerper konfigureer die komponente en verbind hulle om 'n stelsel te implementeer.
· Bron- en sink-koppelvlakke en verbindings – Wanneer twee komponente verbind, vloei die data van die bron-koppelvlak na die sink-koppelvlak. Die Avalon-koppelvlakspesifikasies noem die kombinasie van 'n bronkoppelvlak wat aan 'n wasbak-koppelvlak verbind, 'n verbinding.
· Terugdruk-Terugdruk laat 'n wasbak toe om 'n bron aan te dui om op te hou om data te stuur. Ondersteuning vir terugdruk is opsioneel. Die wasbak gebruik terugdruk om die vloei van data om die volgende redes te stop:
— Wanneer die wasbak EIEU's vol is
- Wanneer daar opeenhoping op sy uitsetkoppelvlak is
· Oordragte en gereed siklusse – 'n Oordrag lei tot die voortplanting van data en beheer vanaf 'n bronkoppelvlak na 'n sinkkoppelvlak. Vir data-koppelvlakke is 'n gereed-siklus 'n siklus waartydens die sink 'n oordrag kan aanvaar.
· Simbool – 'n Simbool is die kleinste eenheid van data. Vir die meeste pakkie-koppelvlakke is 'n simbool 'n greep. Een of meer simbole vorm die enkele eenheid van data wat in 'n siklus oorgedra word.
· Kanaal – 'n Kanaal is 'n fisiese of logiese pad of skakel waardeur inligting tussen twee poorte beweeg.
· Beat – 'n Maatslag is 'n enkelsiklusoordrag tussen 'n bron- en sinkkoppelvlak wat uit een of meer simbole bestaan.
· Pakkie – 'n Pakkie is 'n samevoeging van data en beheerseine wat 'n bron gelyktydig versend. 'n Pakkie kan 'n opskrif bevat om routers en ander netwerktoestelle te help om die pakkie na die regte bestemming te stuur. Die toepassing definieer die pakkieformaat, nie hierdie spesifikasie nie. Avalon-ST-pakkies kan veranderlik in lengte wees en kan oor 'n verbinding verweef word. Met 'n Avalon-ST-koppelvlakke is die gebruik van pakkies opsioneel.

Stuur terugvoer

Avalon®-koppelvlakspesifikasies 41

5. Avalon Streaming Interfaces 683091 | 2022.01.24

5.2. Avalon Streaming Interface Sein Rolle

Elke sein in 'n Avalon-stroombron of sink-koppelvlak stem ooreen met een Avalon-stroomseinrol. 'n Avalon-stroomkoppelvlak kan slegs een geval van elke seinrol bevat. Alle Avalon-stroomseinrolle is van toepassing op beide bronne en wasbakke en het dieselfde betekenis vir albei.

Tabel 17.

Avalon Streaming Interface Seine
In die volgende tabel is alle seinrolle aktief hoog.

Sein Rol

Breedte

Rigting

Vereis

Beskrywing

kanaaldatafout gereed
geldig

1 128 1 8,192 1 256
1
1

Fundamentele seine

Bron Sink

Nee

Die kanaalnommer vir data wat oorgedra word

op die huidige siklus.

As 'n koppelvlak die kanaalsein ondersteun, sal die

koppelvlak moet ook die maxChannel parameter definieer.

Bron Sink

Nee

Die data sein van die bron na die wasbak,

dra gewoonlik die grootste deel van die inligtingswese

oorgedra.

Parameters definieer die inhoud verder en

formaat van die datasein.

Bron Sink

Nee

'n Bietjie masker om foute wat die data beïnvloed, te merk

word in die huidige siklus oorgedra. 'n Enkele bietjie

van die foutsein maskers elk van die foute die

komponent herken. Die errorDescriptor

definieer die foutsein eienskappe.

Sink Bron

Nee

Bevestig hoog om aan te dui dat die wasbak kan aanvaar

data. gereed word beweer deur die wasbak op siklus

siklus te merk as gereed

siklus. Die bron mag slegs beweer geldige en

dra data tydens gereed siklusse oor.

Bronne sonder 'n gereed insette ondersteun nie terugdruk nie. Opwasbakke sonder 'n gereed uitset hoef nooit teendruk te maak nie.

Bron Sink

Nee

Die bron beweer hierdie sein om alle ander te kwalifiseer

bron om seine te sink. Die wasbak samples data en

ander bron-tot-sink seine op gereed siklusse

waar geldig beweer word. Alle ander siklusse is

geïgnoreer.

Bronne sonder 'n geldige uitset verskaf implisiet geldige data oor elke siklus dat 'n sink nie terugdruk beweer nie. Sinks sonder 'n geldige inset verwag geldige data op elke siklus wat hulle nie terugdruk nie.

leeg
endofpacket beginpakkie

1 10
1 1

Pakketoordragseine

Bron Sink

Nee

Dui die aantal simbole aan wat leeg is,

dit wil sê, verteenwoordig nie geldige data nie. Die leë

sein is nie nodig op koppelvlakke waar daar

is een simbool per maatslag.

Bron Sink

Nee

Bevestig deur die bron om die einde van a te merk

pakket.

Bron Sink

Nee

Bevestig deur die bron om die begin van te merk

'n pakkie.

Avalon®-koppelvlakspesifikasies 42

Stuur terugvoer

5. Avalon Streaming Interfaces 683091 | 2022.01.24

5.3. Seinvolgorde en tydsberekening

5.3.1. Sinchroniese koppelvlak
Alle oordragte van 'n Avalon-ST-verbinding vind sinchronies plaas met die stygende rand van die gepaardgaande kloksein. Alle uitsette vanaf 'n bronkoppelvlak na 'n sinkkoppelvlak, insluitend die data, kanaal en foutseine, moet op die stygende rand van die klok geregistreer word. Insette na 'n wasbak-koppelvlak hoef nie geregistreer te word nie. Die registrasie van seine by die bron vergemaklik hoëfrekwensiewerking.
5.3.2. Klok aktiveer
Avalon-ST-komponente sluit gewoonlik nie 'n klokaktivering-invoer in nie. Die Avalon-ST-sein self is voldoende om die siklusse te bepaal wat 'n komponent moet en nie geaktiveer moet word nie. Aan Avalon-ST voldoen komponente kan 'n klok aktiveer invoer vir hul interne logika hê. Komponente wat klokaktiverings gebruik, moet egter verseker dat die tydsberekening van die koppelvlak aan die protokol voldoen.

5.4. Avalon-ST-koppelvlak-eienskappe

Tabel 18. Avalon-ST-koppelvlak-eienskappe

Eiendomsnaam geassosieerKlok

Verstekwaarde
1

Regswaardes
Klok koppelvlak

Beskrywing
Die naam van die Avalon Clock-koppelvlak waarmee hierdie Avalon-ST-koppelvlak sinchronies is.

geassosieer Herstel beatsPerCycle

1

Stel terug

Die naam van die Avalon Reset-koppelvlak waarna dit

koppelvlak Avalon-ST koppelvlak is sinchronies.

1

1,2,4,8 Spesifiseer die aantal slae wat in 'n enkelspel oorgedra is

siklus. Hierdie eiendom laat jou toe om 2 aparte,

maar gekorreleerde strome wat dieselfde gebruik

begin_van_pakkie, einde_van_pakkie, gereed en

geldige seine.

beatsPerCycle is 'n selde gebruikte kenmerk van die AvalonST-protokol.

dataBitsPerSymbol

8

1 512 Definieer die aantal bisse per simbool. Byvoorbeeldample,

greep-georiënteerde koppelvlakke het 8-bis simbole. Hierdie waarde

is nie beperk tot 'n krag van 2 nie.

leegBinnenPacket

vals

waar, onwaar Wanneer waar, is leeg geldig vir die hele pakkie.

foutbeskrywing

0

Lys van

'n Lys woorde wat die fout beskryf wat verband hou met

snare

elke stukkie van die foutsein. Die lengte van die lys moet

dieselfde wees as die aantal bisse in die foutsein.

Die eerste woord in die lys is van toepassing op die hoogste orde

bietjie. Byvoorbeeldample, "crc, oorloop" beteken daardie bietjie[1]

van fout dui op 'n CRC-fout. Bit[0] dui 'n aan

oorloop fout.

firstSymbolInHigh OrderBits

waar

waar, onwaar

Wanneer dit waar is, word die eerste-orde-simbool na die belangrikste stukkies van die data-koppelvlak gedryf. Die hoogste-orde simbool is gemerk D0 in hierdie spesifikasie. Wanneer hierdie eienskap op vals gestel is, verskyn die eerste simbool op die lae stukkies. D0 verskyn by data[7:0]. Vir 'n 32-bis bus, indien waar, verskyn D0 ​​op ​​bisse[31:24].
voortgesit …

Stuur terugvoer

Avalon®-koppelvlakspesifikasies 43

5. Avalon Streaming Interfaces 683091 | 2022.01.24

Eienskap Naam maxChannel readyLatency
gereed Toelae(1)

Verstekwaarde
0 0
0

Regswaardes 0 255
0 8
0 8

Beskrywing
Maksimum aantal kanale wat 'n data-koppelvlak kan ondersteun.
Definieer die verband tussen die bewering van 'n gereed sein en die bewering van 'n geldige sein. As gereedLatency = waar n > 0, geldig kan slegs beweer word siklusse na bewering van gereed. Byvoorbeeldample, as readyLatency = 1, wanneer die sink gereed beweer, moet die bron reageer met 'n geldige bewering ten minste 1 siklus nadat dit die gereede bewering van die sink gesien het.
Definieer die aantal oordragte wat die opwasbak kan vasvang nadat gereed gemaak is. Wanneer gereedToelae = 0, kan die wasbak nie enige oordragte aanvaar nadat gereed is nie. As gereedToelae = waar groter as 0 is, kan die wasbak aanvaar tot oordragte nadat gereed is gedeasserteerd.

Let wel:

As jy 'n Avalon-stroominterkonneksie genereer met Avalon-stroombron/sink BFM's of pasgemaakte komponente en hierdie BFM's of pasgemaakte komponente het verskillende readyLatency-vereistes, sal Platform Designer adapters in die gegenereerde interkonneksie plaas om die readyLatency-verskil tussen die bron- en sinkkoppelvlakke te akkommodeer. Daar word verwag dat jou bron- en sinklogika aan die eienskappe van die gegenereerde interkonneksie voldoen.

5.5. Tipiese data-oordragte
Hierdie afdeling definieer die oordrag van data vanaf 'n bronkoppelvlak na 'n sinkkoppelvlak. In alle gevalle moet die databron en die datasink aan die spesifikasie voldoen. Die data sink is nie verantwoordelik vir die opsporing van bronprotokolfoute nie.

5.6. Sein Besonderhede
Die figuur toon die seine wat Avalon-ST-koppelvlakke tipies insluit. 'n Tipiese Avalon-ST-bronkoppelvlak dryf die geldige data-, fout- en kanaalseine na die wasbak. Die wasbak kan terugdruk toepas met die gereed sein.

(1) · As readyLatency = 0, readyToelae kan 0 of groter as 0 wees.
· As readyLatency > 0, readyToelae moet gelyk aan of groter as readyLatency wees.
· As die bron of die sink nie 'n waarde vir readyAllowance spesifiseer nie, dan is readyAllowance = readyLatency. Ontwerpe vereis nie die byvoeging van readyAllowance nie, tensy jy wil hê dat die bron of die wasbak voordeel trektage van hierdie kenmerk.

Avalon®-koppelvlakspesifikasies 44

Stuur terugvoer

5. Avalon Streaming Interfaces 683091 | 2022.01.24

Figuur 21. Tipiese Avalon-ST Interface Seine Databron
geldige datafoutkanaal

Data Sink gereed

Meer besonderhede oor hierdie seine:
· gereed – Op koppelvlakke wat terugdruk ondersteun, is die wasbak gereed om die siklusse te merk waar oordragte kan plaasvind. As gereed word op siklus beweer , siklus word beskou as 'n gereed siklus.
· geldig – Die geldige sein kwalifiseer geldige data op enige siklus met data wat van bron na sink oordra. Op elke geldige siklus die wasbak samples die data sein en ander bron om seine te sink.
· data – Die datasein dra die grootste deel van die inligting wat van die bron na die wasbak oorgedra word. Die datasein bestaan ​​uit een of meer simbole wat op elke kloksiklus oorgedra word. Die dataBitsPerSymbol-parameter definieer hoe die datasein in simbole verdeel word.
· fout – In die foutsein stem elke bis ooreen met 'n moontlike fouttoestand. 'n Waarde van 0 op enige siklus dui foutvrye data op daardie siklus aan. Hierdie spesifikasie definieer nie die aksie wat 'n komponent neem wanneer 'n fout opgespoor word nie.
· kanaal – Die bron dryf die opsionele kanaalsein aan om aan te dui aan watter kanaal die data behoort. Die betekenis van kanaal vir 'n gegewe koppelvlak hang af van die toepassing. In sommige toepassings dui kanaal die koppelvlaknommer aan. In ander toepassings dui kanaal die bladsynommer of tydgleuf aan. Wanneer die kanaalsein gebruik word, behoort al die data wat in elke aktiewe siklus oorgedra word aan dieselfde kanaal. Die bron kan verander na 'n ander kanaal op opeenvolgende aktiewe siklusse.
Interfaces wat die kanaalsein gebruik, moet die maxChannel-parameter definieer om die maksimum kanaalnommer aan te dui. As die aantal kanale wat 'n koppelvlak ondersteun dinamies verander, dui maxChannel die maksimum aantal aan wat die koppelvlak kan ondersteun.

5.7. Data-uitleg

Figuur 22.

Data Simbole

Die volgende figuur toon 'n 64-bis datasein met dataBitsPerSymbol=16. Simbool 0 is die meeste

betekenisvolle simbool.

63

48 47 32 31 16 15

0

simbool 0 simbool 1 simbool 2 simbool 3

Die Avalon Streaming-koppelvlak ondersteun beide die groot-endian- en klein-endian-modusse. Die figuur hieronder is 'n example van die groot-endian-modus, waar Simbool 0 in die hoë-orde stukkies is.

Stuur terugvoer

Avalon®-koppelvlakspesifikasies 45

5. Avalon Streaming Interfaces 683091 | 2022.01.24

Figuur 23.

Uitleg van data
Die tydsberekeningdiagram in die volgende figuur toon 'n 32-bis eksample waar dataBitsPerSymbol=8, en beatsPerCycle=1.
klk
gereed
geldig

kanaal fout
data[31:24] data[23:16] data[15:8] data[7:0]

D0

D4

D1

D5

D2

D6

D3

D7

D8

DC

D10

D9

DD

D11

DA DE

D12

DB DF

D13

5.8. Data-oordrag sonder terugdruk

Die data-oordrag sonder terugdruk is die mees basiese van Avalon-ST data-oordragte. Op enige gegewe kloksiklus dryf die bronkoppelvlak die data en die opsionele kanaal en foutseine aan, en bevestig dit geldig. Die wasbak koppelvlak samples hierdie seine op die stygende flank van die verwysingsklok as geldig word beweer.

Figuur 24.

Data-oordrag sonder terugdruk

clk geldig

kanaalfoutdata

D0 D1

D2 D3

5.9. Data-oordrag met terugdruk
Die wasbak is gereed vir 'n enkele kloksiklus om aan te dui dat dit gereed is vir 'n aktiewe siklus. As die wasbak gereed is vir data, is die siklus 'n gereed siklus. Tydens 'n gereed siklus kan die bron geldig beweer en data aan die wasbak verskaf. As die bron geen data het om te stuur nie, word die bron geldig en kan dit data na enige waarde aandryf.
Interfaces wat terugdruk ondersteun, definieer die readyLatency-parameter om die aantal siklusse aan te dui vanaf die tyd dat gereedheid bevestig word totdat geldige data aangedryf kan word. As die readyLatency nie nul is nie, siklus is 'n gereed siklus indien gereed op siklus beweer word .
Wanneer readyLatency = 0, vind data-oordrag slegs plaas wanneer gereed en geldig op dieselfde siklus beweer word. In hierdie modus ontvang die bron nie die wasbak se gereed sein voordat geldige data gestuur word nie. Die bron verskaf die data en beweer geldig wanneer die bron geldige data het. Die bron wag vir die wasbak om die data vas te vang en gereed te beweer. Die bron kan die data enige tyd verander. Die sink vang slegs insetdata van die bron af wanneer beide gereed en geldig beweer word.

Avalon®-koppelvlakspesifikasies 46

Stuur terugvoer

5. Avalon Streaming Interfaces 683091 | 2022.01.24
Wanneer gereedLatency >= 1, bevestig die wasbak gereed voor die gereed-siklus self. Die bron kan tydens die toepaslike daaropvolgende siklus reageer deur geldig te beweer. Die bron mag dalk nie geldig verklaar tydens siklusse wat nie gereed siklusse is nie.
readyAllowance definieer die aantal oordragte wat die wasbak kan opvang wanneer gereed is onteenseglik. Wanneer gereedToelae = 0, kan die wasbak nie enige oordragte aanvaar nadat gereed is nie. As gereed Toelae = waar n > 0, kan die wasbak aanvaar tot oordragte nadat gereed is gedeasserteerd.
5.9.1. Data-oordragte Gebruik readyLatency en readyAllowance

Die volgende reëls geld wanneer data met readyLatency en readyAllowance oorgedra word.
· As readyLatency 0 is, kan readyToelae groter as of gelyk aan 0 wees.
· As readyLatency groter as 0 is, kan readyToelae groter as of gelyk aan readyLatency wees.

Wanneer readyLatency = 0 en readyAllowance = 0, vind data-oordragte slegs plaas wanneer beide gereed en geldig beweer word. In hierdie geval ontvang die bron nie die wasbak se gereed sein voordat geldige data gestuur word nie. Die bron verskaf die data en stellings waar moontlik geldig. Die bron wag vir die wasbak om die data vas te vang en gereed te beweer. Die bron kan die data enige tyd verander. Die sink vang slegs insetdata van die bron af wanneer beide gereed en geldig beweer word.

Figuur 25. readyLatency = 0, readyToelae = 0

Wanneer readyLatency = 0 en readyAllowance = 0, kan die bron enige tyd geldig beweer. Die sink vang die data slegs van die bron af wanneer dit gereed is = 1.

Die volgende figuur demonstreer hierdie gebeure: 1. In siklus 1 verskaf die bron data en beweer geldig. 2. In siklus 2 is die wasbak gereed en D0 word oorgedra. 3. In siklus 3 word D1 oorgedra. 4. In siklus 4, beweer die sink gereed, maar die bron dryf nie geldige data aan nie. 5. Die bron verskaf data en bewerings wat geldig is op siklus 6. 6. In siklus 8 is die sink gereed, dus D2 word oorgedra. 7. D3-oordragte by siklus 9 en D4-oordragte by siklus 10.

0 1 2 3 4 5 6 7 8 9 10 11 12 13 clk0

gereed

geldig

data

D0 D1

D2

D3 D4

D5

Stuur terugvoer

Avalon®-koppelvlakspesifikasies 47

5. Avalon Streaming Interfaces 683091 | 2022.01.24

Figuur 26. readyLatency = 0, readyToelae = 1

Wanneer readyLatency = 0 en readyToelae = 1, kan die sink nog een data-oordrag vang na gereed = 0.

Die volgende figuur demonstreer hierdie gebeure: 1. In siklus 1 verskaf die bron data en stellings geldig terwyl die sink gereed is. D0 oordragte. 2. D1 word in siklus 2 oorgedra. 3. In siklus 3 word gereed deasserts, maar aangesien readyAllowance = 1 nog een oordrag toegelaat word, dus D2
oordragte. 4. In siklus 5 bevestig beide geldig en gereed, dus D3 dra oor. 5. In siklus 6 word die bron as geldig verklaar, dus geen data-oordragte nie. 6. In siklus 7, geldige bewerings en gereed deasserts, egter aangesien readyAllowance = 1 nog een oordrag
word toegelaat, dus D4-oordragte.

0 1 2 3 4 5 6 7 8 9 10 11 12 13 clk0

gereed

geldig

data

D0 D1 D2

D3

D4

D5 D6

D7

Figuur 27. readyLatency = 1, readyToelae = 2

Wanneer readyLatency = 1 en readyAllowance = 2, kan die sink data een siklus oordra na gereed bewerings, en nog twee siklusse van oordragte word toegelaat na gereed deasserts.

Die volgende figuur demonstreer hierdie gebeure: 1. In siklus 0 is die wasbak gereed. 2. In siklus 1 verskaf die bron data en stellings geldig. Die oordrag vind onmiddellik plaas. 3. In siklus 3 is die sink gereed, maar die bron beweer steeds geldig is en dryf geldige data aan
want die wasbak kan data twee siklusse na gereed deasserts vaslê. 4. In siklus 6 is die wasbak gereed. 5. In siklus 7 verskaf die bron data en stellings geldig. Hierdie data word aanvaar. 6. In siklus 10 is die sink gereed, maar die bron beweer geldig en dryf geldige data aan omdat
die wasbak kan data twee siklusse vaslê na gereed deasserts.

0 1 2 3 4 5 6 7 8 9 10 11 12 13 clk0

gereed

geldig

data

D0 D1 D2 D3

D4 D5

D6 D7

Aanpassingsvereistes Die volgende tabel beskryf of bron- en sinkkoppelvlakke aanpassing vereis.

Avalon®-koppelvlakspesifikasies 48

Stuur terugvoer

5. Avalon Streaming Interfaces 683091 | 2022.01.24

Tabel 19. Bron/Sink-aanpassingsvereistes

gereedLatency

gereed Toelae

Aanpassing

Bron readyLatency = Sink Bron readyAllowance =

gereedLatency

Wasbak gereed Toelae

Geen aanpassing nodig nie: Die wasbak kan alle oordragte vasvang.

Bron readyAllowance > Sink readyToelae

Aanpassing vereis: Nadat gereed is, kan die bron meer oordragte stuur as wat die wasbak kan opvang.

Bron readyAllowance < Sink readyToelae

Geen aanpassing nodig nie: Nadat gereed is, kan die wasbak meer oordragte vang as wat die bron kan stuur.

Bron readyLatency > Sink Bron readyAllowance =

gereedLatency

Wasbak gereed Toelae

Geen aanpassing nodig nie: Nadat gereed is, begin die bron later stuur as wat die wasbak kan opvang. Nadat gereed gemaak is, kan die bron soveel oordragte stuur as wat die wasbak kan vang.

Bron readyAllowance> Sink readyAllowance

Aanpassing vereis: Nadat gereed is, kan die bron meer oordragte stuur as wat die wasbak kan opvang.

Bron readyAllowance< Sink readyToelae

Geen aanpassing nodig nie: Nadat gereed is, stuur die bron minder oordragte as wat die wasbak kan opvang.

Bron readyLatency < SinkreadyLatency

Bron readyAllowance = Sink readyAllowance

Aanpassing vereis: Die bron kan oordragte begin stuur voordat sink kan vasvang.

Bron readyAllowance> Sink readyAllowance

Aanpassing vereis: Die bron kan oordragte begin stuur voordat die sink kan vasvang. Ook, nadat gereed is onteenseglik, kan die bron meer oordragte stuur as wat die wasbak kan vang.

Bron readyAllowance < Sink readyToelae

Aanpassing vereis: Die bron kan oordragte begin stuur voordat die sink kan vasvang.

5.9.2. Data-oordragte met behulp van readyLatency
As die bron of die sink nie 'n waarde vir readyAllowance spesifiseer nie dan readyAllowance= readyLatency. Ontwerpe wat bron en wasbak gebruik, vereis nie die byvoeging van readyAllowance nie, tensy jy wil hê dat die bron of die wasbak voordeel moet trektage van hierdie kenmerk.

Stuur terugvoer

Avalon®-koppelvlakspesifikasies 49

5. Avalon Streaming Interfaces 683091 | 2022.01.24

Figuur 28.

Oordrag met Backpressure, readyLatency=0
Die volgende figuur illustreer hierdie gebeure:

1. Die bron verskaf data en bewerings geldig op siklus 1, al is die wasbak nie gereed nie.

2. Die bron wag tot siklus 2, wanneer die sink wel gereed is, voordat na die volgende datasiklus beweeg word.

3. In siklus 3 dryf die bron data op dieselfde siklus aan en die sink is gereed om data te ontvang. Die oordrag vind onmiddellik plaas.
4. In siklus 4, beweer die sink gereed, maar die bron dryf nie geldige data aan nie.

012345678 klk

gereed

geldig

kanaal

fout

data

D0 D1

D2 D3

Figuur 29.

Oordrag met Backpressure, readyLatency=1

Die volgende figure toon data-oordragte met onderskeidelik readyLatency=1 en readyLatency=2. In beide hierdie gevalle word gereed voor die gereed-siklus beweer, en die bron reageer 1 of 2 siklusse later deur data te verskaf en geldig te beweer. Wanneer readyLatency nie 0 is nie, moet die bron geldig verklaar op nie-gereed siklusse.
klk

gereed

geldig

kanaal

fout

data

D0 D1

D2 D3 D4

D5

Figuur 30.

Oordrag met Backpressure, readyLatency=2

klk

gereed

geldig

kanaal

fout

data

D0 D1

D2 D3

5.10. Pakkie Data Oordragte
Die pakkie-oordrag-eienskap voeg ondersteuning by vir die oordrag van pakkies vanaf 'n bron-koppelvlak na 'n sink-koppelvlak. Drie bykomende seine word gedefinieer om die pakkieoordrag te implementeer. Beide die bron- en sink-koppelvlakke moet hierdie bykomende seine insluit om pakkies te ondersteun. Jy kan slegs bron- en sink-koppelvlakke verbind met

Avalon®-koppelvlakspesifikasies 50

Stuur terugvoer

5. Avalon Streaming Interfaces 683091 | 2022.01.24

bypassende pakkie eienskappe. Platformontwerper voeg nie outomaties die startofpacket , endofpacket en leë seine by bron- of sinkkoppelvlakke wat nie hierdie seine insluit nie.

Figuur 31. Avalon-ST Pakkie Interface Seine Data Bron

Data Sink

gereed
geldig
data fout kanaal begin van pakkie
einde van pakkie leeg

5.11. Sein Besonderhede
· begin van pakkie - Alle koppelvlakke wat pakkie oordrag ondersteun vereis die begin van pakkie sein. startofpacket merk die aktiewe siklus wat die begin van die pakkie bevat. Hierdie sein word slegs geïnterpreteer wanneer geldig beweer word.
· endofpacket – Alle koppelvlakke wat pakkieoordragte ondersteun, vereis die endofpacket sein. endofpacket merk die aktiewe siklus wat die einde van die pakkie bevat. Hierdie sein word slegs geïnterpreteer wanneer geldig beweer word. startofpacket en endofpacket kan in dieselfde siklus beweer word. Geen ledige siklusse word tussen pakkies vereis nie. Die begin van pakkie sein kan onmiddellik na die vorige einde van pakkie sein volg.
· leeg – Die opsionele leë sein dui die aantal simbole aan wat leeg is tydens die einde van die pakkie-siklus. Die wasbak kontroleer slegs die waarde van die leë tydens aktiewe siklusse wat endofpacket bevestig het. Die leë simbole is altyd die laaste simbole in data, dié wat deur die lae-orde bisse gedra word wanneer firstSymbolInHighOrderBits = true. Die leë sein word vereis op alle pakkie-koppelvlakke waarvan die datasein meer as een simbool van data dra en 'n pakkieformaat met veranderlike lengte het. Die grootte van die leë sein in bisse is ceil[log2( )].

Stuur terugvoer

Avalon®-koppelvlakspesifikasies 51

5. Avalon Streaming Interfaces 683091 | 2022.01.24

5.12. Protokol Besonderhede

Pakkiedata-oordrag volg dieselfde protokol as die tipiese data-oordrag met die byvoeging van die begin van pakkie, einde van pakkie en leeg.

Figuur 32.

Pakkie oordrag
Die volgende figuur illustreer die oordrag van 'n 17-grepe pakkie vanaf 'n bronkoppelvlak na 'n sink-koppelvlak, waar readyLatency=0. Hierdie tydsberekeningdiagram illustreer die volgende gebeure:

1. Data-oordrag vind plaas op siklusse 1, 2, 4, 5 en 6, wanneer beide gereed en geldig beweer word.

2. Tydens siklus 1 word begin van die pakket beweer. Die eerste 4 grepe van die pakkie word oorgedra.

3. Tydens siklus 6 word endofpacket beweer. leeg het 'n waarde van 3. Hierdie waarde dui aan dat dit die einde van die pakkie is en dat 3 van die 4 simbole leeg is. In siklus 6, die hoë-orde greep, data[31:24] dryf geldige data aan.

1234567 klk

gereed

geldig

begin van pakkie

einde van pakkie

leeg

3

kanaal

00

000

fout

00

000

data[31:24]

D0 D4

D8 D12 D16

data[23:16]

D1 D5

D9 D13

data[15:8]

D2 D6

D10 D14

data[7:0]

D3 D7

D11 D15

Avalon®-koppelvlakspesifikasies 52

Stuur terugvoer

683091 | 2022.01.24 Stuur terugvoer

6. Avalon Streaming Credit Interfaces
Avalon Streaming Credit-koppelvlakke is vir gebruik met komponente wat hoëbandwydte, lae-latency, eenrigtingdata aandryf. Tipiese toepassings sluit in multiplekse strome, pakkies en DSP-data. Die Avalon Streaming Credit-koppelvlakseine kan tradisionele streaming-koppelvlakke beskryf wat 'n enkele stroom data ondersteun, sonder kennis van kanale of pakkiegrense. Die koppelvlak kan ook meer komplekse protokolle ondersteun wat in staat is om bars en pakkie-oordragte met pakkies wat oor verskeie kanale verweef is, te ondersteun.
Alle Avalon Streaming Credit-bron- en sinkkoppelvlakke is nie noodwendig interoperabel nie. As twee koppelvlakke egter versoenbare funksies vir dieselfde toepassingspasie bied, is adapters beskikbaar om hulle in staat te stel om saam te werk.
Jy kan ook die Avalon Streaming Credit-bron aan 'n Avalon Streaming-wasbak koppel via 'n adapter. Net so kan jy 'n Avalon Streaming-bron koppel aan 'n Avalon Streaming Credit-wasbak via 'n adapter.
Avalon Streaming Credit-koppelvlakke ondersteun datapaaie wat die volgende kenmerke vereis:
· Lae-latency, hoë-deurset punt-tot-punt data-oordrag
· Veelvuldige kanale ondersteun met buigsame pakkie interleaving
· Syband-sein van kanaal, fout, en begin en einde van pakkie afbakening
· Ondersteuning vir data bars
· Gebruikerseine as sybandseine vir funksionaliteit wat gebruikers definieer

6.1. Terme en konsepte
Die Avalon Streaming Credit-koppelvlakprotokol definieer die volgende terme en konsepte:
· Avalon Streaming Credit System – 'n Avalon Streaming Credit-stelsel bevat een of meer Avalon Streaming Credit-verbindings wat data van 'n bron-koppelvlak na 'n sink-koppelvlak oordra.
· Avalon Streaming Credit Components – 'n Tipiese stelsel wat Avalon Streaming-koppelvlakke gebruik, kombineer verskeie funksionele modules, genoem komponente. Die stelselontwerper konfigureer die komponente en verbind hulle om 'n stelsel te implementeer.
· Bron- en sink-koppelvlakke en verbindings – Wanneer twee komponente verbind word, vloei krediete van die sink na die bron; en die data vloei van die bron-koppelvlak na die sink-koppelvlak. Die kombinasie van 'n bronkoppelvlak wat aan 'n sinkkoppelvlak gekoppel is, word 'n verbinding genoem.
· Oordragte – 'n Oordrag lei tot die voortplanting van data en beheer vanaf 'n bronkoppelvlak na 'n sinkkoppelvlak. Vir data-koppelvlakke kan die bron slegs data-oordrag begin as dit krediete beskikbaar het. Net so kan sink slegs data aanvaar as dit uitstaande krediete het.

Intel Corporation. Alle regte voorbehou. Intel, die Intel-logo en ander Intel-merke is handelsmerke van Intel Corporation of sy filiale. Intel waarborg prestasie van sy FPGA- en halfgeleierprodukte volgens huidige spesifikasies in ooreenstemming met Intel se standaardwaarborg, maar behou die reg voor om enige tyd sonder kennisgewing veranderinge aan enige produkte en dienste aan te bring. Intel aanvaar geen verantwoordelikheid of aanspreeklikheid wat voortspruit uit die toepassing of gebruik van enige inligting, produk of diens wat hierin beskryf word nie, behalwe soos uitdruklik skriftelik deur Intel ooreengekom. Intel-kliënte word aangeraai om die nuutste weergawe van toestelspesifikasies te bekom voordat hulle op enige gepubliseerde inligting staatmaak en voordat bestellings vir produkte of dienste geplaas word. *Ander name en handelsmerke kan as die eiendom van ander geëis word.

ISO 9001:2015 Geregistreer

6. Avalon Streaming Credit Interfaces 683091 | 2022.01.24

· Simbool – 'n Simbool is die kleinste eenheid van data. Een of meer simbole vorm die enkele eenheid van data wat in 'n siklus oorgedra word.
· Beat – 'n Maatslag is 'n enkelsiklusoordrag tussen 'n bron- en sinkkoppelvlak wat uit een of meer simbole bestaan.
· Pakkie – 'n Pakkie is 'n samevoeging van data en beheerseine wat saam versend word. 'n Pakkie kan 'n opskrif bevat om routers en ander netwerktoestelle te help om die pakkie na die regte bestemming te stuur. Die pakkieformaat word deur die toepassing gedefinieer, nie hierdie spesifikasie nie. Avalon Streaming pakkies kan veranderlik in lengte wees en kan oor 'n verbinding vervleg word. Met 'n Avalon Streaming Credit-koppelvlak is die gebruik van pakkies opsioneel.

6.2. Avalon-stroomkredietkoppelvlakseinrolle

Elke sein in 'n Avalon Streaming Credit-bron of sink-koppelvlak stem ooreen met een Avalon Streaming Credit-seinrol. 'n Avalon Streaming Credit-koppelvlak mag slegs een geval van elke seinrol bevat. Alle Avalon Streaming Credit-seinrolle is van toepassing op beide bronne en wasbakke en het dieselfde betekenis vir beide.

Tabel 20. Avalon-stroomkredietkoppelvlakseine

Sein Naam

Rigting

opdateer

Sink na

1

bron

Breedte

krediet

Sink na

1-9

bron

Opsioneel / Vereis

Beskrywing

Vereis

Sink stuur opdatering en bron werk die beskikbare kredietteller op. Sink stuur opdatering na bron wanneer 'n transaksie uit sy buffer gehaal word.
Kredietteller in bron word verhoog met die waarde op die kredietbus van wasbak tot bron.

Vereis

Dui bykomende krediet beskikbaar by opwas wanneer opdatering beweer word.
Hierdie bus dra 'n waarde soos gespesifiseer deur die wasbak. Breedte van die kredietbus is ceilog2 (MAX_CREDIT + 1). Sink stuur beskikbare kredietwaarde op hierdie bus wat die aantal transaksies aandui wat dit kan aanvaar. Bron vang kredietwaarde
slegs as opdateringsein beweer word.

return_credit Bron na 1 sink

data geldig
fout

Bron om te sink
Bron om te sink

1-8192 1

Bron om te sink

1-256

Vereiste Vereiste Vereiste Opsioneel

Bevestig deur bron om 1 krediet terug te keer na sink.
Let wel: Vir meer besonderhede, verwys na Afdeling 6.2.3 Terugbetaling van die krediete.
Data word in simbole verdeel volgens bestaande Avalon Streaming-definisie.
Bevestig deur die bron om alle ander bron te kwalifiseer om seine te sink. Bron kan slegs geldig verklaar wanneer die krediet wat daarvoor beskikbaar is, groter as 0 is.
'n Bietjiemasker wat gebruik word om foute te merk wat die data beïnvloed wat in die huidige siklus oorgedra word. 'n Enkele bietjie fout word gebruik vir elk van die foute wat deur die komponent herken word, soos gedefinieer deur die errorDescriptor-eienskap.
voortgesit …

Avalon®-koppelvlakspesifikasies 54

Stuur terugvoer

6. Avalon Streaming Credit Interfaces 683091 | 2022.01.24

Sein Naam kanaal
begin van pakkie einde van pakkie leeg

Rigting Bron om te sink
Bron om te sink Bron om te sink Bron om te sink
Bron om te sink
Bron om te sink

Breedte

Opsioneel / Vereis

Beskrywing

1-128

Opsioneel

Die kanaalnommer vir data wat op die huidige siklus oorgedra word.
As 'n koppelvlak die kanaalsein ondersteun, moet dit ook die maxChannel-parameter definieer.

Pakketoordragseine

1

Opsioneel

Bevestig deur die bron om die begin te merk

van 'n pakkie.

1

Opsioneel

Bevestig deur die bron om die einde van te merk

'n pakkie.

ceil(log2(NUM_SYMBOLS)) Opsioneel

Dui die aantal simbole aan wat leeg is, dit wil sê, verteenwoordig nie geldige data nie. Die leë sein word nie gebruik op koppelvlakke waar daar een simbool per maatslag is nie.

Gebruikers seine

1-8192

Opsioneel

Enige aantal per-pakkie gebruiker seine kan teenwoordig wees op bron en sink koppelvlakke. Bron stel waarde van hierdie sein wanneer
startofpacket word beweer. Bron moet nie die waarde van hierdie sein verander tot die begin van nuwe pakkie nie. Meer besonderhede is in die Gebruikerssein-afdeling.

1-8192

Opsioneel

Enige aantal per-simbool gebruiker seine kan teenwoordig wees op bron en sink. Meer besonderhede is in die Gebruikerssein-afdeling.

6.2.1. Sinchroniese koppelvlak

Alle oordragte van 'n Avalon Streaming-verbinding vind sinchronies plaas met die stygende rand van die gepaardgaande kloksein. Alle uitsette van 'n bron-koppelvlak na 'n sink-koppelvlak,
insluitend die data, kanaal en foutseine, moet op die stygende rand van die klok geregistreer word. Insette na 'n wasbak-koppelvlak hoef nie geregistreer te word nie. Die registrasie van seine by die bron vergemaklik hoëfrekwensiewerking.

Tabel 21. Avalon-stroomkrediet-koppelvlak-eienskappe

Eiendom Naam

Verstekwaarde

Regswaarde

Beskrywing

geassosieerde Klok

1

Horlosie

Die naam van die Avalon Clock-koppelvlak waarna dit

koppelvlak

Avalon Streaming-koppelvlak is sinchronies.

geassosieerde Herstel

1

Stel terug

Die naam van die Avalon Reset-koppelvlak waarna dit

koppelvlak

Avalon Streaming-koppelvlak is sinchronies.

dataBitsPerSimbool simbolePerBeat

8

1 8192

Definieer die aantal bisse per simbool. Byvoorbeeldample,

greep-georiënteerde koppelvlakke het 8-bis simbole. Hierdie waarde is

nie beperk tot 'n krag van 2 nie.

1

1 8192

Die aantal simbole wat oorgedra word op elke

geldige siklus.

maksimum Krediet

256

1-256

Die maksimum aantal krediete wat 'n data-koppelvlak kan ondersteun.
voortgesit …

Stuur terugvoer

Avalon®-koppelvlakspesifikasies 55

6. Avalon Streaming Credit Interfaces 683091 | 2022.01.24

Eiendom Naam errorDescriptor

Verstekwaarde
0

firstSymbolInHighOrderBits waar

maxChannel

0

Regswaarde

Beskrywing

Lys van snare

'n Lys woorde wat die fout beskryf wat met elke stukkie van die foutsein geassosieer word. Die lengte van die lys moet dieselfde wees as die aantal bisse in die foutsein. Die eerste woord in die lys is van toepassing op die hoogste orde bis. Byvoorbeeldample, "crc, oorloop" beteken dat bietjie[1] fout 'n CRC-fout aandui. Bietjie[0] dui op 'n oorloopfout.

waar, onwaar

Wanneer dit waar is, word die eerste-orde-simbool na die belangrikste stukkies van die data-koppelvlak gedryf. Die hoogste-orde simbool is gemerk D0 in hierdie spesifikasie. Wanneer hierdie eienskap op vals gestel is, verskyn die eerste simbool op die lae stukkies. D0 verskyn by data[7:0]. Vir 'n 32-bis bus, indien waar, verskyn D0 ​​op ​​bisse[31:24].

0

Die maksimum aantal kanale wat 'n data-koppelvlak

kan ondersteun.

6.2.2. Tipiese data-oordragte
Hierdie afdeling definieer die oordrag van data vanaf 'n bronkoppelvlak na 'n sinkkoppelvlak. In alle gevalle moet die databron en die datasink aan die spesifikasie voldoen. Dit is nie die verantwoordelikheid van die datasink om bronprotokolfoute op te spoor nie.
Die onderstaande figuur toon die seine wat tipies in 'n Avalon Streaming Credit-koppelvlak gebruik word.
Figuur 33. Tipiese Avalon-stroomkredietseine

Soos hierdie figuur aandui, dryf 'n tipiese Avalon Streaming Credit-bronkoppelvlak die geldige data, fout- en kanaalseine na die wasbak. Die wasbak dryf opdaterings- en kredietseine aan.

Avalon®-koppelvlakspesifikasies 56

Stuur terugvoer

6. Avalon Streaming Credit Interfaces 683091 | 2022.01.24
Figuur 34. Tipiese krediet- en data-oordrag

Die bostaande figuur toon 'n tipiese krediet- en data-oordrag tussen bron en sink. Daar kan 'n arbitrêre vertraging wees tussen die sink wat opdatering bevestig en die bron wat die opdatering ontvang. Net so kan daar 'n arbitrêre vertraging wees tussen bron wat geldig is vir data en sink wat daardie data ontvang. Vertraging op kredietpad van sink na bron en datapad van bron tot sink hoef nie gelyk te wees nie. Hierdie vertragings kan ook 0 siklus wees, maw wanneer die sink opdatering bevestig, word dit deur die bron in dieselfde siklus gesien. Omgekeerd, wanneer die bron geldig beweer, word dit deur die wasbak in dieselfde siklus gesien. As die bron nul krediete het, kan dit nie geldig verklaar word nie. Oorgedra krediete is kumulatief. As sink krediete gelykstaande aan sy maxCredit-eienskap oorgedra het, en geen data ontvang het nie, kan dit nie opdatering beweer totdat dit ten minste 1 data ontvang het of 'n return_credit-puls van die bron ontvang het nie.
Sink kan nie data van bron terugdruk as sink krediete aan die bron verskaf het nie, maw sink moet data vanaf bron aanvaar as daar uitstaande krediete is. Bron kan nie geldig beweer as dit geen krediet ontvang het of die krediete wat ontvang is, uitgeput het nie, dws reeds die data gestuur het in plaas van krediete wat ontvang is.
As die bron nul krediete het, kan die bron nie die data-oordrag begin in dieselfde siklus wat dit krediete ontvang nie. Net so, as sink krediete gelykstaande aan sy maxCredit-eienskap oorgedra het en dit ontvang data, kan sink nie 'n opdatering in dieselfde siklus stuur as wat dit data ontvang het nie. Hierdie beperkings is ingestel om kombinasielusse in die implementering te vermy.
6.2.3. Terugbetaling van die krediete
Avalon Streaming Credit-protokol ondersteun 'n return_credit-sein. Dit word deur bron gebruik om die krediete terug te keer na sink. Elke siklus word hierdie sein beweer, dit dui aan dat die bron 1 krediet teruggee. As die bron veelvuldige krediete wil teruggee, moet hierdie sein vir verskeie siklusse bevestig word. Byvoorbeeldample, as die bron 10 uitstaande krediete wil teruggee, beweer dit return_credit sein vir 10 siklusse. Sink moet rekening hou met teruggekeerde krediete in sy interne kredietinstandhoudingstoonbanke. Krediete kan op enige tydstip per bron teruggestuur word solank dit krediete groter as 0 het.
Die onderstaande figuur is 'n voorbeeld van bronkrediete. Soos in die figuur getoon, is uitstaande_krediet 'n interne teller vir die bron. Wanneer bron krediete terugstuur, word hierdie teller verlaag.

Stuur terugvoer

Avalon®-koppelvlakspesifikasies 57

Figuur 35. Bronterugkerende krediete

6. Avalon Streaming Credit Interfaces 683091 | 2022.01.24

Let wel:

Alhoewel die diagram hierbo die terugstuur van krediete toon wanneer geldig gedeasserteerd is, kan return_credit ook bevestig word terwyl geldig bevestig word. In hierdie geval spandeer bron effektief 2 krediete: een vir geldig en een vir return_credit.

6.3. Avalon stroom kredietgebruikersseine
Gebruikerseine is opsionele sybandseine wat saam met data vloei. Hulle word slegs as geldig beskou wanneer data geldig is. Aangesien gebruikersseine geen gedefinieerde betekenis of doel het nie, moet versigtigheid gebruik word wanneer hierdie seine gebruik word. Dit is die verantwoordelikheid van die stelselontwerper om seker te maak dat twee IP's wat aan mekaar gekoppel is, ooreenkom oor die rolle van die gebruikerseine.
Twee tipes gebruikerseine word voorgestel: per-simbool gebruikerseine en per-pakkie gebruikerseine.
6.3.1. Per-simbool gebruiker sein
Soos die naam aandui, definieer die data 'n per-simbool gebruikersein (simbool_gebruiker) per simbool. Elke simbool in die data kan 'n gebruikersein hê. Byvoorbeeldample, as die aantal simbole in die data 8 is, en simbol_gebruiker breedte is 2 bisse, die totale breedte van die simbool_gebruiker sein is 16 bisse.
Symbol_user is slegs geldig wanneer data geldig is. Bron kan hierdie sein elke siklus verander wanneer data geldig is. Sink kan die waarde van symbol_user bisse vir leë simbole ignoreer.
As 'n bron wat hierdie sein het gekoppel is aan 'n wasbak wat nie hierdie sein op sy koppelvlak het nie, bly die sein vanaf die bron in die gegenereerde interkonneksie hang.
As 'n bron wat nie hierdie sein het nie gekoppel is aan 'n wasbak wat hierdie sein op sy koppelvlak het, koppel die wasbak se inset gebruikersein aan 0.
As beide bron en sink gelyke aantal simbole in die data het, dan moet die gebruiker seine vir albei gelyke breedtes hê. Andersins kan hulle nie verbind word nie.

Avalon®-koppelvlakspesifikasies 58

Stuur terugvoer

6. Avalon Streaming Credit Interfaces
683091 | 2022.01.24
As 'n wye bron aan 'n smal wasbak gekoppel is, en albei het per-simbool gebruikersseine, dan moet albei gelyke stukkies gebruikersein hê wat met elke simbool geassosieer word. Byvoorbeeldample, as 'n 16-simboolbron 2 bisse gebruikerssein het wat met elke simbool geassosieer word (vir 'n totaal van 32 bisse gebruikerssein), dan moet 'n 4-simbool sink 'n 8-bis wye gebruikersein hê (2 bisse geassosieer met elke simbool). 'n Dataformaatadapter kan die 16-simboolbrondata omskakel na 4-simbool sinkdata, en 32-bis gebruikerssein na 8-bis gebruikerssein. Die dataformaatadapter handhaaf die assosiasie van simbole met ooreenstemmende gebruikerseinbisse.
Net so, as 'n smal bron aan 'n wye wasbak gekoppel is, en albei het per-simbool gebruikersseine, dan moet albei gelyke stukkies gebruikersein hê wat met elke simbool geassosieer word. Byvoorbeeldample, as 'n 4-simboolbron 2 bisse gebruikerssein het wat met elke simbool geassosieer word (vir 'n totaal van 8 bisse gebruikerssein), dan moet 'n 16-simbool sink 'n 32-bis wye gebruikersein hê (2 bisse geassosieer met elke simbool). 'n Dataformaatadapter kan die 4-simboolbrondata omskakel na 16-simbool sinkdata, en 8-bis gebruikerssein na 32-bis gebruikerssein. Die dataformaatadapter handhaaf die assosiasie van simbole met ooreenstemmende gebruikerseinbisse. As die pakkie kleiner is as die verhouding van datawydtes, stel die dataformaatadapter die waarde van leeg dienooreenkomstig. Sink moet die waarde van gebruikerbits wat met leë simbole geassosieer word, ignoreer.
6.3.2. Per-pakkie gebruiker sein
Benewens symbol_user, kan per-pakkie gebruiker seine (packet_user) ook op die koppelvlak verklaar word. Pakket_gebruiker kan van arbitrêre breedte wees. Anders as simbool_gebruiker, moet pakket_gebruiker konstant bly regdeur die pakkie, maw die waarde daarvan moet aan die begin van die pakkie gestel word en moet dieselfde bly tot aan die einde van die pakkie. Hierdie beperking maak die implementering van die dataformaatadapter eenvoudiger aangesien dit die opsie uitskakel om pakket_gebruiker te repliseer of te kap (wye bron, smal sink) of aaneenskakel (smal bron, wye sink).
As 'n bron packet_user het en sink nie, bly die packet_user van bron hang. In so 'n geval moet die stelselontwerper versigtig wees en geen kritieke beheerinligting op hierdie sein oordra nie, aangesien dit heeltemal of gedeeltelik geïgnoreer word.
As 'n bron nie pakket_gebruiker het nie en die sink het, is die pakket_gebruiker om te sink gekoppel aan 0.

Stuur terugvoer

Avalon®-koppelvlakspesifikasies 59

683091 | 2022.01.24 Stuur terugvoer

7. Avalon Conduit Interfaces

Let wel:

Avalon Conduit-koppelvlakke groepeer 'n arbitrêre versameling seine. Jy kan enige rol vir kanaalseine spesifiseer. Wanneer jy egter leipype verbind, moet die rolle en breedtes ooreenstem, en die rigtings moet teenoorgesteld wees. 'n Avalon Conduit-koppelvlak kan invoer-, uitset- en tweerigtingseine insluit. 'n Module kan verskeie Avalon Conduit-koppelvlakke hê om 'n logiese seingroepering te verskaf. Conduit-koppelvlakke kan 'n geassosieerde klok verklaar. Wanneer gekoppelde kanaal-koppelvlakke in verskillende klokdomeine is, genereer Platform Designer 'n foutboodskap.
Indien moontlik, moet jy die standaard Avalon-MM- of Avalon-ST-koppelvlakke gebruik in plaas daarvan om 'n Avalon Conduit-koppelvlak te skep. Platform Designer verskaf validering en aanpassing vir hierdie koppelvlakke. Platformontwerper kan nie validering of aanpassing vir Avalon Conduit-koppelvlakke verskaf nie.
Leibuis-koppelvlakke wat tipies gebruik word om off-chip toestel seine aan te dryf, soos 'n SDRAM adres, data en beheer seine.

Intel Corporation. Alle regte voorbehou. Intel, die Intel-logo en ander Intel-merke is handelsmerke van Intel Corporation of sy filiale. Intel waarborg prestasie van sy FPGA- en halfgeleierprodukte volgens huidige spesifikasies in ooreenstemming met Intel se standaardwaarborg, maar behou die reg voor om enige tyd sonder kennisgewing veranderinge aan enige produkte en dienste aan te bring. Intel aanvaar geen verantwoordelikheid of aanspreeklikheid wat voortspruit uit die toepassing of gebruik van enige inligting, produk of diens wat hierin beskryf word nie, behalwe soos uitdruklik skriftelik deur Intel ooreengekom. Intel-kliënte word aangeraai om die nuutste weergawe van toestelspesifikasies te bekom voordat hulle op enige gepubliseerde inligting staatmaak en voordat bestellings vir produkte of dienste geplaas word. *Ander name en handelsmerke kan as die eiendom van ander geëis word.

ISO 9001:2015 Geregistreer

7. Avalon Conduit Interfaces 683091 | 2022.01.24

Figuur 36. Fokus op die Conduit Interface

Ethernet PHY

Avalon-MM-stelsel
Verwerker Avalon-MM
Gasheer

Ethernet MAC
Avalon-MM Gasheer

Pasgemaakte logika
Avalon-MM Gasheer

Stelsel Interconnect Stof

Avalon-MM Agent
SDRAM-beheerder

Avalon Agent
Pasgemaakte logika

Leiding-koppelvlak
SDRAM geheue

7.

Dokumente / Hulpbronne

intel MNL-AVABUSREF Avalon Interface [pdfGebruikershandleiding
MNL-AVABUSREF, Avalon-koppelvlak, MNL-AVABUSREF Avalon-koppelvlak

Verwysings

Los 'n opmerking

Jou e-posadres sal nie gepubliseer word nie. Vereiste velde is gemerk *