MNL-AVABUSREF Interfaccia Avalon

Specifiche dell'interfaccia Avalon®
Aggiornato per Intel® Quartus® Prime Design Suite: 20.1

Versione online Invia feedback

MNL-AVABUSRIF

ID: 683091 Versione: 2022.01.24

Contenuto

Contenuto
1. Introduzione alle specifiche dell'interfaccia Avalon®…………………… 4 1.1. Proprietà e parametri di Avalon…………………………………………. 5 1.2. Ruoli di segnalazione………………………………..5 1.3. Tempistiche dell’interfaccia………………..…………….. 5. Example: Interfacce Avalon nelle progettazioni di sistema…………………. 5
2. Interfacce Avalon Clock e Reset……………………..………. 8. Ruoli del segnale sink dell'orologio Avalon…………………..………..….. 2.1 8. Proprietà del sink dell'orologio……………………………… 2.2 9. Interfacce orologio associate …………………..…………..2.3 9. Ruoli del segnale sorgente dell'orologio Avalon………………..2.4 9. Proprietà della sorgente dell'orologio…………………..……………..………….. 2.5 9. Resettare il lavandino……………………..…………….. 2.6. Ripristina proprietà interfaccia sink…………………..…………….. 10 2.7. Interfacce di reset associate …………………………10 2.8. Ripristina sorgente…………………..……………..……………..10 2.9. Ripristina proprietà interfaccia sorgente……………………………………….10
3. Interfacce mappate in memoria di Avalon………………………..12 3.1. Introduzione alle interfacce mappate in memoria di Avalon………………… 12 3.2. Ruoli dei segnali di interfaccia mappati in memoria di Avalon…………………14 3.3. Proprietà dell'interfaccia……………………………….17 3.4. Tempistiche……………………..………………..……………..20 3.5. Trasferimenti……………..………..…………. Tipici trasferimenti di lettura e scrittura………………..………. 20 3.5.1. Trasferimenti utilizzando la proprietà waitrequestAllowance…………… 21 3.5.2. Trasferimenti di lettura e scrittura con stati di attesa fissi …………….. 23 3.5.3. Trasferimenti pipeline…………………………..….. 26 3.5.4. Trasferimenti a raffica………………………. 27 3.5.5. Leggere e scrivere le risposte……………….................................. 30 3.5.6. Allineamento indirizzi……………………………….. 34 3.6. Indirizzamento dell'agente Avalon-MM……………………………36
4. Interfacce di interruzione Avalon…………………..……………..…………..….. 38 4.1. Interruzione mittente……………..………..…..38 4.1.1. Ruoli del segnale del mittente dell'interruzione di Avalon………………….38 4.1.2. Interruzione proprietà mittente…………………..….. 38 4.2. Ricevitore di interruzioni…………………..……………..39 4.2.1. Ruoli del segnale del ricevitore di interruzione Avalon………………….. 39 4.2.2. Proprietà del ricevitore di interrupt………………………….. 39 4.2.3. Tempi di interruzione…………….................................................................. 39
5. Interfacce di streaming Avalon……………..…………. 40 5.1. Termini e Concetti……………………………..………………….. 41 5.2. Ruoli del segnale dell'interfaccia di streaming di Avalon……………..….. 42 5.3. Sequenza e temporizzazione del segnale …………………..…………..………….. 43 5.3.1. Interfaccia sincrona………………………43 5.3.2. Abilitazioni orologio………………….................................................. 43

Specifiche dell'interfaccia Avalon® 2

Invia feedback

Contenuto
5.4. Proprietà dell'interfaccia Avalon-ST…………………..…………..43 5.5. Tipici trasferimenti di dati …………………..………………………44 5.6. Dettagli del segnale………………..…………. Disposizione dei dati ………………….. 44. Trasferimento dati senza contropressione…………………..….. 5.7 45. Trasferimento dati con contropressione………………………………………. 5.8
5.9.1. Trasferimenti di dati utilizzando readyLatency e readyAllowance………….. 47 5.9.2. Trasferimenti di dati utilizzando readyLatency……………. 49 5.10. Trasferimenti dati a pacchetto…………….................................................. 50 5.11. Dettagli del segnale …………………………………………………………………………………………… 51 5.12. Dettagli del protocollo ……………………………………………………………………….52
6. Interfacce di credito Streaming Avalon……………..……………..………….. 53 6.1. Termini e concetti………………………………..…………….. 53 6.2. Ruoli del segnale dell'interfaccia di credito in streaming di Avalon………………….. 54 6.2.1. Interfaccia sincrona………………………55 6.2.2. Trasferimenti di dati tipici…………………….56 6.2.3. Restituzione dei crediti…………………..……………. 57. Segnali utente di credito Avalon Streaming…………………………… 6.3 58. Segnale utente per simbolo…………………………………………. 6.3.1 58. Segnale utente per pacchetto……………………………6.3.2
7. Interfacce Avalon Conduit………………………………60 7.1. Ruoli del segnale del condotto Avalon………………………. 61. Proprietà del condotto ……………………….. 7.2
8. Interfaccia del condotto Avalon Tristate……………………………… 62 8.1. Ruoli dei segnali del condotto Avalon Tristate…………………….. 64 8.2. Proprietà del condotto tristato……………..…………..………….. 65 8.3. Tempistiche del condotto tristato …………………..……………..65
A. Segnali deprecati……………………………. 67
B. Cronologia delle revisioni del documento per le specifiche dell'interfaccia Avalon………… 68

Invia feedback

Specifiche dell'interfaccia Avalon® 3

683091 | 2022.01.24 Invia feedback

1. Introduzione alle specifiche dell'interfaccia Avalon®

Le interfacce Avalon® semplificano la progettazione del sistema consentendo di collegare facilmente i componenti in Intel® FPGA. La famiglia di interfacce Avalon definisce interfacce appropriate per lo streaming di dati ad alta velocità, la lettura e la scrittura di registri e memoria e il controllo di dispositivi off-chip. I componenti disponibili in Platform Designer incorporano queste interfacce standard. Inoltre, puoi incorporare le interfacce Avalon in componenti personalizzati, migliorando l'interoperabilità dei progetti.
Questa specifica definisce tutte le interfacce Avalon. Dopo aver letto queste specifiche, dovresti capire quali interfacce sono appropriate per i tuoi componenti e quali ruoli di segnale utilizzare per comportamenti particolari. Questa specifica definisce le seguenti sette interfacce:
· Avalon Streaming Interface (Avalon-ST): un'interfaccia che supporta il flusso unidirezionale di dati, inclusi flussi multiplex, pacchetti e dati DSP.
· Avalon Memory Mapped Interface (Avalon-MM): un'interfaccia di lettura/scrittura basata su indirizzi tipica delle connessioni Host-Agente.
· Interfaccia Avalon Conduit – un tipo di interfaccia che accoglie segnali individuali o gruppi di segnali che non rientrano in nessuno degli altri tipi Avalon. È possibile connettere le interfacce conduttore all'interno di un sistema Platform Designer. In alternativa, puoi esportarli per connetterti ad altri moduli nel progetto o ai pin FPGA.
· Avalon Tri-State Conduit Interface (Avalon-TC): un'interfaccia per supportare le connessioni a periferiche off-chip. Più periferiche possono condividere i pin tramite il multiplexing del segnale, riducendo il numero di pin dell'FPGA e il numero di tracce sul PCB.
· Avalon Interrupt Interface: un'interfaccia che consente ai componenti di segnalare eventi ad altri componenti.
· Avalon Clock Interface: un'interfaccia che guida o riceve orologi.
· Avalon Reset Interface: un'interfaccia che fornisce connettività di ripristino.
Un singolo componente può includere un numero qualsiasi di queste interfacce e può anche includere più istanze dello stesso tipo di interfaccia.

Nota:

Le interfacce Avalon sono uno standard aperto. Non è richiesta alcuna licenza o royalty per sviluppare e vendere prodotti che utilizzano o sono basati sulle interfacce Avalon.

Informazioni correlate
· Introduzione ai core IP FPGA Intel Fornisce informazioni generali su tutti i core IP FPGA Intel, inclusa la parametrizzazione, la generazione, l'aggiornamento e la simulazione dei core IP.
· Generazione di uno script di impostazione del simulatore combinato Crea script di simulazione che non richiedono aggiornamenti manuali per gli aggiornamenti del software o della versione IP.

Intel Corporation. Tutti i diritti riservati. Intel, il logo Intel e altri marchi Intel sono marchi di Intel Corporation o delle sue consociate. Intel garantisce le prestazioni dei suoi prodotti FPGA e semiconduttori in base alle specifiche attuali in conformità con la garanzia standard di Intel, ma si riserva il diritto di apportare modifiche a qualsiasi prodotto e servizio in qualsiasi momento senza preavviso. Intel non si assume alcuna responsabilità derivante dall'applicazione o dall'uso di qualsiasi informazione, prodotto o servizio qui descritto, salvo quanto espressamente concordato per iscritto da Intel. Si consiglia ai clienti Intel di ottenere la versione più recente delle specifiche del dispositivo prima di fare affidamento su qualsiasi informazione pubblicata e prima di effettuare ordini per prodotti o servizi. *Altri nomi e marchi possono essere rivendicati come proprietà di altri.

Certificato ISO 9001: 2015

1. Introduzione alle specifiche dell'interfaccia Avalon® 683091 | 2022.01.24
· Linee guida sulle migliori pratiche per la gestione dei progetti per una gestione efficiente e la portabilità del progetto e della PI files.
1.1. Proprietà e parametri di Avalon
Le interfacce Avalon descrivono il loro comportamento con le proprietà. La specifica per ciascun tipo di interfaccia definisce tutte le proprietà dell'interfaccia e i valori predefiniti. Per esample, la proprietà maxChannel delle interfacce Avalon-ST consente di specificare il numero di canali supportati dall'interfaccia. La proprietà clockRate dell'interfaccia Avalon Clock fornisce la frequenza di un segnale di clock.
1.2. Ruoli di segnale
Ciascuna interfaccia Avalon definisce i ruoli dei segnali e il loro comportamento. Molti ruoli di segnalazione sono facoltativi. Hai la flessibilità di selezionare solo i ruoli di segnalazione necessari per implementare la funzionalità richiesta. Per esample, l'interfaccia Avalon-MM include ruoli opzionali di segnale Beginbursttransfer e burstcount per i componenti che supportano il bursting. L'interfaccia Avalon-ST include i ruoli opzionali di segnale startofpacket e endofpacket per le interfacce che supportano i pacchetti.
Ad eccezione delle interfacce Avalon Conduit, ciascuna interfaccia può includere solo un segnale per ciascun ruolo del segnale. Molti ruoli di segnale consentono segnali attivi-bassi. In questo documento vengono generalmente utilizzati segnali attivi-alti.
1.3. Tempistiche dell'interfaccia
I capitoli successivi di questo documento includono informazioni sulla tempistica che descrivono i trasferimenti per i singoli tipi di interfaccia. Non sono garantite prestazioni per nessuna di queste interfacce. Le prestazioni effettive dipendono da molti fattori, tra cui la progettazione dei componenti e l'implementazione del sistema.
La maggior parte delle interfacce Avalon non devono essere sensibili ai segnali diversi dall'orologio e dal ripristino. Altri segnali possono transitare più volte prima di stabilizzarsi. La tempistica esatta dei segnali tra i fronti del clock varia a seconda delle caratteristiche dell'FPGA Intel selezionato. Questa specifica non specifica le caratteristiche elettriche. Fare riferimento alla documentazione del dispositivo appropriato per le specifiche elettriche.
1.4. Esample: Interfacce Avalon nei progetti di sistema
In questo example il controller Ethernet include sei diversi tipi di interfaccia: · Avalon-MM · Avalon-ST · Avalon Conduit · Avalon-TC · Avalon Interrupt · Avalon Clock.
Il processore Nios® II accede ai registri di controllo e di stato dei componenti su chip tramite un'interfaccia Avalon-MM. Lo scatter raccoglie i DMA che inviano e ricevono dati attraverso le interfacce Avalon-ST. Quattro componenti includono l'interruzione

Invia feedback

Specifiche dell'interfaccia Avalon® 5

1. Introduzione alle specifiche dell'interfaccia Avalon® 683091 | 2022.01.24

Figura 1.

interfacce servite da software in esecuzione sul processore Nios II. Un PLL accetta un clock tramite un'interfaccia Avalon Clock Sink e fornisce due sorgenti di clock. Due componenti includono le interfacce Avalon-TC per accedere alle memorie off-chip. Infine, il controller DDR3 accede alla memoria DDR3 esterna tramite un'interfaccia Avalon Conduit.

Interfacce Avalon in una progettazione di sistema con controller DMA Scatter Gather e processore Nios II

Circuito stampato

SSRAM Flash

DDR3

Cn

Cn

Cn

FPGA Intel
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
Lavandino CSnk Avalon

Condotto Cn Tristato
TCS del ponte
Condotto Tristato MTC
Pin condivisore TCS TCS

IRQ4 IRQ3 Nios II

C1

M

IRQ1C1

UARTS

Temporizzatore IRQ2

C1

S

Medicina Tradizionale Cinese

Medicina Tradizionale Cinese

SSRAM di controllo tristato

Flash di controllo tristato

C1

S

C1

S

C2

Controller Cn DDR3
S

Avalon MM

S

Condotto

Cn Src Avalon-ST

Controllore Ethernet
Snodo

Buffer FIFO Avalon-ST

Avalon-ST

C2

Buffer FIFO

SM Scatter GatheIrQ4
DMA Snk

S C2

Avalon-ST

Fonte

IRQ3

C2

Scatter Raccogli DMA

CSrc

CSnkPLL C1

Rif. Clk

CSrc

C2

Nella figura seguente, un processore esterno accede ai registri di controllo e di stato dei componenti su chip tramite un ponte bus esterno con interfaccia Avalon-MM. La porta root PCI Express controlla i dispositivi sulla scheda a circuito stampato e gli altri componenti dell'FPGA pilotando un endpoint PCI Express su chip con un'interfaccia host AvalonMM. Un processore esterno gestisce gli interrupt da cinque componenti. Un PLL accetta un clock di riferimento tramite un'interfaccia sink Avalon Clock e fornisce due clock

Specifiche dell'interfaccia Avalon® 6

Invia feedback

1. Introduzione alle specifiche dell'interfaccia Avalon® 683091 | 2022.01.24

Figura 2.

fonti. Le memorie flash e SRAM condividono i pin FPGA tramite un'interfaccia Avalon-TC. Infine, un controller SDRAM accede a una memoria SDRAM esterna tramite un'interfaccia Avalon Conduit.
Interfacce Avalon in una progettazione di sistema con endpoint PCI Express e processore esterno

Circuito stampato

Porta radice PCI Express

CPU esterna

FPGA Intel
IRQ1
MAC Ethernet

C1

M

C1

Logica personalizzata IRQ2
M
Avalon MM

Punto finale PCI Express

IRQ3 IRQ5 IRQ4 IRQ3
IRQ2IRQ1

C1

M

C1

Bridge di protocollo bus esterno
M

S

Controllo tristato SSRAM TCS

Tristate Cntrl Flash TCS

S

Controller SDRAM

C1

Cn

S

IRQ4

IRQ5

S

S

UART C2

Logica personalizzata C2

TCM Condotto tristato TCM
Pin condivisore TCS
Condotto Tristato MTC
Ponte Cn

Rif. Clk

CSrc CSnk PLL C1
CSrc C2

Cn

Cn

SRAM

Flash

Cn SDRAM

Invia feedback

Specifiche dell'interfaccia Avalon® 7

683091 | 2022.01.24 Invia feedback

2. Interfacce orologio e ripristino Avalon

Figura 3.

Le interfacce Avalon Clock definiscono l'orologio o gli orologi utilizzati da un componente. I componenti possono avere ingressi di clock, uscite di clock o entrambi. Un anello ad aggancio di fase (PLL) è un esempioample di un componente che dispone sia di un ingresso che di uscite di clock.

La figura seguente è un'illustrazione semplificata che mostra gli ingressi e le uscite più importanti di un componente PLL.

Uscite e ingressi core clock PLL

Nucleo PLL

altpllIP Intel FPGA

reset

Reset

Orologio

Lavello

Fonte

Interfaccia di uscita dell'orologio1

Sorgente dell'orologio

Interfaccia di uscita dell'orologio2

ref_clk

Orologio

Orologio

Lavello

Fonte

Interfaccia uscita orologio_n

2.1. Ruoli del segnale sink dell'orologio Avalon

Un clock sink fornisce un riferimento temporale per altre interfacce e logica interna.

Tabella 1.

Ruoli del segnale sink dell'orologio

Clk ruolo segnale

Larghezza 1

Inserimento della direzione

Richiesto Sì

Descrizione
Un segnale orario. Fornisce la sincronizzazione per la logica interna e per altre interfacce.

Intel Corporation. Tutti i diritti riservati. Intel, il logo Intel e altri marchi Intel sono marchi di Intel Corporation o delle sue consociate. Intel garantisce le prestazioni dei suoi prodotti FPGA e semiconduttori in base alle specifiche attuali in conformità con la garanzia standard di Intel, ma si riserva il diritto di apportare modifiche a qualsiasi prodotto e servizio in qualsiasi momento senza preavviso. Intel non si assume alcuna responsabilità derivante dall'applicazione o dall'uso di qualsiasi informazione, prodotto o servizio qui descritto, salvo quanto espressamente concordato per iscritto da Intel. Si consiglia ai clienti Intel di ottenere la versione più recente delle specifiche del dispositivo prima di fare affidamento su qualsiasi informazione pubblicata e prima di effettuare ordini per prodotti o servizi. *Altri nomi e marchi possono essere rivendicati come proprietà di altri.

Certificato ISO 9001: 2015

2. Interfacce orologio e ripristino Avalon 683091 | 2022.01.24

2.2. Proprietà del sink dell'orologio

Tabella 2.

Proprietà del sink dell'orologio

Nome clockRate

Valore predefinito 0

Valori Legali 0

Descrizione
Indica la frequenza in Hz dell'interfaccia sink di clock. Se 0, la frequenza di clock consente qualsiasi frequenza. Se diverso da zero, Platform Designer emette un avviso se la sorgente di clock connessa non corrisponde alla frequenza specificata.

2.3. Interfacce orologio associate
Tutte le interfacce sincrone dispongono di una proprietàClock associata che specifica quale sorgente di clock sul componente viene utilizzata come riferimento di sincronizzazione per l'interfaccia. Questa proprietà è illustrata nella figura seguente.
Figura 4. Proprietà AssociateClock

rx_clk Orologio
Lavello

Doppio orologio FIFO

Orologio tx_clk
Lavello

rx_data ST orologio associato = “rx_clk”
Lavello

orologioassociato = “tx_clk” ST tx_data
Fonte

2.4. Ruoli del segnale della sorgente dell'orologio Avalon

Un'interfaccia sorgente Avalon Clock guida un segnale di clock fuori da un componente.

