Interfaccia Avalon MNL-AVABUSREF

Specifiche di l'interfaccia Avalon®
Aghjurnatu per Intel® Quartus® Prime Design Suite: 20.1

Versione Online Mandate Feedback

MNL-AVABUSREF

ID: 683091 Versione: 2022.01.24

Cuntenuti

Cuntenuti
1. Introduzione à e Specifiche di l'Interfaccia Avalon®…………………………………………………… 4 1.1. Pruprietà è Parametri Avalon…………………………………………………………………. 5 1.2. Ruoli di signale………………………………………………………………………………………………………….5 1.3. Timing di l'interfaccia ………………………………………………………………………………………………. 5 1.4. Esample: Interfacce Avalon in Disegni di Sistema……………………………………………………………. 5
2. Avalon Clock è Reset Interfaces………………………………………………………………………………. 8 2.1. Avalon Clock Sink Signal Roles……………………………………………………………………………….. 8 2.2. Pruprietà di u Clock Sink……………………………………………………………………………… 9 2.3. Interfacce di clock assuciati ……………………………………………………………………………………………… 9 2.4. Avalon Clock Source Signal Roles…………………………………………………………………..9 2.5. Pruprietà di u Clock Source……………………………………………………………………………… 9 2.6. Reset Sink……………………………………………………………………………………………. 10 2.7. Ripristina e Pruprietà di l'Interfaccia Sink………………………………………………………………… 10 2.8. Interfacce di reset assuciati …………………………………………………………………………………10 2.9. Reset Source………………………………………………………………………………………………………….10 2.10. Ripristina e Pruprietà di l'Interfaccia Fonte……………………………………………………………….11
3. Interfacce Avalon Memory-Mapped……………………………………………………………………………….12 3.1. Introduzione à l'Interfacce Avalon Memory-Mapped…………………………………………………… 12 3.2. Avalon Memory Mapped Signal Interface Roles………………………………………………………………14 3.3. Pruprietà di l'interfaccia…………………………………………………………………………………………….17 3.4. Timing…………………………………………………………………………………………………………….20 3.5. Trasferimenti………………………………………………………………………………………………………… 20 3.5.1. Trasferimenti tipici di lettura è scrittura ……………………………………………………. 21 3.5.2. Trasferimenti Utilizendu a pruprietà waitrequest Allowance……………………………………… 23 3.5.3. Trasferimenti di lettura è scrittura cù stati di attesa fissi ………………………………….. 26 3.5.4. Trasferimenti Pipelined……………………………………………………………………………….. 27 3.5.5. Trasferimenti Burst………………………………………………………………………………. 30 3.5.6. Leghjite è Scrivite Risposte……………………………………………………………………………… 34 3.6. Alignamentu di l'indirizzu………………………………………………………………………………….. 36 3.7. Indirizzu di l'agente Avalon-MM……………………………………………………………………………… 36
4. Interfacce Interrupt Avalon……………………………………………………………………………… 38 4.1. Interrompe l'emittente………………………………………………………………………………………………..38 4.1.1. Avalon Interrupt Sender Signal Roles………………………………………………………….38 4.1.2. Pruprietà di u mittente di l'interruzzione………………………………………………………….. 38 4.2. Interrupt Receiver…………………………………………………………………………………………… 39 4.2.1. Avalon Interrupt Receiver Signal Roles…………………………………………………….. 39 4.2.2. Pruprietà di l'Interrupt Receiver………………………………………………………………… 39 4.2.3. Timing di l'interruzzione ………………………………………………………………………………… .. 39
5. Avalon Streaming Interfaces………………………………………………………………………………………. 40 5.1. Termini è cuncetti…………………………………………………………………………………………… 41 5.2. Avalon Streaming Interface Signal Roles………………………………………………………………….. 42 5.3. Sequenza di signali è timing …………………………………………………………………… 43 5.3.1. Interfaccia sincrona……………………………………………………………………………… 43 5.3.2. Clock Enables…………………………………………………………………………………………… 43

Specifiche di l'interfaccia Avalon® 2

Mandate Feedback

Cuntenuti
5.4. Pruprietà di l'interfaccia Avalon-ST………………………………………………………………….43 5.5. Trasferimenti tipici di dati ……………………………………………………………………………… 44 5.6. Détails du signal…………………………………………………………………………………………… 44 5.7. Disposizione di dati ………………………………………………………………………………………………. 45 5.8. Trasferimentu di dati senza Backpressure……………………………………………………………………….. 46 5.9. Trasferimentu di dati cù Backpressure…………………………………………………………………. 46
5.9.1. Trasferimenti di Dati Utilizendu readyLatency è readyAllowance………………………….. 47 5.9.2. Trasferimenti di dati cù readyLatency……………………………………………………. 49 5.10. Trasferimenti di Dati di Pacchetti…………………………………………………………………………………….. 50 5.11. Détails du signal ……………………………………………………………………………………………… 51 5.12. Détails du protocole …………………………………………………………………………………….52
6. Avalon Streaming Credit Interfaces………………………………………………………………… 53 6.1. Termini è cuncetti…………………………………………………………………………………………… 53 6.2. Avalon Streaming Credit Interface Signal Roles………………………………………………………….. 54 6.2.1. Interfaccia sincrona……………………………………………………………………………… 55 6.2.2. Trasferimenti tipici di Dati………………………………………………………………….56 6.2.3. Ritornà i Crediti…………………………………………………………………. 57 6.3. Avalon Streaming Credit Signals User………………………………………………………………… 58 6.3.1. Signal d'Usuariu Per Simbulu ……………………………………………………………………. 58 6.3.2. Segnale d'Utilizatore Per Pacchettu………………………………………………………………… 59
7. Avalon Conduit Interfaces…………………………………………………………………………………………… 60 7.1. Avalon Conduit Signal Roles………………………………………………………………………………. 61 7.2. Pruprietà di u Conduit …………………………………………………………………………………. 61
8. Avalon Tristate Conduit Interface……………………………………………………………………………… 62 8.1. Avalon Tristate Conduit Signal Roles………………………………………………………………….. 64 8.2. Pruprietà di Conduit Tristate……………………………………………………………………………… 65 8.3. Tristate Conduit Timing ……………………………………………………………………………………………… .65
A. Signali obsoleti…………………………………………………………………………………………………………. 67
B. Storia di Revisione di Documenti per e Specifiche di l'Interfaccia Avalon………………………… 68

Mandate Feedback

Specifiche di l'interfaccia Avalon® 3

683091 | 2022.01.24 Mandate Feedback

1. Introduzione à l'Avalon® Interface Specifications

L'interfacce Avalon® simplificanu u disignu di u sistema, permettendu di cunnette facilmente cumpunenti in Intel® FPGA. A famiglia di l'interfaccia Avalon definisce interfacce adattate per u streaming di dati à alta velocità, lettura è scrittura di registri è memoria, è cuntrullà i dispositi off-chip. I cumpunenti dispunibili in Platform Designer incorporanu queste interfacce standard. Inoltre, pudete incorpore interfacce Avalon in cumpunenti persunalizati, rinfurzendu l'interoperabilità di i disinni.
Questa specificazione definisce tutte l'interfacce Avalon. Dopu avè lettu sta specificazione, duvete capisce quale interfacce sò appropritate per i vostri cumpunenti è quali roli di signale à utilizà per cumpurtamenti particulari. Questa specificazione definisce e seguenti sette interfacce:
· Avalon Streaming Interface (Avalon-ST) - una interfaccia chì sustene u flussu unidirezionale di dati, cumprese flussi multiplexati, pacchetti è dati DSP.
· Avalon Memory Mapped Interface (Avalon-MM) - una interfaccia di lettura / scrittura basata in indirizzu tipica di cunnessione Host-Agent.
· Avalon Conduit Interface - un tipu d'interfaccia chì accoglie signali individuali o gruppi di segnali chì ùn si adattanu à alcunu di l'altri tipi Avalon. Pudete cunnette interfacce di cundutti in un sistema Platform Designer. In alternativa, pudete esportà per cunnette à altri moduli in u disignu o à pins FPGA.
· Avalon Tri-State Conduit Interface (Avalon-TC) - una interfaccia per sustene e cunnessione à periferiche off-chip. Periferali multipli ponu sparte pins attraversu u multiplexing di signale, riducendu u numeru di pin di FPGA è u numeru di tracce nantu à u PCB.
· Avalon Interrupt Interface - una interfaccia chì permette à i cumpunenti di signalà avvenimenti à altri cumpunenti.
· Avalon Clock Interface - una interfaccia chì conduce o riceve orologi.
· Avalon Reset Interface - una interfaccia chì furnisce a cunnessione di reset.
Un solu cumpunente pò include qualsiasi quantità di sti interfacce è pò ancu include parechje istanze di u stessu tipu d'interfaccia.

Nota:

L'interfaccia Avalon hè un standard apertu. Nisuna licenza o royalty hè necessaria per sviluppà è vende prudutti chì utilizanu o sò basati nantu à l'interfacce Avalon.

Information Related
· Introduzione à i nuclei IP Intel FPGA Fornisce infurmazione generale nantu à tutti i core IP Intel FPGA, cumprese a parametrizzazione, a generazione, l'aghjurnamentu è a simulazione di i nuclei IP.
· Generazione di un Script di Setup Simulator Combined Crea script di simulazione chì ùn necessitanu micca aghjurnamenti manuali per l'aghjurnamenti di software o versione IP.

Intel Corporation. Tutti i diritti riservati. Intel, u logu Intel è altri marchi Intel sò marchi di Intel Corporation o di e so filiali. Intel garantisce a prestazione di i so prudutti FPGA è semiconduttori à e specificazioni attuali in cunfurmità cù a garanzia standard di Intel, ma si riserva u dirittu di fà cambiamenti à qualsiasi prudutti è servizii in ogni mumentu senza avvisu. Intel ùn assume alcuna rispunsabilità o responsabilità derivante da l'applicazione o l'usu di qualsiasi informazione, pruduttu o serviziu descritti quì, salvu cum'è espressamente accunsentutu in scrittura da Intel. I clienti di Intel sò cunsigliati per ottene l'ultima versione di e specificazioni di u dispositivu prima di confià nantu à qualsiasi infurmazione publicata è prima di fà ordini per prudutti o servizii. * Altri nomi è marche ponu esse rivendicate cum'è a pruprietà di l'altri.

ISO 9001: 2015 Registratu

1. Introduzione à l'Avalon® Interface Specifications 683091 | 2022.01.24
· Linee di Prughjetti di Prughjetti di Gestione di Prughjetti per una gestione efficiente è portabilità di u vostru prughjettu è IP files.
1.1. Avalon Pruprietà è Parametri
L'interfaccia Avalon descrizanu u so cumpurtamentu cù e proprietà. A specificazione per ogni tipu d'interfaccia definisce tutte e proprietà di l'interfaccia è i valori predeterminati. Per esample, a pruprietà maxChannel di l'interfaccia Avalon-ST permette di specificà u numeru di canali supportati da l'interfaccia. A pruprietà clockRate di l'interfaccia Avalon Clock furnisce a frequenza di un signalu di clock.
1.2. Role di signale
Ogni interfaccia Avalon definisce u rolu di signale è u so cumpurtamentu. Parechji roli di signale sò opzionali. Avete a flessibilità di selezziunà solu i roli di signali necessarii per implementà a funziunalità necessaria. Per esample, l'interfaccia Avalon-MM include u rolu di signale di startbursttransfer è burstcount opzionale per i cumpunenti chì supportanu u bursting. L'interfaccia Avalon-ST include i roli di signali opzionali startofpacket è endofpacket per interfacce chì supportanu i pacchetti.
Eccettu per l'interfaccia Avalon Conduit, ogni interfaccia pò include solu un signalu di ogni rolu di signale. Parechji roles signali permettenu signali attivu-bassu. I signali attivi-alti sò generalmente usati in stu documentu.
1.3. Timing di l'interfaccia
I capituli successivi di stu documentu includenu informazioni di timing chì descrive i trasferimenti per i tipi di interfaccia individuali. Ùn ci hè micca un rendimentu garantitu per alcuna di queste interfacce. A prestazione attuale dipende da parechji fatturi, cumprese u disignu di cumpunenti è l'implementazione di u sistema.
A maiò parte di l'interfacce Avalon ùn deve micca esse sensibile à u bordu à i segnali altru ch'è u clock è reset. Altri signali ponu transizione parechje volte prima di stabilizzà. U timing esatta di i segnali trà i bordi di u clock varieghja secondu e caratteristiche di l'Intel FPGA sceltu. Questa specificazione ùn specifica micca e caratteristiche elettriche. Riferite à a documentazione apprupriata di u dispusitivu per e specificazioni elettriche.
1.4. Esample: Avalon Interfaces in System Designs
In questu exampu Controller Ethernet include sei tipi di interfaccia differenti: · Avalon-MM · Avalon-ST · Avalon Conduit · Avalon-TC · Avalon Interrupt · Avalon Clock.
U processatore Nios® II accede à i registri di cuntrollu è di statutu di cumpunenti in chip attraversu una interfaccia Avalon-MM. U scatter si riuniscenu DMAs mandanu è ricevenu dati per interfacce Avalon-ST. Quattru cumpunenti includenu interruzzione

Mandate Feedback

Specifiche di l'interfaccia Avalon® 5

1. Introduzione à l'Avalon® Interface Specifications 683091 | 2022.01.24

Figura 1.

interfacce servite da u software in esecuzione nantu à u processore Nios II. Un PLL accetta un clock via una interfaccia Avalon Clock Sink è furnisce duie fonti di clock. Dui cumpunenti includenu interfacce Avalon-TC per accede à e memorie off-chip. Infine, u controller DDR3 accede à a memoria DDR3 esterna attraversu una interfaccia Avalon Conduit.

Interfacce Avalon in un Disegnu di Sistema cù Scatter Gather DMA Controller è Processor Nios II

Circuitu stampatu

SSRAM Flash

DDR3

Cn

Cn

Cn

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

Cn Tristate Conduit
Ponte TCS
TCM Tristate Conduit
Pin Sharer TCS TCS

IRQ4 IRQ3 Nios II

C1

M

IRQ1 C1

UART S

Timer IRQ2

C1

S

TCM

TCM

Tristate Cntrl SSRAM

Tristate Cntrl Flash

C1

S

C1

S

C2

Controller Cn DDR3
S

Avalon-MM

S

Conduttu

Cn Src Avalon-ST

Controller Ethernet
Snk

Tampon FIFO Avalon-ST

Avalon-ST

C2

Tampon FIFO

SM Scatter GatheIrRQ4
DMA Snk

S C2

Avalon-ST

Src

M IRQ3

C2

Scatter Gather DMA

CSrc

CSnkPLL C1

Ref Clk

CSrc

C2

In a figura seguente, un processatore esternu accede à i registri di cuntrollu è di statutu di cumpunenti in chip via un ponte di bus esterno cù una interfaccia Avalon-MM. U PCI Express Root Port cuntrolla i dispositi nantu à u circuitu stampatu è l'altri cumpunenti di l'FPGA guidà un PCI Express Endpoint in chip cù una interfaccia di host AvalonMM. Un processore esternu gestisce interruzioni da cinque cumpunenti. Un PLL accetta un clock di riferimentu via una interfaccia di lavabo Avalon Clock è furnisce dui clock

Specifiche di l'interfaccia Avalon® 6

Mandate Feedback

1. Introduzione à l'Avalon® Interface Specifications 683091 | 2022.01.24

Figura 2.

fonti. I ricordi flash è SRAM sparte pin FPGA attraversu una interfaccia Avalon-TC. Infine, un controller SDRAM accede à una memoria SDRAM esterna attraversu una interfaccia Avalon Conduit.
Interfacce Avalon in un Disegnu di Sistema cù Endpoint PCI Express è Processore Esternu

Circuitu stampatu

Port Root PCI Express

CPU esterna

Intel FPGA
IRQ1
Ethernet MAC

C1

M

C1

IRQ2 Logica persunalizata
M
Avalon-MM

Endpoint PCI Express

IRQ3 IRQ5 IRQ4 IRQ3
IRQ2 IRQ1

C1

M

C1

Ponte di Protocollo di Bus Estern
M

S

Tristate Cntrl SSRAM TCS

Tristate Cntrl Flash TCS

S

Controller SDRAM

C1

Cn

S

IRQ4

IRQ5

S

S

UART C2

Logica persunalizata C2

TCM TCM Tristate Conduit
Pin Sharer TCS
TCM Tristate Conduit
Ponte Cn

Ref Clk

CSrc CSnk PLL C1
CSrc C2

Cn

Cn

SSRAM

Flash

Cn SDRAM

Mandate Feedback

Specifiche di l'interfaccia Avalon® 7

683091 | 2022.01.24 Mandate Feedback

2. Avalon Clock è Reset Interfaces

Figura 3.

L'interfaccia di Avalon Clock definiscenu l'orologio o l'orologi utilizati da un cumpunente. I cumpunenti ponu avè input clock, clock outputs, o i dui. Un ciclu di fase bloccata (PLL) hè un example di un cumpunente chì hà un input clock è uscite clock.

A figura seguente hè una illustrazione simplificata chì mostra l'inputs è u output più impurtanti di un cumpunente PLL.

PLL Core Clock Outputs è Inputs

PLL Core

altpll Intel FPGA IP

resettate

Resettate

Clock

Lavà

Fonte

Interfaccia di Output Clock 1

Surghjente di Clock

Interfaccia di Output Clock 2

ref_clk

Clock

Clock

Lavà

Fonte

Clock Output Interface_n

2.1. Avalon Clock Sink Signal Roles

Un clock sink furnisce un riferimentu di timing per altre interfacce è logica interna.

Tabella 1.

Clock Sink Signal Roles

Signal Role clk

larghezza 1

Input di direzzione

Ubligatoriu Iè

Descrizzione
Un signalu di u clock. Fornisce a sincronizazione per a logica interna è per altre interfacce.

Intel Corporation. Tutti i diritti riservati. Intel, u logu Intel è altri marchi Intel sò marchi di Intel Corporation o di e so filiali. Intel garantisce a prestazione di i so prudutti FPGA è semiconduttori à e specificazioni attuali in cunfurmità cù a garanzia standard di Intel, ma si riserva u dirittu di fà cambiamenti à qualsiasi prudutti è servizii in ogni mumentu senza avvisu. Intel ùn assume alcuna rispunsabilità o responsabilità derivante da l'applicazione o l'usu di qualsiasi informazione, pruduttu o serviziu descritti quì, salvu cum'è espressamente accunsentutu in scrittura da Intel. I clienti di Intel sò cunsigliati per ottene l'ultima versione di e specificazioni di u dispositivu prima di confià nantu à qualsiasi infurmazione publicata è prima di fà ordini per prudutti o servizii. * Altri nomi è marche ponu esse rivendicate cum'è a pruprietà di l'altri.

ISO 9001: 2015 Registratu

2. Avalon Clock è Resetten Interfaces 683091 | 2022.01.24

2.2. Pruprietà di u Clock Sink

Tabella 2.

Pruprietà di u Clock Sink

Nome clockRate

Valeur par défaut 0

Valuri Legali 0

Descrizzione
Indica a frequenza in Hz di l'interfaccia di u clock sink. Se 0, a freccia di u clock permette ogni frequenza. Se ùn hè micca zero, Platform Designer emette un avvisu se a fonte di u clock cunnessu ùn hè micca a frequenza specificata.

2.3. Interfacce Clock Associate
Tutte l'interfacce sincrone anu una pruprietà Clock associata chì specifica quale fonte di clock nantu à u cumpunente hè aduprata cum'è riferimentu di sincronizazione per l'interfaccia. Sta pruprietà hè illustrata in a figura seguente.
Figura 4. Proprietà associata Clock