Tabella 3.

Ruoli del segnale della sorgente dell'orologio

Ruolo del segnale

Larghezza

Direzione

clic

1

Produzione

Richiesto Sì

Descrizione Un segnale di clock in uscita.

2.5. Proprietà della sorgente dell'orologio

Tabella 4.

Proprietà della sorgente dell'orologio

Nome associatoDirectClock

Valore predefinito
N / A

clockRate

0

clockRateKnown

falso

Valori legali

Descrizione

an input Il nome dell'ingresso dell'orologio che pilota direttamente questo nome dell'orologio uscita dell'orologio, se presente.

0

Indica la frequenza in Hz alla quale viene pilotata l'uscita del clock.

vero, falso

Indica se la frequenza dell'orologio è nota o meno. Se si conosce la frequenza dell'orologio, è possibile personalizzare altri componenti del sistema.

Invia feedback

Specifiche dell'interfaccia Avalon® 9

2. Interfacce orologio e ripristino Avalon 683091 | 2022.01.24

2.6. Ripristina il lavandino

Tabella 5.

Ripristina i ruoli dei segnali di ingresso
Il segnale reset_req è un segnale facoltativo che è possibile utilizzare per impedire il danneggiamento del contenuto della memoria eseguendo l'handshake di ripristino prima di un'asserzione di ripristino asincrona.

Ruolo del segnale

Larghezza

Direzione

Necessario

Descrizione

resettare, resettare_n

1

Ingresso

Reimposta la logica interna di un'interfaccia o di un componente

ad uno stato definito dall'utente. Le proprietà sincrone di

i reset sono definiti dai bordi sincroni

parametro.

reset_richiesta

1

ingresso

NO

Indicazione anticipata del segnale di ripristino. Questo segnale agisce come a

almeno un avviso di un ciclo di ripristino in sospeso per la ROM

primitivi. Utilizzare reset_req per disabilitare l'abilitazione dell'orologio

o mascherare il bus degli indirizzi di una memoria su chip, a

impedire la transizione dell'indirizzo quando un

viene affermato l'ingresso di ripristino asincrono.

2.7. Reimposta le proprietà dell'interfaccia sink

Tabella 6.

Ripristina i ruoli dei segnali di ingresso

Nome associatoOrologio

Valore predefinito
N / A

bordi sincroni

DOLCE

Valori legali

Descrizione

il nome di un orologio

Il nome di un orologio con cui è sincronizzata questa interfaccia. Obbligatorio se il valore di synchronousEdges è DEASSERT o BOTH.

NESSUN DOLCE
ENTRAMBI

Indica il tipo di sincronizzazione richiesta dall'ingresso di reset. Sono definiti i seguenti valori:
· NESSUNA sincronizzazione non è necessaria perché il componente include la logica per la sincronizzazione interna del segnale di reset.
· DEASSERTl'asserzione di reset è asincrona e la deasserzione è sincrona.
ENTRAMBI l'asserzione e la deasserzione del ripristino sono sincrone.

2.8. Interfacce di ripristino associate
Tutte le interfacce sincrone hanno una proprietàReset associata che specifica quale segnale di reset reimposta la logica dell'interfaccia.

2.9. Reimposta sorgente

Tabella 7.

Ripristina i ruoli dei segnali di uscita
Il segnale reset_req è un segnale facoltativo che è possibile utilizzare per impedire il danneggiamento del contenuto della memoria eseguendo l'handshake di ripristino prima di un'asserzione di ripristino asincrona.

Ruolo del segnale

Larghezza

Direzione

Necessario

Descrizione

reimposta reimposta_n

1

Produzione

Reimposta la logica interna di un'interfaccia o di un componente

ad uno stato definito dall'utente.

reset_richiesta

1

Produzione

Facoltativo Abilita la generazione di richieste di reimpostazione, che è anticipata

segnale affermato prima dell'asserzione di ripristino. Una volta

affermato, questo non può essere annullato finché non viene effettuato il ripristino

completato.

Specifiche dell'interfaccia Avalon® 10

Invia feedback

2. Interfacce orologio e ripristino Avalon 683091 | 2022.01.24

2.10. Reimposta le proprietà dell'interfaccia di origine

Tabella 8.

Ripristina le proprietà dell'interfaccia

Nome

Valore predefinito

Valori legali

Descrizione

orologio associato

N / A

un orologio

Il nome di un orologio a cui questa interfaccia

nome

sincronizzato. Obbligatorio se il valore di

synchronousEdges è DEASSERT o ENTRAMBI.

associatoDirectReset

N / A

un reset

Il nome dell'ingresso di reset che lo guida direttamente

nome

reimpostare l'origine tramite un collegamento uno a uno.

associatiResetSinks

N / A

un reset

Specifica gli input di ripristino che causano l'attivazione di una sorgente di ripristino

nome

affermare il ripristino. Per esample, un sincronizzatore di ripristino quello

esegue un'operazione OR con più ingressi di ripristino su

generare un'uscita di ripristino.

bordi sincroni

DOLCE

NESSUN DOLCE
ENTRAMBI

Indica la sincronizzazione dell'uscita di reset. Sono definiti i seguenti valori:
· NESSUNOL'interfaccia di ripristino è asincrona.
· DEASSERTl'asserzione di reset è asincrona e la deasserzione è sincrona.
· ENTRAMBI l'asserzione e la deasserzione del reset sono sincrone.

Invia feedback

Specifiche dell'interfaccia Avalon® 11

683091 | 2022.01.24 Invia feedback
3. Interfacce mappate in memoria di Avalon
3.1. Introduzione alle interfacce mappate in memoria di Avalon
È possibile utilizzare le interfacce Avalon Memory-Mapped (Avalon-MM) per implementare interfacce di lettura e scrittura per i componenti Host e Agent. I seguenti sono exampfile di componenti che tipicamente includono interfacce mappate in memoria: · Microprocessori · Memorie · UART · DMA · Timer Le interfacce Avalon-MM vanno da semplici a complesse. Per esample, le interfacce SRAM che hanno trasferimenti di lettura e scrittura a ciclo fisso hanno semplici interfacce Avalon-MM. Le interfacce pipeline in grado di effettuare trasferimenti burst sono complesse.

Intel Corporation. Tutti i diritti riservati. Intel, il logo Intel e altri marchi Intel sono marchi di Intel Corporation o delle sue consociate. Intel garantisce le prestazioni dei suoi prodotti FPGA e semiconduttori in base alle specifiche attuali in conformità con la garanzia standard di Intel, ma si riserva il diritto di apportare modifiche a qualsiasi prodotto e servizio in qualsiasi momento senza preavviso. Intel non si assume alcuna responsabilità derivante dall'applicazione o dall'uso di qualsiasi informazione, prodotto o servizio qui descritto, salvo quanto espressamente concordato per iscritto da Intel. Si consiglia ai clienti Intel di ottenere la versione più recente delle specifiche del dispositivo prima di fare affidamento su qualsiasi informazione pubblicata e prima di effettuare ordini per prodotti o servizi. *Altri nomi e marchi possono essere rivendicati come proprietà di altri.

Certificato ISO 9001: 2015

3. Interfacce mappate in memoria Avalon 683091 | 2022.01.24

Figura 5.

Focus sui trasferimenti Avalon-MM Agent
La figura seguente mostra un sistema tipico, evidenziando la connessione dell'interfaccia dell'agente Avalon-MM alla struttura di interconnessione.
PHY Ethernet

sistema valon-MM
Processore Avalon-MM
Ospite

MAC Ethernet
Host Avalon-MM

Logica personalizzata
Host Avalon-MM

Interconnettere

Agente Avalon-MM
Controllore Flash

Agente Avalon-MM
Controller SRAM

Agente Avalon-MM
Controllore RAM

Agente Avalon-MM
UART

AvAavloanlon- MM SlaAvgeePnotrt
Lor Custom
Logica

Agente del Condotto Tristato
Condividitore perni conduit Tristate e ponte conduit Tristate
Ospite del Condotto Tristato

Agente del Condotto Tristato
Memoria Flash

Agente del Condotto Tristato
Memoria SRAM

Memoria RAM

Tipo RS-232

I componenti Avalon-MM in genere includono solo i segnali richiesti per la logica del componente.

Invia feedback

Specifiche dell'interfaccia Avalon® 13

3. Interfacce mappate in memoria Avalon 683091 | 2022.01.24

Figura 6.

Example Componente agente

La periferica I/O generica a 16 bit mostrata nella figura seguente risponde solo alle richieste di scrittura. Questo componente include solo i segnali dell'agente necessari per i trasferimenti di scrittura.

Avalon-MM Scrittura dati periferica[15..0] D

Applicazione-

Q

pio_out[15..0] Specifico
Interfaccia

Interfaccia Avalon-MM
(Avalon-MM scrive l'interfaccia dell'agente)
clic

CLK_EN

Ogni segnale in un agente Avalon-MM corrisponde esattamente a un ruolo del segnale Avalon-MM. Un'interfaccia Avalon-MM può utilizzare solo un'istanza di ciascun ruolo di segnale.

3.2. Ruoli dei segnali di interfaccia mappati in memoria di Avalon

I ruoli del segnale definiscono i tipi di segnale consentiti dalle porte dell'host e dell'agente mappate in memoria Avalon.

Questa specifica non richiede che tutti i segnali esistano in un'interfaccia mappata in memoria Avalon. Non esiste un segnale che sia sempre richiesto. I requisiti minimi per un'interfaccia mappata in memoria Avalon sono readdata per un'interfaccia di sola lettura o writedata e scrittura per un'interfaccia di sola scrittura.

La tabella seguente elenca i ruoli del segnale per l'interfaccia mappata in memoria di Avalon:

Tabella 9.

Ruoli dei segnali mappati in memoria di Avalon
Alcuni segnali mappati in memoria Avalon possono essere attivi alti o attivi bassi. Quando è attivo basso, il nome del segnale termina con _n.

Ruolo del segnale

Larghezza

Direzione

Necessario

Descrizione

indirizzo

1 – 64 Agente host

byteenable byteenable_n

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

Agente ospite

Segnali fondamentali

NO

Host: per impostazione predefinita, il segnale dell'indirizzo rappresenta un byte

indirizzo. Il valore dell'indirizzo deve essere allineato alla larghezza dei dati.

Per scrivere su byte specifici all'interno di una parola dati, l'host deve utilizzare

il segnale byteable. Fare riferimento all'interfaccia addressUnits

proprietà per l'indirizzamento delle parole.

Agenti: per impostazione predefinita, l'interconnessione traduce l'indirizzo byte in un indirizzo word nello spazio degli indirizzi dell'agente. Dal punto di vista dell'agente, ogni accesso dell'agente avviene per una parola di dati.

Per esempioample, indirizzo = 0 seleziona la prima parola dell'agente. indirizzo = 1 seleziona la seconda parola dell'agente. Fare riferimento alla proprietà dell'interfaccia addressUnits per l'indirizzamento dei byte.

NO

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

interfacce di larghezza superiore a 8 bit. Ogni bit in byteenable

corrisponde a un byte in writedata e readdata. Il padrone di casa

morso di byteenable indica se byte è essere

continua…

Specifiche dell'interfaccia Avalon® 14

Invia feedback

3. Interfacce mappate in memoria Avalon 683091 | 2022.01.24

Ruolo del segnale
debugaccess leggi read_n readdata risposta [1:0] scrivi write_n writedata

Larghezza

Direzione richiesta

Descrizione

scritto a. Durante le scritture, i byteenable specificano su quali byte vengono scritti. Gli altri byte dovrebbero essere ignorati dall'agente. Durante le letture, i byteenable indicano quali byte sta leggendo l'host. Gli agenti che restituiscono semplicemente i dati di lettura senza effetti collaterali sono liberi di ignorare i byteenable durante le letture. Se un'interfaccia non ha un segnale byteenable, il trasferimento procede come se tutti i byteenable fossero asseriti.
Quando viene affermato più di un bit del segnale byteenable, tutte le corsie asserite sono adiacenti.

1

Agente ospite

NO

Quando affermato, consente al processore Nios II di scrivere su chip

memorie configurate come ROM.

1

Agente ospite

NO

Asserto per indicare un trasferimento di lettura. Se presente, readdata lo è

necessario.

8, 16, Agente Host

NO

I dati di lettura inviati dall'agente all'host in risposta a

32,

un trasferimento di lettura. Obbligatorio per le interfacce che supportano le letture.

64,

128,

256,

512,

1024

2

Agente ospite

NO

Il segnale di risposta è un segnale opzionale che trasporta il

stato della risposta.

Nota: poiché il segnale è condiviso, un'interfaccia non può emettere o accettare una risposta di scrittura e una di lettura nello stesso ciclo di clock.

· 00: OKAY – Risposta riuscita per una transazione.

· 01: RISERVATO–La codifica è riservata.

· 10: SLVERR–Errore da un agente endpoint. Indica una transazione non riuscita.

· 11: DECODEERROR–Indica un tentativo di accesso a una posizione non definita.

Per leggere le risposte:

· Una risposta viene inviata con ogni readdata. Una lunghezza di burst di lettura pari a N dà come risultato N risposte. Meno risposte non sono valide, anche in caso di errore. Il valore del segnale di risposta può essere diverso per ciascun dato letto nel burst.

· L'interfaccia deve avere letto i segnali di controllo. Il supporto della pipeline è possibile con il segnale readdatavalid.

· In caso di errori di lettura, il corrispondente readdata è “non importa”.

Per le risposte scritte:

· Per ogni comando di scrittura deve essere inviata una risposta di scrittura. Un burst di scrittura dà come risultato una sola risposta, che deve essere inviata dopo l'accettazione del trasferimento di scrittura finale nel burst.

· Se è presente writeresponsevalid, tutti i comandi di scrittura devono essere completati con risposte di scrittura.

1

Agente ospite

NO

Asserto per indicare un trasferimento di scrittura. Se presente, writedata lo è

necessario.

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

Agente ospite

NO

Dati per trasferimenti in scrittura. La larghezza deve essere la stessa del

larghezza dei dati letti se entrambi sono presenti. Necessario per le interfacce

quel supporto scrive.

Segnali di stato di attesa

continua…

Invia feedback

Specifiche dell'interfaccia Avalon® 15

3. Interfacce mappate in memoria Avalon 683091 | 2022.01.24

Blocco del ruolo del segnale
richiesta di attesa richiesta di attesa_ n
readdatavali d readdatavali d_n
risposta dello scrittore valida

Larghezza 1
1
1 1

Direzione richiesta

Descrizione

Agente ospite

NO

lock garantisce che una volta che un host vince l'arbitrato, l'host vincente

mantiene l'accesso all'agente per più transazioni. Serratura

asserisce coincidente con la prima lettura o scrittura di un blocco

sequenza delle transazioni. Lock deasserisce nel finale

transazione di una sequenza bloccata di transazioni. bloccare l'asserzione

non garantisce la vittoria dell'arbitrato. Dopo la serratura-

affermando che l'host è stato concesso, quell'host conserva la concessione fino al

la serratura è deasserita.

Un host dotato di blocco non può essere un host burst. I valori di priorità di arbitraggio per gli host dotati di blocco vengono ignorati.

lock è particolarmente utile per le operazioni di lettura-modifica-scrittura (RMW). La tipica operazione di lettura-modifica-scrittura include i seguenti passaggi:

1. L'host A asserisce il blocco e legge dati a 32 bit che presentano più campi bit.

2. L'host A annulla il blocco, modifica il campo di un bit e riscrive i dati a 32 bit.

lock impedisce all'host B di eseguire una scrittura tra la lettura e la scrittura dell'host A.

Agente ospite

NO

Un agente afferma una richiesta di attesa quando non è in grado di rispondere a a

richiesta di lettura o scrittura. Forza l'host ad attendere fino al

l'interconnessione è pronta per procedere con il trasferimento. All'inizio di

tutti i trasferimenti, un host avvia il trasferimento e attende fino a quando

la richiesta di attesa è stata annullata. Un host non deve fare alcuna supposizione

sullo stato dell'asserzione di waitrequest quando l'host è inattivo:

la richiesta di attesa può essere alta o bassa, a seconda del sistema

proprietà.

Quando viene affermata la richiesta di attesa, i segnali di controllo dell'host all'agente devono rimanere costanti ad eccezione di Beginbursttransfer. Per un diagramma temporale che illustra il segnale di trasferimento burst iniziale, fare riferimento alla figura in Burst di lettura.

Un agente mappato in memoria Avalon può richiedere una richiesta di attesa durante i cicli di inattività. Un host mappato in memoria Avalon può avviare una transazione quando viene asserita la richiesta di attesa e attendere che quel segnale venga annullato. Per evitare il blocco del sistema, un dispositivo agente dovrebbe dichiarare waitrequest durante il ripristino.

Segnali della pipeline

Agente ospite

NO

Utilizzato per trasferimenti di lettura in pipeline a latenza variabile. Quando

affermato, indica che il segnale readdata contiene dati validi.

Per un burst di lettura con valore burstcount , IL

deve essere asserito il segnale readdatavalid volte, una volta per

ogni elemento di lettura dei dati. Deve esserci almeno un ciclo di latenza

tra accettazione della lettura e affermazione della stessa

readdatavalid. Per un diagramma temporale che illustra il segnale readdatavalid, fare riferimento a Trasferimento di lettura pipeline con latenza variabile.

Un agente può affermare readdatavalid per trasferire i dati all'host indipendentemente dal fatto che l'agente stia bloccando un nuovo comando con waitrequest.

Obbligatorio se l'host supporta le letture in pipeline. Gli host in burst con funzionalità di lettura devono includere il segnale readdatavalid.

Agente ospite

NO

Un segnale facoltativo. Se presente, l'interfaccia emette scrittura

risposte per comandi di scrittura.

Quando affermato, il valore sul segnale di risposta è una risposta di scrittura valida.

La risposta di scrittura valida viene asserita solo un ciclo di clock o più dopo l'accettazione del comando di scrittura. C'è almeno una latenza del ciclo di clock dall'accettazione del comando all'asserzione

risposta dello scrittorevalida.

continua…

Specifiche dell'interfaccia Avalon® 16

Invia feedback

3. Interfacce mappate in memoria Avalon 683091 | 2022.01.24

Ruolo del segnale

Larghezza

Direzione richiesta

Descrizione

Un comando di scrittura viene considerato accettato quando l'ultimo battito del burst viene inviato all'agente e la richiesta di attesa è bassa. la risposta valida al writer può essere dichiarata uno o più cicli di clock dopo l'emissione dell'ultimo battito del burst.

burstcount

1 11 Agente host

Segnali di scoppio

NO

Utilizzato dal bursting degli host per indicare il numero di trasferimenti in entrata

ogni scoppio. Il valore del parametro burstcount massimo

deve essere una potenza di 2. Un'interfaccia burstcount di larghezza può codificare un burst massimo di dimensione 2( -1). Per esample, un 4 bit

Il segnale burstcount può supportare un numero massimo di burst pari a 8.

Il conteggio minimo è 1. Il

La proprietà ConstantBurstBehavior controlla la tempistica del

segnale di conteggio burst. È necessario eseguire il bursting di host con funzionalità di lettura

includere il segnale readdatavalid.

Per il bursting di host e agenti che utilizzano indirizzi byte, si applica la seguente restrizione alla larghezza dell'indirizzo:

>= +
log2( )
Per il bursting di host e agenti che utilizzano indirizzi word, il termine log2 riportato sopra viene omesso.

Beginbursttr

1

Interconnettere

rispondere

Agente

NO

Asserto per il primo ciclo di un'esplosione per indicare quando un'esplosione

il trasferimento sta iniziando. Questo segnale viene deasserito dopo un ciclo

indipendentemente dal valore di waitrequest. Per un diagramma temporale

che illustra l'inizio del trasferimento, fare riferimento alla figura in Leggi

Scoppi.

Beginbursttransfer è facoltativo. Un agente può sempre calcolare internamente l'inizio della successiva transazione burst di scrittura contando i trasferimenti di dati.

Attenzione: non utilizzare questo segnale. Questo segnale esiste per supportare i controller di memoria legacy.

3.3. Proprietà dell'interfaccia

Tabella 10. Proprietà dell'interfaccia Avalon-MM

Nome indirizzoUnità

Valore predefinito
Simboli host Agente –
parole

Valori legali
parole, simboli

Descrizione
Specifica l'unità per gli indirizzi. Un simbolo è in genere un byte. Fare riferimento alla definizione di indirizzo nella tabella Tipi di segnali di interfaccia mappati in memoria di Avalon per l'uso tipico di questa proprietà.

sempreBurstMaxBurst burstcountUnità

parole false

vero, falso
parole, simboli

Quando è vero, indica che l'host emette sempre il burst di lunghezza massima. La lunghezza massima del burst è 2burstcount_width – 1. Questo parametro non ha effetto per le interfacce dell'agente Avalon-MM.
Questa proprietà specifica le unità per il segnale burstcount. Per i simboli, il valore burstcount viene interpretato come il numero di simboli (byte) nel burst. Per le parole, il valore burstcount viene interpretato come il numero di trasferimenti di parole nel burst.

burstOnBurstBoundariesOnly

falso

vero, falso

Se vero, i trasferimenti burst presentati a questa interfaccia iniziano da indirizzi multipli della dimensione massima del burst.
continua…

Invia feedback

Specifiche dell'interfaccia Avalon® 17

3. Interfacce mappate in memoria Avalon 683091 | 2022.01.24

Nome costanteBurstBehavior
holdTime(1) linewrapBursts
massimePendingReadTransactions (1)
MaximumPendingWriteTransact ioni MinimumResponseLatency

Valore predefinito Host -false Agente -false
0 falso
1(2)
0 1

Valori legali vero, falso
0 1000 cicli
vero, falso
1 64
1 64