rx_clk Clock
Lavà

Dual Clock FIFO

Clock tx_clk
Lavà

rx_data ST associatu Clock = "rx_clk"
Lavà

associatuClock = "tx_clk" ST tx_data
Fonte

2.4. Avalon Clock Source Signal Roles

Una interfaccia di fonte Avalon Clock conduce un signalu di clock da un cumpunente.

Tabella 3.

Clock Source Signal Roles

Rolu di signale

Larghezza

Direzzione

clk

1

Output

Ubligatoriu Iè

Descrizzione Un signalu di u clock di output.

2.5. Pruprietà di u Clock Source

Tabella 4.

Pruprietà di u Clock Source

Nome assuciatu DirectClock

Valore predeterminatu
N/A

clockRate

0

clockRateKnown

falsu

Valori Legali

Descrizzione

un input U nome di l'input di u clock chì guida direttamente stu nome di clock output clock, se ci hè.

0

Indica a frequenza in Hz à quale l'output di u clock hè guidatu.

veru, falsu

Indica se a frequenza di u clock hè cunnisciuta o micca. Se a frequenza di u clock hè cunnisciuta, pudete persunalizà altri cumpunenti in u sistema.

Mandate Feedback

Specifiche di l'interfaccia Avalon® 9

2. Avalon Clock è Resetten Interfaces 683091 | 2022.01.24

2.6. Reset Sink

Tabella 5.

Ripristina i roli di signale d'ingressu
U signale reset_req hè un signale facultativu chì pudete aduprà per prevene a corruzzione di u cuntenutu di a memoria eseguendu un reset handshake prima di una affirmazione di reset asincrona.

Rolu di signale

Larghezza

Direzzione

Ubligatoriu

Descrizzione

reset, reset_n

1

Input

Resetta a logica interna di una interfaccia o cumpunente

à un statu definitu da l'utilizatori. E proprietà sincrone di

i reset sò definiti da i bordi sincroni

paràmetru.

reset_req

1

input

Innò

Prima indicazione di u segnu di reset. Stu signale agisce cum'è a

almenu un avvisu di un ciclu di resettore pendente per a ROM

primitivi. Aduprate reset_req per disattivà l'attivazione di u clock

o maschera l'indirizzu bus di una memoria in chip, à

impediscenu a transizione di l'indirizzu quandu un

L'input di reset asincronu hè assicuratu.

2.7. Ripristina e Pruprietà di l'interfaccia Sink

Tabella 6.

Ripristina i roli di signale d'ingressu

Nome assuciatu Clock

Valore predeterminatu
N/A

sincrona-Edges

DEASSERT

Valori Legali

Descrizzione

un nome di clock

U nome di un clock à quale sta interfaccia hè sincronizata. Ubligatoriu se u valore di SynchronousEdges hè DEASSERT o BOTH.

NESSUN DESERT
TAMBI

Indica u tipu di sincronizazione chì l'input di reset richiede. I seguenti valori sò definiti:
· NONE ùn hè necessaria a sincronizazione perchè u cumpunente include logica per a sincronizazione interna di u signale di reset.
· DEASSERTl'asserzione di reset hè asincrona è a deassertion hè sincrona.
L'affirmazione di reset è a disattivazione sò sincrone.

2.8. Interfacce Reset Associate
Tutte l'interfacce sincrone anu una pruprietà Reset associata chì specifica quale signale di reset resetta a logica di l'interfaccia.

2.9. Reset Source

Tabella 7.

Ripristina i roli di u signale di output
U signale reset_req hè un signale facultativu chì pudete aduprà per prevene a corruzzione di u cuntenutu di a memoria eseguendu un reset handshake prima di una affirmazione di reset asincrona.

Rolu di signale

Larghezza

Direzzione

Ubligatoriu

Descrizzione

reset reset_n

1

Output

Resetta a logica interna di una interfaccia o cumpunente

à un statu definitu da l'utilizatori.

reset_req

1

Output

Opzionale Permette a generazione di richieste di reset, chì hè una prima

signale chì hè affirmatu prima di l'affirmazione di reset. Una volta

affirmatu, questu ùn pò micca esse deasserted finu à chì u reset hè

compie.

Specifiche di l'interfaccia Avalon® 10

Mandate Feedback

2. Avalon Clock è Resetten Interfaces 683091 | 2022.01.24

2.10. Ripristina e proprietà di l'interfaccia di a fonte

Tabella 8.

Resetta e proprietà di l'interfaccia

Nome

Valore predeterminatu

Valori Legali

Descrizzione

associatu Clock

N/A

un clock

U nome di un clock à quale sta interfaccia

nomu

sincronizatu. Ubligatoriu se u valore di

synchronousEdges hè DEASSERT o BOTH.

assuciatu DirectReset

N/A

un reset

U nome di l'input di reset chì guida direttamente questu

nomu

resettate a fonte attraversu un ligame unu à unu.

associati ResetSinks

N/A

un reset

Specifica l'input di reset chì causanu una fonte di reset

nomu

affirmà reset. Per esample, un reset synchronizer chì

esegue un'operazione OR cù più inputs di reset à

generà un output di reset.

bordi sincroni

DEASSERT

NESSUN DESERT
TAMBI

Indica a sincronizazione di l'output di reset. I seguenti valori sò definiti:
· NONEL'interfaccia di reset hè asincrona.
· DEASSERTl'asserzione di reset hè asincrona è a deassertion hè sincrona.
· L'affirmazione di reset è a disattivazione sò sincrone.

Mandate Feedback

Specifiche di l'interfaccia Avalon® 11

683091 | 2022.01.24 Mandate Feedback
3. Interfacce Avalon Memory-Mapped
3.1. Introduzione à l'interfacce Avalon Memory-Mapped
Pudete aduprà interfacce Avalon Memory-Mapped (Avalon-MM) per implementà interfacce di lettura è scrittura per i cumpunenti Host è Agent. I seguenti sò example di cumpunenti chì tipicamente includenu interfacce mappate in memoria: · Microprocessori · Memorie · UART · DMA · Timers L'interfaccia Avalon-MM varieghja da semplice à cumplessa. Per esample, l'interfaccia SRAM chì anu trasferimenti di lettura è scrittura di ciculu fissu sò interfaccia simplici Avalon-MM. L'interfacce pipelined capaci di trasferimenti di burst sò cumplessi.

Intel Corporation. Tutti i diritti riservati. Intel, u logu Intel è altri marchi Intel sò marchi di Intel Corporation o di e so filiali. Intel garantisce a prestazione di i so prudutti FPGA è semiconduttori à e specificazioni attuali in cunfurmità cù a garanzia standard di Intel, ma si riserva u dirittu di fà cambiamenti à qualsiasi prudutti è servizii in ogni mumentu senza avvisu. Intel ùn assume alcuna rispunsabilità o responsabilità derivante da l'applicazione o l'usu di qualsiasi informazione, pruduttu o serviziu descritti quì, salvu cum'è espressamente accunsentutu in scrittura da Intel. I clienti di Intel sò cunsigliati per ottene l'ultima versione di e specificazioni di u dispositivu prima di confià nantu à qualsiasi infurmazione publicata è prima di fà ordini per prudutti o servizii. * Altri nomi è marche ponu esse rivendicate cum'è a pruprietà di l'altri.

ISO 9001: 2015 Registratu

3. Avalon Memory-Mapped Interfaces 683091 | 2022.01.24

Figura 5.

Focus on Avalon-MM Agent Transfers
A figura seguente mostra un sistema tipicu, chì mette in risaltu a cunnessione di l'interfaccia di l'agente Avalon-MM à u tissu d'interconnessione.
Ethernet PHY

Valon-MM System
Processore Avalon-MM
Host

Ethernet MAC
Avalon-MM Host

Logica persunalizata
Avalon-MM Host

Interconnect

Agente Avalon-MM
Controller Flash

Agente Avalon-MM
Controller SRAM

Agente Avalon-MM
Controller RAM

Agente Avalon-MM
UART

AvAavloanlon- MM SlaAvgeePnotrt
Lor Custom
Lògica

Tristate Conduit Agent
Tristate Conduit Pin Sharer & Tristate Conduit Bridge
Tristate Conduit Host

Tristate Conduit Agent
Memoria flash

Tristate Conduit Agent
Memoria SRAM

Memoria RAM

RS-232

I cumpunenti Avalon-MM tipicamente includenu solu i signali necessarii per a logica di cumpunenti.

Mandate Feedback

Specifiche di l'interfaccia Avalon® 13

3. Avalon Memory-Mapped Interfaces 683091 | 2022.01.24

Figura 6.

Exampu cumpunente di l'agente

U perifericu I/O generale di 16 bit mostratu in a figura seguente risponde solu à e dumande di scrittura. Stu cumpunente include solu i signali di l'Agent necessariu per i trasferimenti di scrittura.

Avalon-MM Peripheral writedata [15..0] D

Applicazione -

Q

pio_out[15..0] Specific
Interfaccia

Interfaccia Avalon-MM
(Interfaccia di l'agente di scrittura Avalon-MM)
clk

CLK_EN

Ogni signale in un agente Avalon-MM currisponde à esattamente un rolu di signale Avalon-MM. Una interfaccia Avalon-MM pò aduprà solu una istanza di ogni rolu di signale.

3.2. Avalon Memory Mapped Interface Signal Roles

I roli di signali definiscenu i tipi di signali chì i porti di l'ospiti è di l'agenti mappati in memoria Avalon permettenu.

Questa specificazione ùn hà micca bisognu di tutti i signali per esisti in una interfaccia di mappa di memoria Avalon. Ùn ci hè un signalu chì hè sempre necessariu. I requisiti minimi per una interfaccia mappata di memoria Avalon sò readdata per una interfaccia di sola lettura, o scrive dati è scrive per una interfaccia di scrittura solu.

A tavula seguente elenca i roli di signale per l'interfaccia di mappa di memoria Avalon:

Tabella 9.

Avalon Memory Mapped Signal Roles
Certi signali mappati di memoria Avalon pò esse attivu altu o attivu bassu. Quandu attivu bassu, u nomu signale finisci cù _n.

Rolu di signale

Larghezza

Direzzione

Ubligatoriu

Descrizzione

indirizzu

1 - 64 Agente d'Ospitu

byteenable byteenable_n

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

Agente d'ospiti

Segnali fundamentali

Innò

Hosts: Per automaticamente, u signale di l'indirizzu rapprisenta un byte

indirizzu. U valore di l'indirizzu deve alignà à a larghezza di dati.

Per scrive à byte specifichi in una parolla di dati, l'ospite deve aduprà

u signalu byteenable. Vede l'interfaccia addressUnits

pruprietà per l'indirizzu di e parolle.

Agenti: Per automaticamente, l'interconnessione traduce l'indirizzu di byte in un indirizzu parola in u spaziu di l'indirizzu di l'agente. Da a perspettiva di l'agente, ogni accessu di l'agente hè per una parolla di dati.

Per esample, indirizzu = 0 selezziunate a prima parolla di l'agente. indirizzu = 1 selezziunate a seconda parolla di l'agente. Vede a pruprietà di l'interfaccia addressUnits per l'indirizzu di byte.

Innò

Permette una o più corsie di byte specifiche durante i trasferimenti

interfacce di larghezza più grande di 8 bit. Ogni bit in byteenable

currisponde à un byte in writedata è readdata. L'ospite

pocu of byteenable indica se byte hè esse

cuntinuò…

Specifiche di l'interfaccia Avalon® 14

Mandate Feedback

3. Avalon Memory-Mapped Interfaces 683091 | 2022.01.24

Rolu di signale
debugaccess read read_n readdata risposta [1: 0] write write_n writedata

Larghezza

Direzzione necessaria

Descrizzione

scrittu à. Durante i scrittura, i byteenables specificanu quali byte sò scritti. L'altri byte devenu esse ignorati da l'agente. Durante le letture, i byteenables indicano quali byte sta leggendo l'ospite. L'agenti chì simpricimenti tornanu i dati di lettura senza effetti secundari sò liberi di ignurà i byteenables durante a lettura. Se una interfaccia ùn hà micca un signalu byteenable, u trasferimentu procede cum'è se tutti i byteenables sò affirmati.
Quandu più di un bit di u segnu byteenable hè affirmatu, tutti i corsi affirmati sò adiacenti.

1

Agente d'ospiti

Innò

Quandu affirmatu, permette à u processatore Nios II di scrive nantu à u chip

ricordi cunfigurati cum'è ROM.

1

Agente d'ospiti

Innò

Affirmatu per indicà un trasferimentu di lettura. Se presente, readdata hè

necessariu.

8, 16, Agente Host

Innò

A readdata guidata da l'agente à l'ospite in risposta à

32,

un trasferimentu di lettura. Ubligatoriu per l'interfacce chì supportanu a lettura.

64,

128,

256,

512,

1024

2

Agent Host

Innò

U signale di risposta hè un signale facultativu chì porta u

status di risposta.

Nota: Perchè u signale hè spartutu, una interfaccia ùn pò micca emette o accettà una risposta di scrittura è una risposta di lettura in u stessu ciclu di clock.

· 00: OKAY - Risposta successu per una transazzione.

· 01: RESERVED–A codificazione hè riservata.

· 10: SLVERR-Errore da un agente endpoint. Indica una transazzione senza successu.

· 11: DECODEERROR-Indica un tentativu di accessu à un locu indefinitu.

Per leghje risposte:

· Una risposta hè mandata cù ogni readdata. Una lunghezza di burst di lettura di N dà risultati in N risposte. Meno risposte ùn sò micca valide, ancu in casu d'errore. U valore di u signale di risposta pò esse diversu per ogni readdata in u burst.

· L'interfaccia deve avè lettu signali di cuntrollu. U supportu di pipeline hè pussibule cù u signale readdatavalid.

· Nantu à l'errore di lettura, i readdata currispundenti hè "ùn importa".

Per scrive risposte:

· Una risposta di scrittura deve esse mandata per ogni cumanda di scrittura. Un burst di scrittura risulta in una sola risposta, chì deve esse mandata dopu chì u trasferimentu di scrittura finali in u burst hè accettatu.

· Se writeresponsevalid hè presente, tutti i cumandamenti di scrittura deve esse cumpletati cù risposte di scrittura.

1

Agente d'ospiti

Innò

Affirmatu per indicà un trasferimentu di scrittura. Se presente, writedata hè

necessariu.

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

Agente d'ospiti

Innò

Dati per i trasferimenti di scrittura. A larghezza deve esse uguali à u

larghezza di readdata se i dui sò prisenti. Hè necessariu per l'interfaccia

chì sustegnu scrive.

Aspittà-Statu Signals

cuntinuò…

Mandate Feedback

Specifiche di l'interfaccia Avalon® 15

3. Avalon Memory-Mapped Interfaces 683091 | 2022.01.24

Segnale Role Lock
waitrequest waitrequest_ n
readdatavali d readdatavali d_n
scrive risposte valide

larghezza 1
1
1 1

Direzzione necessaria

Descrizzione

Agente d'ospiti

Innò

lock assicura chì una volta un òspite vince l'arbitramentu, l'ospite vincitore

mantene l'accessu à l'agente per parechje transazzione. Lock

affirmazioni coincidente cù a prima lettura o scrittura di un chjusu

sequenza di transazzione. Lock desserts nantu à a finale

transazzione di una sequenza chjusa di transazzione. affirmazione di serratura

ùn guarantisci micca chì l'arbitramentu hè vintu. Dopu a serratura -

asserting host hè stata cuncessa, chì l'ospite conserva a cuncessione finu à

a serratura hè disattivata.

Un host equipatu di serratura ùn pò esse un host burst. I valori di priorità di l'arbitramentu per l'ospiti equipati di serratura sò ignorati.

lock hè particularmente utile per operazioni di lettura-modifica-scrittura (RMW). L'operazione tipica di lettura-modificazione-scrittura include i seguenti passi:

1. L'ospite A affirmeghja u serratura è leghje e dati di 32 bit chì anu parechje campi di bit.

2. Host A deasserts serratura, cambia un campu di bit, è scrive i dati 32-bit torna.

lock impedisce à l'ospite B di eseguisce una scrittura trà a lettura è a scrittura di Host A.

Agent Host

Innò

Un agente affirmeghja a dumanda d'attesa quandu ùn pò micca risponde à a

leghje o scrive dumanda. Forza l'ospite à aspittà finu à u

interconnect hè prontu à prucede cù u trasferimentu. À u principiu di

tutti i trasferimenti, un òspite inizia u trasferimentu è aspetta finu à

a dumanda di attesa hè annullata. Un òspite ùn deve fà alcuna supposizione

circa u statu di l'affirmazione di waitrequest quandu l'ospite hè inattivu:

waitrequest pò esse altu o bassu, secondu u sistema

pruprietà.

Quandu a dumanda d'attesa hè affirmata, i segnali di cuntrollu di l'ospiti à l'agente devenu esse custanti eccettu per beginbursttransfer. Per un diagramma di timing chì illustra u signale di trasferimentu di startburst, riferite à a figura in Read Bursts.

Un agente mappatu di memoria Avalon pò affirmà a dumanda d'attesa durante i cicli inattivi. Un host mappatu di memoria Avalon pò inizià una transazzione quandu a dumanda di waitrequest hè affirmata è aspittà chì quellu signalu sia dispostu. Per evità u bloccu di u sistema, un dispositivu di l'agente deve affirmà a dumanda d'attesa quandu hè in reset.

Segnali di Pipeline

Agent Host

Innò

Adupratu per a latenza variabile, trasferimenti di lettura pipeline. Quandu

affirmatu, indica chì u signale readdata cuntene dati validi.

Per una lettura burst cù u valore di burstcount , u

readdata signal validu deve esse affirmatu volte, una volta per

ogni item readdata. Ci deve esse almenu un ciclu di latenza

trà l'accettazione di a lettura è l'affirmazione di

readdata validu. Per un diagramma di timing chì illustra u signalu di lettura di dati validu, fate riferimentu à Trasferimentu di Lettura Pipelined cù Latenza Variabile.

Un agentu pò affirmà readdatavalid per trasfiriri dati à l'ospitu indipindentamente da se l'agente stallà un novu cumandamentu cù waitrequest.

Necessario se l'ospite supporta letture pipeline. L'ospiti di bursting cù funziunalità di lettura devenu include u signale readdatavalid.

Agent Host

Innò

Un signalu facultativu. Se prisenti, i prublemi di l'interfaccia scrivenu

risposti per i cumandamenti di scrittura.

Quandu affirmatu, u valore nantu à u signale di risposta hè una risposta di scrittura valida.

Writeresponsevalid hè affirmatu solu un ciclu di clock o più dopu chì u cumandamentu di scrittura hè accettatu. Ci hè almenu una latenza di u ciclu di u clock da l'accettazione di u cumandamentu à l'affirmazione

scrive risposta valida.

cuntinuò…

Specifiche di l'interfaccia Avalon® 16

Mandate Feedback

3. Avalon Memory-Mapped Interfaces 683091 | 2022.01.24

Rolu di signale

Larghezza

Direzzione necessaria

Descrizzione

Un cumandamentu di scrittura hè cunsideratu accettatu quandu l'ultimu battutu di u burst hè emessu à l'agente è waitrequest hè bassu. writeresponsevalid pò esse affirmatu unu o più cicli di clock dopu chì l'ultimu battutu di u burst hè statu emessu.

burstcount

1 11 Agente d'ospiti

Segnali Burst

Innò

Adupratu da l'ospiti di bursting per indicà u numeru di trasferimenti in

ogni burst. U valore di u paràmetru massimu di burstcount

deve esse una putenza di 2. Una interfaccia burstcount di larghezza pò codificà un burst massimu di taglia 2 ( -1). Per esample, un 4-bit

U signale di burstcount pò sustene un numeru massimu di burst 8.

U burstcount minimu hè 1. The

A pruprietà constantBurstBehavior cuntrola u timing di u

signale di burstcount. L'ospiti di bursting cù funziunalità di lettura deve

include u signale readdata validu.

Per l'ospiti è l'agenti chì utilizanu l'indirizzi di byte, a seguente restrizione si applica à a larghezza di l'indirizzu:

>= +
log2( )
Per l'ospiti è l'agenti chì utilizanu indirizzi di parolle, u termu log2 sopra hè omesso.

beginbursttr

1

Interconnect

risponde

Agente

Innò

Asserted for the first cycle of a burst per indicà quandu un burst

trasferimentu principia. Stu signalu hè deasserted dopu un ciclu

indipendentemente da u valore di waitrequest. Per un diagramma di timing

illustrandu beginbursttransfer, riferite à a figura in Read

Scoppi.

beginbursttransfer hè facultativu. Un agentu pò sempre calculà internamente l'iniziu di a prossima transazzione di burst di scrittura cuntendu i trasferimenti di dati.

Attenzione: ùn aduprate micca stu signalu. Stu signale esiste per sustene i controller di memoria legacy.

3.3. Pruprietà di l'interfaccia

Table 10. Pruprietà di l'interfaccia Avalon-MM

Nome indirizzu Unità

Valore predeterminatu
Agente di simboli di l'ospiti -
parolle

Valori Legali
parolle, simboli

Descrizzione
Specifica l'unità per l'indirizzi. Un simbulu hè tipicamente un byte. Fate riferimentu à a definizione di l'indirizzu in a tabella di Tipi di Signal Interface Mapped Avalon per l'usu tipicu di sta pruprietà.

alwaysBurstMaxBurst burstcountUnits

parolle false

veru, falsu
parolle, simboli

Quandu hè vera, indica chì l'ospite sempre emette u burst di lunghezza massima. A durata massima di burst hè 2burstcount_width - 1. Stu paràmetru ùn hà micca effettu per l'interfaccia di l'agenti Avalon-MM.
Questa pruprietà specifica l'unità per u signale di burstcount. Per i simboli, u valore di burstcount hè interpretatu cum'è u numeru di simboli (bytes) in u burst. Per e parolle, u valore di burstcount hè interpretatu cum'è u numeru di trasferimenti di parolle in u burst.

burstOnBurstBoundariesOnly

falsu

veru, falsu

S'ellu hè veru, i trasferimenti di burst presentati à questa interfaccia cumincianu à l'indirizzi chì sò multiplici di a dimensione massima di burst.
cuntinuò…

Mandate Feedback

Specifiche di l'interfaccia Avalon® 17

3. Avalon Memory-Mapped Interfaces 683091 | 2022.01.24

Nome constantBurstBehavior
holdTime(1) linewrapBursts
Transazioni massimePendingRead (1)
maximumPendingWriteTransact ions minimumResponseLatency

Valore predefinitu Host -false Agente -false
0 falsi
1 (2)
0 1

Valori Legali veri, falsi
0 1000 cicli
veru, falsu
1 64
1 64

Descrizzione
Hosts: Quandu hè veru, dichjara chì l'ospitu mantene l'indirizzu è u burstcount constant durante una transazzione burst. Quandu hè falsu (predeterminatu), dichjara chì l'ospitu mantene l'indirizzu è u burstcount constantu solu per u primu battutu di un burst. Agenti: Quandu hè veru, dichjara chì l'agente aspetta chì l'indirizzu è u burstcount si mantenenu custanti durante una burst. Quandu false (default), dichjara chì l'agente sampl'indirizzu è burstcount solu nantu à u primu battutu di un burst.
Specifica u tempu in timingUnits trà l'annullamentu di scrittura è l'annullamentu di l'indirizzu è i dati. (Applica solu per scrive transazzione.)
Certi dispositi di memoria implementanu un burst wrapping invece di un burst crescente. Quandu un burst wrapping righjunghji un cunfini di burst, l'indirizzu torna à u cunfini di burst precedente. Solu i loworder bits sò richiesti per u conte di indirizzu. Per esample, un burst wrapping à l'indirizzu 0xC cù i limiti di burst ogni 32 byte attraversu una interfaccia di 32 bit scrive à i seguenti indirizzi: · 0xC · 0x10 · 0x14 · 0x18 · 0x1C · 0x0 · 0x4 · 0x8
Agenti: Stu paràmetru hè u numeru massimu di letture pendenti chì l'agente pò mette in fila. U valore deve esse micca zero per qualsiasi agentu cù u signale readdatavalid.
Vede u Trasferimentu di Lettura Pipelined cù Latenza Variabile per un diagramma di timing chì illustra sta pruprietà è per infurmazioni supplementari nantu à l'usu di waitrequest è readdata validu cù parechje letture eccezziunale.
Hosts: Questa pruprietà hè u numeru massimu di transazzione di lettura eccezziunale chì l'ospite pò generà.
Nota: Ùn fate micca stu paràmetru à 0. (Per a cumpatibilità inversa, u software sustene un paràmetru di 0. Tuttavia, ùn deve micca aduprà sta paràmetru in novi disinni).
U numeru massimu di scritturi pendenti non publicati chì un agente pò accettà o un òspite pò emette. Un agentu affirmeghja waitrequest una volta chì l'interconnessione righjunghji stu limitu, è l'ospitu ferma l'emissione di cumandamenti. U valore predeterminatu hè 0, chì permette transazzione di scrittura pendente illimitata per un òspite chì sustene risposte di scrittura. Un agente chì sustene e risposte di scrittura deve stabilisce questu à un valore micca zero.
Per interfacce chì supportanu readdatavalid o writeresponsevalid, specifica u numeru minimu di cicli trà un cumandamentu di lettura o scrittura è a risposta à u cumandamentu.
cuntinuò…

Specifiche di l'interfaccia Avalon® 18

Mandate Feedback

3. Avalon Memory-Mapped Interfaces 683091 | 2022.01.24

Name readLatency (1) readWaitTime (1) setupTime (1) timingUnits (1) waitrequestAllowance
scriveWaitTime (1)
associatu Clock

Valore predeterminatu

Valori Legali

Descrizzione

0

0 63

Leghjite a latenza per l'agenti Avalon-MM à latenza fissa. Per a

diagramma di timing chì usa una lettura di latenza fissa, riferite

Trasferimenti di lettura in pipeline cù latenza fissa.

L'agenti Avalon-MM chì sò latenza fissa devenu furnisce un valore per questa pruprietà di l'interfaccia. agenti Avalon-MM

chì sò latenza variabile utilizanu u signale readdatavalid per specificà e dati validi.

1

0 1000 Per l'interfacce chì ùn utilizanu micca u waitrequest

ciculi

signale. readWaitTime indica u timing in

timingUnits prima chì l'agenti accettanu una lettura

cumanda. U timing hè cum'è se l'agente hà dichjaratu

waitrequest per i ciculi readWaitTime.

0

0 1000 Specifica u tempu in timingUnits trà l'affirmazioni

ciculi

di indirizzu è dati è affirmazioni di leghje o scrive.

ciculi

cicli,
nanosecondi s

Specifica l'unità per setupTime, holdTime,
writeWaitTime è readWaitTime. Aduprà ciculi per i dispositi sincroni è nanosecondi per i dispositi asincroni. Quasi tutti i dispositi agenti Avalon-MM sò sincroni.
Un cumpunente Avalon-MM chì ponte da una interfaccia d'agente AvalonMM à un dispositivu off-chip pò esse asincronu. Ddu dispositivu off-chip puderia avè un tempu di stabilimentu fissu per a rotazione di l'autobus.

0

Specifica u numeru di trasferimenti chì ponu esse emessi o

accettatu dopu chì a dumanda d'attesa hè affermata.

Quandu u waitrequestAllowance hè 0, a scrittura,
i signali di leghje è waitrequest mantenenu u so cumpurtamentu esistenti cum'è discrittu in a tavola Avalon-MM Signal Roles.

Quandu u waitrequestAllowance hè più grande di 0, ogni ciculu di u clock in quale scrive o leghje hè affirmatu conta cum'è un trasferimentu di cumanda. Una volta chì a richiesta di waitrequest hè affermata, solu waitrequestAllowance più trasferimenti di cumanda sò legali mentre a waitrequest resta affermata. Dopu chì a waitrequestAllowance hè ghjunta, a scrittura è a lettura deve esse disattivata per u tempu chì a waitrequest hè affermata.

Una volta waitrequestdesserts, i trasferimenti ponu ripiglià in ogni mumentu senza restrizioni finu à chì waitrequest afferma di novu. À questu tempu, waitrequestAllowance più trasferimenti ponu esse cumplette mentre waitrequest resta affirmatu.

0

0 1000 Per l'interfacce chì ùn utilizanu micca u waitrequest

Cicli

signal, writeWaitTime specifica u timing in

timingUnits prima chì un agente accetta una scrittura. U

u timing hè cum'è se l'agente affirmò waitrequest per writeWaitTime cycles o nanosecondi.

Per un diagramma di timing chì illustra l'usu di writeWaitTime, riferite à Read and Write Transfers with Fixed Wait-States.

Pruprietà di a relazione di l'interfaccia

N/A

N/A

Nome di l'interfaccia di u clock à quale sta Avalon-MM

l'interfaccia hè sincrona.

cuntinuò…

Mandate Feedback

Specifiche di l'interfaccia Avalon® 19

3. Avalon Memory-Mapped Interfaces 683091 | 2022.01.24

Nome

Valore predeterminatu

Valori Legali

Descrizzione

assuciatu Reset

N/A

N/A

Nome di l'interfaccia di reset chì resetta a logica

sta interfaccia Avalon-MM.

bridgesToHost

0

Avalon-MM Un ponte Avalon-MM hè custituitu da un agente è un host,

Nome d'ospite è hà a pruprietà chì un accessu à l'agente

nantu à u

dumandà un byte o byte provoca u listessu byte o

listessu

bytes da esse dumandati da l'ospite. L'Avalon-MM

cumpunente Pipeline Bridge in u cumpunente Platform Designer

biblioteca implementa sta funziunalità.

Note:
1. Ancu s'ellu sta pruprietà carattirizza un dispositivu di l'agente, l'ospiti ponu dichjarà sta pruprietà per attivà e cunnessione dirette trà l'interfacce di l'ospite è l'agente.
2. Se una interfaccia d'agente accetta più trasferimenti di lettura di ciò chì hè permessu, l'interconnessione pendente di lettura FIFO pò overflow cù risultati imprevisible. L'agente pò perde i dati di lettura o di perdiri i dati di lettura à l'interfaccia d'ospite sbagliata. Or, u sistema pò chjude. L'interfaccia di l'agente deve affirmà a dumanda di wait per impedisce stu overflow.

Infurmazioni correlate · Ruoli di signale di l'interfaccia mappata di memoria Avalon à a pagina 14 · Risposte di lettura è scrittura à a pagina 34 · Trasferimentu di lettura in pipeline cù latenza variabile à a pagina 28 · Trasferimenti di lettura in pipeline cù latenza fissa à a pagina 29 · Risposte di lettura è scrittura
In Platform Designer User Guide: Intel Quartus® Prime Pro Edition

3.4. Timing
L'interfaccia Avalon-MM hè sincrona. Ogni interfaccia Avalon-MM hè sincronizata à una interfaccia di clock associata. I signali ponu esse cumminativi s'ellu sò guidati da i outputs di registri chì sò sincroni à u signale di u clock. Questa specificazione ùn detta micca cumu o quandu i signali passanu trà i bordi di u clock. I diagrammi di timing sò privi di infurmazioni di timing fine.

3.5. Trasferimenti
Questa sezione definisce dui cuncetti basi prima di introduci i tipi di trasferimentu:
· Trasferimentu-Un trasferimentu hè una operazione di lettura o scrittura di una parolla o unu o più simbulu di dati. I trasferimenti accadenu trà una interfaccia Avalon-MM è l'interconnessione. I trasferimenti piglianu unu o più cicli di clock per compie.
I dui ospiti è agenti sò parte di un trasferimentu. L'ospite Avalon-MM inizia u trasferimentu è l'agente Avalon-MM risponde.
· Coppia Host-Agent-Stu terminu si riferisce à l'interfaccia di l'ospite è l'interfaccia di l'agente implicati in un trasferimentu. Durante un trasferimentu, u cuntrollu di l'interfaccia di l'ospite è i segnali di dati passanu à traversu u tissu d'interconnessione è interagisce cù l'interfaccia di l'agente.

Specifiche di l'interfaccia Avalon® 20

Mandate Feedback

3. Avalon Memory-Mapped Interfaces 683091 | 2022.01.24

3.5.1. Trasferimenti tipici di lettura è scrittura

Questa sezione descrive una tipica interfaccia Avalon-MM chì supporta i trasferimenti di lettura è scrittura cù waitrequest cuntrullati da agenti. L'agente pò stallà l'interconnessione per quanti ciculi quant'è necessariu, affirmannu u signale di richiesta d'attesa. Se un agente usa waitrequest per i trasferimenti di lettura o scrittura, l'agente deve aduprà waitrequest per i dui.

Un agentu riceve tipicamente l'indirizzu, byteenable, leghje o scrive, è scrive dati dopu à u filu crescente di u clock. Un agentu affirmeghja a dumanda d'attesa prima di u latu di l'orologio crescente per frenà i trasferimenti. Quandu l'agente affirmeghja waitrequest, u trasferimentu hè ritardatu. Mentre a dumanda d'attesa hè affirmata, l'indirizzu è altri signali di cuntrollu sò tenuti custanti. Trasferimenti cumpleti nantu à a riva di u primu clk dopu chì l'interfaccia di l'agente annulla a richiesta di attesa.
Ùn ci hè micca limitu nantu à quantu tempu una interfaccia d'agente pò stallà. Dunque, duvete assicurà chì una interfaccia di l'agente ùn affirmeghja micca a dumanda indefinitu. A figura seguente mostra i trasferimenti di lettura è scrittura cù waitrequest.

Nota:

waitrequest pò esse disaccoppiatu da i signali di dumanda di lettura è scrittura. waitrequest pò esse affirmatu durante i cicli idle. Un òspite Avalon-MM pò inizià una transazzione quandu waitrequest hè affirmatu è aspittà chì u signale sia deasserted. A separazione di a richiesta di attesa da e richieste di lettura è scrittura pò migliurà u timing di u sistema. U disaccoppiamentu elimina un ciclu cumminativu cumpresi i signali di lettura, scrittura è richiesta d'attesa. Sè ancu più disaccoppiamentu hè necessariu, utilizate a pruprietà waitrequestAllowance. waitrequestAllowance hè dispunibule à partesi da a versione Quartus® Prime Pro v17.1 Stratix® 10 ES Editions.

Figura 7.

Leghjite è Scrivite Trasferimenti cù Waitrequest

1

2

clk

3

4

5

indirizzu

indirizzu

byteenable

byteenable

leghje scrive waitrequest readdata

leghje i dati

risposta

risposta

scrive dati

6

7

scrive dati

Mandate Feedback

Specifiche di l'interfaccia Avalon® 21

3. Avalon Memory-Mapped Interfaces 683091 | 2022.01.24
I numeri in stu diagramma di u tempu, marcanu i seguenti transizzioni: 1. indirizzu, byteenable, è leghje sò affirmati dopu à u rising edge di clk. U
l'agente affirmeghja waitrequest, stalling u trasferimentu. 2. waitrequest hè samppurtatu. Perchè waitrequest hè affirmatu, u ciculu diventa
un statu di attesa. indirizzu, leghje, scrive è byteenable restanu custanti. 3. L'agente deasserts waitrequest dopu à a rising edge of clk. L'agente dice
leghje i dati è a risposta. 4. L'ostia samples readdata, risposta è waitrequest deasserted
compie u trasferimentu. 5. indirizzu, writedata, byteenable, è scrive signali sò affirmatu dopu à u
bordu ascendante di clk. L'agente affirmeghja a dumanda di attesa chì ferma u trasferimentu. 6. L'agente deasserts waitrequest dopu à a rising edge of clk. 7. L'agente captures scrive dati chì finiscinu u trasferimentu.

Specifiche di l'interfaccia Avalon® 22

Mandate Feedback

3. Avalon Memory-Mapped Interfaces 683091 | 2022.01.24

3.5.2. Trasferimenti Utilizendu a pruprietà waitrequest Allowance

A pruprietà waitrequestAllowance specifica u numeru di trasferimenti chì un host AvalonMM pò emette o un agente Avalon-MM deve accettà dopu chì u signale di waitrequest hè affirmatu. waitrequestAllowance hè dispunibule à partesi da a versione di u software Intel Quartus Prime 17.1.
U valore predeterminatu di waitrequestAllowance hè 0, chì currisponde à u cumpurtamentu descrittu in Trasferimenti tipici di lettura è scrittura, induve l'affirmazione di waitrequest impedisce u trasferimentu attuale da esse emessu o accettatu.
Un agentu Avalon-MM cù un waitrequestAllowance più grande di 0 avissi tipicamente affirmà waitrequest quandu u so buffer internu pò accettà solu waitrequestAllowance più entrate prima di diventà pienu. L'ospiti Avalon-MM cun waitrequestAllowance più grande di 0 anu waitrequestAllowance ciculi supplementari per piantà di mandà trasferimenti, chì permette più pipelining in a logica di l'ospite. L'ospitu deve annunzià u signale di lettura o scrittura quandu l'indemnità d'attesa hè stata spesa.
I valori di waitrequestAllowance più grande di 0 supportanu u disignu d'alta velocità induve e forme immediate di backpressure pò esse risultatu in una caduta di a frequenza massima di u funziunamentu (FMAX) spessu per via di a logica cumminatoria in u percorsu di cuntrollu. Un agente Avalon-MM deve sustene tutti i timings di trasferimentu pussibuli chì sò legali per u so valore di waitrequestAllowance. Per esample, un agentu cù waitrequestAllowance = 2 deve esse capace di accettà qualsiasi di e forme d'onda di trasferimentu di l'ospiti mostrate in l'ex.amples.

Informazioni correlate Trasferimenti tipici di lettura è scrittura a pagina 21

3.5.2.1. waitrequestAllowance Equals Two
U diagramma di timing seguente illustra u timing per un host Avalon-MM chì hà dui cicli di clock per inizià è cessà di mandà trasferimenti dopu chì l'agente Avalon-MM dessert o affirmeghja waitrequest, rispettivamente.

Figura 8. Host scrive: waitrequestAllowance Equals Two Clock Cycles

1 2

3 4

5

6

clock

scrive

dumanda d'aspittà

dati[7:0]

A0 A1 A2

A3 A4

B0 B1

B3

Mandate Feedback

Specifiche di l'interfaccia Avalon® 23

3. Avalon Memory-Mapped Interfaces 683091 | 2022.01.24

I marcatori in questa figura marcanu i seguenti avvenimenti:
1. L'Avalon-MM> host drives scrive è dati.
2. L'agente Avalon-MM> affirmeghja waitrequest. Perchè u waitrequestAllowance hè 2, l'ospitu hè capace di compie i 2 trasferimenti di dati supplementari.
3. L'ospiti di deasserts scrivenu cum'è necessariu perchè l'agente affirmeghja waitrequest per un terzu ciclu.
4. L'Avalon-MM> host drives scrive è dati. L'agente ùn affirmeghja micca a dumanda d'attesa. I scritti cumpletu.
5. L'ospite Avalon conduce scrittura è dati ancu s'è l'agente affirmeghja waitrequest. Perchè u waitrequestAllowance hè di 2 cicli, a scrittura finisci.
6. L'ospiti Avalon conduce scrittura è dati. L'agente ùn affirmeghja micca a dumanda d'attesa. A scrittura finisci.

3.5.2.2. waitrequestAllowance hè uguale à unu
U diagramma di timing seguente illustra u timing per un host Avalon-MM chì hà un ciclu di clock per inizià è cessà di mandà trasferimenti dopu chì l'agente Avalon-MM dessert o affirmeghja waitrequest, rispettivamente:
Figura 9. Scrittura Host: waitrequestAllowance Equals One Clock Cycle

1 cl

23 4

5

6 7

8

scrive

dumanda d'aspittà

dati[7:0]

A0 A1 A2

A3 A4

B0

B1 B2

B3

I numeri in questa figura marcanu i seguenti avvenimenti:
1. L'ospite Avalon-MM conduce scrittura è dati.
2. L'agente Avalon-MM affirmeghja waitrequest. Perchè u waitrequestAllowance hè 1, l'ospite pò compie a scrittura.
3. L'ospiti deasserts scrive perchè l'agente affirmeghja waitrequest per un secondu ciclu.
4. L'ospite Avalon-MM conduce scrittura è dati. L'agente ùn affirmeghja micca a dumanda d'attesa. I scritti cumpletu.
5. L'agente affirmeghja waitrequest. Perchè u waitrequestAllowance hè 1 ciclu, a scrittura hè cumpleta.

Specifiche di l'interfaccia Avalon® 24

Mandate Feedback

3. Avalon Memory-Mapped Interfaces 683091 | 2022.01.24

6. Avalon-MM host drives scrive è dati. L'agente ùn affirmeghja micca a dumanda d'attesa. A scrittura finisci.
7. L'agente Avalon-MM affirmeghja waitrequest. Perchè u waitrequestAllowance hè 1, l'ospite pò compie un trasferimentu di dati supplementu.
8. L'ospiti Avalon conduce scrittura è dati. L'agente ùn affirmeghja micca a dumanda d'attesa. A scrittura finisci.

3.5.2.3. waitrequestAllowance Uguali à dui - Ùn hè micca cunsigliatu

U schema seguente illustra u timing per un òspite Avalon-MM> chì pò mandà dui trasferimenti dopu chì waitrequest hè affirmatu.

Stu timing hè legale, ma micca cunsigliatu. In questu exampl'ospitu conta u numeru di transacciones invece di u numeru di ciculi di clock. Stu approcciu richiede un contatore chì rende l'implementazione più cumplessa è pò influenzà a chiusura di u timing.
Quandu l'ospite determina quandu per guidà e transazzione cù u signale di waitrequest è un numeru constante di ciculi, l'ospitu principia o ferma e transazzione basatu nantu à i signali registrati.

Figura 10. waitrequestAllowance Equals Two Transfers

1 23 cl

45

6

7

scrive

dumanda d'aspittà

dati

I numeri in questa figura marcanu i seguenti avvenimenti: 1. L'ospitu Avalon-MM> affirmeghja scrive è cunduce dati.
2. L'agente Avalon-MM> affirmeghja waitrequest.
3. L'Avalon-MM> host drives scrive è dati. Perchè u waitrequestAllowance hè 2, l'ospite conduce dati in 2 cicli consecutivi.
4. L'Avalon-MM> host deasserts scrive perchè l'ospitu hà passatu u 2-trasferimentu waitrequestAllowance.
5. U Avalon-MM> òspite emette una scrittura appena waitrequest hè deasserted.
6. L'Avalon-MM> host drives scrive è dati. L'agente affirmeghja waitrequest per 1 ciclu.
7. In risposta à waitrequest, u Avalon-MM> òspite tene dati per 2 ciculi.

3.5.2.4. waitrequestAllowance Compatibilità per Avalon-MM Host and Agent Interfaces
L'ospiti è l'agenti Avalon-MM chì sustenenu u signale waitrequest supportanu a backpressure. L'ospiti cù backpressure ponu sempre cunnette cù l'agenti senza backpressure. L'ospiti senza backpressure ùn ponu micca cunnette à l'agenti cù backpressure.

Mandate Feedback

Specifiche di l'interfaccia Avalon® 25

3. Avalon Memory-Mapped Interfaces 683091 | 2022.01.24

Table 11. waitrequest Allowance Compatibilità per Avalon-MM Hosts and Agents

Host è Agente waitrequest Allowance

Cumpatibilità

host = 0 agent = 0
host = 0 agent > 0

Segui i stessi reguli di cumpatibilità cum'è l'interfacce standard Avalon-MM.
A cunnessione diretta ùn hè micca pussibule. L'adattazione simplice hè necessaria per u casu di un òspite cù un signalu di richiesta d'attesa. Una cunnessione hè impussibile se l'ospitu ùn sustene micca u signale waitrequest.

host > 0 agent = 0
host> 0 agent> 0

A cunnessione diretta ùn hè micca pussibule. L'adattazione (buffers) sò necessarii quandu si cunnetta à un agentu cù un signalu di richiesta d'attesa o stati d'attesa fissi.
Nisuna adattazione hè necessaria se l'indennità di l'ospite <= l'indennità di l'agente. Se l'indennità di l'ospite < l'indennità di l'agente, i registri di pipeline ponu esse inseriti. Per e cunnessione puntu à puntu, pudete aghjunghje i registri di pipeline nantu à i signali di cumandamentu o i signali waitrequest. Finu à registratu stages pò esse inseritu induve hè a diffarenza trà l'indennità. Cunnettendu un òspite cù una waitrequestAllowance più altu ch'è l'agente richiede un buffering.

3.5.2.5. waitrequestAllowance Error Conditions
U cumpurtamentu hè imprevisible per se una interfaccia Avalon-MM viola a specificazione di l'indennità di richiesta d'attesa.
· Se un òspite viola u waitrequestAllowance = specificazione mandendu più di trasferimenti, trasferimenti pò esse caduta o corruzzione dati pò accade.
· Se un agentu annuncia un waitrequestAllowance più grande di ciò chì hè pussibule, alcuni trasferimenti ponu esse abbandunati o a corruzzione di dati pò accade.
3.5.3. Leghjite è Scrive Trasferimenti cù Stati d'Attesa Fissi
Un agentu pò specificà stati d'attesa fissi utilizendu e proprietà readWaitTime è writeWaitTime. L'usu di stati d'attesa fissi hè una alternativa à aduprà waitrequest per stallà un trasferimentu. L'indirizzu è i signali di cuntrollu (byteenable, read, and write) sò tenuti custanti per a durata di u trasferimentu. Impostazione readWaitTime o writeWaitTime à equivale a affirmà a dumanda di aspetta cicli per trasferimentu.
In a figura seguente, l'agente hà un writeWaitTime = 2 è readWaitTime = 1.

Specifiche di l'interfaccia Avalon® 26

Mandate Feedback

3. Avalon Memory-Mapped Interfaces 683091 | 2022.01.24

Figura 11.

Trasferimentu di lettura è scrittura cù stati di attesa fissi in l'interfaccia di l'agente

1

2

3

4

5

clk

indirizzu

indirizzu

indirizzu

byteenable

byteenable

leghje

scrivite a risposta di readdata writedata

readdata risposta

scrive dati

I numeri in stu diagramma di timing marcanu e seguenti transizioni:
1. L'ospitu affirmeghja l'indirizzu è leghje nantu à u rising edge di clk.
2. U prossimu rising edge di clk marca a fine di u primu è solu ciculu d'attesa-statu. ReadWaitTime hè 1.
3. L'agente affirmeghja readdata è risposta nantu à u rising edge di clk. U trasferimentu di lettura finisci.
4. writedata, indirizzu, byteenable, è scrive signali sò disponibile à l 'agente.
5. U trasferimentu di scrittura finisci dopu à 2 cicli d'attesa-statu.
I trasferimenti cù un unicu statu d'attesa sò cumunimenti usati per i periferichi multicicli off-chip. U perifericu cattura l'indirizzu è i segnali di cuntrollu nantu à a riva ascendante di clk. U perifericu hà un ciclu sanu per rinvià e dati.
I cumpunenti cù zero stati d'attesa sò permessi. In ogni casu, cumpunenti cù zero stati d'attesa ponu diminuite a frequenza ottenibile. Zero wait-states richiede u cumpunente per generà a risposta in u stessu ciculu chì a dumanda hè stata presentata.

3.5.4. Trasferimenti Pipelined
I trasferimenti di lettura pipelined Avalon-MM aumentanu u throughput per i dispositi agenti sincroni chì necessitanu parechji cicli per rinvià e dati per u primu accessu. Tali dispusitivi ponu tipicamente rinvià un valore di dati per ciclu per qualchì tempu dopu. I novi trasferimenti di lettura pipelined ponu principià prima chì i dati di lettura per i trasferimenti precedenti sò tornati.
Un trasferimentu di lettura pipeline hà una fase di indirizzu è una fase di dati. Un òspite inizia un trasferimentu presentendu l'indirizzu durante a fase di indirizzu. Un agente cumpiendu u trasferimentu trasmettendu e dati durante a fase di dati. A fase di indirizzu per un novu trasferimentu (o trasferimenti multipli) pò principià prima chì a fase di dati di un trasferimentu precedente finisci. U ritardu hè chjamatu latenza di pipeline. A latenza di pipeline hè a durata da a fine di a fase di indirizzu à u principiu di a fase di dati.

Mandate Feedback

Specifiche di l'interfaccia Avalon® 27

3. Avalon Memory-Mapped Interfaces 683091 | 2022.01.24

U tempu di trasferimentu per i stati d'attesa è a latenza di pipeline anu e seguenti differenze chjave:
· Wait-states-Wait-states determinanu a durata di a fase di indirizzu. I stati d'attesa limitanu u massimu throughput di un portu. Se un agente richiede un statu d'attesa per risponde à una dumanda di trasferimentu, u portu richiede dui cicli di clock per trasferimentu.
· Latenza di Pipeline - A latenza di Pipeline determina u tempu finu à chì i dati sò restituiti indipindentamente da a fase di l'indirizzu. Un agente pipeline senza stati d'attesa pò sustene un trasferimentu per ciclu. Tuttavia, l'agente pò esse bisognu di parechji cicli di latenza per rinvià a prima unità di dati.
I stati di attesa è e letture pipeline ponu esse supportati simultaneamente. A latenza di pipeline pò esse fissa o variabile.

3.5.4.1. Trasferimentu di Lettura Pipelined cù Latenza Variabile
Dopu à catturà l'indirizzu è i signali di cuntrollu, un agentu pipelined Avalon-MM piglia unu o più cicli per pruduce dati. Un agente pipelined pò avè parechje trasferimenti di lettura pendenti in ogni mumentu.
Trasferimenti di lettura in pipeline à latenza variabile:
· Richiede un signalu supplementu, readdatavalid, chì indica quandu i dati letti sò validi.
· Includite u listessu inseme di signali cum'è trasferimenti di lettura senza pipeline.
In i trasferimenti di lettura pipelined à latenza variabile, i periferichi di l'Agent chì utilizanu readdatavalid sò cunsiderati pipelined cù latenza variabile. I signali readdata è readdatavalid chì currispundenu à un cumandamentu di lettura pò esse affirmatu u ciculu dopu chì u cumandamentu di lettura hè affirmatu, à u più prestu.
L'agente deve rinvià i readdata in u listessu ordine chì i cumandamenti di lettura sò accettati. I porti di agenti pipeline cù latenza variabile devenu aduprà waitrequest. L'agente pò affirmà a dumanda di stallà i trasferimenti per mantene un numeru accettabile di trasferimenti pendenti. Un agentu pò affirmà readdatavalid per trasfiriri dati à l'ospitu indipindentamente da se l'agente stallà un novu cumandamentu cù waitrequest.

Nota:

U numeru massimu di trasferimenti pendenti hè una pruprietà di l'interfaccia di l'agente. U tessulu di interconnessione crea una logica per indirizzà a lettura di i dati à l'ospiti dumandati chì utilizanu stu numeru. L'interfaccia di l'agente, micca a tela di interconnessione, deve seguità u numeru di letture pendenti. L'agente deve affirmà a dumanda di wait per impedisce chì u numeru di letture pendenti superi u numeru massimu. Se un agentu hà waitrequestAllowance> 0, l'agente deve affirmà a waitrequest abbastanza prima per chì i trasferimenti pendenti totali, cumpresi quelli accettati mentre waitrequest hè affermatu, ùn supere micca u numeru massimu di trasferimenti pendenti specificati.

Specifiche di l'interfaccia Avalon® 28

Mandate Feedback

3. Avalon Memory-Mapped Interfaces 683091 | 2022.01.24

Figura 12.

Trasferimenti di Lettura Pipelined cù Latenza Variabile

A figura seguente mostra parechji trasferimenti di lettura di l'agente. L'agente hè pipelined cù latenza variabile. In questa figura, l'agente pò accettà un massimu di dui trasferimenti pendenti. L'agente usa waitrequest per evità di superà stu massimu.

1

2

34

5

6

78

9

10

11

clk

indirizzu

addr1

addr2

addr3

addr4

addr5

leghje

dumanda d'aspittà

readdata readdatavalid

dati 1

dati 2

dati 3

dati 4

dati 5

I numeri in stu diagramma di u tempu, marcanu e seguenti transizioni:
1. L'ospiti affirmeghja l'indirizzu è leghje, inizendu un trasferimentu di lettura.
2. L'agente cattura addr1.
3. L'agente cattura addr2.
4. L'agente affirmeghja waitrequest perchè l'agente hà digià accettatu un massimu di duie letture pendenti, chì causanu u terzu trasferimentu à stallà.
5. L'agente affirmeghja data1, a risposta à addr1. L'agente annulla a dumanda di aspetta.
6. L'agente cattura addr3. L'interconnessione cattura dati1.
7. L'agente cattura addr4. L'interconnessione cattura dati2.
8. L'agente conduce readdatavalid è readdata in risposta à u terzu trasferimentu di lettura.
9. L'agente cattura addr5. L'interconnessione cattura dati3. U signale di lettura hè disattivatu. U valore di waitrequest ùn hè più pertinente.
10. L'interconnessione cattura data4.
11. L'agente conduce data5 è affirmeghja readdatavalid cumpiendu a fase di dati per u trasferimentu finali di lettura pendente.
Se l'agente ùn pò micca gestisce un trasferimentu di scrittura mentre trasfurmeghja i trasferimenti di lettura pendenti, l'agente deve affirmà a richiesta di wait è stallà l'operazione di scrittura finu à chì i trasferimenti di lettura pendenti sò finiti. A specificazione Avalon-MM ùn definisce micca u valore di readdata in casu chì un agentu accetta un trasferimentu di scrittura à u stessu indirizzu cum'è un trasferimentu di lettura pendente.
3.5.4.2. Trasferimenti di lettura in pipeline cù latenza fissa
A fase di indirizzu per i trasferimenti di lettura di latenza fissa hè identica à u casu di latenza variabile. Dopu à a fase di l'indirizzu, un pipelined cù una latenza di lettura fissa piglia un numeru fissu di cicli di clock per rinvià i dati validi. A pruprietà readLatency specifica u numeru di ciculi di clock per rinvià i dati di lettura validi. L'interconnessione cattura i dati di lettura nantu à u bordu di u clock rising adattatu, finendu a fase di dati.

Mandate Feedback

Specifiche di l'interfaccia Avalon® 29

3. Avalon Memory-Mapped Interfaces 683091 | 2022.01.24

Durante a fase di l'indirizzu, pò affirmà a dumanda di attesa per frenà u trasferimentu. Or, u specifica a readLatency per un numeru fissu di stati di attesa. A fase di l'indirizzu finisce nantu à u prossimu fronte ascendente di clk dopu i stati d'attesa, s'ellu ci hè.

Durante a fase di dati, i drive readdata dopu una latenza fissa. Per una latenza di lettura di , u deve presentà readdata validu nantu à u fronte crescente di clk dopu a fine di a fase di indirizzu.

Figura 13.

Trasferimentu di lettura pipelined cù latenza fissa di dui cicli

A figura seguente mostra parechje trasferimenti di dati trà un host è un pipelined. L'unità attese dumanda à stallà i trasferimenti è hà una latenza di lettura fissa di 2 cicli.

12

3

45

6

clk

indirizzu

addr1

addr2 addr3

leghje

dumanda d'aspittà

leghje i dati

dati 1

data2 data3

I numeri in questu diagramma di u tempu, marcanu e seguenti transizzioni: 1. Un òspite inizia un trasferimentu di leghje affirmannu read è addr1. 2. L'assert waitrequest à tene off u trasferimentu per un ciclu. 3. U cattura addr1 à u rising edge di clk. A fase di indirizzu finisci quì. 4. The presenta validu readdata dopu à 2 cicli, finiscinu u trasferimentu. 5. addr2 è leghje sò affirmati per un novu trasferimentu di lettura. 6. L 'ospiti iniziali un terzu trasferimentu leghje durante u ciclu prossimu, nanzu i dati da
u trasferimentu prima hè tornatu.

3.5.5. Trasferimenti Burst
Un burst esegue parechje trasferimenti cum'è unità, invece di trattà ogni parolla indipindente. I bursts ponu aumentà u throughput per i porti di l'agenti chì ottennu una efficienza più grande quandu manipule parechje parolle à u mumentu, cum'è SDRAM. L'effettu netu di u burst hè di chjude l'arbitrazione per a durata di u burst. Una interfaccia Avalon-MM di bursting chì supporta a lettura è a scrittura deve supportà i bursts di lettura è scrittura.
L'interfacce Avalon-MM di bursting includenu un signalu di output di burstcount. Se un agente hà un input di burstcount, l'agente hè capace di scoppià.
U signale di burstcount si comporta cusì:
· À u principiu di un burst, burstcount presenta u numeru di trasferimenti sequenziali in u burst.
· Per larghezza di burstcount, a durata massima di burst hè 2 ( -1) .A lunghezza minima di burst legale hè unu.

Specifiche di l'interfaccia Avalon® 30

Mandate Feedback

3. Avalon Memory-Mapped Interfaces 683091 | 2022.01.24
Per supportà i bursts di lettura di l'agenti, un agentu deve ancu sustene:
· Stati d'aspittà cù u signale di dumanda d'attesa.
· Trasferimenti pipelined cù latenza variabile cù u signale readdatavalid.
À l'iniziu di un burst, l'agente vede l'indirizzu è un valore di lunghezza di burst in burstcount. Per un burst cù un indirizzu di è un valore di burstcount di , l'agente deve eseguisce trasferimenti consecutivi partendu da l'indirizzu . U burst cumpleta dopu chì l'agente riceve (scrivite) o torna (leghje) u parolla di dati. L'agente di scoppiu deve catturà l'indirizzu è u conte di burst solu una volta per ogni burst. A logica di l'agente deve inferisce l'indirizzu per tutti, ma i primi trasferimenti in u burst. Un agentu pò ancu aduprà u signale di input beginbursttransfer, chì l'interconnessione affirmeghja nantu à u primu ciclu di ogni burst.
3.5.5.1. Scrive Bursts
Queste regule s'applicanu quandu un burst di scrittura principia cù un burstcount più grande di unu:
· Quandu un burstcount di hè prisentatu à u principiu di u burst, l'agente deve accettà unità successive di writedata per compie u burst. L'arbitramentu trà a coppia host-agente resta chjusu finu à chì u burst finisci. Questa serratura guarantisci chì nisun altru òspite pò eseguisce transazzione nantu à l'agente finu à chì u burst di scrittura finisci.
· L'agente deve catturà solu i dati di scrittura quandu scrive asserzioni. Durante u burst, l'ospitu pò annunzià a scrittura chì indica chì a scrittura di dati hè invalida. A scrittura di deasserting ùn finisce micca u burst. A deassertion di scrittura ritarda u burst è nisun altru host pò accede à l'agente, riducendu l'efficienza di trasferimentu.
· L'agente ritarda un trasferimentu affirmannu waitrequest furzendu a scrittura di dati, scrive, burstcount, è byteenable per esse mantene custanti.
· A funziunalità di u signale byteenable hè a stessa per l'agenti bursting è nonbursting. Per un 32-bit host burst-writing à un agent 64-bit, partendu da l'indirizzu di byte 4, u primu trasferimentu di scrittura vistu da l'agente hè à u so indirizzu 0, cù byteenable = 8'b11110000. I byteenables ponu cambià per diverse parolle di u burst.
· I signali byteenable ùn sò micca tutti esse affirmati. Un òspite burst chì scrive parolle parziali pò aduprà u signale byteenable per identificà e dati chì sò scritti.
· Scritte cù segnali byteenable chì sò tutti i 0 sò simpliciamente trasmessi à l'agente AvalonMM cum'è transazzione validu.
· A pruprietà constantBurstBehavior specifica u cumpurtamentu di i signali di burst.
- Quandu constantBurstBehavior hè vera per un òspite, l'ospite mantene l'indirizzu è u burstcount stabile in tuttu un burst. Quandu hè vera per un agente, constantBurstBehavior dichjara chì l'agente aspetta chì l'indirizzu è u burstcount si mantenenu stabile durante una burst.
- Quandu constantBurstBehavior hè falsu, l'ospite mantene l'indirizzu è u burstcount stabile solu per a prima transazzione di una burst. Quandu constantBurstBehavior hè falsu, l'agente samples address è burstcount solu nantu à a prima transazzione di un burst.

Mandate Feedback

Specifiche di l'interfaccia Avalon® 31

3. Avalon Memory-Mapped Interfaces 683091 | 2022.01.24

Figura 14.

Scrive Burst cù constantBurstBehavior Set à False per Host è Agent

A figura seguente dimustra un agente scrive burst di lunghezza 4. In questu example, l'agente affirmeghja waitrequest duie volte ritardà u burst.

12

3

4

5

67

8

clk

indirizzu

addr1

principià u trasferimentu

burstcount

4

scrive

scrive dati

dati 1

dati 2

dati 3

dati 4

dumanda d'aspittà

I numeri in stu diagramma di timing marcanu e seguenti transizioni:
1. L'ospite affirmeghja l'indirizzu, u burstcount, scrive, è cunduce a prima unità di writedata.
2. L'agente affirmeghja subitu waitrequest, chì indica chì l'agente ùn hè micca prontu à prucede cù u trasferimentu.
3. waitrequest hè bassu. L'agente cattura addr1, burstcount, è a prima unità di scrive dati. In i cicli successivi di u trasferimentu, l'indirizzu è u burstcount sò ignorati.
4. L'agente cattura a seconda unità di dati à u rising edge di clk.
5. U burst hè in pausa mentre a scrittura hè deasserted.
6. L'agente cattura a terza unità di dati à u rising edge di clk.
7. L'agente affirmeghja waitrequest. In risposta, tutti i outputs sò manteni custanti attraversu un altru ciclu di clock.
8. L'agente catturà l'ultima unità di dati nantu à questu rising edge of clk. L'agente scrive burst ends.
In a figura sopra, u signale di trasferimentu di iniziu burst hè affirmatu per u primu ciclu di clock di una splutazioni è hè deasserted in u prossimu ciclu di clock. Ancu s'è l'agente affirmeghja a dumanda d'attesa, u signale di trasferimentu di startburst hè affirmatu solu per u primu ciclu di clock.
Information Related
Pruprietà di l'interfaccia à a pagina 17

3.5.5.2. Leghjite Bursts
I bursts di lettura sò simili à i trasferimenti di lettura pipelined cù latenza variabile. Un burst di lettura hà indirizzi distinti è fasi di dati. readdatavalid indica quandu l'agente presenta una lettura valida. A cuntrariu di i trasferimenti di lettura pipelined, un unicu indirizzu di burst di lettura risulta in parechje trasferimenti di dati.

Specifiche di l'interfaccia Avalon® 32

Mandate Feedback

3. Avalon Memory-Mapped Interfaces 683091 | 2022.01.24

Queste regule s'applicanu à i bursts di lettura:
· Quandu un òspite si cunnetta direttamente à un agente, un burstcount di significa chì l'agente deve vultà parolle di readdata à compie u burst. Per i casi induve l'interconnessione liga l'ospite è l'agente, l'interconnessione pò supprime i cumandamenti di lettura mandati da l'ospite à l'agente. Per esample, se l'ospite manda un cumandamentu di lettura cù un valore byteenable di 0, l'interconnessione pò supprime a lettura. In u risultatu, l'agente ùn risponde micca à l'ordine di lettura.
· L'agente presenta ogni parolla furnisce readdata è affirmannu readdatavalid per un ciclu. L'annullamentu di a lettura di dati ritarda validu ma ùn finisce micca a fase di dati di burst.
· Per letture cù un burstcount> 1, Intel ricumanda di affirmà tutti i byteenables.

Nota:

Intel ricumanda chì l'agenti capaci di scoppià ùn anu micca leghje effetti secundari. (Questa specificazione ùn guarantisci micca quanti bytes un òspite leghje da l'agente per suddisfà una dumanda.)

Figura 15.

Leghjite Burst

A figura seguente illustra un sistema cù dui ospiti chì scoppianu accede à un agente. Nota chì Host B pò guidà

una dumanda di lettura prima chì i dati sò tornati per Host A.

1

23

45

6

clk

indirizzu A0 (Host A) A1 Host (B)

leghje

principià u trasferimentu

dumanda d'aspittà

burstcount

4

2

readdata validu

leghje i dati

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

I numeri in stu diagramma di u tempu, marcanu e seguenti transizioni:
1. Host A affirmeghja l'indirizzu (A0), burstcount, è leghje dopu à u rising edge di clk. L'agente affirmeghja a dumanda d'attesa, facennu chì tutti l'inputs eccettu u principiu di trasferimentu di burst si mantenenu custanti attraversu un altru ciclu di clock.
2. L'agente cattura A0 è burstcount à questu rising edge of clk. Un novu trasferimentu puderia principià nantu à u prossimu ciclu.
3. L'ospite B guida l'indirizzu (A1), u burstcount, è leghje. L'agente affirmeghja waitrequest, facendu chì tutti l'inputs eccettu beginbursttransfer si mantenenu custanti. L'agente puderia avè tornatu dati di lettura da a prima dumanda di lettura à questu tempu, à u più prestu.

Mandate Feedback

Specifiche di l'interfaccia Avalon® 33

3. Avalon Memory-Mapped Interfaces 683091 | 2022.01.24
4. L'agente presenta readdata validu è affirmeghja readdatavalid, trasferendu a prima parolla di dati per l'ospite A.
5. A seconda parolla per l'ospite A hè trasferita. L'agente dessert readdatavalid mettendu in pausa u burst di lettura. U portu di l'agente pò mantene readdatavalid deasserted per un numeru arbitrariu di cicli di clock.
6. A prima parolla per l'ospite B hè tornata.
3.5.5.3. Scoppi di LineWrapped
I prucessori cù cache d'istruzzioni guadagnanu efficienza usendu bursts in linea. Quandu un processatore dumanda dati chì ùn sò micca in u cache, u controller di cache deve rinfriscà tutta a linea di cache. Per un processore cù una dimensione di linea di cache di 64 bytes, un miss cache causa 64 bytes per esse letti da a memoria. Se u processatore leghje da l'indirizzu 0xC quandu a cache miss hè accaduta, allora un controller di cache inefficace puderia emette un burst à l'indirizzu 0, risultatu in dati da l'indirizzi di lettura 0x0, 0x4, 0x8, 0xC, 0x10, 0x14, 0x18, . . . 0x3C. I dati dumandati ùn sò micca dispunibili finu à a quarta lettura. Cù raffiche di linea, l'ordine di l'indirizzu hè 0xC, 0x10, 0x14, 0x18, . . . 0x3C, 0x0, 0x4, è 0x8. I dati dumandati sò restituiti prima. L'intera linea di cache hè eventualmente riempita da a memoria.
3.5.6. Leghjite è Scrivite Risposte
Per ogni agente Avalon-MM, i cumandamenti devenu esse processati in modu senza periculu. Leghjite è scrivite e risposte in l'ordine in quale i cumandamenti sò stati accettati.
3.5.6.1. Ordine di transazzione per Avalon-MM Risposte di lettura è scrittura (ospiti è agenti)
Per ogni host Avalon-MM: · L'Avalon Interface Specifications guarantisci chì cumanda à u listessu agente
ghjunghje à l'agente in ordine di emissione di cumanda, è l'agente risponde in ordine di emissione di cumanda. · Diversi agenti ponu riceve è risponde à i cumandamenti in un ordine diversu da quellu chì l'ospiti li emette. Quandu u successu, l'agente risponde in ordine di cumanda. · Risposte (se presente) tornanu in ordine di emissione di cumandamenti, indipendentemente da chì i cumandamenti di leghje o di scrittura sò per i stessi agenti o diversi. · L'Avalon Interface Specifications ùn guarantisci micca l'ordine di transazzione trà i diversi ospiti.
3.5.6.2. Avalon-MM Diagramma di timing di Risposte di lettura è scrittura
U schema seguente mostra l'accettazione di u cumandamentu è l'ordine di emissione di cumandamenti per e risposte di lettura è scrittura di Avalon-MM. Perchè l'interfaccia di lettura è scrittura sparte u signale di risposta, una interfaccia ùn pò micca emette o accettà una risposta di scrittura è una risposta di lettura in u stessu ciclu di clock.
Leghjite e risposte, mandate una risposta per ogni readdata. Una durata di lettura di burst risultati in risposti.

Specifiche di l'interfaccia Avalon® 34

Mandate Feedback

3. Avalon Memory-Mapped Interfaces 683091 | 2022.01.24

Scrivite risposte, mandate una risposta per ogni cumanda di scrittura. Un burst di scrittura risulta in una sola risposta. L'interfaccia di l'agente manda a risposta dopu avè accettatu u trasferimentu di scrittura finali in u burst. Quandu una interfaccia include u signale writeresponsevalid, tutti i cumandamenti di scrittura deve esse cumpletu cù risposte di scrittura.

Figura 16. Avalon-MM Read and Write Responses Timing Diagram

clk

indirizzu

R0

W0

W1

R1

leghje

scrive

readdata validu

scrive risposta valida

risposta

R0

W0

W1

R1

3.5.6.2.1. Diagramma di timing di minimumResponseLatency cù readdatavalid o writeresponsevalid

Per interfacce cù readdatavalid o writeresponsevalid, u predeterminatu un onecycle minimumResponseLatency pò purtà à difficultà di chjude u timing in l'ospiti Avalon-MM.

I seguenti diagrammi di timing mostranu u cumpurtamentu per una Latenza di Risposta minima di 1 o 2 cicli. Nota chì a latenza di risposta attuale pò ancu esse più grande di u valore minimu permessu cum'è questi diagrammi di timing illustranu.

Figura 17. minimumResponseLatency Equals One Cycle

clk leghje
leghje i dati validi

Latenza di risposta minima di 1 ciclu

Figura 18. minimumResponseLatency Equals Two Cycles clk
leghjite 2 cicli minimuResponseLatency
leghje i dati validi

Cumpatibilità
Interfacce cù u listessu minimuResponseLatency sò interoperabili senza alcuna adattazione. Se l'ospite hà una Latenza di Risposta minima più altu ch'è l'agente, utilizate i registri di pipeline per cumpensà e differenze. I registri di pipeline duveranu

Mandate Feedback

Specifiche di l'interfaccia Avalon® 35

3. Avalon Memory-Mapped Interfaces 683091 | 2022.01.24

ritardà a lettura di dati da l'agente. Se l'agente hà una Latenza di Risposta minima più altu ch'è l'ospite, l'interfacce sò interoperabili senza adattazione.

3.6. Allineamentu di l'indirizzu
L'interconnessione supporta solu accessi allinati. Un òspite pò solu emette indirizzi chì sò un multiplu di a so larghezza di dati in simboli. Un òspite pò scrive parolle parziali annunziendu certi byteenables. Per esample, i byteenables di una scrittura di 2 byte à l'indirizzu 2 hè 4'b1100.

3.7. Indirizzu di l'agente Avalon-MM

A dimensione dinamica di l'autobus gestisce i dati durante i trasferimenti trà coppie host-agenti di diverse larghezze di dati. I dati di l'agente sò allinati in byte contigu in u spaziu di l'indirizzu di l'ospite.

Se a larghezza di dati di l'ospitu hè più larga di l'ampiezza di dati di l'agente, e parolle in u spaziu di l'indirizzu di l'ospitu mappe à parechje locu in u spaziu di l'indirizzu di l'agente. Per esample, un host 32-bit lettu da un agentu 16-bit risultati in dui trasferimenti di lettura da u latu di l'agente. E letture sò à indirizzi consecutivi.

Se l'ospite hè più strettu di l'agente, allora l'interconnessione gestisce i corsi di byte di l'agenti. Durante i trasferimenti di lettura di l'ospite, l'interconnessione presenta solu i corsi di byte appropritati di dati di l'agente à l'ospite più strettu. Durante i trasferimenti di scrittura di l'ospite, l'interconnessione
affirmeghja automaticamente i segnali byteenable per scrive dati solu à i corsi di byte di l'agenti specificati.

L'agenti anu da avè una larghezza di dati di 8, 16, 32, 64, 128, 256, 512 o 1024 bit. A tavula seguente mostra l'allineamentu per i dati di l'agenti di diverse larghezze in un host 32-bit chì esegue accessi di parola completa. In questa tavula, OFFSET[N] si riferisce à una taglia di parola di l'agente offset in u spaziu di l'indirizzu di l'agente.

Table 12. Dinamica Bus Sizing Host-to-Agent Address Mapping

Indirizzu byte di l'ospite (1)

Accessu

0x00

1

2

3

4

0x04

1

2

3

4

0x08

1

2

Dati Host 32-Bit

Quandu accede à una Interfaccia Agente 8-Bit

Quandu accede à una Interfaccia Agente 16-Bit

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

Quandu accede à una interfaccia d'agente di 64 bit OFFSET[0]31..0 — — —
OFFSET[0]63..32 — — —
OFFSET[1]31..0 —
cuntinuò…

Specifiche di l'interfaccia Avalon® 36

Mandate Feedback

3. Avalon Memory-Mapped Interfaces 683091 | 2022.01.24

Indirizzu byte di l'ospite (1)

Accessu

Quandu accede à una Interfaccia Agente 8-Bit

Dati Host 32-Bit
Quandu accede à una Interfaccia Agente 16-Bit

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 È cusì

OFFSET[15]7..0 È cusì

- Eccetera

Notes: 1. Ancu l'ospitu emette indirizzi di byte, l'ospite accede à e parolle 32-bit. 2. Per tutte e entrate di l'agente, [ ] hè a parolla offset è i valori di subscript sò i bits in a parolla.

Quandu accede à una interfaccia d'agente di 64 bit - -
OFFSET[1]63..32 — — — È cusì

Mandate Feedback

Specifiche di l'interfaccia Avalon® 37

683091 | 2022.01.24 Mandate Feedback

4. Interfacce Interrupt Avalon
L'interfacce Avalon Interrupt permettenu à i cumpunenti di l'agenti di signalà l'avvenimenti à i cumpunenti d'ospiti. Per esample, un controller DMA pò interrompe un processatore dopu à compie un trasferimentu DMA.

4.1. Interrompe u mittente
Un trasmettitore di interruzzione conduce un signalu di interruzzione unicu à un receptore di interruzzione. U timing di u signale irq deve esse sincronu cù u filu crescente di u so clock assuciatu. irq ùn hà nisuna relazione cù qualsiasi trasferimentu nantu à qualsiasi altra interfaccia. irq deve esse affirmatu finu à ricunnosce nantu à l'interfaccia di l'agente Avalon-MM assuciata.
L'interruzioni sò specifiche di cumpunenti. U receptore determina tipicamente a risposta adatta per leghje un registru di statu di interruzzione da una interfaccia d'agente Avalon-MM.

4.1.1. Avalon Interrupt Sender Signal Roles

Table 13. Interrupt Sender Signal Roles

Rolu di signale

Larghezza

Direzzione

Ubligatoriu

irq irq_n

1-32

Output

Descrizzione
Interrupt Request. Un trasmettitore di interruzzione conduce un signalu di interruzzione à un receptore di interruzzione.

4.1.2. Interrupt Sender Properties

Table 14. Interrupt Sender Properties

Nome di pruprietà

Valore predeterminatu

Valori Legali

Descrizzione

AssociatedAddressabl

N/A

ePoint

associatu Clock

N/A

Nome di l'agente Avalon-MM nantu à questu cumpunente.
Nome di una interfaccia di clock nantu à questu
cumpunente.

U nome di l'interfaccia di l'agente Avalon-MM chì furnisce l'accessu à i registri per u serviziu di l'interruzzione.
U nome di l'interfaccia di u clock à quale stu mittente di interruzzione hè sincrona. L'emittente è u destinatariu pò avè valori diffirenti per sta pruprietà.

assuciatu Reset

N/A

Nome di un reset

U nome di l'interfaccia di resettore à quale sta interruzzione

interfaccia nantu à questu

u mittente hè sincronu.

cumpunente.

Intel Corporation. Tutti i diritti riservati. Intel, u logu Intel è altri marchi Intel sò marchi di Intel Corporation o di e so filiali. Intel garantisce a prestazione di i so prudutti FPGA è semiconduttori à e specificazioni attuali in cunfurmità cù a garanzia standard di Intel, ma si riserva u dirittu di fà cambiamenti à qualsiasi prudutti è servizii in ogni mumentu senza avvisu. Intel ùn assume alcuna rispunsabilità o responsabilità derivante da l'applicazione o l'usu di qualsiasi informazione, pruduttu o serviziu descritti quì, salvu cum'è espressamente accunsentutu in scrittura da Intel. I clienti di Intel sò cunsigliati per ottene l'ultima versione di e specificazioni di u dispositivu prima di confià nantu à qualsiasi infurmazione publicata è prima di fà ordini per prudutti o servizii. * Altri nomi è marche ponu esse rivendicate cum'è a pruprietà di l'altri.

ISO 9001: 2015 Registratu

4. Avalon Interrupt Interfaces 683091 | 2022.01.24

4.2. Interrupt Receiver
Un'interfaccia di ricevitore di interruzzione riceve interruzioni da interfacce di mittente di interruzzione. I cumpunenti cù l'interfacce d'ospiti Avalon-MM ponu include un receptore di interruzzione per detectà interruzioni affermate da cumpunenti di l'agente cù interfacce di mittente di interruzzione. U receptore di interruzzione accetta richieste di interruzzione da ogni mittente di interruzzione cum'è un bit separatu.

4.2.1. Avalon Interrupt Receiver Signal Roles

Table 15. Interrupt Receiver Signal Roles

Rolu di signale

Larghezza

Direzzione

Ubligatoriu

irq

1

Input

Descrizzione
irq hè un -bit vector, induve ogni bit currisponde direttamente à un mittente IRQ senza assunzione inerente di priorità.

4.2.2. Interrupt Receiver Pruprietà

Table 16. Pruprietà di l'Interrupt Receiver

Nome di pruprietà

Valore predeterminatu

Valori Legali

Descrizzione

Puntu Addressable assuciatu

N/A

Nome di U nome di l'interfaccia d'ospite Avalon-MM utilizata

L'interruzioni di serviziu Avalon-MM ricevute nantu à sta interfaccia.

host

interfaccia

associatu Clock

N/A

Nome di un U nome di l'interfaccia Avalon Clock à quale questu

Avalon

u ricevitore di interruzzione hè sincronu. U mittente è

Clock

u ricevitore pò avè valori diffirenti per sta pruprietà.

interfaccia

assuciatu Reset

N/A

Nome di un U nome di l'interfaccia di reset à quale sta interruzzione

Avalon

u ricevitore hè sincronu.

Resettate

interfaccia

4.2.3. Interrupt Timing

L'ospite Avalon-MM serve l'interruzione di priorità 0 prima di l'interruzione di priorità 1.

Figura 19.

Interrupt Timing

In a figura seguente, l'interruzzione 0 hà una priorità più alta. U receptore di interruzzione hè in u prucessu di gestisce int1

quandu int0 hè affirmatu. U gestore int0 hè chjamatu è cumpleta. Allora, u gestore int1 riprende. U

diagramma mostra int0 deasserts à u tempu 1. int1 deasserts à u tempu 2.

1

2

clk

Individuale int0 Requests
int1

Mandate Feedback

Specifiche di l'interfaccia Avalon® 39

683091 | 2022.01.24 Mandate Feedback

5. Avalon Streaming Interfaces

Pudete aduprà interfacce Avalon Streaming (Avalon-ST) per cumpunenti chì guidanu una larghezza di banda alta, bassa latenza, dati unidirezionali. L'applicazioni tipiche includenu flussi multiplexati, pacchetti è dati DSP. I signali di l'interfaccia Avalon-ST ponu descriverà interfacce di streaming tradiziunali chì sustenenu un unicu flussu di dati senza cunniscenze di canali o cunfini di pacchetti. L'interfaccia pò ancu supportà protokolli più cumplessi capaci di trasferimenti di pacchettu è di pacchetti cù pacchetti intercalati in più canali.

Nota:

Sè avete bisognu di una interfaccia di streaming di dati d'alta prestazione, riferite à u Capitulu 6 Avalon Streaming Credit Interfaces.

Figura 20. Interfaccia Avalon-ST - Applicazione tipica di l'interfaccia Avalon-ST

Circuitu stampatu Interfacce Intel FPGA Avalon-ST (pianu di dati)

Scheduler

Input Avalon-ST

Rx IF Core ch

2

Fonte 0-2 Sink 1

0

Interfaccia Avalon-MM (pianu di cuntrollu)

Fonte

Tx IF Core Sink

Output Avalon-ST

Interfaccia Host Avalon-MM
Processore

Interfaccia Host Avalon-MM
Controlu IO

Interfaccia Agente Avalon-MM
SDRAM Cntl
Memoria SDRAM

Tutte l'interfacce fonte è sink Avalon-ST ùn sò micca necessariamente interoperabili. Tuttavia, se duie interfacce furniscenu funzioni cumpatibili per u stessu spaziu di l'applicazione, l'adattatori sò dispunibuli per permettenu di interoperate.

Intel Corporation. Tutti i diritti riservati. Intel, u logu Intel è altri marchi Intel sò marchi di Intel Corporation o di e so filiali. Intel garantisce a prestazione di i so prudutti FPGA è semiconduttori à e specificazioni attuali in cunfurmità cù a garanzia standard di Intel, ma si riserva u dirittu di fà cambiamenti à qualsiasi prudutti è servizii in ogni mumentu senza avvisu. Intel ùn assume alcuna rispunsabilità o responsabilità derivante da l'applicazione o l'usu di qualsiasi informazione, pruduttu o serviziu descritti quì, salvu cum'è espressamente accunsentutu in scrittura da Intel. I clienti di Intel sò cunsigliati per ottene l'ultima versione di e specificazioni di u dispositivu prima di confià nantu à qualsiasi infurmazione publicata è prima di fà ordini per prudutti o servizii. * Altri nomi è marche ponu esse rivendicate cum'è a pruprietà di l'altri.

ISO 9001: 2015 Registratu

5. Avalon Streaming Interfaces 683091 | 2022.01.24
L'interfacce Avalon-ST supportanu percorsi di dati chì necessitanu e seguenti caratteristiche:
· Trasferimentu di dati puntu à puntu à bassa latenza, high-throughput
· Supportu di più canali cù interleaving flexible di pacchetti
· Segnale in banda laterale di u canali, l'errore è l'iniziu è a fine di a delineazione di pacchetti
· Supportu per l'esplosione di dati
· Adattamentu automaticu di l'interfaccia
5.1. Termini è cuncetti
U protocolu di l'interfaccia Avalon-ST definisce i seguenti termini è cuncetti:
· Avalon Streaming System-Un sistema Avalon Streaming cuntene una o più cunnessione Avalon-ST chì trasferisce dati da una interfaccia fonte à una interfaccia sink. U sistema mostratu sopra hè custituitu da interfacce Avalon-ST per trasfiriri dati da l'input di u sistema à l'output. L'interfaccia di cuntrollu di Avalon-MM è di registru di status furnisce u cuntrollu di u software.
· Avalon Streaming Components-Un sistema tipicu chì utilizeghja l'interfacce Avalon-ST combina parechje moduli funziunali, chjamati cumpunenti. U designer di u sistema cunfigura i cumpunenti è li cunnetta inseme per implementà un sistema.
· Interfacce Surghjenti è Cunsiglii è Connessioni-Quandu dui cumpunenti si cunnettanu, i dati scorri da l'interfaccia fonte à l'interfaccia sink. L'Avalon Interface Specifications chjamà a cumminazione di una interfaccia di fonte chì cunnetta à una interfaccia di sink una cunnessione.
· Backpressure-Backpressure permette à un lavamanu per signalà una fonte per cessà di mandà dati. U supportu per a retropressione hè opzionale. U lavamanu usa backpressure per piantà u flussu di dati per i seguenti motivi:
- Quandu i FIFO di lavanda sò pieni
- Quandu ci hè una congestione in a so interfaccia di output
· Trasferimenti è Cycles Ready-A trasferimentu risultati in dati è a propagazione di cuntrollu da una interfaccia fonte à una interfaccia sink. Per l'interfacce di dati, un ciculu prontu hè un ciculu durante u quale u lavu pò accettà un trasferimentu.
· Simbulu - Un simbulu hè a più chjuca unità di dati. Per a maiò parte di l'interfaccia di pacchetti, un simbulu hè un byte. Unu o più simboli custituiscenu a sola unità di dati trasferiti in un ciclu.
· Canale-Un canale hè un percorsu fisicu o logicu o ligame attraversu quale l'infurmazione passa trà dui porti.
· Beat-A beat hè un trasferimentu ciculu unicu trà una fonte è una interfaccia di lavanda composta da unu o più simboli.
· Packet-Un pacchettu hè un aggregazione di dati è signali di cuntrollu chì una fonte trasmette simultaneamente. Un pacchettu pò cuntene un intestazione per aiutà i routers è altri dispositi di rete dirigenu u pacchettu à a destinazione curretta. L'applicazione definisce u formatu di pacchettu, micca sta specificazione. I pacchetti Avalon-ST ponu esse variabili in lunghezza è ponu esse intercalati in una cunnessione. Cù una interfaccia Avalon-ST, l'usu di pacchetti hè facultativu.

Mandate Feedback

Specifiche di l'interfaccia Avalon® 41

5. Avalon Streaming Interfaces 683091 | 2022.01.24

5.2. Avalon Streaming Interface Signal Roles

Ogni signale in una fonte di streaming Avalon o interfaccia di sink currisponde à un rolu di signale streaming Avalon. Una interfaccia di streaming Avalon pò cuntene solu una istanza di ogni rolu di signale. Tutti i roli di signali di streaming Avalon s'applicanu sia à e fonti sia à i lavandini è anu u stessu significatu per tutti dui.

Tabella 17.

Segnali di l'interfaccia di streaming Avalon
In a tavula seguente, tutti i roli di signale sò attivu altu.

Rolu di signale

Larghezza

Direzzione

Ubligatoriu

Descrizzione

errore di dati di canali pronti
validu

1 128 1 8,192 1 256
1
1

Segnali fundamentali

Fonte Sink

Innò

U numeru di canali per i dati trasferiti

nantu à u ciculu attuale.

Se una interfaccia sustene u signale di u canali, u

L'interfaccia deve ancu definisce u paràmetru maxChannel.

Fonte Sink

Innò

U signale di dati da a fonte à u lavamanu,

tipicamente porta a maiò parte di l'infurmazioni essendu

trasferitu.

Parametri definisce in più u cuntenutu è

formatu di u signale di dati.

Fonte Sink

Innò

Una maschera di pocu per marcà l'errori chì afectanu i dati

esse trasferitu in u ciculu attuale. Un solu pocu

di u signale d'errore maschere ognunu di l'errori u

cumpunenti ricunnosce. L'errorDescriptor

definisce e proprietà di u signale di errore.

Sink Source

Innò

Affirma altu per indicà chì u lavamanu pò accettà

dati. prontu hè affirmatu da u lavu nantu à ciclu

per marcà u ciclu cum'è pronta

ciclu. A surghjente pò affirmà solu validu è

trasferimentu dati durante ciculi pronti.

Fonti senza un input prontu ùn sustene micca a backpressure. I lavandini senza una uscita pronta ùn anu mai bisognu di backpressure.

Fonte Sink

Innò

A fonte affirmeghja stu signale per qualificà tutti l'altri

fonte per affundà i segnali. U lavabo samples dati è

altri signali fonte-à-lavà nantu à ciculi pronti

induve validu hè affirmatu. Tutti l'altri ciculi sò

ignoratu.

I fonti senza un output validu furnisce implicitamente dati validi nantu à ogni ciculu chì un lavamanu ùn hè micca affirmannu backpressure. I lavandini senza un input validu aspettanu dati validi nantu à ogni ciculu chì ùn sò micca backpressuring.

viotu
endofpacket startofpacket

1 10
1 1

Segnali di trasferimentu di pacchetti

Fonte Sink

Innò

Indica u numeru di simboli chì sò vioti,

vale à dì, ùn rapprisentanu micca dati validi. U viotu

signale ùn hè micca necessariu nantu à l'interfaccia induve ci hè

hè un simbulu per ritmu.

Fonte Sink

Innò

Asserted by the source to mark the end of a

pacchettu.

Fonte Sink

Innò

Asserted da a fonte per marcà u principiu di

un pacchettu.

Specifiche di l'interfaccia Avalon® 42

Mandate Feedback

5. Avalon Streaming Interfaces 683091 | 2022.01.24

5.3. Sequenza di signale è timing

5.3.1. Interfaccia sincrona
Tutti i trasferimenti di una cunnessione Avalon-ST sò sincroni cù u filu crescente di u signale di u clock assuciatu. Tutte e outputs da una interfaccia di fonte à una interfaccia di sink, cumpresi i dati, i canali è i segnali d'errore, devenu esse registrati nantu à a riva di u clock. L'inputs à una interfaccia di sink ùn deve micca esse registratu. A registrazione di i segnali à a fonte facilita l'operazione di alta frequenza.
5.3.2. Clock Enables
I cumpunenti Avalon-ST tipicamente ùn includenu micca un input di attivazione di clock. A signalazione Avalon-ST stessu hè abbastanza per determinà i ciculi chì un cumpunente deve è ùn deve esse attivatu. I cumpunenti conformi Avalon-ST ponu avè un input di clock per a so logica interna. Tuttavia, i cumpunenti chì utilizanu l'abilitazioni di l'orologio anu da assicurà chì u timing di l'interfaccia aderisce à u protocolu.

5.4. Pruprietà di l'interfaccia Avalon-ST

Table 18. Pruprietà di l'interfaccia Avalon-ST

Nome di pruprietà associatu Clock

Valore predeterminatu
1

Valori Legali
Interfaccia di u clock

Descrizzione
U nome di l'interfaccia Avalon Clock à quale sta interfaccia Avalon-ST hè sincrona.

associateReset beatsPerCycle

1

Resettate

U nome di l'interfaccia Avalon Reset à quale questu

interfaccia L'interfaccia Avalon-ST hè sincrona.

1

1,2,4,8 Specifica u numeru di battiti trasferiti in una sola

ciclu. Sta pruprietà vi permette di trasfiriri 2 separati,

ma flussi correlati cù u listessu

start_of_packet, end_of_packet, prontu è

signali validi.

beatsPerCycle hè una funzione raramente usata di u protocolu AvalonST.

dataBitsPerSymbol

8

1 512 Definisce u numeru di bits per simbulu. Per esample,

L'interfaccia orientata à i byte anu simboli 8-bit. Stu valore

ùn hè micca limitatu à esse una putenza di 2.

emptyWithinPacket

falsu

true, false Quandu veru, viotu hè validu per tuttu u pacchettu.

descriptor d'errore

0

Lista di

Una lista di parolle chì descrizanu l'errore assuciatu cù

corde

ogni bit di u signale di errore. A durata di a lista deve esse

esse u listessu cum'è u numeru di bits in u signale di errore.

A prima parolla in a lista s'applica à l'ordine più altu

pocu. Per esample, "crc, overflow" significa quellu bit [1]

di errore indica un errore CRC. Bit [0] indica un

errore di overflow.

firstSymbolIn High OrderBits

veru

veru, falsu

Quandu hè veru, u simbulu di u primu ordine hè guidatu à i bits più significati di l'interfaccia di dati. U simbulu di u più altu ordine hè marcatu D0 in questa specificazione. Quandu sta pruprietà hè impostata à false, u primu simbulu appare nantu à i bits bassu. D0 appare à data [7:0]. Per un bus a 32 bit, se vera, D0 appare sui bit [31:24].
cuntinuò…

Mandate Feedback

Specifiche di l'interfaccia Avalon® 43

5. Avalon Streaming Interfaces 683091 | 2022.01.24

Nome di pruprietà maxChannel readyLatency
Indemnità pronta (1)

Valore predeterminatu
0 0
0

Valori Legali 0 255
0 8
0 8

Descrizzione
U numeru massimu di canali chì una interfaccia di dati pò sustene.
Definisce a relazione trà l'affirmazione di un signalu prontu è l'affirmazione di un signalu validu. Sè prontaLatency = induve n > 0, validu pò esse affirmatu solu cicli dopu l'affirmazione di pronta. Per esample, s'è readyLatency = 1, quandu u sink affirmeghja prontu, a surgente hà bisognu di risponde cù una affirmazione valida almenu 1 ciclu dopu chì vede l'affirmazione pronta da u lavamanu.
Definisce u numeru di trasferimenti chì u lavamanu pò catturà dopu chì prontu hè desserted. Quandu readyAllowance = 0, u lavamanu ùn pò micca accettà alcun trasferimentu dopu chì ready hè desserted. Se readyAllowance = induve hè più grande di 0, u lavabo pò accettà finu à trasferimenti dopu pronta hè deasserted.

Nota:

Se generate una interconnessione streaming Avalon cù Avalon streaming source / sink BFMs o cumpunenti persunalizati è questi BFM o cumpunenti persunalizati anu diverse esigenze di readyLatency, Platform Designer inserirà adattatori in l'interconnessione generata per accoglie a differenza di readyLatency trà l'interfacce fonte è sink. Hè previstu chì a vostra logica fonte è sink aderisce à e proprietà di l'interconnessione generata.

5.5. Trasferimenti di dati tipici
Sta rùbbrica definisce u trasferimentu di dati da una interfaccia fonte à una interfaccia sink. In tutti i casi, a fonte di dati è u lavamanu di dati deve esse cumpletu cù a specificazione. U lavu di dati ùn hè micca rispunsevule per a rilevazione di l'errori di u protokollu fonte.

5.6. Dettagli di u signale
A figura mostra i signali chì l'interfaccia Avalon-ST include tipicamente. Una tipica interfaccia di fonte Avalon-ST conduce i signali validi, di dati, d'errore è di canali à u lavabo. U lavu pò applicà a backpressure cù u signale prontu.

(1) · Se readyLatency = 0, readyAllowance pò esse 0 o più grande di 0.
· Se readyLatency > 0, readyAllowance deve esse uguale o più grande di readyLatency.
· Se a fonte o u lavamanu ùn specificanu micca un valore per readyAllowance allora readyAllowance = readyLatency. I disinni ùn anu micca bisognu di l'aghjuntu di readyAllowance, salvu chì ùn vulete chì a fonte o u lavamanu piglia in avanzutage di sta funziunalità.

Specifiche di l'interfaccia Avalon® 44

Mandate Feedback

5. Avalon Streaming Interfaces 683091 | 2022.01.24

Figura 21. Tipica Avalon-ST Interface Signals Data Source
canale d'errore di dati validu

Data Sink pronta

Più dettagli nantu à sti signali:
· ready-On interfaces supporting backpressure, u lavamanu affirma prontu à marcà i ciculi induve trasferimenti pò esse. Sè prontu hè affirmatu nantu à ciclu , ciclu hè cunsideratu un ciclu prontu.
· validu-U signale validu qualifies data validu nant'à ogni ciclu cù dati trasfiriri da a surgente à lavà. Nantu à ogni ciculu validu u lavamanu samples u signale di dati è altre surgente à lavà signali.
· data-U signale di dati porta a maiò parte di l'infurmazioni trasferiti da a fonte à u lavu. U signale di dati hè custituitu da unu o più simboli trasferiti in ogni ciclu di clock. U paràmetru dataBitsPerSymbol definisce cumu u signale di dati hè divisu in simboli.
· errore-In u signale di errore, ogni bit currisponde à una cundizione d'errore pussibule. Un valore di 0 in ogni ciculu indica dati senza errore nantu à quellu ciculu. Questa specificazione ùn definisce micca l'azzione chì un cumpunente piglia quandu un errore hè rilevatu.
· canale - A fonte guida u signale di u canale opzionale per indicà à quale canale appartene a dati. U significatu di u canali per una data interfaccia dipende da l'applicazione. In certi applicazioni, u canale indica u numeru di l'interfaccia. In altre applicazioni, u canale indica u numeru di pagina o intervallu di tempu. Quandu u signale di u canali hè utilizatu, tutti i dati trasferiti in ogni ciculu attivu appartenenu à u stessu canali. A surghjente pò cambià à un altru canale nantu à i cicli attivi successivi.
L'interfaccia chì utilizanu u signale di u canali deve definisce u paràmetru maxChannel per indicà u numeru massimu di canali. Se u numeru di canali chì una interfaccia supporta cambiamenti dinamicamente, maxChannel indica u numeru massimu chì l'interfaccia pò sustene.

5.7. Disposizione di dati

Figura 22.

Simbuli di dati

A figura seguente mostra un signalu di dati 64-bit cù dataBitsPerSymbol = 16. U simbulu 0 hè u più

simbulu significativu.

63

48 47 32 31 16 15

0

simbulu 0 simbulu 1 simbulu 2 simbulu 3

L'interfaccia Avalon Streaming supporta tramindui i modi big-endian è little-endian. A figura sottu hè un example di u modu big-endian, induve Simbulu 0 hè in i bits high-order.

Mandate Feedback

Specifiche di l'interfaccia Avalon® 45

5. Avalon Streaming Interfaces 683091 | 2022.01.24

Figura 23.

Disposizione di Dati
U diagramma di timing in a figura seguente mostra un ex 32-bitample induve dataBitsPerSymbol=8, è beatsPerCycle=1.
clk
pronti
validu

errore di u canali
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. Trasferimentu di dati senza Backpressure

U trasferimentu di dati senza backpressure hè u più basi di trasferimenti dati Avalon-ST. In ogni ciculu di u clock, l'interfaccia di fonte guida i dati è u canali facultativu è i signali d'errore, è affirmeghja validu. L'interfaccia sink samples sti signali nantu à u latu rising di u clock di riferimentu se validu hè affirmatu.

Figura 24.

Trasferimentu di dati senza Backpressure

clk validu

dati di errore di u canali

D0 D1

D2 D3

5.9. Trasferimentu di dati cù Backpressure
U lavamanu affirmeghja prontu per un ciculu di clock unicu per indicà chì hè prontu per un ciculu attivu. Se u lavu hè prontu per i dati, u ciculu hè un ciculu prontu. Duranti un ciculu prontu, a fonte pò affirmà validu è furnisce dati à u lavu. Se a fonte ùn hà micca dati per mandà, a fonte dessert valida è pò guidà dati à qualsiasi valore.
Interfacce chì supportanu a backpressure definiscenu u paràmetru readyLatency per indicà u numeru di ciculi da u tempu chì pronta hè affirmata finu à chì e dati validi ponu esse guidati. Se u readyLatency ùn hè micca zero, ciclu hè un ciculu prontu s'è pronta hè affirmata nantu à u ciculu .
Quandu readyLatency = 0, u trasferimentu di dati accade solu quandu pronti è validi sò affirmati nantu à u listessu ciclu. In questu modu, a fonte ùn riceve micca u signale prontu di u lavabo prima di mandà dati validi. A fonte furnisce e dati è affirmeghja validu ogni volta chì a fonte hà dati validi. A surghjente aspetta à u lavamanu per catturà i dati è affirmà pronta. A fonte pò cambià i dati in ogni mumentu. U lavamanu cattura solu i dati di input da a fonte quandu sò pronti è validi sò tutti dui affirmati.

Specifiche di l'interfaccia Avalon® 46

Mandate Feedback

5. Avalon Streaming Interfaces 683091 | 2022.01.24
Quandu readyLatency>= 1, u sink affirmeghja prontu prima di u ciclu prontu stessu. A surghjente pò risponde durante u ciclu dopu appropritatu affirmannu validu. A fonte ùn pò micca affirmà validu durante i ciculi chì ùn sò micca pronti.
readyAllowance definisce u numeru di trasferimenti chì u lavamanu pò catturà quandu pronta hè desserted. Quandu readyAllowance = 0, u lavamanu ùn pò micca accettà alcun trasferimentu dopu chì ready hè desserted. Se readyAllowance = induve n > 0, u lavabo pò accettà finu à trasferimenti dopu pronta hè deasserted.
5.9.1. Trasferimenti di dati Utilizendu readyLatency è readyAllowance

E seguenti règule s'applicanu à u trasferimentu di dati cù readyLatency è readyAllowance.
· Se readyLatency hè 0, readyAllowance pò esse più grande o uguale à 0.
· Se readyLatency hè più grande di 0, readyAllowance pò esse più grande o uguale à readyLatency.

Quandu readyLatency = 0 è readyAllowance = 0, i trasferimenti di dati sò solu quandu sò pronti è validi sò affermati. In questu casu, a fonte ùn riceve micca u signale prontu di u lavabo prima di mandà dati validi. A fonte furnisce i dati è affirmeghja validu quandu hè pussibule. A surghjente aspetta à u lavamanu per catturà i dati è affirmà pronta. A fonte pò cambià i dati in ogni mumentu. U lavamanu cattura solu i dati di input da a fonte quandu sò pronti è validi sò tutti dui affirmati.

Figura 25. readyLatency = 0, readyAllowance = 0

Quandu readyLatency = 0 è readyAllowance = 0 a fonte pò affirmà valida in ogni mumentu. U sink cattura i dati da a fonte solu quandu hè pronta = 1.

A figura seguente mostra questi avvenimenti: 1. In u ciclu 1, a fonte furnisce dati è affirmazioni validi. 2. In u ciclu 2, u lavamanu affirmeghja prontu è D0 trasferimenti. 3. In ciclu 3, trasferimenti D1. 4. In u ciclu 4, u lavamanu affirmeghja prontu, ma a fonte ùn porta micca dati validi. 5. A surghjente furnisce dati è affirmazioni validu nantu à u ciclu 6. 6. In u ciculu 8, u lavamanu affirmeghja prontu, cusì D2 trasferisce. 7. trasferimenti D3 à ciclu 9 è trasferimenti D4 à ciclu 10.

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

pronti

validu

dati

D0 D1

D2

D3 D4

D5

Mandate Feedback

Specifiche di l'interfaccia Avalon® 47

5. Avalon Streaming Interfaces 683091 | 2022.01.24

Figura 26. readyLatency = 0, readyAllowance = 1

Quandu readyLatency = 0 è readyAllowance = 1 u lavamanu pò catturà un altru trasferimentu di dati dopu ready = 0.

A figura seguente mostra questi avvenimenti: 1. In u ciculu 1, a fonte furnisce dati è affirmazioni valide mentre u lavamanu affirmeghja prontu. trasferimenti D0. 2. D1 hè trasferitu in u ciculu 2. 3. In u ciculu 3, i desserts pronti, ma postu chì readyAllowance = 1 un trasferimentu più hè permessu, cusì D2
trasferimenti. 4. In ciclu 5 tramindui valevule è prontu affirmà, cusì trasferimenti D3. 5. In ciclu 6, a surgente deasserts validu, cusì ùn trasferimenti dati. 6. In u ciclu 7, affirmazioni valide è desserts pronti, però postu chì readyAllowance = 1 un trasferimentu più
hè permessu, cusì trasferimenti D4.

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

pronti

validu

dati

D0 D1 D2

D3

D4

D5 D6

D7

Figura 27. readyLatency = 1, readyAllowance = 2

Quandu readyLatency = 1 è readyAllowance = 2, u lavamanu pò trasfiriri dati un ciculu dopu l'affirmazioni pronti, è dui ciculi più di trasferimenti sò permessi dopu i desserts pronti.

A figura seguente mostra questi avvenimenti: 1. In u ciculu 0 u lavamanu affirmeghja prontu. 2. In u ciclu 1, a fonte furnisce dati è affirmazioni validu. U trasferimentu hè subitu. 3. In u ciclu 3, u lavamanu deasserts prontu, ma a fonte hè sempre affirming validu, è cunduce dati validu
perchè u lavu pò catturà dati dui ciculi dopu desserts pronti. 4. In u ciculu 6, u lavu affirma prontu. 5. In u ciclu 7, a fonte furnisce dati è affirmazioni validu. Stu dati hè accettatu. 6. In u ciculu 10, u lavamanu hà deasserted prontu, ma a fonte affirmeghja validu è cunduce dati validi perchè
u lavu pò catturà dati dui ciculi dopu desserts pronti.

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

pronti

validu

dati

D0 D1 D2 D3

D4 D5

D6 D7

Requisiti d'adattazione A tabella seguente descrive se l'interfacce fonte è sink necessitanu adattazione.

Specifiche di l'interfaccia Avalon® 48

Mandate Feedback

5. Avalon Streaming Interfaces 683091 | 2022.01.24

Table 19. Requisiti d'adattazione di fonte / sink

prontoLatenza

readyAllowance

Adattamentu

Source readyLatency = Sink Source readyAllowance =

prontoLatenza

Indennità pronta per lavà

Nisuna adattazione necessaria: U lavabo pò catturà tutti i trasferimenti.

Source readyAllowance> Sink readyAllowance

Adattamentu necessariu: Dopu chì pronta hè deasserted, a fonte pò mandà più trasferimenti chì u lavamanu pò catturà.

Source readyAllowance < Sink readyAllowance

Nisuna adattazione necessaria: Dopu chì pronta hè desserted, u lavabo pò catturà più trasferimenti cà a fonte pò mandà.

Source readyLatency> Sink Source readyAllowance =

prontoLatenza

Indennità pronta per lavà

Nisuna adattazione necessaria: Dopu chì pronta hè affirmata, a fonte principia à mandà più tardi di ciò chì u lavabo pò catturà. Dopu à pronta hè deasserted, a surgente pò mandà tanti trasferimenti comu lu lavamanu pò catturà.

Source readyAllowance> Sink readyAllowance

Adattamentu necessariu: Dopu chì pronta hè deasserted, a fonte pò mandà più trasferimenti chì u lavamanu pò catturà.

Source readyAllowance< Sink readyAllowance

Nisuna adattazione necessaria: Dopu chì pronta hè desserted, a fonte manda menu trasferimenti di quellu chì u lavamanu pò catturà.

Source readyLatency < SinkreadyLatency

Source readyAllowance = Abbassare readyAllowance

Adattamentu necessariu: A fonte pò cumincià à mandà trasferimenti prima chì u lavu pò catturà.

Source readyAllowance> Sink readyAllowance

Adattamentu necessariu: A fonte pò cumincià à mandà trasferimenti prima chì u lavamanu pò catturà. Inoltre, dopu chì hè prontu hè deasserted, a surgente pò mandà più trasferimenti chì u lavu pò catturà.

Source readyAllowance < Sink readyAllowance

Adattamentu necessariu: A fonte pò cumincià à mandà trasferimenti prima chì u lavamanu pò catturà.

5.9.2. Trasferimenti di dati Utilizendu readyLatency
Se a fonte o u sink ùn specifica micca un valore per readyAllowance allora readyAllowance = readyLatency. I disinni chì utilizanu a fonte è u lavamanu ùn anu micca bisognu di l'aghjuntu di readyAllowance, salvu chì ùn vulete chì a fonte o u lavamanu sia in avanzu.tage di sta funziunalità.

Mandate Feedback

Specifiche di l'interfaccia Avalon® 49

5. Avalon Streaming Interfaces 683091 | 2022.01.24

Figura 28.

Trasferimentu cù Backpressure, readyLatency = 0
A figura seguente illustra questi avvenimenti:

1. A surghjente furnisce dati è affirmazioni validu nantu à u ciclu 1, ancu s'è u lavu ùn hè micca prontu.

2. A surghjente aspetta finu à u ciculu 2, quandu u lavamanu affirma prontu, prima di passà nantu à u prossimu ciclu di dati.

3. In u ciculu 3, a surgente cunduce dati nantu à u listessu ciclu è u lavu hè prontu à riceve dati. U trasferimentu hè subitu.
4. In u ciclu 4, u lavamanu affirmeghja prontu, ma a fonte ùn porta micca dati validi.

012345678 cl

pronti

validu

canale

errore

dati

D0 D1

D2 D3

Figura 29.

Trasferimentu cù Backpressure, readyLatency = 1

I seguenti figuri mostranu trasferimenti di dati cù readyLatency=1 è readyLatency=2, rispettivamente. In i dui casi, prontu hè affirmatu prima di u ciclu prontu, è a surgente risponde 1 o 2 ciculi dopu da furnisce dati è affirming validu. Quandu readyLatency ùn hè micca 0, a fonte deve esse dissert valida nantu à i ciculi micca pronti.
clk

pronti

validu

canale

errore

dati

D0 D1

D2 D3 D4

D5

Figura 30.

Trasferimentu cù Backpressure, readyLatency = 2

clk

pronti

validu

canale

errore

dati

D0 D1

D2 D3

5.10. Trasferimenti di dati di pacchettu
A pruprietà di trasferimentu di pacchetti aghjunghjenu supportu per u trasferimentu di pacchetti da una interfaccia fonte à una interfaccia sink. Trè signali supplementari sò definiti per implementà u trasferimentu di pacchetti. Tramindui l'interfacce fonte è sink deve include questi signali supplementari per supportà i pacchetti. Pudete solu cunnette l'interfacce di fonte è lavamanu cù

Specifiche di l'interfaccia Avalon® 50

Mandate Feedback

5. Avalon Streaming Interfaces 683091 | 2022.01.24

proprietà di u pacchettu currispondente. Platform Designer ùn aghjunghje micca automaticamente i signali startofpacket , endofpacket è vacanti à l'interfacce di fonte o di sink chì ùn includenu micca questi signali.

Figura 31. Avalon-ST Packet Interface Signals Data Source

Data Sink

pronti
validu
canale di errore di dati principiu di pacchettu
endofpacket viotu

5.11. Dettagli di u signale
· startofpacket-Tutte l'interfaccia chì sustene u trasferimentu di pacchetti necessitanu u signale startofpacket. startofpacket marca u ciculu attivu chì cuntene l'iniziu di u pacchettu. Stu signalu hè interpretatu solu quandu validu hè affirmatu.
· endofpacket-Tutte l'interfaccia chì supportanu i trasferimenti di pacchetti necessitanu u signale endofpacket. endofpacket marca u ciculu attivu chì cuntene a fine di u pacchettu. Stu signalu hè interpretatu solu quandu validu hè affirmatu. startofpacket è endofpacket ponu esse affirmati in u stessu ciculu. Nisun ciculu inattivu hè necessariu trà i pacchetti. U signale di startofpacket pò seguità immediatamente dopu à u signale di endofpacket precedente.
· viotu-U signale viotu facultativu indica u numeru di simboli chì sò vioti durante u ciclu di u pacchettu. U lavu cuntrolla solu u valore di u viotu durante i cicli attivi chì anu affirmatu l'endofpacket. I simboli vioti sò sempre l'ultimi simboli in dati, quelli purtati da i bits d'ordine bassu quandu firstSymbolInHighOrderBits = true. U signale viotu hè necessariu nantu à tutte l'interfaccia di pacchetti chì u signale di dati porta più di un simbulu di dati è anu un formatu di pacchettu di lunghezza variabile. A dimensione di u signale viotu in bit hè ceil[log2( )].

Mandate Feedback

Specifiche di l'interfaccia Avalon® 51

5. Avalon Streaming Interfaces 683091 | 2022.01.24

5.12. Dettagli di u protocolu

U trasferimentu di dati di pacchettu seguita u listessu protokollu cum'è u trasferimentu di dati tipicu cù l'aghjunzione di u startofpacket, endofpacket, è viotu.

Figura 32.

Trasferimentu di pacchetti
A figura seguente illustra u trasferimentu di un pacchettu di 17 byte da una interfaccia fonte à una interfaccia sink, induve readyLatency = 0. Stu diagramma di timing illustra i seguenti avvenimenti:

1. U trasferimentu di dati si faci nantu à i ciculi 1, 2, 4, 5 è 6, quandu sia pronti è validi sò affirmati.

2. Duranti u ciclu 1, startofpacket hè affirmatu. I primi 4 bytes di pacchettu sò trasferiti.

3. Duranti u ciclu 6, endofpacket hè affirmatu. viotu hà un valore di 3. Stu valore indica chì questu hè a fine di u pacchettu è chì 3 di i 4 simboli sò vioti. In u ciclu 6, u byte d'altu ordine, data [31:24] cunduce dati validi.

1234567 cl

pronti

validu

principiu di pacchettu

endofpacket

viotu

3

canale

00

000

errore

00

000

dati[31:24]

D0 D4

D8 D12 D16

dati[23:16]

D1 D5

D9 D13

dati[15:8]

D2 D6

D10 D14

dati[7:0]

D3 D7

D11 D15

Specifiche di l'interfaccia Avalon® 52

Mandate Feedback

683091 | 2022.01.24 Mandate Feedback

6. Avalon Streaming Credit Interfaces
L'interfacce di Avalon Streaming Credit sò per l'usu cù cumpunenti chì guidanu dati unidirezionali di larghezza di banda alta, bassa latenza. L'applicazioni tipiche includenu flussi multiplexati, pacchetti è dati DSP. I signali di l'interfaccia di Avalon Streaming Credit ponu descriverà interfacce di streaming tradiziunali chì sustenenu un unicu flussu di dati, senza cunniscenze di canali o cunfini di pacchetti. L'interfaccia pò ancu supportà protokolli più cumplessi capaci di trasferimenti di pacchettu è di pacchetti cù pacchetti intercalati in più canali.
Tutte l'interfacce di fonti è sink di Avalon Streaming Credit ùn sò micca necessariamente interoperabili. Tuttavia, se duie interfacce furniscenu funzioni cumpatibili per u stessu spaziu di l'applicazione, l'adattatori sò dispunibuli per permettenu di interoperate.
Pudete ancu cunnette a fonte di creditu Avalon Streaming à un lavabo Avalon Streaming via un adattatore. In listessu modu, pudete cunnette una fonte Avalon Streaming à un sink Avalon Streaming Credit via un adattatore.
L'interfaccia di Avalon Streaming Credit supporta i percorsi di dati chì necessitanu e seguenti caratteristiche:
· Trasferimentu di dati puntu à puntu à bassa latenza, high-throughput
· Supportu di più canali cù interleaving flexible di pacchetti
· Segnale in banda laterale di u canali, l'errore è l'iniziu è a fine di a delineazione di pacchetti
· Supportu per l'esplosione di dati
· Segnali d'utilizatori cum'è signali di banda laterale per l'utilizatori di funziunalità definiscenu

6.1. Termini è cuncetti
U protocolu di l'interfaccia Avalon Streaming Credit definisce i seguenti termini è cuncetti:
· Avalon Streaming Credit System - Un sistema Avalon Streaming Credit cuntene una o più cunnessione Avalon Streaming Credit chì trasferisce dati da una interfaccia fonte à una interfaccia sink.
· Avalon Streaming Credit Components - Un sistema tipicu chì usa l'interfacce Avalon Streaming combina parechje moduli funziunali, chjamati cumpunenti. U designer di u sistema cunfigura i cumpunenti è li cunnetta inseme per implementà un sistema.
· Interfacce è Connessioni Surghjenti è Sink-Quandu dui cumpunenti sò cunnessi, i crediti scorri da u lavabo à a surgente; è i flussi di dati da l'interfaccia fonte à l'interfaccia sink. A cumminazzioni di una interfaccia di fonte cunnessa à una interfaccia di sink hè chjamata cunnessione.
· Trasferimenti - Un trasferimentu risultati in a propagazione di dati è cuntrollu da una interfaccia di fonte à una interfaccia di sink. Per l'interfaccia di dati, a fonte pò inizià u trasferimentu di dati solu s'ellu hà crediti dispunibili. In listessu modu, sink pò accettà dati solu s'ellu hà crediti pendenti.

Intel Corporation. Tutti i diritti riservati. Intel, u logu Intel è altri marchi Intel sò marchi di Intel Corporation o di e so filiali. Intel garantisce a prestazione di i so prudutti FPGA è semiconduttori à e specificazioni attuali in cunfurmità cù a garanzia standard di Intel, ma si riserva u dirittu di fà cambiamenti à qualsiasi prudutti è servizii in ogni mumentu senza avvisu. Intel ùn assume alcuna rispunsabilità o responsabilità derivante da l'applicazione o l'usu di qualsiasi informazione, pruduttu o serviziu descritti quì, salvu cum'è espressamente accunsentutu in scrittura da Intel. I clienti di Intel sò cunsigliati per ottene l'ultima versione di e specificazioni di u dispositivu prima di confià nantu à qualsiasi infurmazione publicata è prima di fà ordini per prudutti o servizii. * Altri nomi è marche ponu esse rivendicate cum'è a pruprietà di l'altri.

ISO 9001: 2015 Registratu

6. Avalon Streaming Credit Interfaces 683091 | 2022.01.24

· Simbulu - Un simbulu hè a più chjuca unità di dati. Unu o più simboli custituiscenu a sola unità di dati trasferiti in un ciclu.
· Beat-A beat hè un trasferimentu ciculu unicu trà una fonte è una interfaccia di lavanda composta da unu o più simboli.
· Packet-Un pacchettu hè un aggregazione di dati è signali di cuntrollu chì sò trasmessi inseme. Un pacchettu pò cuntene un intestazione per aiutà i routers è altri dispositi di rete dirigenu u pacchettu à a destinazione curretta. U formatu di pacchettu hè definitu da l'applicazione, micca sta specificazione. I pacchetti Avalon Streaming ponu esse variabili in lunghezza è ponu esse intercalati in una cunnessione. Cù una interfaccia Avalon Streaming Credit, l'usu di pacchetti hè facultativu.

6.2. Avalon Streaming Credit Interface Signal Roles

Ogni signale in una fonte Avalon Streaming Credit o interfaccia di sink currisponde à un rolu di signale Avalon Streaming Credit. Una interfaccia Avalon Streaming Credit pò cuntene solu una istanza di ogni rolu di signale. Tutti i roli di signali di creditu Avalon Streaming s'applicanu sia à e fonti sia à i lavandini è anu u stessu significatu per i dui.

Table 20. Avalon Streaming Credit Interface Signals

Signal Name

Direzzione

aghjurnamentu

Lavà à

1

fonte

Larghezza

creditu

Lavà à

1-9

fonte

Opcional / Obligatoriu

Descrizzione

Ubligatoriu

Sink manda l'aghjurnamentu è l'aghjurnamenti di a fonte u contatore di creditu dispunibule. Sink manda l'aghjurnamentu à a fonte quandu una transazzione hè spuntata da u so buffer.
U contatore di creditu in a fonte hè aumentatu da u valore nantu à l'autobus di creditu da u lavu à a fonte.

Ubligatoriu

Indica un creditu supplementu dispunibule à u lavabo quandu l'aghjurnamentu hè assicuratu.
Stu busu porta un valore cum'è specificatu da u lavu. A larghezza di l'autobus di creditu hè ceilog2 (MAX_CREDIT + 1). Sink manda u valore di creditu dispunibule nantu à questu busu chì indica u numeru di transazzione chì pò accettà. A fonte cattura u valore di creditu
solu se u signale di l'aghjurnamentu hè affirmatu.

return_credit Fonte à 1 lavabo

dati validi
errore

Fonte per affundà
Fonte per affundà

1-8192 1

Fonte per affundà

1-256

Necessariu Necessariu Necessariu Opzionale

Assicuratu da a fonte per rinvià 1 creditu à affruntà.
Nota: Per più dettagli, riferite à a Sezione 6.2.3 Riturnà i Crediti.
I dati sò divisi in simboli cum'è a definizione esistente di Avalon Streaming.
Asserted by the source to qualify all other source to affund signaux. A fonte pò affirmà valida solu quandu u creditu dispunibile hè più grande di 0.
Una maschera di bit utilizata per marcà l'errori chì afectanu i dati trasferiti in u ciculu attuale. Un unicu bit in errore hè utilizatu per ognunu di l'errori ricunnisciuti da u cumpunente, cum'è definitu da a pruprietà errorDescriptor.
cuntinuò…

Specifiche di l'interfaccia Avalon® 54

Mandate Feedback

6. Avalon Streaming Credit Interfaces 683091 | 2022.01.24

Canale di u nome di u segnu
startofpacket endofpacket viotu

Direzzione Fonte à lavà
Fonte à lavà Fonte à lavà Fonte à lavà
Fonte per affundà
Fonte per affundà

Larghezza

Opcional / Obligatoriu

Descrizzione

1-128

Opcional

U numeru di canali per i dati trasferiti nantu à u ciculu attuale.
Se una interfaccia supporta u signale di u canali, deve ancu definisce u paràmetru maxChannel.

Segnali di trasferimentu di pacchetti

1

Opcional

Assertatu da a fonte per marcà u principiu

di un pacchettu.

1

Opcional

Asserted by the source to mark the end of

un pacchettu.

ceil(log2(NUM_SYMBOLS)) Opzionale

Indica u numeru di simboli chì sò vioti, vale à dì, ùn rapprisentanu micca dati validi. U signale viotu ùn hè micca usatu in l'interfaccia induve ci hè un simbulu per battutu.

Segnali d'utilizatori

1-8192

Opcional

Qualchese numeru di signali d'utilizatori per pacchettu pò esse prisenti nantu à l'interfacce fonte è sink. A fonte stabilisce u valore di stu signalu quandu
startofpacket hè affirmatu. A fonte ùn deve micca cambià u valore di stu signalu finu à u principiu di u novu pacchettu. Più dettagli sò in a sezione Signal d'Usuariu.

1-8192

Opcional

Qualchese numeru di signali d'utilizatori per simbulu pò esse prisenti nantu à a fonte è a lavanda. Più dettagli sò in a sezione Signal d'Usuariu.

6.2.1. Interfaccia sincrona

Tutti i trasferimenti di una cunnessione Avalon Streaming si verificanu sincroni cù u filu crescente di u signale di u clock assuciatu. Tutti i outputs da una interfaccia fonte à una interfaccia sink,
cumpresi i dati, u canali, è i signali di errore, deve esse registratu nantu à a riva di u clock. L'inputs à una interfaccia di sink ùn deve micca esse registratu. A registrazione di i segnali à a fonte facilita l'operazione à alta frequenza.

Table 21. Avalon Streaming Credit Interface Properties

Nome di pruprietà

Valore predeterminatu

Valore Legale

Descrizzione

associatu Clock

1

Clock

U nome di l'interfaccia Avalon Clock à quale questu

interfaccia

L'interfaccia Avalon Streaming hè sincrona.

assuciatu Reset

1

Resettate

U nome di l'interfaccia Avalon Reset à quale questu

interfaccia

L'interfaccia Avalon Streaming hè sincrona.

dataBitsPerSymbol symbolsPerBeat

8

1 8192

Definisce u numeru di bit per simbulu. Per esample,

L'interfaccia orientata à i byte anu simboli 8-bit. Stu valore hè

micca limitatu à esse un putere di 2.

1

1 8192

U numaru di sìmmuli chì sò trasfiriti nant'à ogni

ciclu validu.

maxCredit

256

1-256

U numeru massimu di crediti chì una interfaccia di dati pò sustene.
cuntinuò…

Mandate Feedback

Specifiche di l'interfaccia Avalon® 55

6. Avalon Streaming Credit Interfaces 683091 | 2022.01.24

Property Name errorDescriptor

Valore predeterminatu
0

firstSymbolInHighOrderBits vera

maxChannel

0

Valore Legale

Descrizzione

Lista di corde

Una lista di parolle chì descrizanu l'errore assuciatu cù ogni bit di u signale di errore. A durata di a lista deve esse uguali à u numeru di bits in u signale di errore. A prima parolla in a lista s'applica à u bit più altu. Per esample, "crc, overflow" significa chì u bit [1] d'errore indica un errore CRC. Bit [0] indica un errore di overflow.

veru, falsu

Quandu hè veru, u simbulu di u primu ordine hè guidatu à i bits più significati di l'interfaccia di dati. U simbulu di u più altu ordine hè marcatu D0 in questa specificazione. Quandu sta pruprietà hè impostata à false, u primu simbulu appare nantu à i bits bassu. D0 appare à data [7:0]. Per un bus a 32 bit, se vera, D0 appare sui bit [31:24].

0

U numeru massimu di canali chì una interfaccia di dati

pò sustene.

6.2.2. Trasferimenti di dati tipici
Sta rùbbrica definisce u trasferimentu di dati da una interfaccia fonte à una interfaccia sink. In tutti i casi, a fonte di dati è u lavamanu di dati deve esse cumpletu cù a specificazione. Ùn hè micca a rispunsabilità di u lavu di dati per detectà l'errore di u protokollu di fonte.
A figura sottu mostra i signali chì sò tipicamente utilizati in una interfaccia di creditu Avalon Streaming.
Figura 33. Avalon Streaming Credit Signals tipici

Cum'è sta figura indica, una tipica interfaccia di fonte Avalon Streaming Credit conduce i signali validi, di dati, di errore è di canali à u lavabo. U lavu conduce i signali di aghjurnamentu è di creditu.

Specifiche di l'interfaccia Avalon® 56

Mandate Feedback

6. Avalon Streaming Credit Interfaces 683091 | 2022.01.24
Figura 34. Creditu tipicu è Trasferimentu di Dati

A figura sopra mostra un trasferimentu tipicu di creditu è ​​di dati trà a fonte è u lavu. Ci pò esse un ritardu arbitrariu trà l'aghjurnamentu di u lavamanu chì afferma è a fonte chì riceve l'aghjurnamentu. In listessu modu, pò esse un ritardu arbitrariu trà l'affirmazione di a fonte valida per i dati è u lavamanu chì riceve tali dati. U ritardu di u percorsu di creditu da a fonte à a fonte è a strada di dati da a fonte à u lavu ùn deve esse uguali. Sti ritardu pò esse 0 ciculu oltri, vale à dì quandu u lavamanu affirmeghja aghjurnamentu, hè vistu da a surgente in u listessu ciclu. À u cuntrariu, quandu a fonte affirmeghja validu, hè vistu da u lavu in u stessu ciculu. Se a fonte hà zero crediti, ùn pò micca affirmà validu. I crediti trasferiti sò cumulativi. Se sink hà trasfirutu crediti uguali à a so pruprietà maxCredit, è ùn hà micca ricevutu alcuna dati, ùn pò micca affirmà l'aghjurnamentu finu à chì riceve almenu 1 data o hà ricevutu un impulsu return_credit da a fonte.
Sink ùn pò micca backpressure data da a fonte se sink hà furnitu crediti à a fonte, ie sink deve accettà dati da a fonte se ci sò crediti pendenti. A fonte ùn pò micca affirmà validu s'ellu ùn hà micca ricivutu alcunu creditu o esauritu i crediti ricevuti, vale à dì digià mandatu i dati in locu di crediti ricevuti.
Se a fonte hà zero crediti, a fonte ùn pò micca inizià u trasferimentu di dati in u stessu ciculu chì riceve crediti. In listessu modu, se sink hà trasferitu crediti uguali à a so pruprietà maxCredit è riceve dati, sink ùn pò micca mandà una aghjurnazione in u stessu ciculu chì hà ricevutu dati. Queste restrizioni sò state messe in piazza per evità cicli cumminativi in ​​l'implementazione.
6.2.3. Riturnà i Crediti
Avalon Streaming Credit protocol supporta un signale return_credit. Questu hè utilizatu da a fonte per rinvià i crediti à affruntà. Ogni ciculu, stu signale hè affirmatu, indica chì a fonte dà 1 creditu. Se a fonte vole vultà parechji crediti, stu signale deve esse affirmatu per parechji cicli. Per esample, s'è a surgente vole à vultà 10 crediti pendenti, affirmeghja return_credit signal per 10 ciculi. Sink duveria cuntà i crediti restituiti in i so contatori di mantenimentu di creditu internu. I crediti ponu esse restituiti da a fonte in ogni puntu in u tempu, sempre chì hà crediti più grande di 0.
A figura sottu exemplifica i crediti di ritornu di fonte. Comu mostra in a figura, outstanding_credit hè un contatore internu per a fonte. Quandu a fonte torna i crediti, stu contatore hè diminuitu.

Mandate Feedback

Specifiche di l'interfaccia Avalon® 57

Figura 35. Crediti di ritornu di fonte

6. Avalon Streaming Credit Interfaces 683091 | 2022.01.24

Nota:

Ancu s'ellu u diagramma di sopra mostra u ritornu di crediti quandu validu hè deasserted, return_credit pò ancu esse affirmatu mentre validu hè affirmatu. In questu casu, a fonte spende in modu efficace 2 crediti: unu per validu, è unu per return_credit.

6.3. Avalon Streaming Credit Signals User
I segnali di l'utilizatori sò segnali di banda laterale opzionali chì scorri cù e dati. Sò cunsiderate valide solu quandu i dati sò validi. Siccomu i signali di l'utilizatori ùn anu micca un significatu definitu o un scopu, a prudenza deve esse usata durante l'usu di sti signali. Hè a rispunsabilità di u designer di u sistema per assicurà chì dui IP cunnessi l'un à l'altru accunsenu nantu à i roli di i signali di l'utilizatori.
Sò pruposti dui tipi di signali d'utilizatori: signali d'utilizatori per simbulu è signali d'utilizatori per pacchettu.
6.3.1. Signal d'Usuariu Per Simbulu
Cum'è u nome suggerisce, a dati definisce un signalu d'utilizatore per simbulu (symbol_user) per simbulu. Ogni simbulu in i dati pò avè un signalu d'utilizatore. Per esample, s'è u numeru di sìmmuli in i dati hè 8, è a larghezza symbol_user hè 2 bits, a larghezza tutale di u signale symbol_user hè 16 bits.
Symbol_user hè validu solu quandu i dati sò validi. Surghjente pò cambià stu signali ogni ciclu quandu dati hè validu. Sink pò ignorà u valore di i bit symbol_user per i simboli vacanti.
Se una fonte chì hà stu signale hè cunnessu à un lavamanu chì ùn hà micca stu signale nantu à a so interfaccia, u segnu da a fonte resta pendente in l'interconnessione generata.
Se una fonte chì ùn hà micca stu signale hè cunnessu à un lavamanu chì hà stu signale nantu à a so interfaccia, u signale di l'utilizatore di l'input di u lavamu hè ligatu à 0.
Se a fonte è u lavamanu anu uguale numeru di simboli in i dati, i signali di l'utilizatori per i dui devenu avè uguali larghezza. Altrimenti, ùn ponu esse cunnessi.

Specifiche di l'interfaccia Avalon® 58

Mandate Feedback

6. Avalon Streaming Credit Interfaces
683091 | 2022.01.24
Se una fonte larga hè cunnessa à un lavamanu strettu, è tutti dui anu signali d'utilizatori per simbulu, allora dui deve avè uguali bits di signali d'utilizatori assuciati cù ogni simbulu. Per esample, se una fonte di 16 simboli hà 2 bit di signale d'utilizatore assuciatu cù ogni simbulu (per un totale di 32 bit di signalu d'utilizatore), allora un sink di 4 simboli deve avè un signalu d'utilizatore di 8 bit (2 bit assuciati cù ogni simbulu). Un adattatore di formatu di dati pò cunvertisce i dati di fonte di 16 simboli in dati di sink di 4 simboli, è u signale di l'utilizatore di 32 bit in un signalu d'utilizatore di 8 bit. L'adattatore di u formatu di dati mantene l'associu di simboli cù i bits di signali d'utilizatori currispondenti.
In u stessu modu, se una fonte stretta hè cunnessa à un lavamanu largu, è tutti dui anu signali d'utilizatori per simbulu, allora dui deve avè uguali bits di signale d'utilizatore assuciatu à ogni simbulu. Per esample, se una fonte di 4 simboli hà 2 bit di signale d'utilizatore assuciatu cù ogni simbulu (per un totale di 8 bit di signalu d'utilizatore), allora un sink di 16 simboli deve avè un signalu d'utilizatore di 32 bit (2 bit assuciati cù ogni simbulu). Un adattatore di formatu di dati pò cunvertisce i dati di fonte di 4 simboli in dati di sink di 16 simboli, è u signale di l'utilizatori di 8 bit à u signale di l'utilizatori di 32 bit. L'adattatore di u formatu di dati mantene l'associu di simboli cù i bits di signali d'utilizatori currispondenti. Se u pacchettu hè più chjucu cà u rapportu di l'larghezza di dati, l'adattatore di furmatu di dati stabilisce u valore di viotu in cunseguenza. Sink deve disprezzà u valore di i bits d'utilizatori assuciati cù simboli vacanti.
6.3.2. Segnale d'utilizatore per pacchettu
In più di symbol_user, i signali d'utilizatori per pacchettu (packet_user) ponu ancu esse dichjaratu nantu à l'interfaccia. Packet_user pò esse di larghezza arbitraria. A cuntrariu di symbol_user, packet_user deve esse custanti in tuttu u pacchettu, vale à dì u so valore deve esse stabilitu à l'iniziu di u pacchettu è deve esse u listessu finu à a fine di u pacchettu. Questa restrizzione rende l'implementazione di l'adattatore di formatu di dati più simplice perchè elimina l'opzione di riplicà o chop (fonte larga, lavamanu strettu) o concatenate (fonte stretta, lavamanu largu) packet_user.
Se una fonte hà packet_user è sink ùn hà micca, u packet_user da a fonte resta pendente. In un tali casu, u designer di u sistema deve esse attentu è ùn trasmette micca infurmazione critica di cuntrollu nantu à stu signalu chì hè completamente o parzialmente ignoratu.
Se una fonte ùn hà micca packet_user è u sink hà, u packet_user à sink hè ligatu à 0.

Mandate Feedback

Specifiche di l'interfaccia Avalon® 59

683091 | 2022.01.24 Mandate Feedback

7. Avalon Conduit Interfaces

Nota:

L'interfaccia di Avalon Conduit raggruppa una cullezzione arbitraria di signali. Pudete specificà ogni rolu per i signali di conduit. In ogni casu, quandu si cunnetta i conduits, i roli è l'larghezza devenu cuncordà, è e direzzione deve esse oppostu. Una interfaccia Avalon Conduit pò include segnali di input, output è bidirezionale. Un modulu pò avè parechje interfacce Avalon Conduit per furnisce un raggruppamentu di signale logicu. L'interfacce di Conduit ponu dichjarà un clock associatu. Quandu l'interfaccia di cundutti cunnessi sò in diversi domini di clock, Platform Designer genera un missaghju d'errore.
Sè pussibule, duvete aduprà l'interfaccia standard Avalon-MM o Avalon-ST invece di creà una interfaccia Avalon Conduit. Platform Designer furnisce validazione è adattazione per queste interfacce. Platform Designer ùn pò micca furnisce validazione o adattazione per interfacce Avalon Conduit.
Interfacce di Conduit tipicamente usati per guidà i segnali di u dispositivu off-chip, cum'è un indirizzu SDRAM, dati è signali di cuntrollu.

Intel Corporation. Tutti i diritti riservati. Intel, u logu Intel è altri marchi Intel sò marchi di Intel Corporation o di e so filiali. Intel garantisce a prestazione di i so prudutti FPGA è semiconduttori à e specificazioni attuali in cunfurmità cù a garanzia standard di Intel, ma si riserva u dirittu di fà cambiamenti à qualsiasi prudutti è servizii in ogni mumentu senza avvisu. Intel ùn assume alcuna rispunsabilità o responsabilità derivante da l'applicazione o l'usu di qualsiasi informazione, pruduttu o serviziu descritti quì, salvu cum'è espressamente accunsentutu in scrittura da Intel. I clienti di Intel sò cunsigliati per ottene l'ultima versione di e specificazioni di u dispositivu prima di confià nantu à qualsiasi infurmazione publicata è prima di fà ordini per prudutti o servizii. * Altri nomi è marche ponu esse rivendicate cum'è a pruprietà di l'altri.

ISO 9001: 2015 Registratu

7. Avalon Conduit Interfaces 683091 | 2022.01.24

Figura 36. Focus on the Conduit Interface

Ethernet PHY

Sistema Avalon-MM
Processore Avalon-MM
Host

Ethernet MAC
Avalon-MM Host

Logica persunalizata
Avalon-MM Host

Tessutu di interconnessione di u sistema

Agente Avalon-MM
Controller SDRAM

Agente Avalon
Logica persunalizata

Interfaccia Conduit
Memoria SDRAM

7.

Documenti / Risorse

Intel MNL-AVABUSREF Avalon Interface [pdfManuale d'usu
MNL-AVABUSREF, Avalon Interface, MNL-AVABUSREF Avalon Interface

Referenze

Lascia un cumentu

U vostru indirizzu email ùn serà micca publicatu. I campi obbligatori sò marcati *