Descrizione
Host: se vero, dichiara che l'host mantiene l'indirizzo e il conteggio burst costanti durante una transazione burst. Se false (impostazione predefinita), dichiara che l'host mantiene l'indirizzo e il conteggio dei burst costanti solo per la prima battuta di un burst. Agenti: se vero, dichiara che l'agente si aspetta che l'indirizzo e il conteggio dei burst siano mantenuti costanti durante il burst. Se false (impostazione predefinita), dichiara che l'agente sampl'indirizzo dei le e il burst contano solo sulla prima battuta di un burst.
Specifica il tempo in timingUnits tra la deasserzione della scrittura e la deasserzione dell'indirizzo e dei dati. (Si applica solo alle transazioni di scrittura.)
Alcuni dispositivi di memoria implementano un burst di wrap invece di un burst incrementale. Quando un burst di wrapper raggiunge un limite di burst, l'indirizzo ritorna al limite di burst precedente. Per il conteggio degli indirizzi sono necessari solo i bit di ordine inferiore. Per esample, un burst di wrapper all'indirizzo 0xC con limiti di burst ogni 32 byte attraverso un'interfaccia a 32 bit scrive nei seguenti indirizzi: · 0xC · 0x10 · 0x14 · 0x18 · 0x1C · 0x0 · 0x4 · 0x8
Agenti: questo parametro rappresenta il numero massimo di letture in sospeso che l'agente può accodare. Il valore deve essere diverso da zero per qualsiasi agente con il segnale readdatavalid.
Fare riferimento a Trasferimento di lettura pipeline con latenza variabile per un diagramma temporale che illustra questa proprietà e per ulteriori informazioni sull'utilizzo di waitrequest e readdatavalid con più letture in sospeso.
Host: questa proprietà rappresenta il numero massimo di transazioni di lettura in sospeso che l'host può generare.
Nota: non impostare questo parametro su 0. (Per compatibilità con le versioni precedenti, il software supporta un'impostazione del parametro pari a 0. Tuttavia, non utilizzare questa impostazione nei nuovi progetti).
Il numero massimo di scritture in sospeso non pubblicate che un agente può accettare o che un host può emettere. Un agente asserisce waitrequest una volta che l'interconnessione raggiunge questo limite e l'host smette di emettere comandi. Il valore predefinito è 0, che consente un numero illimitato di transazioni di scrittura in sospeso per un host che supporta risposte di scrittura. Un agente che supporta le risposte di scrittura deve impostarlo su un valore diverso da zero.
Per le interfacce che supportano readdatavalid o writeresponsevalid, specifica il numero minimo di cicli tra un comando di lettura o scrittura e la risposta al comando.
continua…

Specifiche dell'interfaccia Avalon® 18

Invia feedback

3. Interfacce mappate in memoria Avalon 683091 | 2022.01.24

Nome readLatency(1) readWaitTime(1) setupTime(1) timingUnits(1) waitrequestAllowance
writeWaitTime(1)
orologio associato

Valore predefinito

Valori legali

Descrizione

0

0 63

Latenza di lettura per agenti Avalon-MM a latenza fissa. Per un

diagramma temporale che utilizza una latenza di lettura fissa, fare riferimento a

Trasferimenti di lettura pipeline con latenza fissa.

Gli agenti Avalon-MM con latenza fissa devono fornire un valore per questa proprietà dell'interfaccia. Agenti Avalon-MM

quelli con latenza variabile utilizzano il segnale readdatavalid per specificare dati validi.

1

0 1000 Per interfacce che non utilizzano waitrequest

cicli

segnale. readWaitTime indica il tempo in entrata

timingUnits prima che gli agenti accettino una lettura

comando. Il tempismo è come se l'agente affermasse

waitrequest per i cicli readWaitTime.

0

0 1000 Specifica il tempo in timingUnits tra l'asserzione

cicli

di indirizzo e dati e asserzione di lettura o scrittura.

cicli

cicli,
nanosecondo s

Specifica le unità per setupTime, holdTime,
writeWaitTime e readWaitTime. Utilizzare i cicli per i dispositivi sincroni e i nanosecondi per i dispositivi asincroni. Quasi tutti i dispositivi agente Avalon-MM sono sincroni.
Un componente Avalon-MM che collega un'interfaccia dell'agente AvalonMM a un dispositivo off-chip può essere asincrono. Quel dispositivo off-chip potrebbe avere un tempo di assestamento fisso per il ritorno dell'autobus.

0

Specifica il numero di trasferimenti che possono essere emessi o

accettato dopo che è stata confermata la richiesta di attesa.

Quando waitrequestAllowance è 0, la scrittura,
I segnali di lettura e richiesta di attesa mantengono il comportamento esistente come descritto nella tabella Ruoli dei segnali Avalon-MM.

Quando waitrequestAllowance è maggiore di 0, ogni ciclo di clock su cui viene dichiarata la scrittura o la lettura conta come trasferimento di comando. Una volta affermata la waitrequest, solo i trasferimenti di altri comandi waitrequestAllowance sono legali mentre la waitrequest rimane asserita. Una volta raggiunta la waitrequestAllowance, la scrittura e la lettura devono rimanere deasserite per tutto il tempo in cui viene asserita la waitrequest.

Una volta che waitrequest deasserisce, i trasferimenti possono riprendere in qualsiasi momento senza restrizioni fino a quando waitrequest non viene nuovamente affermato. Al momento, è possibile che vengano completati altri trasferimenti waitrequestAllowance mentre la waitrequest rimane attiva.

0

0 1000 Per interfacce che non utilizzano waitrequest

Cicli

segnale, writeWaitTime specifica il tempo in entrata

timingUnits prima che un agente accetti una scrittura. IL

la tempistica è come se l'agente asserisse una richiesta di attesa per cicli o nanosecondi writeWaitTime.

Per un diagramma temporale che illustra l'uso di writeWaitTime, fare riferimento a Trasferimenti di lettura e scrittura con stati di attesa fissi.

Proprietà della relazione dell'interfaccia

N / A

N / A

Nome dell'interfaccia dell'orologio a cui questo Avalon-MM

l'interfaccia è sincrona.

continua…

Invia feedback

Specifiche dell'interfaccia Avalon® 19

3. Interfacce mappate in memoria Avalon 683091 | 2022.01.24

Nome

Valore predefinito

Valori legali

Descrizione

associatoReset

N / A

N / A

Nome dell'interfaccia di ripristino che ripristina la logica

questa interfaccia Avalon-MM.

bridgesToHost

0

Avalon-MM Un bridge Avalon-MM è costituito da un agente e un host,

Nome host e proprietà di accesso all'agente

sul

la richiesta di uno o più byte provoca lo stesso byte o

Stesso

byte che devono essere richiesti dall'host. L'Avalon-MM

componente Pipeline Bridge nel componente Platform Designer

la libreria implementa questa funzionalità.

Note:
1. Sebbene questa proprietà caratterizzi un dispositivo agente, gli host possono dichiarare questa proprietà per abilitare connessioni dirette tra le interfacce host e agente corrispondenti.
2. Se un'interfaccia agente accetta più trasferimenti di lettura di quelli consentiti, il FIFO di lettura in sospeso dell'interconnessione potrebbe traboccare con risultati imprevedibili. L'agente potrebbe perdere i dati di lettura o instradarli all'interfaccia host sbagliata. Oppure il sistema potrebbe bloccarsi. L'interfaccia dell'agente deve far valere la richiesta di attesa per impedire questo overflow.

Informazioni correlate · Ruoli dei segnali di interfaccia mappati in memoria Avalon a pagina 14 · Risposte di lettura e scrittura a pagina 34 · Trasferimento di lettura pipeline con latenza variabile a pagina 28 · Trasferimenti di lettura pipeline con latenza fissa a pagina 29 · Risposte di lettura e scrittura
Nella Guida per l'utente di Platform Designer: Intel Quartus® Prime Pro Edition

3.4. Tempistica
L'interfaccia Avalon-MM è sincrona. Ciascuna interfaccia Avalon-MM è sincronizzata con un'interfaccia orologio associata. I segnali possono essere combinatori se vengono pilotati dalle uscite di registri sincroni al segnale di clock. Questa specifica non determina come o quando i segnali transitano tra i fronti del clock. I diagrammi temporali sono privi di informazioni temporali dettagliate.

3.5. Trasferimenti
Questa sezione definisce due concetti di base prima di introdurre i tipi di trasferimento:
· Trasferimento: un trasferimento è un'operazione di lettura o scrittura di una parola o di uno o più simboli di dati. I trasferimenti avvengono tra un'interfaccia Avalon-MM e l'interconnessione. I trasferimenti richiedono uno o più cicli di clock per essere completati.
Sia gli host che gli agenti fanno parte di un trasferimento. L'host Avalon-MM avvia il trasferimento e l'agente Avalon-MM risponde.
· Coppia host-agente: questo termine si riferisce all'interfaccia host e all'interfaccia agente coinvolte in un trasferimento. Durante un trasferimento, il controllo dell'interfaccia host e i segnali dati passano attraverso la struttura di interconnessione e interagiscono con l'interfaccia dell'agente.

Specifiche dell'interfaccia Avalon® 20

Invia feedback

3. Interfacce mappate in memoria Avalon 683091 | 2022.01.24

3.5.1. Trasferimenti tipici di lettura e scrittura

Questa sezione descrive una tipica interfaccia Avalon-MM che supporta trasferimenti di lettura e scrittura con richiesta di attesa controllata dall'agente. L'agente può bloccare l'interconnessione per tutti i cicli richiesti affermando il segnale waitrequest. Se un agente utilizza waitrequest per i trasferimenti in lettura o in scrittura, l'agente deve utilizzare waitrequest per entrambi.

Un agente in genere riceve indirizzo, byteenable, lettura o scrittura e scrittura dati dopo il fronte di salita dell'orologio. Un agente richiede una richiesta di attesa prima del fronte di salita dell'orologio per ritardare i trasferimenti. Quando l'agente fa valere la richiesta di attesa, il trasferimento viene ritardato. Mentre viene asserita la richiesta di attesa, l'indirizzo e gli altri segnali di controllo vengono mantenuti costanti. I trasferimenti vengono completati sul fronte di salita del primo clic dopo che l'interfaccia dell'agente ha annullato l'asserzione della richiesta di attesa.
Non esiste alcun limite al tempo per cui l'interfaccia dell'agente può bloccarsi. Pertanto, è necessario assicurarsi che un'interfaccia dell'agente non asserisca waitrequest per un tempo indefinito. La figura seguente mostra i trasferimenti di lettura e scrittura utilizzando waitrequest.

Nota:

waitrequest può essere disaccoppiato dai segnali di richiesta di lettura e scrittura. la richiesta di attesa può essere affermata durante i cicli di inattività. Un host Avalon-MM può avviare una transazione quando viene asserita la richiesta di attesa e attendere che quel segnale venga annullato. Disaccoppiare la richiesta di attesa dalle richieste di lettura e scrittura può migliorare i tempi del sistema. Il disaccoppiamento elimina un ciclo combinatorio che include i segnali di lettura, scrittura e richiesta di attesa. Se è necessario un disaccoppiamento ancora maggiore, utilizzare la proprietà waitrequestAllowance. waitrequestAllowance è disponibile a partire dalla versione Quartus® Prime Pro v17.1 Stratix® 10 ES Editions.

Figura 7.

Leggere e scrivere trasferimenti con Waitrequest

1

2

clic

3

4

5

indirizzo

indirizzo

byteable

byteable

leggi scrivi waitrequest readdata

readdata

risposta

risposta

writedata

6

7

writedata

Invia feedback

Specifiche dell'interfaccia Avalon® 21

3. Interfacce mappate in memoria Avalon 683091 | 2022.01.24
I numeri in questo diagramma temporale contrassegnano le seguenti transizioni: 1. indirizzo, byteenable e lettura vengono affermati dopo il fronte di salita di clk. IL
l'agente afferma una richiesta di attesa, bloccando il trasferimento. 2. la richiesta di attesa è sampguidato. Poiché viene affermata la richiesta di attesa, il ciclo diventa
uno stato di attesa. indirizzo, lettura, scrittura e byteenable rimangono costanti. 3. L'agente annulla la richiesta di attesa dopo il fronte di salita di clk. Afferma l'agente
leggere i dati e la risposta. 4. L'ospite sample readdata, risposta e waitrequest deasserita
completando il trasferimento. 5. I segnali indirizzo, writedata, byteenable e write vengono affermati dopo il
fronte di salita del clk. L'agente afferma che la richiesta di attesa blocca il trasferimento. 6. L'agente annulla la richiesta di attesa dopo il fronte di salita di clk. 7. L'agente acquisisce i dati di scrittura terminando il trasferimento.

Specifiche dell'interfaccia Avalon® 22

Invia feedback

3. Interfacce mappate in memoria Avalon 683091 | 2022.01.24

3.5.2. Trasferimenti utilizzando la proprietà waitrequestAllowance

La proprietà waitrequestAllowance specifica il numero di trasferimenti che un host AvalonMM può emettere o che un agente Avalon-MM deve accettare dopo che è stato affermato il segnale waitrequest. waitrequestAllowance è disponibile a partire dalla versione del software Intel Quartus Prime 17.1.
Il valore predefinito di waitrequestAllowance è 0, che corrisponde al comportamento descritto in Trasferimenti tipici di lettura e scrittura, dove l'asserzione waitrequest impedisce l'emissione o l'accettazione del trasferimento corrente.
Un agente Avalon-MM con un waitrequestAllowance maggiore di 0 in genere asserisce waitrequest quando il suo buffer interno può accettare solo più voci waitrequestAllowance prima di riempirsi. Gli host Avalon-MM con un waitrequestAllowance maggiore di 0 dispongono di cicli waitrequestAllowance aggiuntivi per interrompere l'invio dei trasferimenti, il che consente un maggiore pipeline nella logica dell'host. L'host deve annullare l'asserzione del segnale di lettura o scrittura una volta esaurito il tempo di attesa richiesta.
Valori di waitrequestAllowance maggiori di 0 supportano la progettazione ad alta velocità in cui forme immediate di contropressione possono comportare un calo della frequenza operativa massima (FMAX) spesso a causa della logica combinatoria nel percorso di controllo. Un agente Avalon-MM deve supportare tutti i possibili tempi di trasferimento legali per il suo valore waitrequestAllowance. Per esample, un agente con waitrequestAllowance = 2 deve essere in grado di accettare qualsiasi forma d'onda di trasferimento host mostrata nell'esempio seguenteampmeno.

Informazioni correlate Trasferimenti tipici di lettura e scrittura a pagina 21

3.5.2.1. waitrequestAllowance è uguale a due
Il seguente diagramma temporale illustra i tempi per un host Avalon-MM che dispone di due cicli di clock per avviare e interrompere l'invio dei trasferimenti dopo che l'agente Avalon-MM ha annullato l'asserzione o ha affermato rispettivamente la richiesta di attesa.

Figura 8. Scrittura dell'host: waitrequestAllowance equivale a due cicli di clock

1 2

3 4

5

6

orologio

scrivere

waitrequest

dati[7:0]

La0 La1 La2

La3 La4

Livello B0 Livello B1

B3

Invia feedback

Specifiche dell'interfaccia Avalon® 23

3. Interfacce mappate in memoria Avalon 683091 | 2022.01.24

I marcatori in questa figura contrassegnano i seguenti eventi:
1. L'host Avalon-MM> guida la scrittura e i dati.
2. L'agente Avalon-MM> asserisce waitrequest. Poiché waitrequestAllowance è 2, l'host è in grado di completare i due trasferimenti di dati aggiuntivi.
3. L'host annulla la scrittura come richiesto poiché l'agente sta affermando una richiesta di attesa per un terzo ciclo.
4. L'host Avalon-MM> guida la scrittura e i dati. L'agente non sta facendo valere la richiesta di attesa. Le scritture sono complete.
5. L'host Avalon gestisce la scrittura e i dati anche se l'agente sta affermando una richiesta di attesa. Poiché waitrequestAllowance è di 2 cicli, la scrittura viene completata.
6. L'host Avalon guida la scrittura e i dati. L'agente non sta facendo valere la richiesta di attesa. La scrittura viene completata.

3.5.2.2. waitrequestAllowance è uguale a uno
Il seguente diagramma temporale illustra i tempi per un host Avalon-MM che dispone di un ciclo di clock per avviare e interrompere l'invio dei trasferimenti dopo che l'agente Avalon-MM deasserisce o afferma rispettivamente la richiesta di attesa:
Figura 9. Scrittura host: waitrequestAllowance equivale a un ciclo di clock

1 clic

23 4

5

6 7

8

scrivere

waitrequest

dati[7:0]

La0 La1 La2

La3 La4

B0

Livello B1 Livello B2

B3

I numeri in questa figura contrassegnano i seguenti eventi:
1. L'host Avalon-MM guida la scrittura e i dati.
2. L'agente Avalon-MM asserisce waitrequest. Poiché waitrequestAllowance è 1, l'host può completare la scrittura.
3. L'host interrompe la scrittura perché l'agente sta affermando una richiesta di attesa per un secondo ciclo.
4. L'host Avalon-MM guida la scrittura e i dati. L'agente non sta facendo valere la richiesta di attesa. Le scritture sono complete.
5. L'agente afferma la richiesta di attesa. Poiché waitrequestAllowance è 1 ciclo, la scrittura viene completata.

Specifiche dell'interfaccia Avalon® 24

Invia feedback

3. Interfacce mappate in memoria Avalon 683091 | 2022.01.24

6. L'host Avalon-MM guida la scrittura e i dati. L'agente non sta facendo valere la richiesta di attesa. La scrittura viene completata.
7. L'agente Avalon-MM asserisce waitrequest. Poiché waitrequestAllowance è 1, l'host può completare un ulteriore trasferimento di dati.
8. L'host Avalon guida la scrittura e i dati. L'agente non sta facendo valere la richiesta di attesa. La scrittura viene completata.

3.5.2.3. waitrequestAllowance è uguale a due – Non consigliato

Il seguente diagramma illustra i tempi per un host Avalon-MM> che può inviare due trasferimenti dopo che è stata confermata la richiesta di attesa.

Questa tempistica è legale, ma non consigliata. In questo esample l'host conta il numero di transazioni anziché il numero di cicli di clock. Questo approccio richiede un contatore che renda l'implementazione più complessa e possa influire sui tempi di chiusura.
Quando l'host determina quando condurre le transazioni con il segnale waitrequest e un numero costante di cicli, l'host avvia o interrompe le transazioni in base ai segnali registrati.

Figura 10. waitrequestAllowance equivale a due trasferimenti

1 23 ccl

45

6

7

scrivere

waitrequest

dati

I numeri in questa figura contrassegnano i seguenti eventi: 1. L'host Avalon-MM> asserisce la scrittura e guida i dati.
2. L'agente Avalon-MM> asserisce waitrequest.
3. L'host Avalon-MM> guida la scrittura e i dati. Poiché waitrequestAllowance è 2, l'host invia i dati in 2 cicli consecutivi.
4. L'host Avalon-MM> annulla la scrittura perché l'host ha trascorso i 2 trasferimenti waitrequestAllowance.
5. L'host Avalon-MM> emette una scrittura non appena la richiesta di attesa viene annullata.
6. L'host Avalon-MM> guida la scrittura e i dati. L'agente afferma la richiesta di attesa per 1 ciclo.
7. In risposta alla richiesta di attesa, l'host Avalon-MM> conserva i dati per 2 cicli.

3.5.2.4. Compatibilità waitrequestAllowance per le interfacce host e agente Avalon-MM
Gli host e gli agenti Avalon-MM che supportano il segnale waitrequest supportano la contropressione. Gli host con contropressione possono sempre connettersi agli agenti senza contropressione. Gli host senza contropressione non possono connettersi agli agenti con contropressione.

Invia feedback

Specifiche dell'interfaccia Avalon® 25

3. Interfacce mappate in memoria Avalon 683091 | 2022.01.24

Tabella 11. Compatibilità waitrequestAllowance per host e agenti Avalon-MM

Host e agente waitrequestAllowance

Compatibilità

host = 0 agente = 0
host = 0 agente > 0

Segue le stesse regole di compatibilità delle interfacce Avalon-MM standard.
Non sono possibili collegamenti diretti. Nel caso di un host con segnale waitrequest è necessario un semplice adattamento. Una connessione è impossibile se l'host non supporta il segnale waitrequest.

host > 0 agente = 0
host > 0 agente > 0

Non sono possibili collegamenti diretti. L'adattamento (buffer) è necessario quando ci si connette a un agente con un segnale di richiesta di attesa o stati di attesa fissi.
Non è necessario alcun adattamento se l'indennità dell'ospite <= indennità dell'agente. Se l'indennità dell'ospite < indennità dell'agente, è possibile inserire i registri della pipeline. Per le connessioni punto a punto, è possibile aggiungere i registri della pipeline sui segnali di comando o sui segnali di richiesta di attesa. Fino a registrare stages possono essere inseriti dove è la differenza tra le indennità. La connessione di un host con un waitrequestAllowance più elevato rispetto all'agente richiede il buffering.

3.5.2.5. Condizioni di errore waitrequestAllowance
Il comportamento è imprevedibile se un'interfaccia Avalon-MM viola la specifica del limite di richiesta di attesa.
· Se un host viola il waitrequestAllowance = specifica inviando più di trasferimenti, i trasferimenti potrebbero essere interrotti o potrebbe verificarsi un danneggiamento dei dati.
· Se un agente pubblicizza un waitrequestAllowance maggiore di quanto sia possibile, alcuni trasferimenti potrebbero essere interrotti o potrebbe verificarsi un danneggiamento dei dati.
3.5.3. Trasferimenti di lettura e scrittura con stati di attesa fissi
Un agente può specificare stati di attesa fissi utilizzando le proprietà readWaitTime e writeWaitTime. L'utilizzo di stati di attesa fissi è un'alternativa all'utilizzo di waitrequest per bloccare un trasferimento. L'indirizzo e i segnali di controllo (byteenable, read e write) vengono mantenuti costanti per tutta la durata del trasferimento. Impostazione readWaitTime o writeWaitTime su equivale ad affermare waitrequest per cicli per trasferimento.
Nella figura seguente, l'agente ha writeWaitTime = 2 e readWaitTime = 1.

Specifiche dell'interfaccia Avalon® 26

Invia feedback

3. Interfacce mappate in memoria Avalon 683091 | 2022.01.24

Figura 11.

Trasferimento in lettura e scrittura con stati di attesa fissi nell'interfaccia dell'agente

1

2

3

4

5

clic

indirizzo

indirizzo

indirizzo

byteable

byteable

Leggere

scrivi risposta readdata writedata

risposta di lettura dei dati

writedata

I numeri in questo diagramma temporale contrassegnano le seguenti transizioni:
1. L'host asserisce l'indirizzo e legge sul fronte di salita di clk.
2. Il successivo fronte di salita di clk segna la fine del primo e unico ciclo di stato di attesa. Il readWaitTime è 1.
3. L'agente asserisce readdata e risposta sul fronte di salita di clk. Il trasferimento di lettura termina.
4. I segnali di scrittura, indirizzo, byteenable e scrittura sono disponibili per l'agente.
5. Il trasferimento di scrittura termina dopo 2 cicli di stato di attesa.
I trasferimenti con un singolo stato di attesa sono comunemente utilizzati per le periferiche multiciclo off-chip. La periferica cattura l'indirizzo e i segnali di controllo sul fronte di salita di clk. La periferica ha un ciclo completo per restituire i dati.
Sono consentiti componenti con stati di attesa pari a zero. Tuttavia, i componenti con zero waitstate possono ridurre la frequenza ottenibile. Gli stati di attesa pari a zero richiedono che il componente generi la risposta nello stesso ciclo in cui è stata presentata la richiesta.

3.5.4. Trasferimenti pipeline
I trasferimenti di lettura in pipeline Avalon-MM aumentano il throughput per i dispositivi agente sincrono che richiedono diversi cicli per restituire i dati per il primo accesso. Tali dispositivi possono tipicamente restituire un valore di dati per ciclo per un certo periodo di tempo successivo. I nuovi trasferimenti di lettura in pipeline possono iniziare prima che vengano restituiti i dati di lettura per i trasferimenti precedenti.
Un trasferimento di lettura in pipeline ha una fase di indirizzo e una fase di dati. Un host avvia un trasferimento presentando l'indirizzo durante la fase di indirizzo. Un agente esegue il trasferimento consegnando i dati durante la fase dati. La fase dell'indirizzo per un nuovo trasferimento (o più trasferimenti) può iniziare prima del completamento della fase dati di un trasferimento precedente. Il ritardo è chiamato latenza della pipeline. La latenza della pipeline è la durata dalla fine della fase di indirizzo all'inizio della fase di dati.

Invia feedback

Specifiche dell'interfaccia Avalon® 27

3. Interfacce mappate in memoria Avalon 683091 | 2022.01.24

I tempi di trasferimento per gli stati di attesa e la latenza della pipeline presentano le seguenti differenze principali:
· Stati di attesa – Gli stati di attesa determinano la lunghezza della fase di indirizzo. Gli stati di attesa limitano il throughput massimo di una porta. Se un agente richiede uno stato di attesa per rispondere a una richiesta di trasferimento, la porta richiede due cicli di clock per trasferimento.
· Latenza della pipeline: la latenza della pipeline determina il tempo necessario affinché i dati vengano restituiti indipendentemente dalla fase dell'indirizzo. Un agente in pipeline senza stati di attesa può sostenere un trasferimento per ciclo. Tuttavia, l'agente potrebbe richiedere diversi cicli di latenza per restituire la prima unità di dati.
Gli stati di attesa e le letture in pipeline possono essere supportati contemporaneamente. La latenza della pipeline può essere fissa o variabile.

3.5.4.1. Trasferimento di lettura pipeline con latenza variabile
Dopo aver acquisito l'indirizzo e i segnali di controllo, un agente pipeline Avalon-MM impiega uno o più cicli per produrre dati. Un agente in pipeline può avere più trasferimenti di lettura in sospeso in un dato momento.
Trasferimenti di lettura pipeline a latenza variabile:
· Richiede un segnale aggiuntivo, readdatavalid, che indica quando i dati letti sono validi.
· Includere lo stesso insieme di segnali dei trasferimenti di lettura non pipeline.
Nei trasferimenti di lettura pipeline a latenza variabile, le periferiche dell'agente che utilizzano readdatavalid sono considerate pipeline con latenza variabile. I segnali readdata e readdatavalid corrispondenti ad un comando di lettura possono essere asseriti al più presto il ciclo successivo all'asserzione di quel comando di lettura.
L'agente deve restituire readdata nello stesso ordine in cui vengono accettati i comandi di lettura. Le porte dell'agente pipeline con latenza variabile devono utilizzare waitrequest. L'agente può far valere una richiesta di attesa per bloccare i trasferimenti per mantenere un numero accettabile di trasferimenti in sospeso. Un agente può affermare readdatavalid per trasferire i dati all'host indipendentemente dal fatto che l'agente stia bloccando un nuovo comando con waitrequest.

Nota:

Il numero massimo di trasferimenti in sospeso è una proprietà dell'interfaccia dell'agente. La struttura di interconnessione crea la logica per instradare i dati letti agli host richiedenti utilizzando questo numero. L'interfaccia dell'agente, non la struttura di interconnessione, deve tenere traccia del numero di letture in sospeso. L'agente deve far valere waitrequest per evitare che il numero di letture in sospeso superi il numero massimo. Se un agente ha waitrequestAllowance > 0, l'agente deve far valere waitrequest con sufficiente anticipo in modo che il totale dei trasferimenti in sospeso, inclusi quelli accettati mentre viene asserita la waitrequest, non superi il numero massimo di trasferimenti in sospeso specificati.

Specifiche dell'interfaccia Avalon® 28

Invia feedback

3. Interfacce mappate in memoria Avalon 683091 | 2022.01.24

Figura 12.

Trasferimenti di lettura pipeline con latenza variabile

La figura seguente mostra diversi trasferimenti di lettura dell'agente. L'agente è in pipeline con latenza variabile. In questa figura l'agente può accettare un massimo di due trasferimenti in sospeso. L'agente utilizza waitrequest per evitare di superare questo limite massimo.

1

2

34

5

6

78

9

10

11

clic

indirizzo

indirizzo1

indirizzo2

indirizzo3

indirizzo4

indirizzo5

Leggere

waitrequest

readdata readdatavalid

dati 1

dati2

dati 3

dati4

dati5

I numeri in questo diagramma temporale contrassegnano le seguenti transizioni:
1. L'host asserisce l'indirizzo e legge, avviando un trasferimento di lettura.
2. L'agente acquisisce addr1.
3. L'agente acquisisce addr2.
4. L'agente afferma una richiesta di attesa perché ha già accettato un massimo di due letture in sospeso, causando lo stallo del terzo trasferimento.
5. L'agente asserisce data1, la risposta a addr1. L'agente annulla la richiesta di attesa.
6. L'agente acquisisce addr3. L'interconnessione acquisisce dati1.
7. L'agente acquisisce addr4. L'interconnessione acquisisce dati2.
8. L'agente guida readdatavalid e readdata in risposta al terzo trasferimento di lettura.
9. L'agente acquisisce addr5. L'interconnessione acquisisce dati3. Il segnale di lettura viene deasserito. Il valore di waitrequest non è più rilevante.
10. L'interconnessione acquisisce dati4.
11. L'agente guida data5 e asserisce readdatavalid completando la fase dati per il trasferimento di lettura finale in attesa.
Se l'agente non è in grado di gestire un trasferimento di scrittura durante l'elaborazione dei trasferimenti di lettura in sospeso, l'agente deve far valere la richiesta di attesa e bloccare l'operazione di scrittura fino al completamento dei trasferimenti di lettura in sospeso. La specifica Avalon-MM non definisce il valore di readdata nel caso in cui un agente accetti un trasferimento di scrittura allo stesso indirizzo di un trasferimento di lettura attualmente in sospeso.
3.5.4.2. Trasferimenti di lettura pipeline con latenza fissa
La fase dell'indirizzo per i trasferimenti di lettura a latenza fissa è identica al caso a latenza variabile. Dopo la fase di indirizzo, una pipeline con latenza di lettura fissa impiega un numero fisso di cicli di clock per restituire dati di lettura validi. La proprietà readLatency specifica il numero di cicli di clock per restituire dati di lettura validi. L'interconnessione acquisisce i dati di lettura sul fronte di clock di salita appropriato, terminando la fase dei dati.

Invia feedback

Specifiche dell'interfaccia Avalon® 29

3. Interfacce mappate in memoria Avalon 683091 | 2022.01.24

Durante la fase di indirizzo, è possibile far valere waitrequest per sospendere il trasferimento. Oppure specifica la readLatency per un numero fisso di stati di attesa. La fase dell'indirizzo termina al successivo fronte di salita di clk dopo gli stati di attesa, se presenti.

Durante la fase dati, le unità leggono i dati dopo una latenza fissa. Per una latenza di lettura di , deve presentare dati di lettura validi sul file fronte di salita del clk dopo la fine della fase di indirizzo.

Figura 13.

Trasferimento di lettura in pipeline con latenza fissa di due cicli

La figura seguente mostra più trasferimenti di dati tra un host e un sistema in pipeline. Le unità attendono la richiesta di stallo dei trasferimenti e hanno una latenza di lettura fissa di 2 cicli.

12

3

45

6

clic

indirizzo

indirizzo1

indirizzo2 indirizzo3

Leggere

waitrequest

readdata

dati1

dati2 dati3

I numeri in questo diagramma temporale contrassegnano le seguenti transizioni: 1. Un host avvia un trasferimento di lettura affermando read e addr1. 2. La richiesta di attesa richiede di sospendere il trasferimento per un ciclo. 3. Cattura addr1 sul fronte di salita di clk. La fase di indirizzo termina qui. 4. Presenta dati di lettura validi dopo 2 cicli, terminando il trasferimento. 5. addr2 e read vengono asseriti per un nuovo trasferimento di lettura. 6. L'host avvia un terzo trasferimento di lettura durante il ciclo successivo, prima che i dati provengano
viene restituito il bonifico precedente.

3.5.5. Trasferimenti a raffica
Un burst esegue più trasferimenti come un'unità, anziché trattare ogni parola in modo indipendente. I burst possono aumentare il throughput per le porte dell'agente che raggiungono una maggiore efficienza quando gestiscono più parole alla volta, come SDRAM. L'effetto netto del bursting è quello di bloccare l'arbitrato per la durata del burst. Un'interfaccia Avalon-MM burst che supporta sia le letture che le scritture deve supportare sia i burst di lettura che quelli di scrittura.
Le interfacce Bursting Avalon-MM includono un segnale di uscita burstcount. Se un agente dispone di un input burstcount, l'agente è in grado di supportare burst.
Il segnale burstcount si comporta come segue:
· All'inizio di un burst, burstcount presenta il numero di trasferimenti sequenziali nel burst.
· Per larghezza di burstcount, la lunghezza massima del burst è 2( -1). La durata minima legale del burst è uno.

Specifiche dell'interfaccia Avalon® 30

Invia feedback

3. Interfacce mappate in memoria Avalon 683091 | 2022.01.24
Per supportare i burst di lettura dell'agente, un agente deve supportare anche:
· Stati di attesa con il segnale waitrequest.
· Trasferimenti pipeline con latenza variabile con il segnale readdatavalid.
All'inizio di un burst, l'agente vede l'indirizzo e un valore di lunghezza del burst su burstcount. Per un burst con indirizzo e valore burstcount pari a , l'agente deve eseguire trasferimenti consecutivi a partire dall'indirizzo . Il burst viene completato dopo che l'agente riceve (scrive) o restituisce (legge) il file parola di dati. L'agente di bursting deve acquisire l'indirizzo e il conteggio dei burst solo una volta per ogni burst. La logica dell'agente deve dedurre l'indirizzo per tutti i trasferimenti tranne il primo nel burst. Un agente può anche utilizzare il segnale di ingresso Beginbursttransfer, che l'interconnessione asserisce nel primo ciclo di ogni burst.
3.5.5.1. Scrivi esplosioni
Queste regole si applicano quando un burst di scrittura inizia con un conteggio burst maggiore di uno:
· Quando un burstcount di viene presentato all'inizio del burst, l'agente deve accettare unità successive di dati di scrittura per completare il burst. L'arbitraggio tra la coppia host-agente rimane bloccato fino al completamento del burst. Questo blocco garantisce che nessun altro host possa eseguire transazioni sull'agente fino al completamento del burst di scrittura.
· L'agente deve acquisire solo i dati di scrittura quando la scrittura viene asserita. Durante il burst, l'host può annullare l'asserzione della scrittura indicando che i dati di scrittura non sono validi. La disattivazione della scrittura non termina il burst. La deasserzione della scrittura ritarda il burst e nessun altro host può accedere all'agente, riducendo l'efficienza del trasferimento.
· L'agente ritarda un trasferimento affermando waitrequest forzando il mantenimento costante di writedata, write, burstcount e byteenable.
· La funzionalità del segnale byteenable è la stessa per gli agenti bursting e nonbursting. Per un host a 32 bit in scrittura burst su un agente a 64 bit, a partire dall'indirizzo byte 4, il primo trasferimento di scrittura visto dall'agente è al suo indirizzo 0, con byteenable = 8'b11110000. I byteenable possono cambiare per le diverse parole della raffica.
· I segnali byteenable non devono essere tutti affermati. Un host burst che scrive parole parziali può utilizzare il segnale byteenable per identificare i dati in fase di scrittura.
· Le scritture con segnali byteenable costituiti tutti da 0 vengono semplicemente trasmesse all'agente AvalonMM come transazioni valide.
· La proprietà ConstantBurstBehavior specifica il comportamento dei segnali burst.
— Quando ConstantBurstBehavior è vero per un host, l'host mantiene stabili l'indirizzo e il conteggio dei burst durante il burst. Quando è vero per un agente, ConstantBurstBehavior dichiara che l'agente si aspetta che l'indirizzo e il conteggio dei burst siano mantenuti stabili durante il burst.
— Quando ConstantBurstBehavior è falso, l'host mantiene stabili l'indirizzo e il conteggio dei burst solo per la prima transazione di un burst. Quando ConstantBurstBehavior è falso, l'agente sampindirizzo dei le e conteggio burst solo sulla prima transazione di un burst.

Invia feedback

Specifiche dell'interfaccia Avalon® 31

3. Interfacce mappate in memoria Avalon 683091 | 2022.01.24

Figura 14.

Scrivi Burst con ConstantBurstBehavior impostato su False per Host e Agente

La figura seguente mostra un burst di scrittura dell'agente di lunghezza 4. In questo example, l'agente afferma due volte waitrequest ritardando il burst.

12

3

4

5

67

8

clic

indirizzo

indirizzo1

iniziare il trasferimento a raffica

burstcount

4

scrivere

writedata

dati1

dati2

dati3

dati4

waitrequest

I numeri in questo diagramma temporale contrassegnano le seguenti transizioni:
1. L'host asserisce indirizzo, burstcount, scrittura e guida la prima unità di dati di scrittura.
2. L'agente presenta immediatamente una richiesta di attesa, indicando che l'agente non è pronto a procedere con il trasferimento.
3. la richiesta di attesa è bassa. L'agente acquisisce addr1, burstcount e la prima unità di dati di scrittura. Nei cicli successivi del trasferimento, l'indirizzo e il burstcount vengono ignorati.
4. L'agente acquisisce la seconda unità di dati sul fronte di salita di clk.
5. Il burst viene messo in pausa mentre la scrittura viene disattivata.
6. L'agente acquisisce la terza unità di dati sul fronte di salita di clk.
7. L'agente afferma la richiesta di attesa. In risposta, tutte le uscite vengono mantenute costanti attraverso un altro ciclo di clock.
8. L'agente acquisisce l'ultima unità di dati su questo fronte di salita di clk. Il burst di scrittura dell'agente termina.
Nella figura precedente, il segnale di trasferimento Beginburst viene affermato per il primo ciclo di clock di un burst e viene annullato nel ciclo di clock successivo. Anche se l'agente asserisce waitrequest, il segnale di BeginburstTransfer viene affermato solo per il primo ciclo di clock.
Informazioni correlate
Proprietà dell'interfaccia a pagina 17

3.5.5.2. Leggi Scoppi
I burst di lettura sono simili ai trasferimenti di lettura in pipeline con latenza variabile. Un burst di lettura ha fasi di indirizzo e dati distinte. readdatavalid indica quando l'agente presenta dati di lettura validi. A differenza dei trasferimenti di lettura in pipeline, un singolo indirizzo burst di lettura comporta più trasferimenti di dati.

Specifiche dell'interfaccia Avalon® 32

Invia feedback

3. Interfacce mappate in memoria Avalon 683091 | 2022.01.24

Queste regole si applicano ai burst di lettura:
· Quando un host si connette direttamente a un agente, un burstcount di significa che l'agente deve tornare parole di readdata per completare il burst. Nei casi in cui l'interconnessione collega la coppia host e agente, l'interconnessione può sopprimere i comandi di lettura inviati dall'host all'agente. Per esample, se l'host invia un comando di lettura con un valore byteenable pari a 0, l'interconnessione potrebbe sopprimere la lettura. Di conseguenza, l'agente non risponde al comando di lettura.
· L'agente presenta ogni parola fornendo readdata e affermando readdatavalid per un ciclo. La deasserzione dei dati validi ritarda ma non termina la fase dei dati burst.
· Per le letture con un burstcount > 1, Intel consiglia di dichiarare tutti i byteenable.

Nota:

Intel consiglia che gli agenti con funzionalità burst non abbiano effetti collaterali di lettura. (Questa specifica non garantisce quanti byte un host legge dall'agente per soddisfare una richiesta.)

Figura 15.

Leggi Burst

La figura seguente illustra un sistema con due host in burst che accedono a un agente. Tieni presente che l'Host B può guidare

una richiesta di lettura prima che i dati vengano restituiti per l'Host A.

1

23

45

6

clic

indirizzo A0 (Host A) A1 Host (B)

Leggere

iniziare il trasferimento a raffica

waitrequest

burstcount

4

2

readdatavalid

readdata

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

I numeri in questo diagramma temporale contrassegnano le seguenti transizioni:
1. L'host A asserisce l'indirizzo (A0), il burstcount e la lettura dopo il fronte di salita di clk. L'agente asserisce waitrequest, mantenendo costanti tutti gli input tranne Beginbursttransfer per un altro ciclo di clock.
2. L'agente acquisisce A0 e burstcount su questo fronte di salita di clk. Un nuovo trasferimento potrebbe iniziare nel ciclo successivo.
3. L'Host B guida l'indirizzo (A1), il conteggio burst e la lettura. L'agente asserisce waitrequest, mantenendo costanti tutti gli input tranne Beginbursttransfer. L'agente potrebbe aver restituito i dati letti dalla prima richiesta di lettura al più presto in questo momento.

Invia feedback

Specifiche dell'interfaccia Avalon® 33

3. Interfacce mappate in memoria Avalon 683091 | 2022.01.24
4. L'agente presenta readdata validi e asserisce readdatavalid, trasferendo la prima parola di dati per l'host A.
5. Viene trasferita la seconda parola per l'host A. L'agente annulla l'asserzione di readdatavalid mettendo in pausa il burst di lettura. La porta dell'agente può mantenere readdatavalid deasserito per un numero arbitrario di cicli di clock.
6. Viene restituita la prima parola per l'host B.
3.5.5.3. Esplosioni LineWrapped
I processori con cache di istruzioni ottengono efficienza utilizzando burst con avvolgimento di riga. Quando un processore richiede dati che non sono nella cache, il controller della cache deve riempire l'intera riga della cache. Per un processore con una dimensione della riga della cache di 64 byte, un errore nella cache provoca la lettura di 64 byte dalla memoria. Se il processore legge dall'indirizzo 0xC quando si è verificato l'errore della cache, un controller della cache inefficiente potrebbe emettere un burst all'indirizzo 0, con conseguente lettura dei dati dagli indirizzi 0x0, 0x4, 0x8, 0xC, 0x10, 0x14, 0x18, . . . 0x3C. I dati richiesti non sono disponibili fino alla quarta lettura. Con i burst di ritorno a capo, l'ordine degli indirizzi è 0xC, 0x10, 0x14, 0x18, . . . 0x3C, 0x0, 0x4 e 0x8. I dati richiesti vengono restituiti per primi. L'intera riga della cache viene infine riempita dalla memoria.
3.5.6. Leggere e scrivere le risposte
Per qualsiasi agente Avalon-MM, i comandi devono essere elaborati in modo privo di rischi. Le risposte di lettura e scrittura vengono emesse nell'ordine in cui i comandi sono stati accettati.
3.5.6.1. Ordine di transazione per risposte di lettura e scrittura Avalon-MM (host e agenti)
Per qualsiasi host Avalon-MM: · Le specifiche dell'interfaccia Avalon garantiscono che i comandi siano inviati allo stesso agente
raggiungere l'agente nell'ordine di emissione del comando e l'agente risponde nell'ordine di emissione del comando. · Diversi agenti possono ricevere e rispondere ai comandi in un ordine diverso da quello in cui li emette l'host. In caso di successo, l'agente risponde nell'ordine di emissione del comando. · Le risposte (se presenti) vengono restituite nell'ordine di emissione del comando, indipendentemente dal fatto che i comandi di lettura o scrittura siano per gli stessi agenti o per agenti diversi. · Le specifiche dell'interfaccia Avalon non garantiscono l'ordine delle transazioni tra diversi host.
3.5.6.2. Diagramma temporale delle risposte di lettura e scrittura Avalon-MM
Il seguente diagramma mostra l'accettazione del comando e l'ordine di emissione del comando per le risposte di lettura e scrittura di Avalon-MM. Poiché le interfacce di lettura e scrittura condividono il segnale di risposta, un'interfaccia non può emettere o accettare una risposta di scrittura e una di lettura nello stesso ciclo di clock.
Leggi le risposte, invia una risposta per ogni dato letto. Una durata di burst di lettura di risultati in risposte.

Specifiche dell'interfaccia Avalon® 34

Invia feedback

3. Interfacce mappate in memoria Avalon 683091 | 2022.01.24

Scrivi risposte, invia una risposta per ogni comando di scrittura. Un burst di scrittura produce una sola risposta. L'interfaccia dell'agente invia la risposta dopo aver accettato il trasferimento di scrittura finale nel burst. Quando un'interfaccia include il segnale writeresponsevalid, tutti i comandi di scrittura devono essere completati con risposte di scrittura.

Figura 16. Diagramma temporale delle risposte di lettura e scrittura di Avalon-MM

clic

indirizzo

R0

W0

W1

R1

Leggere

scrivere

readdatavalid

risposta dello scrittorevalida

risposta

R0

W0

W1

R1

3.5.6.2.1. Diagramma temporale della latenza minima della risposta con readdatavalid o writeresponsevalid

Per le interfacce con readdatavalid o writerresponsevalid, il valore predefinito di un ciclo minimoResponseLatency può portare a difficoltà nei tempi di chiusura sugli host Avalon-MM.

I seguenti diagrammi temporali mostrano il comportamento per una latenza di risposta minima di 1 o 2 cicli. Tieni presente che la latenza di risposta effettiva può anche essere maggiore del valore minimo consentito, come illustrato in questi diagrammi temporali.

Figura 17. La latenza minima della risposta è pari a un ciclo

clicca leggi
readdatadati validi

Latenza di risposta minima di 1 ciclo

Figura 18. MinimumResponseLatency uguale a due cicli clk
leggere 2 cicli minimoResponseLatency
readdatadati validi

Compatibilità
Le interfacce con la stessa MinimumResponseLatency sono interoperabili senza alcun adattamento. Se l'host ha una MinimumResponseLatency più elevata rispetto all'agente, utilizzare i registri della pipeline per compensare le differenze. I registri della pipeline dovrebbero

Invia feedback

Specifiche dell'interfaccia Avalon® 35

3. Interfacce mappate in memoria Avalon 683091 | 2022.01.24

ritardare la lettura dei dati dall'agente. Se l'agente ha una MinimumResponseLatency più elevata rispetto all'host, le interfacce sono interoperabili senza adattamento.

3.6. Allineamento degli indirizzi
L'interconnessione supporta solo accessi allineati. Un host può emettere solo indirizzi che siano multipli della sua larghezza dati in simboli. Un host può scrivere parole parziali deasserendo alcuni byteenable. Per esample, i byteable di una scrittura di 2 byte all'indirizzo 2 sono 4'b1100.

3.7. Indirizzamento dell'agente Avalon-MM

Il dimensionamento dinamico del bus gestisce i dati durante i trasferimenti tra coppie host-agente di diverse larghezze di dati. I dati dell'agente sono allineati in byte contigui nello spazio degli indirizzi dell'host.

Se la larghezza dei dati dell'host è maggiore della larghezza dei dati dell'agente, le parole nello spazio degli indirizzi dell'host vengono mappate a più posizioni nello spazio degli indirizzi dell'agente. Per esample, un host a 32 bit letto da un agente a 16 bit risulta in due trasferimenti di lettura sul lato agente. Le letture sono ad indirizzi consecutivi.

Se l'host è più ristretto dell'agente, l'interconnessione gestisce le corsie di byte dell'agente. Durante i trasferimenti di lettura dell'host, l'interconnessione presenta all'host più ristretto solo le corsie di byte appropriate dei dati dell'agente. Durante i trasferimenti di scrittura sull'host, l'interconnessione
asserisce automaticamente i segnali byteenable per scrivere i dati solo nelle corsie byte dell'agente specificate.

Gli agenti devono avere una larghezza dati di 8, 16, 32, 64, 128, 256, 512 o 1024 bit. La tabella seguente mostra l'allineamento per i dati dell'agente di varie larghezze all'interno di un host a 32 bit che esegue accessi a parola intera. In questa tabella, OFFSET[N] si riferisce all'offset della dimensione della parola dell'agente nello spazio degli indirizzi dell'agente.

Tabella 12. Dimensionamento dinamico del bus Mappatura degli indirizzi da host ad agente

Indirizzo byte host (1)

Accesso

0x00

1

2

3

4

0x04

1

2

3

4

0x08

1

2

Dati host a 32 bit

Quando si accede a un'interfaccia agente a 8 bit

Quando si accede a un'interfaccia agente a 16 bit

SPOSTAMENTO[0]7..0

SPOSTAMENTO[0]15..0 (2)

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

SPOSTAMENTO[1]15..0 — —

SPOSTAMENTO[4]7..0

SPOSTAMENTO[2]15..0

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

SPOSTAMENTO[3]15..0 — —

SPOSTAMENTO[8]7..0

SPOSTAMENTO[4]15..0

SPOSTAMENTO[9]7..0

SPOSTAMENTO[5]15..0

Quando si accede a un'interfaccia agente a 64 bit OFFSET[0]31..0 — — —
OFFSET[0]63..32 — — —
SPOSTAMENTO[1]31..0 —
continua…

Specifiche dell'interfaccia Avalon® 36

Invia feedback

3. Interfacce mappate in memoria Avalon 683091 | 2022.01.24

Indirizzo byte host (1)

Accesso

Quando si accede a un'interfaccia agente a 8 bit

Dati host a 32 bit
Quando si accede a un'interfaccia agente a 16 bit

3

SPOSTAMENTO[10]7..0

4

SPOSTAMENTO[11]7..0

0x0C

1

SPOSTAMENTO[12]7..0

SPOSTAMENTO[6]15..0

2

SPOSTAMENTO[13]7..0

SPOSTAMENTO[7]15..0

3

SPOSTAMENTO[14]7..0

4 E così via

OFFSET[15]7..0 E così via

- E così via

Note: 1. Sebbene l'host emetta indirizzi byte, l'host accede a parole complete a 32 bit. 2. Per tutte le voci dell'agente, [ ] è l'offset della parola e i valori dell'indice sono i bit nella parola.

Quando si accede a un'interfaccia agente a 64 bit — —
OFFSET[1]63..32 — — — E così via

Invia feedback

Specifiche dell'interfaccia Avalon® 37

683091 | 2022.01.24 Invia feedback

4. Interfacce di interruzione Avalon
Le interfacce Avalon Interrupt consentono ai componenti dell'agente di segnalare eventi ai componenti host. Per esample, un controller DMA può interrompere un processore dopo aver completato un trasferimento DMA.

4.1. Interrompi mittente
Un mittente di interruzione invia un singolo segnale di interruzione a un ricevitore di interruzione. La temporizzazione del segnale IRQ deve essere sincrona rispetto al fronte di salita del clock associato. irq non ha alcuna relazione con alcun trasferimento su qualsiasi altra interfaccia. l'irq deve essere affermato fino al riconoscimento sull'interfaccia dell'agente Avalon-MM associato.
Gli interrupt sono specifici del componente. Il ricevitore tipicamente determina la risposta appropriata leggendo un registro dello stato di interruzione da un'interfaccia dell'agente Avalon-MM.

4.1.1. Ruoli del segnale del mittente dell'interruzione di Avalon

Tabella 13. Ruoli del segnale del mittente dell'interruzione

Ruolo del segnale

Larghezza

Direzione

Necessario

irq irq_n

1-32

Produzione

Descrizione
Richiesta di interruzione. Un mittente di interruzione invia un segnale di interruzione a un ricevitore di interruzione.

4.1.2. Interrompi proprietà mittente

Tabella 14. Proprietà del mittente dell'interruzione

Nome della proprietà

Valore predefinito

Valori legali

Descrizione

associatoIndirizzabile

N / A

ePoint

orologio associato

N / A

Nome dell'agente Avalon-MM su questo componente.
Nome di un'interfaccia dell'orologio su questo
componente.

Il nome dell'interfaccia dell'agente Avalon-MM che fornisce l'accesso ai registri per servire l'interrupt.
Il nome dell'interfaccia dell'orologio con cui questo mittente dell'interruzione è sincrono. Il mittente e il destinatario potrebbero avere valori diversi per questa proprietà.

associatoReset

N / A

Nome di un ripristino

Il nome dell'interfaccia di ripristino a cui si riferisce questo interrupt

interfaccia su questo

il mittente è sincrono.

componente.

Intel Corporation. Tutti i diritti riservati. Intel, il logo Intel e altri marchi Intel sono marchi di Intel Corporation o delle sue consociate. Intel garantisce le prestazioni dei suoi prodotti FPGA e semiconduttori in base alle specifiche attuali in conformità con la garanzia standard di Intel, ma si riserva il diritto di apportare modifiche a qualsiasi prodotto e servizio in qualsiasi momento senza preavviso. Intel non si assume alcuna responsabilità derivante dall'applicazione o dall'uso di qualsiasi informazione, prodotto o servizio qui descritto, salvo quanto espressamente concordato per iscritto da Intel. Si consiglia ai clienti Intel di ottenere la versione più recente delle specifiche del dispositivo prima di fare affidamento su qualsiasi informazione pubblicata e prima di effettuare ordini per prodotti o servizi. *Altri nomi e marchi possono essere rivendicati come proprietà di altri.

Certificato ISO 9001: 2015

4. Interfacce di interruzione Avalon 683091 | 2022.01.24

4.2. Ricevitore di interruzione
Un'interfaccia ricevente di interruzioni riceve interruzioni dalle interfacce mittente di interruzioni. I componenti con interfacce host Avalon-MM possono includere un ricevitore di interruzioni per rilevare le interruzioni dichiarate dai componenti dell'agente con interfacce del mittente dell'interruzione. Il destinatario dell'interruzione accetta le richieste di interruzione da ciascun mittente dell'interruzione come un bit separato.

4.2.1. Ruoli del segnale del ricevitore di interruzione Avalon

Tabella 15. Ruoli del segnale del ricevitore di interrupt

Ruolo del segnale

Larghezza

Direzione

Necessario

irq

1

Ingresso

Descrizione
irq è un -bit, dove ogni bit corrisponde direttamente a un mittente IRQ senza alcuna assunzione di priorità.

4.2.2. Proprietà del ricevitore di interruzione

Tabella 16. Proprietà del ricevitore di interrupt

Nome della proprietà

Valore predefinito

Valori legali

Descrizione

Punto indirizzabile associato

N / A

Nome di Il nome dell'interfaccia host Avalon-MM utilizzata

Interruzioni del servizio Avalon-MM ricevute su questa interfaccia.

ospite

interfaccia

orologio associato

N / A

Nome di un Il nome dell'interfaccia Avalon Clock a cui questo

Avalon

il ricevitore di interrupt è sincrono. Il mittente e

Orologio

il ricevitore può avere valori diversi per questa proprietà.

interfaccia

associatoReset

N / A

Nome di un Il nome dell'interfaccia di ripristino a cui si riferisce questo interrupt

Avalon

il ricevitore è sincrono.

Reset

interfaccia

4.2.3. Interruzione dei tempi

L'host Avalon-MM serve l'interruzione con priorità 0 prima dell'interruzione con priorità 1.

Figura 19.

Interruzione dei tempi

Nella figura seguente, l'interrupt 0 ha la priorità più alta. Il ricevitore di interrupt sta gestendo int1

quando viene affermato int0. Il gestore int0 viene chiamato e completato. Quindi, il gestore int1 riprende. IL

il diagramma mostra che int0 deasserisce al tempo 1. int1 deasserisce al tempo 2.

1

2

clic

Richieste int0 individuali
int1

Invia feedback

Specifiche dell'interfaccia Avalon® 39

683091 | 2022.01.24 Invia feedback

5. Interfacce di streaming Avalon

È possibile utilizzare le interfacce Avalon Streaming (Avalon-ST) per i componenti che gestiscono dati unidirezionali con larghezza di banda elevata e bassa latenza. Le applicazioni tipiche includono flussi multiplex, pacchetti e dati DSP. I segnali dell'interfaccia Avalon-ST possono descrivere le tradizionali interfacce di streaming che supportano un singolo flusso di dati senza conoscere i canali o i confini dei pacchetti. L'interfaccia può anche supportare protocolli più complessi in grado di effettuare burst e trasferimenti di pacchetti con pacchetti interlacciati su più canali.

Nota:

Se hai bisogno di un'interfaccia di streaming dati ad alte prestazioni, fai riferimento al Capitolo 6 Interfacce di streaming di crediti Avalon.

Figura 20. Interfaccia Avalon-ST – Applicazione tipica dell'interfaccia Avalon-ST

Scheda a circuiti stampati Interfacce Intel FPGA Avalon-ST (piano dati)

Pianificatore

Ingresso Avalon-ST

Rx IF Core cap

2

Sorgente 0-2 Pozzo 1

0

Interfaccia Avalon-MM (piano di controllo)

Fonte

Tx IF Core Sink

Uscita Avalon-ST

Interfaccia host Avalon-MM
Processore

Interfaccia host Avalon-MM
Controllo IO

Interfaccia agente Avalon-MM
Centro SDRAM
Memoria SDRAM

Tutte le interfacce sorgente e sink Avalon-ST non sono necessariamente interoperabili. Tuttavia, se due interfacce forniscono funzioni compatibili per lo stesso spazio applicativo, sono disponibili adattatori per consentire loro di interagire.

Intel Corporation. Tutti i diritti riservati. Intel, il logo Intel e altri marchi Intel sono marchi di Intel Corporation o delle sue consociate. Intel garantisce le prestazioni dei suoi prodotti FPGA e semiconduttori in base alle specifiche attuali in conformità con la garanzia standard di Intel, ma si riserva il diritto di apportare modifiche a qualsiasi prodotto e servizio in qualsiasi momento senza preavviso. Intel non si assume alcuna responsabilità derivante dall'applicazione o dall'uso di qualsiasi informazione, prodotto o servizio qui descritto, salvo quanto espressamente concordato per iscritto da Intel. Si consiglia ai clienti Intel di ottenere la versione più recente delle specifiche del dispositivo prima di fare affidamento su qualsiasi informazione pubblicata e prima di effettuare ordini per prodotti o servizi. *Altri nomi e marchi possono essere rivendicati come proprietà di altri.

Certificato ISO 9001: 2015

5. Interfacce di streaming Avalon 683091 | 2022.01.24
Le interfacce Avalon-ST supportano percorsi dati che richiedono le seguenti funzionalità:
· Trasferimento dati punto a punto a bassa latenza e throughput elevato
· Supporto di canali multipli con interlacciamento flessibile dei pacchetti
· Segnalazione in banda laterale di canale, errore e inizio e fine delineazione del pacchetto
· Supporto per il burst dei dati
· Adattamento automatico dell'interfaccia
5.1. Termini e concetti
Il protocollo di interfaccia Avalon-ST definisce i seguenti termini e concetti:
· Sistema di streaming Avalon: un sistema di streaming Avalon contiene una o più connessioni Avalon-ST che trasferiscono i dati da un'interfaccia di origine a un'interfaccia di sink. Il sistema mostrato sopra è costituito da interfacce Avalon-ST per trasferire i dati dall'ingresso del sistema all'uscita. Le interfacce di controllo e registro di stato Avalon-MM forniscono il controllo software.
· Componenti di streaming Avalon: un tipico sistema che utilizza le interfacce Avalon-ST combina più moduli funzionali, chiamati componenti. Il progettista del sistema configura i componenti e li collega insieme per implementare un sistema.
· Interfacce e connessioni source e sink: quando due componenti si connettono, i dati fluiscono dall'interfaccia source all'interfaccia sink. Le specifiche dell'interfaccia Avalon chiamano connessione la combinazione di un'interfaccia sorgente che si collega a un'interfaccia sink.
· Contropressione – La contropressione consente a un sink di segnalare a una fonte di interrompere l'invio di dati. Il supporto per la contropressione è opzionale. Il sink utilizza la contropressione per interrompere il flusso di dati per i seguenti motivi:
— Quando le FIFO sink sono piene
— Quando è presente una congestione sull'interfaccia di output
· Trasferimenti e cicli di pronto: un trasferimento comporta la propagazione dei dati e del controllo da un'interfaccia sorgente a un'interfaccia sink. Per le interfacce dati, un ciclo pronto è un ciclo durante il quale il sink può accettare un trasferimento.
· Simbolo: un simbolo è la più piccola unità di dati. Per la maggior parte delle interfacce a pacchetto, un simbolo è un byte. Uno o più simboli costituiscono la singola unità di dati trasferiti in un ciclo.
· Canale: un canale è un percorso o collegamento fisico o logico attraverso il quale le informazioni passano tra due porte.
· Battimento: un battito è un trasferimento a ciclo singolo tra un'interfaccia sorgente e un'interfaccia sink composta da uno o più simboli.
· Pacchetto: un pacchetto è un'aggregazione di dati e segnali di controllo che una sorgente trasmette simultaneamente. Un pacchetto può contenere un'intestazione per aiutare i router e altri dispositivi di rete a indirizzare il pacchetto verso la destinazione corretta. L'applicazione definisce il formato del pacchetto, non questa specifica. I pacchetti Avalon-ST possono essere di lunghezza variabile e possono essere interlacciati attraverso una connessione. Con le interfacce Avalon-ST, l'uso dei pacchetti è facoltativo.

Invia feedback

Specifiche dell'interfaccia Avalon® 41

5. Interfacce di streaming Avalon 683091 | 2022.01.24

5.2. Ruoli del segnale dell'interfaccia di streaming di Avalon

Ciascun segnale in un'interfaccia sorgente o sink di streaming Avalon corrisponde a un ruolo del segnale di streaming Avalon. Un'interfaccia di streaming Avalon può contenere solo un'istanza di ciascun ruolo di segnale. Tutti i ruoli dei segnali di streaming Avalon si applicano sia alle sorgenti che ai sink e hanno lo stesso significato per entrambi.

Tabella 17.

Segnali di interfaccia di streaming Avalon
Nella tabella seguente tutti i ruoli del segnale sono attivi alti.

Ruolo del segnale

Larghezza

Direzione

Necessario

Descrizione

errore dati canale pronto
valido

1 128 1 8,192 1 256
1
1

Segnali fondamentali

Lavello della fonte

NO

Il numero del canale per i dati da trasferire

sul ciclo attuale.

Se un'interfaccia supporta il segnale del canale, il

l'interfaccia deve definire anche il parametro maxChannel.

Lavello della fonte

NO

Il segnale dati dalla sorgente al sink,

in genere trasporta la maggior parte delle informazioni

trasferito.

I parametri definiscono ulteriormente il contenuto e

formato del segnale dati.

Lavello della fonte

NO

Una maschera di bit per contrassegnare gli errori che interessano i dati

essere trasferito nel ciclo attuale. Un solo pezzo

del segnale di errore maschera ciascuno degli errori

il componente riconosce. Il descrittore di errore

definisce le proprietà del segnale di errore.

Sorgente del lavandino

NO

Si afferma alto per indicare che il lavandino può accettare

dati. il pronto è affermato dal ciclo del lavandino

per contrassegnare il ciclo come pronto

ciclo. La fonte può solo affermare che è valido e

trasferire i dati durante i cicli pronti.

Le sorgenti senza un ingresso pronto non supportano la contropressione. I lavelli senza uscita pronta non necessitano mai di contropressione.

Lavello della fonte

NO

La fonte asserisce che questo segnale qualifica tutti gli altri

sorgente per assorbire i segnali. Il lavandino samples dati e

altri segnali source-to-sink sui cicli pronti

dove si afferma valido. Tutti gli altri cicli lo sono

ignorato.

Le fonti senza un output valido forniscono implicitamente dati validi su ogni ciclo in cui un sink non afferma una contropressione. I sink senza un input valido si aspettano dati validi su ogni ciclo su cui non esercitano contropressione.

vuoto
fine del pacchetto inizio del pacchetto

1 10
1 1

Segnali di trasferimento di pacchetti

Lavello della fonte

NO

Indica il numero di simboli vuoti,

cioè, non rappresentano dati validi. Il vuoto

il segnale non è necessario sulle interfacce dove sono presenti

è un simbolo per battuta.

Lavello della fonte

NO

Affermato dalla fonte per segnare la fine di a

pacchetto.

Lavello della fonte

NO

Dichiarato dalla fonte per segnare l'inizio di

un pacchetto.

Specifiche dell'interfaccia Avalon® 42

Invia feedback

5. Interfacce di streaming Avalon 683091 | 2022.01.24

5.3. Sequenza e temporizzazione del segnale

5.3.1. Interfaccia sincrona
Tutti i trasferimenti di una connessione Avalon-ST avvengono in sincronia con il fronte di salita del segnale di clock associato. Tutte le uscite da un'interfaccia sorgente a un'interfaccia sink, inclusi i dati, il canale e i segnali di errore, devono essere registrati sul fronte di salita del clock. Non è necessario registrare gli input a un'interfaccia sink. La registrazione dei segnali alla sorgente facilita il funzionamento ad alta frequenza.
5.3.2. L'orologio abilita
I componenti Avalon-ST in genere non includono un ingresso di abilitazione dell'orologio. La stessa segnalazione Avalon-ST è sufficiente per determinare i cicli in cui un componente dovrebbe e non dovrebbe essere abilitato. I componenti conformi Avalon-ST possono avere un ingresso di abilitazione dell'orologio per la loro logica interna. Tuttavia, i componenti che utilizzano l'abilitazione dell'orologio devono garantire che la temporizzazione dell'interfaccia aderisca al protocollo.

5.4. Proprietà dell'interfaccia Avalon-ST

Tabella 18. Proprietà dell'interfaccia Avalon-ST

Nome della proprietàassociatoClock

Valore predefinito
1

Valori legali
Interfaccia dell'orologio

Descrizione
Il nome dell'interfaccia Avalon Clock con cui questa interfaccia Avalon-ST è sincrona.

associatoReimposta beatsPerCycle

1

Reset

Il nome dell'interfaccia Avalon Reset a cui this

interfaccia L'interfaccia Avalon-ST è sincrona.

1

1,2,4,8 Specifica il numero di battute trasferite in un singolo

ciclo. Questa proprietà consente di trasferire 2 appartamenti separati,

ma flussi correlati che utilizzano lo stesso

inizio_del_pacchetto, fine_del_pacchetto, pronto e

segnali validi.

beatsPerCycle è una funzionalità usata raramente del protocollo AvalonST.

dataBitsPerSymbol

8

1 512 Definisce il numero di bit per simbolo. Per esampLui,

le interfacce orientate ai byte hanno simboli a 8 bit. Questo valore

non è limitato ad essere una potenza di 2.

vuotoInPacchetto

falso

true, false Se true, vuoto è valido per l'intero pacchetto.

errorDescriptor

0

Elenco di

Un elenco di parole che descrivono l'errore associato a

stringhe

ogni bit del segnale di errore. La lunghezza dell'elenco deve

essere uguale al numero di bit nel segnale di errore.

La prima parola nell'elenco si applica all'ordine più alto

morso. Per esample, “crc, overflow” significa che bit[1]

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

errore di overflow.

firstSymbolInHigh OrderBits

VERO

vero, falso

Quando è vero, il simbolo del primo ordine viene indirizzato ai bit più significativi dell'interfaccia dati. Il simbolo di ordine più alto è etichettato D0 in questa specifica. Quando questa proprietà è impostata su false, il primo simbolo appare sui bit bassi. D0 appare in data[7:0]. Per un bus a 32 bit, se vero, D0 appare su bit[31:24].
continua…

Invia feedback

Specifiche dell'interfaccia Avalon® 43

5. Interfacce di streaming Avalon 683091 | 2022.01.24

Nome proprietà maxChannel readyLatency
indennità pronta(1)

Valore predefinito
0 0
0

Valori legali 0 255
0 8
0 8

Descrizione
Numero massimo di canali che un'interfaccia dati può supportare.
Definisce la relazione tra l'asserzione di un segnale pronto e l'asserzione di un segnale valido. Se prontoLatenza = dove n > 0, si può solo affermare che sia valido cicli dopo l'affermazione di ready. Per esample, se readyLatency = 1, quando il sink dichiara pronto, l'origine deve rispondere con un'asserzione valida almeno 1 ciclo dopo aver visto l'asserzione pronta dal sink.
Definisce il numero di trasferimenti che il sink può acquisire dopo la disattivazione di ready. Quando readyAllowance = 0, il sink non può accettare alcun trasferimento dopo che ready è stato annullato. Se prontoIndennità = Dove è maggiore di 0, il sink può accettare fino a i trasferimenti dopo la disponibilità vengono annullati.

Nota:

Se generi un'interconnessione di streaming Avalon con BFM di origine/sink di streaming Avalon o componenti personalizzati e questi BFM o componenti personalizzati hanno requisiti readyLatency diversi, Platform Designer inserirà gli adattatori nell'interconnessione generata per soddisfare la differenza readyLatency tra le interfacce di origine e sink. Si prevede che la logica di origine e sink aderisca alle proprietà dell'interconnessione generata.

5.5. Trasferimenti dati tipici
Questa sezione definisce il trasferimento dei dati da un'interfaccia di origine a un'interfaccia sink. In tutti i casi, l'origine dati e il dissipatore di dati devono essere conformi alla specifica. Il sink di dati non è responsabile del rilevamento degli errori del protocollo di origine.

5.6. Dettagli del segnale
La figura mostra i segnali tipicamente inclusi nelle interfacce Avalon-ST. Una tipica interfaccia sorgente Avalon-ST guida i segnali validi, dati, errore e canale al sink. Il lavello può applicare contropressione con il segnale di pronto.

(1) · Se readyLatency = 0, readyAllowance può essere 0 o maggiore di 0.
· Se readyLatency > 0, readyAllowance deve essere uguale o maggiore di readyLatency.
· Se l'origine o il sink non specificano un valore per readyAllowance allora readyAllowance = readyLatency. I progetti non richiedono l'aggiunta di readyAllowance a meno che non si desideri che la sorgente o il sink prendano vantaggiotage di questa caratteristica.

Specifiche dell'interfaccia Avalon® 44

Invia feedback

5. Interfacce di streaming Avalon 683091 | 2022.01.24

Figura 21. Tipica sorgente dati dei segnali dell'interfaccia Avalon-ST
canale di errore dati valido

Dissipatore di dati pronto

Maggiori dettagli su questi segnali:
· Interfacce pronte all'uso che supportano la contropressione, il dissipatore si dichiara pronto a contrassegnare i cicli in cui possono avvenire i trasferimenti. Se pronto viene affermato in ciclo , ciclo è considerato un ciclo pronto.
· valido – Il segnale valido qualifica i dati validi su qualsiasi ciclo con trasferimento di dati dalla sorgente al sink. Ad ogni ciclo valido il sink sampconsente al segnale dati e ad altre fonti di assorbire i segnali.
· dati – Il segnale dati trasporta la maggior parte delle informazioni trasferite dalla sorgente al ricevitore. Il segnale dati è costituito da uno o più simboli trasferiti ad ogni ciclo di clock. Il parametro dataBitsPerSymbol definisce come il segnale dati è suddiviso in simboli.
· errore – Nel segnale di errore, ogni bit corrisponde a una possibile condizione di errore. Un valore pari a 0 su qualsiasi ciclo indica dati privi di errori su quel ciclo. Questa specifica non definisce l'azione intrapresa da un componente quando viene rilevato un errore.
· canale – La sorgente guida il segnale del canale opzionale per indicare a quale canale appartengono i dati. Il significato di canale per una determinata interfaccia dipende dall'applicazione. In alcune applicazioni, canale indica il numero di interfaccia. In altre applicazioni, canale indica il numero di pagina o la fascia oraria. Quando viene utilizzato il segnale del canale, tutti i dati trasferiti in ciascun ciclo attivo appartengono allo stesso canale. La sorgente potrebbe passare a un canale diverso nei cicli attivi successivi.
Le interfacce che utilizzano il segnale del canale devono definire il parametro maxChannel per indicare il numero massimo di canali. Se il numero di canali supportati da un'interfaccia cambia dinamicamente, maxChannel indica il numero massimo che l'interfaccia può supportare.

5.7. Disposizione dei dati

Figura 22.

Simboli dei dati

La figura seguente mostra un segnale dati a 64 bit con dataBitsPerSymbol=16. Il simbolo 0 è il massimo

simbolo significativo.

63

48 47 32 31 16 15

0

simbolo 0 simbolo 1 simbolo 2 simbolo 3

L'interfaccia Avalon Streaming supporta sia la modalità big-endian che little-endian. La figura seguente è un esempioample della modalità big-endian, dove il simbolo 0 è nei bit di ordine superiore.

Invia feedback

Specifiche dell'interfaccia Avalon® 45

5. Interfacce di streaming Avalon 683091 | 2022.01.24

Figura 23.

Disposizione dei dati
Il diagramma temporale nella figura seguente mostra un example dove dataBitsPerSymbol=8 e beatsPerCycle=1.
clic
pronto
valido

errore di canale
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

DBDF

D13

5.8. Trasferimento dati senza contropressione

Il trasferimento dati senza contropressione è il più basilare dei trasferimenti dati Avalon-ST. In ogni dato ciclo di clock, l'interfaccia sorgente guida i dati, il canale opzionale e i segnali di errore e afferma che è valido. L'interfaccia del lavandino samples questi segnali sul fronte di salita del clock di riferimento se valido viene affermato.

Figura 24.

Trasferimento dati senza contropressione

clic valido

dati sugli errori del canale

RE0 RE1

RE2 RE3

5.9. Trasferimento dati con contropressione
Il sink dichiara pronto per un singolo ciclo di clock per indicare che è pronto per un ciclo attivo. Se il sink è pronto per i dati, il ciclo è un ciclo pronto. Durante un ciclo pronto, la sorgente può dichiararsi valida e fornire dati al sink. Se l'origine non ha dati da inviare, l'origine deasserisce che è valida e può portare i dati a qualsiasi valore.
Le interfacce che supportano la contropressione definiscono il parametro readyLatency per indicare il numero di cicli dal momento in cui viene affermato ready fino a quando è possibile gestire dati validi. Se readyLatency è diverso da zero, eseguire il ciclo è un ciclo pronto se pronto è affermato sul ciclo .
Quando readyLatency = 0, il trasferimento dei dati avviene solo quando ready e valid vengono dichiarati nello stesso ciclo. In questa modalità, la sorgente non riceve il segnale di pronto del sink prima di inviare dati validi. La fonte fornisce i dati e li dichiara validi ogni volta che la fonte dispone di dati validi. L'origine attende che il sink acquisisca i dati e li dichiari pronti. La fonte può modificare i dati in qualsiasi momento. Il sink acquisisce i dati di input dall'origine solo quando vengono dichiarati entrambi pronti e validi.

Specifiche dell'interfaccia Avalon® 46

Invia feedback

5. Interfacce di streaming Avalon 683091 | 2022.01.24
Quando readyLatency >= 1, il sink dichiara ready prima del ciclo ready stesso. La fonte può rispondere durante il ciclo successivo appropriato affermando che è valido. La fonte potrebbe non dichiararsi valida durante i cicli che non sono cicli pronti.
readyAllowance definisce il numero di trasferimenti che il sink può acquisire quando ready viene deasserito. Quando readyAllowance = 0, il sink non può accettare alcun trasferimento dopo che ready è stato annullato. Se prontoIndennità = dove n > 0, il sink può accettare fino a i trasferimenti dopo la disponibilità vengono annullati.
5.9.1. Trasferimenti di dati utilizzando readyLatency e readyAllowance

Le seguenti regole si applicano al trasferimento di dati con readyLatency e readyAllowance.
· Se readyLatency è 0, readyAllowance può essere maggiore o uguale a 0.
· Se readyLatency è maggiore di 0, readyAllowance può essere maggiore o uguale a readyLatency.

Quando readyLatency = 0 e readyAllowance = 0, i trasferimenti di dati avvengono solo quando vengono affermati sia ready che valid. In questo caso, la sorgente non riceve il segnale di pronto del sink prima di inviare dati validi. La fonte fornisce i dati e li dichiara validi quando possibile. L'origine attende che il sink acquisisca i dati e li dichiari pronti. La fonte può modificare i dati in qualsiasi momento. Il sink acquisisce i dati di input dall'origine solo quando vengono dichiarati entrambi pronti e validi.

Figura 25. readyLatency = 0, readyAllowance = 0

Quando readyLatency = 0 e readyAllowance = 0 la sorgente può dichiararsi valida in qualsiasi momento. Il sink acquisisce i dati dall'origine solo quando è pronto = 1.

La figura seguente illustra questi eventi: 1. Nel ciclo 1 l'origine fornisce dati e li asserisce validi. 2. Nel ciclo 2, il sink afferma che i trasferimenti sono pronti e D0. 3. Nel ciclo 3, D1 trasferisce. 4. Nel ciclo 4, il sink si dichiara pronto, ma l'origine non trasmette dati validi. 5. La sorgente fornisce dati e asserisce che sono validi nel ciclo 6. 6. Nel ciclo 8, il sink dichiara pronto, quindi D2 trasferisce. 7. Trasferimenti D3 al ciclo 9 e trasferimenti D4 al ciclo 10.

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

pronto

valido

dati

RE0 RE1

D2

RE3 RE4

D5

Invia feedback

Specifiche dell'interfaccia Avalon® 47

5. Interfacce di streaming Avalon 683091 | 2022.01.24

Figura 26. readyLatency = 0, readyAllowance = 1

Quando readyLatency = 0 e readyAllowance = 1 il sink può acquisire un ulteriore trasferimento di dati dopo ready = 0.

La figura seguente illustra questi eventi: 1. Nel ciclo 1 l'origine fornisce dati e asserisce validi mentre il sink asserisce pronto. Trasferimenti D0. 2. D1 viene trasferito nel ciclo 2. 3. Nel ciclo 3, ready deasserisce, tuttavia poiché readyAllowance = 1 è consentito un ulteriore trasferimento, quindi D2
trasferimenti. 4. Nel ciclo 5 si affermano sia valido che pronto, quindi D3 trasferisce. 5. Nel ciclo 6, la sorgente viene dichiarata valida, quindi nessun trasferimento di dati. 6. Nel ciclo 7, affermazioni valide e deasserzioni pronte, tuttavia poiché readyAllowance = 1 viene eseguito un altro trasferimento
è consentito, quindi i trasferimenti D4.

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

pronto

valido

dati

Il 0 Il 1 Il 2

D3

D4

RE5 RE6

D7

Figura 27. readyLatency = 1, readyAllowance = 2

Quando readyLatency = 1 e readyAllowance = 2 il sink può trasferire i dati un ciclo dopo l'asserzione di ready e sono consentiti altri due cicli di trasferimenti dopo la disattivazione di ready.

La figura seguente mostra questi eventi: 1. Nel ciclo 0 il sink si dichiara pronto. 2. Nel ciclo 1, la fonte fornisce dati e li dichiara validi. Il trasferimento avviene immediatamente. 3. Nel ciclo 3, il sink disattiva l'asserzione, ma l'origine sta ancora affermando la validità e trasmette dati validi
perché il sink può acquisire i dati due cicli dopo la disattivazione pronta. 4. Nel ciclo 6, il lavello risulta pronto. 5. Nel ciclo 7, la fonte fornisce dati e li dichiara validi. Questi dati sono accettati. 6. Nel ciclo 10, il sink ha deasserito pronto, ma la sorgente asserisce la validità e trasmette dati validi perché
il sink può acquisire i dati due cicli dopo la disattivazione.

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

pronto

valido

dati

La 0 La 1 La 2 La 3

RE4 RE5

RE6 RE7

Requisiti di adattamento La tabella seguente descrive se le interfacce di origine e sink richiedono un adattamento.

Specifiche dell'interfaccia Avalon® 48

Invia feedback

5. Interfacce di streaming Avalon 683091 | 2022.01.24

Tabella 19. Requisiti di adattamento source/sink

readyLatenza

readyIndennità

Adattamento

Source readyLatency = Sink Source readyAllowance =

readyLatenza

Lavello prontoIndennità

Nessun adattamento richiesto: il lavandino può catturare tutti i trasferimenti.

Source readyAllowance > Sink readyAllowance

Adattamento richiesto: una volta deasserito ready, l'origine può inviare più trasferimenti di quelli che il sink può acquisire.

Source readyAllowance < Sink readyAllowance

Nessun adattamento richiesto: dopo aver deasserito ready, il sink può acquisire più trasferimenti di quelli che l'origine può inviare.

Source readyLatency > Sink Source readyAllowance =

readyLatenza

Lavello prontoIndennità

Nessun adattamento richiesto: dopo che è stato dichiarato pronto, l'origine inizia a inviare più tardi di quanto il sink possa acquisire. Dopo che ready è stato deasserito, l'origine può inviare tutti i trasferimenti che il sink può acquisire.

Source readyAllowance> Sink readyAllowance

Adattamento richiesto: una volta deasserito ready, l'origine può inviare più trasferimenti di quelli che il sink può acquisire.

Source readyAllowance< Sink readyAllowance

Nessun adattamento richiesto: dopo che ready è stato deasserito, l'origine invia meno trasferimenti di quelli che il sink può acquisire.

Sorgente readyLatency < SinkreadyLatency

Sorgente readyAllowance = Sink readyAllowance

Adattamento richiesto: la sorgente può iniziare a inviare trasferimenti prima che il sink possa acquisire.

Source readyAllowance> Sink readyAllowance

Adattamento richiesto: la sorgente può iniziare a inviare trasferimenti prima che il sink possa acquisire. Inoltre, dopo aver deasserito ready, l'origine può inviare più trasferimenti di quelli che il sink può acquisire.

Source readyAllowance < Sink readyAllowance

Adattamento richiesto: la sorgente può iniziare a inviare trasferimenti prima che il sink possa acquisire.

5.9.2. Trasferimenti di dati utilizzando readyLatency
Se l'origine o il sink non specificano un valore per readyAllowance, allora readyAllowance= readyLatency. I progetti che utilizzano source e sink non richiedono l'aggiunta di readyAllowance a meno che non si desideri che source o sink prendano vantaggiotage di questa caratteristica.

Invia feedback

Specifiche dell'interfaccia Avalon® 49

5. Interfacce di streaming Avalon 683091 | 2022.01.24

Figura 28.

Trasferimento con contropressione, readyLatency=0
La figura seguente illustra questi eventi:

1. L'origine fornisce dati e li dichiara validi nel ciclo 1, anche se il sink non è pronto.

2. L'origine attende fino al ciclo 2, quando il sink si dichiara pronto, prima di passare al ciclo di dati successivo.

3. Nel ciclo 3, la sorgente guida i dati nello stesso ciclo e il sink è pronto a ricevere i dati. Il trasferimento avviene immediatamente.
4. Nel ciclo 4, il sink si dichiara pronto, ma l'origine non trasmette dati validi.

012345678 clic

pronto

valido

canale

errore

dati

RE0 RE1

RE2 RE3

Figura 29.

Trasferimento con contropressione, readyLatency=1

Le figure seguenti mostrano rispettivamente i trasferimenti di dati con readyLatency=1 e readyLatency=2. In entrambi questi casi, ready viene affermato prima del ciclo ready e la sorgente risponde 1 o 2 cicli dopo fornendo dati e affermando validi. Quando readyLatency non è 0, l'origine deve annullare l'asserzione di validità sui cicli non pronti.
clic

pronto

valido

canale

errore

dati

RE0 RE1

Il 2 Il 3 Il 4

D5

Figura 30.

Trasferimento con contropressione, readyLatency=2

clic

pronto

valido

canale

errore

dati

RE0 RE1

RE2 RE3

5.10. Trasferimenti di dati a pacchetto
La proprietà di trasferimento dei pacchetti aggiunge il supporto per il trasferimento dei pacchetti da un'interfaccia di origine a un'interfaccia sink. Sono definiti tre segnali aggiuntivi per implementare il trasferimento dei pacchetti. Sia l'interfaccia sorgente che quella sink devono includere questi segnali aggiuntivi per supportare i pacchetti. È possibile connettere solo le interfacce di origine e sink con

Specifiche dell'interfaccia Avalon® 50

Invia feedback

5. Interfacce di streaming Avalon 683091 | 2022.01.24

proprietà del pacchetto corrispondenti. Platform Designer non aggiunge automaticamente i segnali startofpacket, endofpacket e vuoto alle interfacce di origine o sink che non includono questi segnali.

Figura 31. Sorgente dati dei segnali dell'interfaccia del pacchetto Avalon-ST

Dissipatore di dati

pronto
valido
canale di errore dati startofpacket
endofpacket vuoto

5.11. Dettagli del segnale
· startofpacket – Tutte le interfacce che supportano i trasferimenti di pacchetti richiedono il segnale startofpacket. startofpacket segna il ciclo attivo contenente l'inizio del pacchetto. Questo segnale viene interpretato solo quando viene affermato valido.
· endofpacket – Tutte le interfacce che supportano i trasferimenti di pacchetti richiedono il segnale endofpacket. endofpacket contrassegna il ciclo attivo contenente la fine del pacchetto. Questo segnale viene interpretato solo quando viene affermato valido. startofpacket e endofpacket possono essere affermati nello stesso ciclo. Non sono richiesti cicli di inattività tra i pacchetti. Il segnale di inizio pacchetto può seguire immediatamente dopo il precedente segnale di fine pacchetto.
· vuoto – Il segnale opzionale vuoto indica il numero di simboli che sono vuoti durante il ciclo di fine pacchetto. Il sink controlla solo il valore di vuoto durante i cicli attivi che hanno affermato endofpacket. I simboli vuoti sono sempre gli ultimi simboli nei dati, quelli trasportati dai bit di ordine inferiore quando firstSymbolInHighOrderBits = true. Il segnale vuoto è richiesto su tutte le interfacce a pacchetto il cui segnale dati trasporta più di un simbolo di dati e ha un formato di pacchetto a lunghezza variabile. La dimensione del segnale vuoto in bit è ceil[log2( )].

Invia feedback

Specifiche dell'interfaccia Avalon® 51

5. Interfacce di streaming Avalon 683091 | 2022.01.24

5.12. Dettagli del protocollo

Il trasferimento dati a pacchetto segue lo stesso protocollo del tipico trasferimento dati con l'aggiunta di startofpacket, endofpacket e vuoto.

Figura 32.

Trasferimento di pacchetti
La figura seguente illustra il trasferimento di un pacchetto da 17 byte da un'interfaccia sorgente a un'interfaccia sink, dove readyLatency=0. Questo diagramma temporale illustra i seguenti eventi:

1. Il trasferimento dei dati avviene nei cicli 1, 2, 4, 5 e 6, quando vengono dichiarati sia pronti che validi.

2. Durante il ciclo 1, viene affermato startofpacket. Vengono trasferiti i primi 4 byte del pacchetto.

3. Durante il ciclo 6, viene affermato endofpacket. vuoto ha valore 3. Questo valore indica che questa è la fine del pacchetto e che 3 dei 4 simboli sono vuoti. Nel ciclo 6, il byte di ordine superiore, data[31:24] guida i dati validi.

1234567 clic

pronto

valido

startofpacket

endofpacket

vuoto

3

canale

00

000

errore

00

000

dati[31:24]

RE0 RE4

Il 8 Il 12 Il 16

dati[23:16]

RE1 RE5

RE9 RE13

dati[15:8]

RE2 RE6

RE10 RE14

dati[7:0]

RE3 RE7

RE11 RE15

Specifiche dell'interfaccia Avalon® 52

Invia feedback

683091 | 2022.01.24 Invia feedback

6. Interfacce di credito in streaming Avalon
Le interfacce Avalon Streaming Credit devono essere utilizzate con componenti che gestiscono dati unidirezionali con larghezza di banda elevata e bassa latenza. Le applicazioni tipiche includono flussi multiplex, pacchetti e dati DSP. I segnali dell'interfaccia Avalon Streaming Credit possono descrivere le tradizionali interfacce di streaming che supportano un singolo flusso di dati, senza conoscere i canali o i limiti dei pacchetti. L'interfaccia può anche supportare protocolli più complessi in grado di effettuare burst e trasferimenti di pacchetti con pacchetti interlacciati su più canali.
Tutte le interfacce sorgente e sink di Avalon Streaming Credit non sono necessariamente interoperabili. Tuttavia, se due interfacce forniscono funzioni compatibili per lo stesso spazio applicativo, sono disponibili adattatori per consentire loro di interagire.
È inoltre possibile collegare la sorgente Avalon Streaming Credit a un sink Avalon Streaming tramite un adattatore. Allo stesso modo, è possibile collegare una sorgente Avalon Streaming a un sink Avalon Streaming Credit tramite un adattatore.
Le interfacce Avalon Streaming Credit supportano percorsi dati che richiedono le seguenti funzionalità:
· Trasferimento dati punto a punto a bassa latenza e throughput elevato
· Supporto di canali multipli con interlacciamento flessibile dei pacchetti
· Segnalazione in banda laterale di canale, errore e inizio e fine delineazione del pacchetto
· Supporto per il burst dei dati
· Segnali utente come segnali di banda laterale per funzionalità definite dagli utenti

6.1. Termini e concetti
Il protocollo dell'interfaccia Avalon Streaming Credit definisce i seguenti termini e concetti:
· Sistema Avalon Streaming Credit – Un sistema Avalon Streaming Credit contiene una o più connessioni Avalon Streaming Credit che trasferiscono i dati da un'interfaccia di origine a un'interfaccia sink.
· Componenti di credito Avalon Streaming – Un tipico sistema che utilizza le interfacce Avalon Streaming combina più moduli funzionali, chiamati componenti. Il progettista del sistema configura i componenti e li collega insieme per implementare un sistema.
· Interfacce e connessioni Source e Sink – Quando due componenti sono collegati, i crediti fluiscono dal sink alla sorgente; e i dati fluiscono dall'interfaccia di origine all'interfaccia sink. La combinazione di un'interfaccia sorgente connessa a un'interfaccia sink viene definita connessione.
· Trasferimenti: un trasferimento comporta la propagazione dei dati e del controllo da un'interfaccia sorgente a un'interfaccia sink. Per le interfacce dati, la sorgente può avviare il trasferimento dati solo se ha crediti disponibili. Allo stesso modo, sink può accettare dati solo se ha crediti in sospeso.

Intel Corporation. Tutti i diritti riservati. Intel, il logo Intel e altri marchi Intel sono marchi di Intel Corporation o delle sue consociate. Intel garantisce le prestazioni dei suoi prodotti FPGA e semiconduttori in base alle specifiche attuali in conformità con la garanzia standard di Intel, ma si riserva il diritto di apportare modifiche a qualsiasi prodotto e servizio in qualsiasi momento senza preavviso. Intel non si assume alcuna responsabilità derivante dall'applicazione o dall'uso di qualsiasi informazione, prodotto o servizio qui descritto, salvo quanto espressamente concordato per iscritto da Intel. Si consiglia ai clienti Intel di ottenere la versione più recente delle specifiche del dispositivo prima di fare affidamento su qualsiasi informazione pubblicata e prima di effettuare ordini per prodotti o servizi. *Altri nomi e marchi possono essere rivendicati come proprietà di altri.

Certificato ISO 9001: 2015

6. Interfacce di credito in streaming Avalon 683091 | 2022.01.24

· Simbolo: un simbolo è la più piccola unità di dati. Uno o più simboli costituiscono la singola unità di dati trasferiti in un ciclo.
· Battimento: un battito è un trasferimento a ciclo singolo tra un'interfaccia sorgente e un'interfaccia sink composta da uno o più simboli.
· Pacchetto: un pacchetto è un'aggregazione di dati e segnali di controllo trasmessi insieme. Un pacchetto può contenere un'intestazione per aiutare i router e altri dispositivi di rete a indirizzare il pacchetto verso la destinazione corretta. Il formato del pacchetto è definito dall'applicazione, non da questa specifica. I pacchetti Avalon Streaming possono avere una lunghezza variabile e possono essere interlacciati attraverso una connessione. Con un'interfaccia Avalon Streaming Credit, l'uso dei pacchetti è facoltativo.

6.2. Ruoli del segnale dell'interfaccia di credito in streaming di Avalon

Ciascun segnale in un'interfaccia sorgente o sink di Avalon Streaming Credit corrisponde a un ruolo del segnale di Avalon Streaming Credit. Un'interfaccia Avalon Streaming Credit può contenere solo un'istanza di ciascun ruolo di segnale. Tutti i ruoli del segnale di Avalon Streaming Credit si applicano sia alle sorgenti che ai sink e hanno lo stesso significato per entrambi.

Tabella 20. Segnali di interfaccia di credito in streaming Avalon

Nome del segnale

Direzione

aggiornamento

Affondare

1

fonte

Larghezza

credito

Affondare

1-9

fonte

Facoltativo/obbligatorio

Descrizione

Necessario

Il sink invia l'aggiornamento e l'origine aggiorna il contatore del credito disponibile. Il sink invia l'aggiornamento all'origine quando una transazione viene estratta dal suo buffer.
Il contatore del credito nella fonte viene aumentato del valore sul bus del credito dal pozzo alla fonte.

Necessario

Indica credito aggiuntivo disponibile nel sink quando viene affermato l'aggiornamento.
Questo bus trasporta un valore specificato dal sink. La larghezza del bus dei crediti è ceilog2(MAX_CREDIT + 1). Sink invia il valore del credito disponibile su questo bus che indica il numero di transazioni che può accettare. La fonte acquisisce il valore del credito
solo se viene affermato il segnale di aggiornamento.

return_credit Sorgente a 1 sink

dati validi
errore

Fonte da affondare
Fonte da affondare

1-8192 1

Fonte da affondare

1-256

Obbligatorio Obbligatorio Obbligatorio Facoltativo

Dichiarato dalla fonte di restituire 1 credito all'affondamento.
Nota: per maggiori dettagli, fare riferimento alla Sezione 6.2.3 Restituzione dei crediti.
I dati sono divisi in simboli secondo la definizione Avalon Streaming esistente.
Dichiarato dalla fonte per qualificare tutte le altre fonti ad assorbire i segnali. La fonte può dichiararsi valida solo quando il credito a sua disposizione è maggiore di 0.
Una maschera di bit utilizzata per contrassegnare gli errori che interessano i dati trasferiti nel ciclo corrente. Viene utilizzato un singolo bit di errore per ciascuno degli errori riconosciuti dal componente, come definito dalla proprietà errorDescriptor.
continua…

Specifiche dell'interfaccia Avalon® 54

Invia feedback

6. Interfacce di credito in streaming Avalon 683091 | 2022.01.24

Canale del nome del segnale
iniziopacchetto finepacchetto vuoto

Direzione della sorgente verso l'affondamento
Sorgente per affondare Sorgente per affondare Sorgente per affondare
Fonte da affondare
Fonte da affondare

Larghezza

Facoltativo/obbligatorio

Descrizione

1-128

Opzionale

Il numero del canale per i dati trasferiti nel ciclo corrente.
Se un'interfaccia supporta il segnale del canale, deve definire anche il parametro maxChannel.

Segnali di trasferimento di pacchetti

1

Opzionale

Affermato dalla fonte per segnare l'inizio

di un pacchetto.

1

Opzionale

Dichiarato dalla fonte per segnare la fine di

un pacchetto.

ceil(log2(NUM_SYMBOLS)) Facoltativo

Indica il numero di simboli vuoti, ovvero che non rappresentano dati validi. Il segnale vuoto non viene utilizzato sulle interfacce in cui è presente un simbolo per battuta.

Segnali utente

1-8192

Opzionale

Un numero qualsiasi di segnali utente per pacchetto può essere presente sulle interfacce sorgente e sink. La sorgente imposta il valore di questo segnale quando
viene affermato startofpacket. La sorgente non dovrebbe modificare il valore di questo segnale fino all'inizio del nuovo pacchetto. Maggiori dettagli sono nella sezione Segnale utente.

1-8192

Opzionale

Un numero qualsiasi di segnali utente per simbolo può essere presente su source e sink. Maggiori dettagli sono nella sezione Segnale utente.

6.2.1. Interfaccia sincrona

Tutti i trasferimenti di una connessione Avalon Streaming avvengono in modo sincrono rispetto al fronte di salita del segnale di clock associato. Tutti gli output da un'interfaccia sorgente a un'interfaccia sink,
compresi i dati, il canale e i segnali di errore, devono essere registrati sul fronte di salita del clock. Non è necessario registrare gli input a un'interfaccia sink. La registrazione dei segnali alla sorgente facilita il funzionamento ad alta frequenza.

Tabella 21. Proprietà dell'interfaccia Avalon Streaming Credit

Nome della proprietà

Valore predefinito

Valore legale

Descrizione

orologio associato

1

Orologio

Il nome dell'interfaccia Avalon Clock a cui this

interfaccia

L'interfaccia di Avalon Streaming è sincrona.

associatoReset

1

Reset

Il nome dell'interfaccia Avalon Reset a cui this

interfaccia

L'interfaccia di Avalon Streaming è sincrona.

datiBitsPerSymbol simboliPerBeat

8

1 8192

Definisce il numero di bit per simbolo. Per esampLui,

le interfacce orientate ai byte hanno simboli a 8 bit. Questo valore è

non limitato ad essere una potenza di 2.

1

1 8192

Il numero di simboli che vengono trasferiti su ogni

ciclo valido.

maxCredit

256

1-256

Il numero massimo di crediti che un'interfaccia dati può supportare.
continua…

Invia feedback

Specifiche dell'interfaccia Avalon® 55

6. Interfacce di credito in streaming Avalon 683091 | 2022.01.24

Nome proprietà errorDescriptor

Valore predefinito
0

firstSymbolInHighOrderBits vero

maxChannel

0

Valore legale

Descrizione

Elenco delle stringhe

Un elenco di parole che descrivono l'errore associato a ciascun bit del segnale di errore. La lunghezza dell'elenco deve essere uguale al numero di bit nel segnale di errore. La prima parola nell'elenco si applica al bit di ordine più alto. Per esample, “crc, overflow” significa che il bit[1] di errore indica un errore CRC. Bit[0] indica un errore di overflow.

vero, falso

Quando è vero, il simbolo del primo ordine viene indirizzato ai bit più significativi dell'interfaccia dati. Il simbolo di ordine più alto è etichettato D0 in questa specifica. Quando questa proprietà è impostata su false, il primo simbolo appare sui bit bassi. D0 appare in data[7:0]. Per un bus a 32 bit, se vero, D0 appare su bit[31:24].

0

Il numero massimo di canali che un'interfaccia dati

può supportare.

6.2.2. Trasferimenti dati tipici
Questa sezione definisce il trasferimento dei dati da un'interfaccia di origine a un'interfaccia sink. In tutti i casi, l'origine dati e il dissipatore di dati devono essere conformi alla specifica. Non è responsabilità del sink di dati rilevare gli errori del protocollo di origine.
La figura seguente mostra i segnali generalmente utilizzati in un'interfaccia Avalon Streaming Credit.
Figura 33. Segnali di credito in streaming tipici di Avalon

Come indica questa figura, una tipica interfaccia di origine Avalon Streaming Credit guida i segnali validi, dati, errore e canale al sink. Il sink guida i segnali di aggiornamento e di credito.

Specifiche dell'interfaccia Avalon® 56

Invia feedback

6. Interfacce di credito in streaming Avalon 683091 | 2022.01.24
Figura 34. Credito tipico e trasferimento dati

La figura sopra mostra un tipico trasferimento di credito e dati tra sorgente e sink. Può verificarsi un ritardo arbitrario tra il sink che richiede l'aggiornamento e l'origine che riceve l'aggiornamento. Allo stesso modo, può esserci un ritardo arbitrario tra la dichiarazione della validità dei dati da parte dell'origine e la ricezione dei dati da parte del sink. Il ritardo sul percorso del credito dal pozzo alla fonte e il percorso dei dati dalla fonte al pozzo non devono essere uguali. Questi ritardi possono anche essere pari a 0 cicli, ovvero quando il sink afferma l'aggiornamento, viene visto dalla sorgente nello stesso ciclo. Al contrario, quando la sorgente si dichiara valida, viene vista dal sink nello stesso ciclo. Se la fonte ha zero crediti, non può essere dichiarata valida. I crediti trasferiti sono cumulativi. Se il sink ha trasferito crediti pari alla sua proprietà maxCredit e non ha ricevuto alcun dato, non può affermare l'aggiornamento finché non riceve almeno 1 dato o non ha ricevuto un impulso return_credit dall'origine.
Il sink non può fare pressione sui dati dalla fonte se il sink ha fornito crediti alla fonte, cioè il sink deve accettare i dati dalla fonte se ci sono crediti in sospeso. La Fonte non può ritenersi valida se non ha ricevuto alcun credito o ha esaurito i crediti ricevuti, ovvero ha già inviato i dati in sostituzione dei crediti ricevuti.
Se la fonte ha zero crediti, la fonte non può avviare il trasferimento dati nello stesso ciclo in cui riceve crediti. Allo stesso modo, se sink ha trasferito crediti pari alla sua proprietà maxCredit e riceve dati, sink non può inviare un aggiornamento nello stesso ciclo in cui ha ricevuto i dati. Queste restrizioni sono state messe in atto per evitare cicli combinatori nell'implementazione.
6.2.3. Restituzione dei crediti
Il protocollo Avalon Streaming Credit supporta un segnale return_credit. Questo viene utilizzato dalla fonte per restituire i crediti al sink. Ad ogni ciclo in cui viene affermato questo segnale, indica che la fonte sta restituendo 1 credito. Se la fonte vuole restituire più crediti, questo segnale deve essere affermato per più cicli. Per esample, se la fonte vuole restituire 10 crediti in sospeso, afferma il segnale return_credit per 10 cicli. Sink dovrebbe tenere conto dei crediti restituiti nei propri contatori interni di gestione dei crediti. I crediti possono essere restituiti dalla fonte in qualsiasi momento purché abbia crediti maggiori di 0.
La figura seguente esemplifica i crediti restituiti dalla fonte. Come mostrato nella figura,standing_credit è un contatore interno per la fonte. Quando la fonte restituisce crediti, questo contatore viene decrementato.

Invia feedback

Specifiche dell'interfaccia Avalon® 57

Figura 35. Crediti restituiti dalla fonte

6. Interfacce di credito in streaming Avalon 683091 | 2022.01.24

Nota:

Sebbene il diagramma precedente mostri la restituzione dei crediti quando valid viene annullato, return_credit può essere affermato anche mentre valid viene affermato. In questo caso, source spende effettivamente 2 crediti: uno per valid e uno per return_credit.

6.3. Segnali utente di credito in streaming Avalon
I segnali utente sono segnali di banda laterale opzionali che fluiscono insieme ai dati. Sono considerati validi solo quando i dati sono validi. Dato che i segnali utente non hanno alcun significato o scopo definito, è necessario prestare attenzione durante l'utilizzo di questi segnali. È responsabilità del progettista del sistema assicurarsi che due IP collegati tra loro concordino sui ruoli dei segnali utente.
Vengono proposti due tipi di segnali utente: segnali utente per simbolo e segnali utente per pacchetto.
6.3.1. Segnale utente per simbolo
Come suggerisce il nome, i dati definiscono un segnale utente per simbolo (symbol_user) per simbolo. Ogni simbolo nei dati può avere un segnale utente. Per esample, se il numero di simboli nei dati è 8 e la larghezza simbolico_utente è 2 bit, la larghezza totale del segnale simbolo_utente è 16 bit.
Symbol_user è valido solo quando i dati sono validi. La sorgente può modificare questo segnale ad ogni ciclo quando i dati sono validi. Il sink può ignorare il valore dei bit symbol_user per i simboli vuoti.
Se una sorgente che ha questo segnale è collegata a un sink che non ha questo segnale sulla sua interfaccia, il segnale dalla sorgente rimane sospeso nell'interconnessione generata.
Se una sorgente che non ha questo segnale è collegata a un sink che ha questo segnale sulla sua interfaccia, il segnale utente in ingresso del sink si lega a 0.
Se sia la sorgente che il sink hanno lo stesso numero di simboli nei dati, i segnali utente per entrambi devono avere la stessa larghezza. Altrimenti non potranno essere collegati.

Specifiche dell'interfaccia Avalon® 58

Invia feedback

6. Interfacce di credito in streaming Avalon
Italiano: 683091 | 2022.01.24
Se una sorgente ampia è collegata a un sink ristretto ed entrambe hanno segnali utente per simbolo, entrambe devono avere bit uguali di segnale utente associati a ciascun simbolo. Per esample, se una sorgente a 16 simboli ha 2 bit di segnale utente associati a ciascun simbolo (per un totale di 32 bit di segnale utente), allora un sink a 4 simboli deve avere un segnale utente largo 8 bit (2 bit associati a ciascun simbolo). Un adattatore del formato dati può convertire i dati sorgente a 16 simboli in dati sink a 4 simboli e il segnale utente a 32 bit in segnale utente a 8 bit. L'adattatore del formato dati mantiene l'associazione dei simboli con i corrispondenti bit del segnale utente.
Allo stesso modo, se una sorgente ristretta è collegata a un sink ampio ed entrambe hanno segnali utente per simbolo, entrambe devono avere bit uguali di segnale utente associati a ciascun simbolo. Per esample, se una sorgente a 4 simboli ha 2 bit di segnale utente associati a ciascun simbolo (per un totale di 8 bit di segnale utente), allora un sink a 16 simboli deve avere un segnale utente di larghezza 32 bit (2 bit associati a ciascun simbolo). Un adattatore del formato dati può convertire i dati sorgente a 4 simboli in dati sink a 16 simboli e il segnale utente a 8 bit in segnale utente a 32 bit. L'adattatore del formato dati mantiene l'associazione dei simboli con i corrispondenti bit del segnale utente. Se il pacchetto è più piccolo del rapporto delle larghezze dei dati, l'adattatore del formato dati imposta di conseguenza il valore vuoto. Il sink dovrebbe ignorare il valore dei bit utente associati ai simboli vuoti.
6.3.2. Segnale utente per pacchetto
Oltre a symbol_user, sull'interfaccia possono essere dichiarati anche segnali utente per pacchetto (packet_user). Packet_user può avere una larghezza arbitraria. A differenza di symbol_user, packet_user deve rimanere costante in tutto il pacchetto, cioè il suo valore deve essere impostato all'inizio del pacchetto e deve rimanere lo stesso fino alla fine del pacchetto. Questa restrizione rende più semplice l'implementazione dell'adattatore del formato dati in quanto elimina l'opzione di replicare o tagliare (sorgente ampia, sink stretto) o concatenare (sorgente ristretta, sink ampio) packet_user.
Se una sorgente ha packet_user e il sink no, il packet_user della sorgente rimane in sospeso. In tal caso, il progettista del sistema deve fare attenzione a non trasmettere alcuna informazione di controllo critica su questo segnale poiché viene completamente o parzialmente ignorato.
Se un'origine non ha packet_user e il sink sì, il packet_user da sink è legato a 0.

Invia feedback

Specifiche dell'interfaccia Avalon® 59

683091 | 2022.01.24 Invia feedback

7. Interfacce del condotto Avalon

Nota:

Le interfacce Avalon Conduit raggruppano una raccolta arbitraria di segnali. È possibile specificare qualsiasi ruolo per i segnali del conduttore. Tuttavia, quando si collegano i condotti, i ruoli e le larghezze devono corrispondere e le direzioni devono essere opposte. Un'interfaccia Avalon Conduit può includere segnali di ingresso, uscita e bidirezionali. Un modulo può avere più interfacce Avalon Conduit per fornire un raggruppamento logico di segnali. Le interfacce del conduttore possono dichiarare un orologio associato. Quando le interfacce del conduttore connesse si trovano in domini di orologio diversi, Platform Designer genera un messaggio di errore.
Se possibile, dovresti utilizzare le interfacce Avalon-MM o Avalon-ST standard invece di creare un'interfaccia Avalon Conduit. Platform Designer fornisce la convalida e l'adattamento per queste interfacce. Platform Designer non può fornire convalida o adattamento per le interfacce Avalon Conduit.
Interfacce conduit tipicamente utilizzate per pilotare segnali di dispositivi off-chip, come indirizzi SDRAM, dati e segnali di controllo.

Intel Corporation. Tutti i diritti riservati. Intel, il logo Intel e altri marchi Intel sono marchi di Intel Corporation o delle sue consociate. Intel garantisce le prestazioni dei suoi prodotti FPGA e semiconduttori in base alle specifiche attuali in conformità con la garanzia standard di Intel, ma si riserva il diritto di apportare modifiche a qualsiasi prodotto e servizio in qualsiasi momento senza preavviso. Intel non si assume alcuna responsabilità derivante dall'applicazione o dall'uso di qualsiasi informazione, prodotto o servizio qui descritto, salvo quanto espressamente concordato per iscritto da Intel. Si consiglia ai clienti Intel di ottenere la versione più recente delle specifiche del dispositivo prima di fare affidamento su qualsiasi informazione pubblicata e prima di effettuare ordini per prodotti o servizi. *Altri nomi e marchi possono essere rivendicati come proprietà di altri.

Certificato ISO 9001: 2015

7. Interfacce del condotto Avalon 683091 | 2022.01.24

Figura 36. Focus sull'interfaccia Conduit

PHY Ethernet

Sistema Avalon-MM
Processore Avalon-MM
Ospite

MAC Ethernet
Host Avalon-MM

Logica personalizzata
Host Avalon-MM

Tessuto di interconnessione del sistema

Agente Avalon-MM
Controller SDRAM

Agente Avalon
Logica personalizzata

Interfaccia del condotto
Memoria SDRAM

7.

Documenti / Risorse

intel MNL-AVABUSREF Interfaccia Avalon [pdf] Manuale d'uso
MNL-AVABUSREF, Interfaccia Avalon, MNL-AVABUSREF Interfaccia Avalon

Riferimenti

Lascia un commento

Il tuo indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *