Rozhraní MNL-AVABUSREF Avalon
Specifikace rozhraní Avalon®
Aktualizováno pro Intel® Quartus® Prime Design Suite: 20.1
Online verze Odeslat zpětnou vazbu
MNL-AVABUSREF
ID: 683091 Verze: 2022.01.24
Obsah
Obsah
1. Úvod do specifikací rozhraní Avalon®……………………………………………… 4 1.1. Vlastnosti a parametry Avalonu………………………………………………………………………. 5 1.2. Signální role……………………………………………………………………………………………………….5 1.3. Časování rozhraní………………………………………………………………………………………………. 5 1.4. Přample: Rozhraní Avalon v návrzích systémů………………………………………………………. 5
2. Rozhraní Avalon Clock a Reset………………………………………………………………………………. 8 2.1. Role signálu Avalon Clock Sink……………………………………………………………………………….. 8 2.2. Vlastnosti dřezu hodin……………………………………………………………………………………… 9 2.3. Přidružená rozhraní hodin ………………………………………………………………………………… 9 2.4. Role zdrojového signálu hodin Avalon…………………………………………………………………..9 2.5. Vlastnosti zdroje hodin……………………………………………………………………………………… 9 2.6. Resetovat umyvadlo………………………………………………………………………………………………………. 10 2.7. Resetovat vlastnosti rozhraní umyvadla……………………………………………………………………………… 10 2.8. Přidružená rozhraní pro reset ……………………………………………………………………………………… 10 2.9. Zdroj resetování……………………………………………………………………………………………………….10 2.10. Obnovit vlastnosti rozhraní zdroje……………………………………………………………………….11
3. Avalon Memory-Mapped Interfaces……………………………………………………………………………………….12 3.1. Úvod do Avalon Memory-Mapped Interface………………………………………………… 12 3.2. Role signálu rozhraní mapovaného v paměti Avalon…………………………………………………………14 3.3. Vlastnosti rozhraní……………………………………………………………………………………………….17 3.4. Načasování……………………………………………………………………………………………………………….20 3.5. Převody……………………………………………………………………………………………………………… 20 3.5.1. Typické převody čtení a zápisu………………………………………………………. 21 3.5.2. Převody pomocí čekatelského požadavkuPříspěvkový majetek……………………………………… 23 3.5.3. Čtení a zápis převodů s pevnými čekacími stavy ………………………………….. 26 3.5.4. Zřetězené převody……………………………………………………………………………….. 27 3.5.5. Burst transfery …………………………………………………………………………………. 30 3.5.6. Čtení a psaní odpovědí……………………………………………………………………… 34 3.6. Zarovnání adres……………………………………………………………………………………………….. 36 3.7. Oslovování agentů Avalon-MM……………………………………………………………………………… 36
4. Rozhraní přerušení Avalon……………………………………………………………………………………… 38 4.1. Přerušit odesílatele………………………………………………………………………………………………………..38 4.1.1. Role signálu odesílatele přerušení Avalon……………………………………………………….38 4.1.2. Vlastnosti odesílatele přerušení………………………………………………………………….. 38 4.2. Přijímač přerušení………………………………………………………………………………………………………39 4.2.1. Role signálu přijímače přerušení Avalon……………………………………………….. 39 4.2.2. Vlastnosti přijímače přerušení……………………………………………………………………… 39 4.2.3. Načasování přerušení……………………………………………………………………………….. 39
5. Avalon streamovací rozhraní………………………………………………………………………………………. 40 5.1. Termíny a koncepty……………………………………………………………………………………… 41 5.2. Role signálu Avalon Streaming Interface……………………………………………………….. 42 5.3. Sekvence a časování signálů ………………………………………………………………………………… 43 5.3.1. Synchronní rozhraní………………………………………………………………………………………43 5.3.2. Hodiny umožňují……………………………………………………………………………… 43
Specifikace rozhraní Avalon® 2
Odeslat zpětnou vazbu
Obsah
5.4. Vlastnosti rozhraní Avalon-ST……………………………………………………………………………….43 5.5. Typické přenosy dat ……………………………………………………………………………………… 44 5.6. Podrobnosti signálu……………………………………………………………………………………………………… 44 5.7. Uspořádání dat …………………………………………………………………………………………………. 45 5.8. Přenos dat bez zpětného tlaku……………………………………………………………………….. 46 5.9. Přenos dat se zpětným tlakem………………………………………………………………………. 46
5.9.1. Přenosy dat pomocí readyLatency a readyAllowance………………………….. 47 5.9.2. Přenosy dat pomocí readyLatency………………………………………………………. 49 5.10. Paketové datové přenosy……………………………………………………………………………………….. 50 5.11. Podrobnosti signálu ………………………………………………………………………………………………… 51 5.12. Podrobnosti protokolu ………………………………………………………………………………………………….52
6. Avalon Streaming Credit Interface……………………………………………………………………………………… 53 6.1. Termíny a koncepty……………………………………………………………………………………… 53 6.2. Role signálu Avalon Streaming Credit Interface……………………………………………….. 54 6.2.1. Synchronní rozhraní……………………………………………………………………………… 55 6.2.2. Typické přenosy dat……………………………………………………………………………….56 6.2.3. Vrácení kreditů …………………………………………………………………………. 57 6.3. Uživatelské signály Avalon Streaming Credit……………………………………………………………………… 58 6.3.1. Uživatelský signál na symbol………………………………………………………………………. 58 6.3.2. Uživatelský signál na paket……………………………………………………………………………… 59
7. Rozhraní Avalon Conduit……………………………………………………………………………………………………… 60 7.1. Role signálu Avalon Conduit………………………………………………………………………………. 61 7.2. Vlastnosti vedení …………………………………………………………………………………………. 61
8. Rozhraní Avalon Tristate Conduit……………………………………………………………………………… 62 8.1. Role signálu Avalon Tristate Conduit……………………………………………………………………………….. 64 8.2. Vlastnosti trojstavového vedení……………………………………………………………………………… 65 8.3. Načasování trojstavového vedení ………………………………………………………………………………………….65
A. Zastaralé signály………………………………………………………………………………………………. 67
B. Historie revizí dokumentu pro specifikace rozhraní Avalon………………………… 68
Odeslat zpětnou vazbu
Specifikace rozhraní Avalon® 3
683091 | 2022.01.24 Odeslat zpětnou vazbu
1. Úvod do specifikací rozhraní Avalon®
Rozhraní Avalon® zjednodušují návrh systému tím, že umožňují snadné připojení komponent v Intel® FPGA. Rodina rozhraní Avalon definuje rozhraní vhodná pro streamování vysokorychlostních dat, čtení a zápis registrů a paměti a ovládání zařízení mimo čip. Komponenty dostupné v Platform Designer zahrnují tato standardní rozhraní. Navíc můžete do vlastních komponent začlenit rozhraní Avalon, čímž se zlepší interoperabilita návrhů.
Tato specifikace definuje všechna rozhraní Avalonu. Po přečtení této specifikace byste měli pochopit, která rozhraní jsou vhodná pro vaše komponenty a které role signálu použít pro konkrétní chování. Tato specifikace definuje následujících sedm rozhraní:
· Avalon Streaming Interface (Avalon-ST) – rozhraní, které podporuje jednosměrný tok dat, včetně multiplexovaných toků, paketů a dat DSP.
· Rozhraní Avalon Memory Mapped Interface (Avalon-MM) – rozhraní pro čtení/zápis na základě adresy typické pro připojení Host-Agent.
· Avalon Conduit Interface – typ rozhraní, který pojme jednotlivé signály nebo skupiny signálů, které se nehodí do žádného z ostatních typů Avalon. Rozhraní vedení můžete připojit uvnitř systému Platform Designer. Případně je můžete exportovat pro připojení k jiným modulům v návrhu nebo k pinům FPGA.
· Avalon Tri-State Conduit Interface (Avalon-TC) – rozhraní pro podporu připojení k externím periferiím. Více periferií může sdílet piny pomocí multiplexování signálu, čímž se snižuje počet pinů FPGA a počet stop na PCB.
· Avalon Interrupt Interface – rozhraní, které umožňuje komponentám signalizovat události jiným komponentám.
· Avalon Clock Interface – rozhraní, které řídí nebo přijímá hodiny.
· Avalon Reset Interface – rozhraní, které poskytuje připojení k resetování.
Jedna komponenta může obsahovat libovolný počet těchto rozhraní a může také zahrnovat více instancí stejného typu rozhraní.
Poznámka:
Rozhraní Avalon jsou otevřeným standardem. K vývoji a prodeji produktů, které používají rozhraní Avalon nebo jsou na nich založeny, není vyžadována žádná licence ani honorář.
Související informace
Úvod do Intel FPGA IP Cores Poskytuje obecné informace o všech Intel FPGA IP jádrech, včetně parametrizace, generování, upgradu a simulace IP jader.
· Generování kombinovaného skriptu pro nastavení simulátoru Vytvářejte simulační skripty, které nevyžadují ruční aktualizace pro upgrade softwaru nebo IP verze.
Intel Corporation. Všechna práva vyhrazena. Intel, logo Intel a další značky Intel jsou ochranné známky společnosti Intel Corporation nebo jejích dceřiných společností. Společnost Intel zaručuje výkon svých FPGA a polovodičových produktů podle aktuálních specifikací v souladu se standardní zárukou společnosti Intel, ale vyhrazuje si právo provádět změny jakýchkoli produktů a služeb kdykoli bez upozornění. Společnost Intel nepřebírá žádnou odpovědnost nebo závazky vyplývající z aplikace nebo použití jakýchkoli informací, produktů nebo služeb popsaných v tomto dokumentu, pokud to není výslovně písemně odsouhlaseno společností Intel. Zákazníkům společnosti Intel se doporučuje získat nejnovější verzi specifikací zařízení dříve, než se budou spoléhat na jakékoli zveřejněné informace a než zadají objednávky na produkty nebo služby. *Jiná jména a značky mohou být nárokovány jako vlastnictví jiných.
ISO 9001: 2015 Registrováno
1. Úvod do specifikací rozhraní Avalon® 683091 | 2022.01.24
· Pokyny pro nejlepší postupy projektového řízení pro efektivní správu a přenositelnost vašeho projektu a IP files.
1.1. Vlastnosti a parametry Avalonu
Rozhraní Avalon popisují své chování pomocí vlastností. Specifikace pro každý typ rozhraní definuje všechny vlastnosti rozhraní a výchozí hodnoty. Napřample, vlastnost maxChannel rozhraní Avalon-ST vám umožňuje určit počet kanálů podporovaných rozhraním. Vlastnost clockRate rozhraní Avalon Clock poskytuje frekvenci hodinového signálu.
1.2. Role signálu
Každé rozhraní Avalonu definuje role signálu a jejich chování. Mnoho signálních rolí je volitelných. Máte možnost vybrat pouze ty role signálu, které jsou nezbytné k implementaci požadované funkce. NapřampRozhraní Avalon-MM obsahuje volitelné role signálu beginbursttransfer a burstcount pro komponenty, které podporují bursting. Rozhraní Avalon-ST zahrnuje volitelné role signálu startofpacket a endofpacket pro rozhraní, která podporují pakety.
S výjimkou rozhraní Avalon Conduit může každé rozhraní obsahovat pouze jeden signál každé role signálu. Mnoho signálových rolí umožňuje signály aktivní-nízké. V tomto dokumentu se obecně používají signály aktivní-vysoké.
1.3. Časování rozhraní
Následující kapitoly tohoto dokumentu obsahují informace o časování, které popisují přenosy pro jednotlivé typy rozhraní. Pro žádné z těchto rozhraní není zaručen výkon. Skutečný výkon závisí na mnoha faktorech, včetně návrhu komponent a implementace systému.
Většina rozhraní Avalon nesmí být citlivá na hrany na jiné signály než na hodiny a reset. Jiné signály se mohou několikrát změnit, než se stabilizují. Přesné časování signálů mezi hranami hodin se liší v závislosti na vlastnostech vybraného Intel FPGA. Tato specifikace nespecifikuje elektrické vlastnosti. Elektrické specifikace naleznete v dokumentaci příslušného zařízení.
1.4. Přample: Avalon Interfaces in System Designs
V tomto exampEthernet Controller obsahuje šest různých typů rozhraní: · Avalon-MM · Avalon-ST · Avalon Conduit · Avalon-TC · Avalon Interrupt · Avalon Clock.
Procesor Nios® II přistupuje k řídicím a stavovým registrům součástí na čipu prostřednictvím rozhraní Avalon-MM. Rozptylovací DMA odesílají a přijímají data prostřednictvím rozhraní Avalon-ST. Čtyři součásti zahrnují přerušení
Odeslat zpětnou vazbu
Specifikace rozhraní Avalon® 5
1. Úvod do specifikací rozhraní Avalon® 683091 | 2022.01.24
Obrázek 1.
rozhraní obsluhovaná softwarem běžícím na procesoru Nios II. PLL přijímá hodiny přes rozhraní Avalon Clock Sink a poskytuje dva zdroje hodin. Dvě komponenty zahrnují rozhraní Avalon-TC pro přístup k mimočipovým pamětem. Nakonec řadič DDR3 přistupuje k externí paměti DDR3 přes rozhraní Avalon Conduit.
Rozhraní Avalon v systémovém designu s řadičem Scatter Gather DMA a procesorem Nios II
Deska s plošnými spoji
Flash SSRAM
DDR3
Cn
Cn
Cn
Intel FPGA
M Avalon-MM Host Cn Avalon Conduit S Avalon-MM AgentTCM Avalon-TC Host Src Avalon-ST Zdroj TCS Avalon-TC Agent Snk Avalon-ST Sink CSrc Zdroj hodin Avalon
CSnk Avalon Clock Sink
Cn Tristate Conduit
Most TCS
TCM Tristate Conduit
Pin Sharer TCS TCS
IRQ4 IRQ3 Nios II
C1
M
IRQ1 C1
UART S
Časovač IRQ2
C1
S
TCM
TCM
Tristate Cntrl SSRAM
Tristate Control Flash
C1
S
C1
S
C2
Cn DDR3 řadič
S
Avalon-MM
S
Potrubí
Cn Src Avalon-ST
Ethernetový ovladač
Snk
FIFO Buffer Avalon-ST
Avalon-ST
C2
Vyrovnávací paměť FIFO
SM Scatter GatheIrRQ4
DMA Snk
S C2
Avalon-ST
Src
M IRQ3
C2
Scatter Gather DMA
CSrc
CSnkPLL C1
Ref Clk
CSrc
C2
Na následujícím obrázku přistupuje externí procesor k řídicím a stavovým registrům součástí na čipu přes externí můstek sběrnice s rozhraním Avalon-MM. PCI Express Root Port řídí zařízení na desce s plošnými spoji a další součásti FPGA řízením koncového bodu PCI Express na čipu s hostitelským rozhraním AvalonMM. Externí procesor zpracovává přerušení od pěti komponent. PLL přijímá referenční hodiny přes rozhraní Avalon Clock a poskytuje dvě hodiny
Specifikace rozhraní Avalon® 6
Odeslat zpětnou vazbu
1. Úvod do specifikací rozhraní Avalon® 683091 | 2022.01.24
Obrázek 2.
zdroje. Flash a SRAM paměti sdílejí piny FPGA přes rozhraní Avalon-TC. Nakonec řadič SDRAM přistupuje k externí paměti SDRAM přes rozhraní Avalon Conduit.
Rozhraní Avalon v designu systému s koncovým bodem PCI Express a externím procesorem
Deska s plošnými spoji
Kořenový port PCI Express
Externí CPU
Intel FPGA
IRQ1
Ethernet MAC
C1
M
C1
Vlastní logika IRQ2
M
Avalon-MM
Koncový bod PCI Express
IRQ3 IRQ5 IRQ4 IRQ3
IRQ2 IRQ1
C1
M
C1
Externí sběrnicový protokolový most
M
S
Tristate Cntrl SSRAM TCS
Tristate Cntrl Flash TCS
S
Ovladač SDRAM
C1
Cn
S
IRQ4
IRQ5
S
S
UART C2
Vlastní logika C2
TCM TCM Tristate Conduit
Pin Sharer TCS
TCM Tristate Conduit
Most Cn
Ref Clk
CSrc CSnk PLL C1
CSrc C2
Cn
Cn
SSRAM
Blikat
Cn SDRAM
Odeslat zpětnou vazbu
Specifikace rozhraní Avalon® 7
683091 | 2022.01.24 Odeslat zpětnou vazbu
2. Rozhraní Avalon Clock a Reset
Obrázek 3.
Rozhraní Avalon Clock definují hodiny nebo hodiny používané komponentou. Komponenty mohou mít hodinové vstupy, hodinové výstupy nebo obojí. Smyčka fázového závěsu (PLL) je example komponenty, která má jak hodinový vstup, tak výstup hodin.
Následující obrázek je zjednodušeným znázorněním nejdůležitějších vstupů a výstupů komponenty PLL.
PLL Core Clock Výstupy a vstupy
Jádro PLL
altpll Intel FPGA IP
resetovat
Resetovat
Hodiny
Dřez
Zdroj
Výstupní rozhraní hodin1
Zdroj hodin
Výstupní rozhraní hodin2
ref_clk
Hodiny
Hodiny
Dřez
Zdroj
Výstupní rozhraní hodin_n
2.1. Role signálu Avalon Clock Sink
Jímka hodin poskytuje časovou referenci pro další rozhraní a vnitřní logiku.
Tabulka 1.
Role signálu umyvadla hodin
Role signálu clk
Šířka 1
Zadání směru
Požadováno Ano
Popis
Hodinový signál. Poskytuje synchronizaci pro vnitřní logiku a pro další rozhraní.
Intel Corporation. Všechna práva vyhrazena. Intel, logo Intel a další značky Intel jsou ochranné známky společnosti Intel Corporation nebo jejích dceřiných společností. Společnost Intel zaručuje výkon svých FPGA a polovodičových produktů podle aktuálních specifikací v souladu se standardní zárukou společnosti Intel, ale vyhrazuje si právo provádět změny jakýchkoli produktů a služeb kdykoli bez upozornění. Společnost Intel nepřebírá žádnou odpovědnost nebo závazky vyplývající z aplikace nebo použití jakýchkoli informací, produktů nebo služeb popsaných v tomto dokumentu, pokud to není výslovně písemně odsouhlaseno společností Intel. Zákazníkům společnosti Intel se doporučuje získat nejnovější verzi specifikací zařízení dříve, než se budou spoléhat na jakékoli zveřejněné informace a než zadají objednávky na produkty nebo služby. *Jiná jména a značky mohou být nárokovány jako vlastnictví jiných.
ISO 9001: 2015 Registrováno
2. Rozhraní Avalon Clock and Reset 683091 | 2022.01.24
2.2. Vlastnosti umyvadla hodin
Tabulka 2.
Vlastnosti umyvadla hodin
Název clockRate
Výchozí hodnota 0
Právní hodnoty 0
Popis
Označuje frekvenci v Hz rozhraní hodinové jímky. Pokud je 0, takt umožňuje libovolnou frekvenci. Pokud není nula, Platform Designer vydá varování, pokud připojený zdroj hodin nemá zadanou frekvenci.
2.3. Přidružená rozhraní hodin
Všechna synchronní rozhraní mají vlastnost relatedClock, která určuje, který zdroj hodin na komponentě se použije jako synchronizační reference pro rozhraní. Tato vlastnost je znázorněna na následujícím obrázku.
Obrázek 4. Vlastnost souvisejících hodin
rx_clk Hodiny
Dřez
Dvojité hodiny FIFO
Hodiny tx_clk
Dřez
rx_data ST relatedClock = „rx_clk“
Dřez
relatedClock = „tx_clk“ ST tx_data
Zdroj
2.4. Role zdrojového signálu hodin Avalon
Zdrojové rozhraní Avalon Clock vyhání hodinový signál z komponenty.
Tabulka 3.
Role zdrojového signálu hodin
Role signálu
Šířka
Směr
clk
1
Výstup
Požadováno Ano
Popis Výstupní hodinový signál.
2.5. Vlastnosti zdroje hodin
Tabulka 4.
Vlastnosti zdroje hodin
Název přidruženéDirectClock
Výchozí hodnota
N/A
clockRate
0
clockRateKnown
falešný
Právní hodnoty
Popis
vstup Název hodinového vstupu, který přímo řídí tento hodinový výstup názvu hodin, pokud existuje.
0
Udává frekvenci v Hz, při které je buzen výstup hodin.
pravda, nepravda
Označuje, zda je známa hodinová frekvence. Pokud je frekvence hodin známa, můžete upravit další součásti v systému.
Odeslat zpětnou vazbu
Specifikace rozhraní Avalon® 9
2. Rozhraní Avalon Clock and Reset 683091 | 2022.01.24
2.6. Resetujte umyvadlo
Tabulka 5.
Resetovat role vstupního signálu
Signál reset_req je volitelný signál, který můžete použít k zabránění poškození obsahu paměti provedením resetování handshake před asynchronním resetem.
Role signálu
Šířka
Směr
Požadovaný
Popis
reset, reset_n
1
Vstup
Ano
Resetuje vnitřní logiku rozhraní nebo komponenty
do uživatelem definovaného stavu. Synchronní vlastnosti
reset jsou definovány synchronousEdges
parametr.
reset_req
1
vstup
Žádný
Včasná indikace resetovacího signálu. Tento signál funguje jako a
alespoň jednocyklové varování o čekajícím resetu pro ROM
primitivů. Pomocí reset_req deaktivujte aktivaci hodin
nebo maskujte adresovou sběrnici paměti na čipu, do
zabránit přechodu adresy, když an
je uplatněn vstup asynchronního resetu.
2.7. Resetujte vlastnosti rozhraní dřezu
Tabulka 6.
Resetovat role vstupního signálu
Název přidružené hodiny
Výchozí hodnota
N/A
synchronní-hrany
DEASSERT
Právní hodnoty
Popis
název hodin
Název hodin, se kterými je toto rozhraní synchronizováno. Povinné, pokud je hodnota synchronousEdges DEASSERT nebo BOTH.
ŽÁDNÝ DEASSERT
OBĚ
Označuje typ synchronizace, který resetovací vstup vyžaduje. Jsou definovány následující hodnoty:
· NONEnevyžaduje se žádná synchronizace, protože součást obsahuje logiku pro vnitřní synchronizaci signálu reset.
· DEASSERTresetování je asynchronní a zrušení je synchronní.
OBA tvrzení o resetování a zrušení tvrzení jsou synchronní.
2.8. Přidružená resetovací rozhraní
Všechna synchronní rozhraní mají vlastnost relatedReset, která určuje, který signál resetování resetuje logiku rozhraní.
2.9. Resetovat zdroj
Tabulka 7.
Resetovat role výstupního signálu
Signál reset_req je volitelný signál, který můžete použít k zabránění poškození obsahu paměti provedením resetování handshake před asynchronním resetem.
Role signálu
Šířka
Směr
Požadovaný
Popis
reset reset_n
1
Výstup
Ano
Resetuje vnitřní logiku rozhraní nebo komponenty
do uživatelem definovaného stavu.
reset_req
1
Výstup
Volitelné Umožňuje generování požadavku na reset, což je brzy
signál, který je aktivován před resetováním. Jednou
tvrzeno, toto nelze zrušit, dokud nedojde k resetování
dokončeno.
Specifikace rozhraní Avalon® 10
Odeslat zpětnou vazbu
2. Rozhraní Avalon Clock and Reset 683091 | 2022.01.24
2.10. Obnovit vlastnosti rozhraní zdroje
Tabulka 8.
Obnovit vlastnosti rozhraní
Jméno
Výchozí hodnota
Právní hodnoty
Popis
přidružené hodiny
N/A
hodiny
Název hodin, na které se toto rozhraní vztahuje
jméno
synchronizované. Požadováno, pokud hodnota
synchronousEdges je DEASSERT nebo OBOU.
související DirectReset
N/A
reset
Název resetovacího vstupu, který to přímo řídí
jméno
resetujte zdroj prostřednictvím individuálního odkazu.
související ResetSinks
N/A
reset
Určuje resetovací vstupy, které způsobí reset zdroje
jméno
potvrdit reset. Napřample, reset synchronizátor, který
provede operaci OR s několika resetovacími vstupy na
vygenerovat resetovací výstup.
synchronníEdges
DEASSERT
ŽÁDNÝ DEASSERT
OBĚ
Označuje synchronizaci resetovaného výstupu. Jsou definovány následující hodnoty:
· NONERozhraní resetování je asynchronní.
· DEASSERTresetování je asynchronní a zrušení je synchronní.
· OBOU tvrzení o resetování a zrušení tvrzení jsou synchronní.
Odeslat zpětnou vazbu
Specifikace rozhraní Avalon® 11
683091 | 2022.01.24 Odeslat zpětnou vazbu
3. Avalon Memory-Mapped Interfaces
3.1. Úvod do Avalon Memory-Mapped Interfaces
Rozhraní Avalon Memory-Mapped (Avalon-MM) můžete použít k implementaci rozhraní pro čtení a zápis pro komponenty Host a Agent. Následují exampsoubory komponent, které obvykle obsahují rozhraní mapovaná v paměti: · Mikroprocesory · Paměti · UART · DMA · Časovače Rozhraní Avalon-MM se pohybují od jednoduchých po komplexní. NapřampRozhraní SRAM, která mají přenosy čtení a zápisu s pevným cyklem, mají jednoduchá rozhraní Avalon-MM. Zřetězená rozhraní schopná shlukových přenosů jsou složitá.
Intel Corporation. Všechna práva vyhrazena. Intel, logo Intel a další značky Intel jsou ochranné známky společnosti Intel Corporation nebo jejích dceřiných společností. Společnost Intel zaručuje výkon svých FPGA a polovodičových produktů podle aktuálních specifikací v souladu se standardní zárukou společnosti Intel, ale vyhrazuje si právo provádět změny jakýchkoli produktů a služeb kdykoli bez upozornění. Společnost Intel nepřebírá žádnou odpovědnost nebo závazky vyplývající z aplikace nebo použití jakýchkoli informací, produktů nebo služeb popsaných v tomto dokumentu, pokud to není výslovně písemně odsouhlaseno společností Intel. Zákazníkům společnosti Intel se doporučuje získat nejnovější verzi specifikací zařízení dříve, než se budou spoléhat na jakékoli zveřejněné informace a než zadají objednávky na produkty nebo služby. *Jiná jména a značky mohou být nárokovány jako vlastnictví jiných.
ISO 9001: 2015 Registrováno
3. Avalon Memory-Mapped Interfaces 683091 | 2022.01.24
Obrázek 5.
Zaměřte se na převody agentů Avalon-MM
Následující obrázek ukazuje typický systém se zvýrazněním připojení rozhraní agenta Avalon-MM k propojovací struktuře.
Ethernetový PHY
systém valon-MM
Procesor Avalon-MM
Hostitel
Ethernet MAC
Hostitel Avalon-MM
Vlastní logika
Hostitel Avalon-MM
Propojit
Avalon-MM agent
Flash Controller
Avalon-MM agent
Ovladač SRAM
Avalon-MM agent
Řadič RAM
Avalon-MM agent
UART
AvAavloanlon- MM SlaAvgeePnotrt
Lor Custom
Logika
Tristate Conduit Agent
Tristate Conduit Pin Sharer a Tristate Conduit Bridge
Tristate Conduit Host
Tristate Conduit Agent
Flash paměť
Tristate Conduit Agent
Paměť SRAM
Paměť RAM
RS-232
Komponenty Avalon-MM obvykle obsahují pouze signály požadované pro logiku komponent.
Odeslat zpětnou vazbu
Specifikace rozhraní Avalon® 13
3. Avalon Memory-Mapped Interfaces 683091 | 2022.01.24
Obrázek 6.
Example Agent Component
16bitové univerzální I/O periferie zobrazené na následujícím obrázku odpovídá pouze na požadavky zápisu. Tato součást obsahuje pouze signály agenta potřebné pro přenosy zápisu.
Periferní zápis dat Avalon-MM[15..0] D
Aplikace-
Q
pio_out[15..0] Specifické
Rozhraní
Rozhraní Avalon-MM
(Rozhraní agenta pro zápis Avalon-MM)
clk
CLK_EN
Každý signál v agentovi Avalon-MM odpovídá přesně jedné roli signálu Avalon-MM. Rozhraní Avalon-MM může používat pouze jednu instanci každé role signálu.
3.2. Role signálu mapovaného rozhraní Avalon Memory
Role signálu definují typy signálů, které porty hostitele a agenta mapované v paměti Avalon umožňují.
Tato specifikace nevyžaduje existenci všech signálů v paměťově mapovaném rozhraní Avalon. Neexistuje žádný signál, který by byl vždy vyžadován. Minimální požadavky na Avalon paměťově mapované rozhraní jsou data pro čtení pro rozhraní pouze pro čtení nebo pro zápis dat a zápis pro rozhraní pouze pro zápis.
V následující tabulce jsou uvedeny role signálů pro paměťově mapované rozhraní Avalon:
Tabulka 9.
Avalon Memory Maped Signal Role
Některé signály mapované do paměti Avalonu mohou být aktivní vysoké nebo aktivní nízké. Když je aktivní low, název signálu končí _n.
Role signálu
Šířka
Směr
Požadovaný
Popis
adresa
1 – 64 Hostitelský agent
byteenable byteenable_n
2, 4, 8, 16,
32, 64, 128
Hostitelský agent
Základní signály
Žádný
Hostitelé: Ve výchozím nastavení představuje signál adresy bajt
adresa. Hodnota adresy musí odpovídat šířce dat.
Pro zápis do konkrétních bajtů v datovém slově musí hostitel použít
byteable signál. Viz rozhraní addressUnits
vlastnost pro adresování slov.
Agenti: Standardně propojení překládá bajtovou adresu na slovní adresu v adresovém prostoru agenta. Z pohledu agenta je každý přístup agenta na slovo dat.
Napřample, adresa = 0 vybere první slovo agenta. adresa = 1 vybere druhé slovo agenta. Adresování bajtů naleznete ve vlastnosti rozhraní addressUnits.
Žádný
Povolí jeden nebo více specifických bajtových pruhů během přenosu
rozhraní o šířce větší než 8 bitů. Každý bit v byteable
odpovídá bajtu v datech pro zápis a čtení. hostitel
bit z byteable označuje, zda byte je bytí
pokračování…
Specifikace rozhraní Avalon® 14
Odeslat zpětnou vazbu
3. Avalon Memory-Mapped Interfaces 683091 | 2022.01.24
Role signálu
debugaccess čtení read_n readdata odpověď [1:0] zápis write_n writedata
Šířka
Směr Povinný
Popis
napsáno na. Během zápisů bajty určují, do kterých bajtů se zapisuje. Ostatní bajty by měl agent ignorovat. Během čtení bajty označují, které bajty hostitel čte. Agenti, kteří jednoduše vracejí readdata bez vedlejších účinků, mohou během čtení ignorovat byteenables. Pokud rozhraní nemá signál byteable, přenos pokračuje, jako by byly uplatněny všechny byteenables.
Když je uplatněn více než jeden bit byteneable signálu, všechny uplatněné pruhy sousedí.
1
Hostitelský agent
Žádný
Při uplatnění umožňuje procesoru Nios II zapisovat na čip
paměti nakonfigurované jako ROM.
1
Hostitelský agent
Žádný
Potvrzeno k označení přenosu čtení. Jsou-li k dispozici, jsou readdata
požadovaný.
8, 16, Agent Host
Žádný
Čtená data řízená od agenta k hostiteli v reakci na
32,
čtený převod. Vyžadováno pro rozhraní, která podporují čtení.
64,
128,
256,
512,
1024
2
Agent Host
Žádný
Signál odezvy je volitelný signál, který přenáší
stav odpovědi.
Poznámka: Protože je signál sdílen, rozhraní nemůže vydávat nebo přijímat odezvu zápisu a odezvu čtení ve stejném hodinovém cyklu.
· 00: OKAY – Úspěšná odpověď na transakci.
· 01: RESERVED – Kódování je vyhrazeno.
· 10: SLVERR – Chyba od agenta koncového bodu. Označuje neúspěšnou transakci.
· 11: DECODEERROR – Indikuje pokus o přístup do nedefinovaného umístění.
Pro přečtení odpovědí:
· S každým čtením dat je odeslána jedna odpověď. Délka shluku čtení N má za následek N odpovědí. Méně odpovědí není platných ani v případě chyby. Hodnota signálu odezvy může být odlišná pro každé přečtená data ve shluku.
· Rozhraní musí mít čtecí řídicí signály. Podpora potrubí je možná se signálem readdatavalid.
· Při chybách čtení je odpovídající načtená data „to je jedno“.
Chcete-li napsat odpovědi:
· Pro každý příkaz k zápisu musí být odeslána jedna odpověď na zápis. Shluk zápisu má za následek pouze jednu odpověď, která musí být odeslána poté, co je přijat poslední přenos zápisu ve shluku.
· Pokud je přítomen Writeresponsevalid, všechny příkazy zápisu musí být dokončeny odpověďmi zápisu.
1
Hostitelský agent
Žádný
Potvrzeno k označení přenosu zápisu. Pokud je přítomen, zápis dat je
požadovaný.
8, 16, 32, 64, 128, 256, 512, 1024
Hostitelský agent
Žádný
Data pro přenosy zápisu. Šířka musí být stejná jako
šířka čtených dat, pokud jsou k dispozici obě. Vyžadováno pro rozhraní
ta podpora píše.
Signály stavu čekání
pokračování…
Odeslat zpětnou vazbu
Specifikace rozhraní Avalon® 15
3. Avalon Memory-Mapped Interfaces 683091 | 2022.01.24
Zámek role signálu
waitrequest waitrequest_ n
readdatavali d readdatavali d_n
spisovatele odpovědi evalid
Šířka 1
1
1
Směr Povinný
Popis
Hostitelský agent
Žádný
lock zajišťuje, že jakmile hostitel vyhraje arbitráž, vítězný hostitel
udržuje přístup k agentovi pro více transakcí. Zámek
tvrdí, že se shoduje s prvním čtením nebo zápisem uzamčeného
sled transakcí. Zamkněte deassers na finále
transakce uzamčené sekvence transakcí. zamknout tvrzení
nezaručuje, že arbitráž vyhraje. Po zámku-
tvrzení hostitele bylo uděleno, tento hostitel si ponechá udělení do
zámek je deaktivován.
Hostitel vybavený zámkem nemůže být burst hostitelem. Hodnoty priority arbitráže pro hostitele vybavené zámkem jsou ignorovány.
lock je zvláště užitečný pro operace čtení-upravování-zápisu (RMW). Typická operace čtení-úpravy-zápisu zahrnuje následující kroky:
1. Hostitel A potvrdí zámek a čte 32bitová data, která mají více bitových polí.
2. Hostitel A zruší zámek, změní jedno bitové pole a zapíše 32bitová data zpět.
lock zabraňuje hostiteli B provádět zápis mezi čtením a zápisem hostitele A.
Agent Host
Žádný
Agent uplatní požadavek čekání, když nemůže odpovědět na a
žádost o čtení nebo zápis. Přinutí hostitele čekat, dokud nebude
interconnect je připraven pokračovat v přenosu. Na začátku
všechny přenosy, hostitel zahájí přenos a čeká, dokud
požadavek čekatel je zrušen. Hostitel nesmí dělat žádné předpoklady
o stavu tvrzení požadavku waitrequest, když je hostitel nečinný:
Čekací požadavek může být vysoký nebo nízký v závislosti na systému
vlastnosti.
Když je požadavek waitrequest uplatněn, řídicí signály hostitele pro agenta musí zůstat konstantní s výjimkou beginbursttransfer. Časový diagram znázorňující signál beginbursttransfer naleznete na obrázku v části Read Bursts.
Paměťově mapovaný agent Avalon může během cyklů nečinnosti uplatnit požadavek čekání. Paměťově mapovaný hostitel Avalon může zahájit transakci, když je uplatněn požadavek čekání, a čekat na zrušení tohoto signálu. Aby se předešlo zablokování systému, zařízení agenta by mělo při resetování uplatnit požadavek čekání.
Signály potrubí
Agent Host
Žádný
Používá se pro zřetězené přenosy čtení s proměnnou latencí. Když
potvrzeno, indikuje, že signál čtení dat obsahuje platná data.
Pro shluk čtení s hodnotou burstcount ,
musí být potvrzen signál readdatavalid krát, jednou pro
každou položku přečtených dat. Musí existovat alespoň jeden cyklus latence
mezi přijetím přečtení a tvrzením
readdatavalid. Časový diagram znázorňující signál readdatavalid viz Zřetězený přenos čtení s proměnnou latencí.
Agent může potvrdit readdatavalid pro přenos dat k hostiteli nezávisle na tom, zda agent zastavuje nový příkaz s waitrequest.
Povinné, pokud hostitel podporuje zřetězené čtení. Burstující hostitelé s funkcí čtení musí obsahovat signál readdatavalid.
Agent Host
Žádný
Volitelný signál. Pokud existuje, rozhraní problémy se zápisem
odpovědi na příkazy zápisu.
Když je potvrzena, hodnota na signálu odpovědi je platnou odpovědí na zápis.
Writeresponsevalid je potvrzeno pouze jeden hodinový cyklus nebo více po přijetí příkazu write. Mezi přijetím příkazu a jeho potvrzením existuje alespoň jeden hodinový cyklus
spisovatelesponsevalid.
pokračování…
Specifikace rozhraní Avalon® 16
Odeslat zpětnou vazbu
3. Avalon Memory-Mapped Interfaces 683091 | 2022.01.24
Role signálu
Šířka
Směr Povinný
Popis
Příkaz zápisu se považuje za přijatý, když je agentovi vydán poslední čas shluku a požadavek čekání je nízký. Writeresponsevalid lze uplatnit jeden nebo více hodinových cyklů po vydání poslední doby shluku.
burstcount
1 11 Hostitelský agent
Burst signály
Žádný
Používá se burstovými hostiteli k označení počtu přenosů
každý výbuch. Hodnota parametru maximálního burstcount
musí být mocnina 2. Rozhraní burstcount o šířce dokáže zakódovat maximální dávku velikosti 2( -1). Napřample, 4-bit
signál burstcount může podporovat maximální počet burst 8.
Minimální počet burstcount je 1. The
Vlastnost konstantníBurstBehavior řídí načasování
signál burstcount. Musí být prasknutí hostitelé s funkcí čtení
zahrnout signál readdatavalid.
Pro shlukové hostitele a agenty používající bajtové adresy se na šířku adresy vztahuje následující omezení:
>= +
log2( )
Pro shlukové hostitele a agenty používající adresy slov je výše uvedený výraz log2 vynechán.
beginbursttr
1
Propojit
odpovědět
Činidlo
Žádný
Uplatňuje se pro první cyklus burst pro označení, kdy prasklo
přenos začíná. Tento signál je deaktivován po jednom cyklu
bez ohledu na hodnotu čekatelského požadavku. Pro časový diagram
znázorňující beginbursttransfer, viz obrázek v Read
Výbuchy.
beginbursttransfer je volitelný. Agent může vždy interně vypočítat začátek další transakce shluku zápisu počítáním datových přenosů.
Upozornění: tento signál nepoužívejte. Tento signál existuje pro podporu starších paměťových řadičů.
3.3. Vlastnosti rozhraní
Tabulka 10. Vlastnosti rozhraní Avalon-MM
Název adresaJednotky
Výchozí hodnota
Hostitelské symboly Agent –
slova
Právní hodnoty
slova, symboly
Popis
Určuje jednotku pro adresy. Symbol je obvykle bajt. Typické použití této vlastnosti naleznete v definici adresy v tabulce Typy signálů rozhraní Avalon Memory-Mapped Interface.
alwaysBurstMaxBurst burstcountUnits
falešná slova
pravda, nepravda
slova, symboly
Hodnota true znamená, že hostitel vždy vydává shluk maximální délky. Maximální délka burstu je 2burstcount_width – 1. Tento parametr nemá žádný vliv na rozhraní agentů Avalon-MM.
Tato vlastnost určuje jednotky pro signál burstcount. U symbolů je hodnota burstcount interpretována jako počet symbolů (bajtů) v burst. U slov je hodnota burstcount interpretována jako počet přenosů slov ve shluku.
burstOnBurstBoundariesOnly
falešný
pravda, nepravda
Pokud je true, shlukové přenosy prezentované tomuto rozhraní začínají na adresách, které jsou násobky maximální velikosti shluku.
pokračování…
Odeslat zpětnou vazbu
Specifikace rozhraní Avalon® 17
3. Avalon Memory-Mapped Interfaces 683091 | 2022.01.24
Název konstantníBurstBehavior
holdTime(1) linewrapBursts
maximumPendingReadTransacti ons (1)
maximumPendingWriteTransact ions minimumResponseLatency
Výchozí hodnota Host -false Agent -false
0 nepravda
1(2)
0
Právní hodnoty pravdivé, nepravdivé
0 1000 cyklů
pravda, nepravda
1 64
1 64
Popis
Hostitelé: Pokud je true, deklaruje, že hostitel drží adresu a počet burstcount konstantní během celé transakce burst. Když je false (výchozí), deklaruje, že hostitel udržuje konstantní adresu a počet burst pouze po první dobu shluku. Agenti: Když je pravda, deklaruje, že agent očekává, že adresa a počet shluků budou během shluku konstantní. Když je false (výchozí), deklaruje, že agent sampadresy a burstcount pouze v první době shluku.
Určuje čas v timingUnits mezi zrušením zápisu a zrušením adresy a dat. (Platí pouze pro transakce zápisu.)
Některá paměťová zařízení implementují obalovací shluk namísto narůstajícího shluku. Když shluk obalu dosáhne hranice shluku, adresa se zalomí zpět na předchozí hranici shluku. Pro počítání adres jsou vyžadovány pouze bity nižšího řádu. Napřample, zabalovací shluk na adresu 0xC s hranicemi shluku každých 32 bajtů přes 32bitové rozhraní zapisuje na následující adresy: · 0xC · 0x10 · 0x14 · 0x18 · 0x1C · 0x0 · 0x4 · 0x8
Agenti: Tento parametr představuje maximální počet čekajících čtení, které může agent zařadit do fronty. Hodnota musí být nenulová pro každého agenta se signálem readdatavalid.
Časový diagram, který tuto vlastnost ilustruje, a další informace o použití waitrequest a readdatavalid s více nevyřízenými čteními najdete v tématu Pipelined Read Transfer s proměnnou latencí.
Hosts: Tato vlastnost představuje maximální počet nevyřízených transakcí čtení, které může hostitel vygenerovat.
Poznámka: Nenastavujte tento parametr na 0. (Pro zpětnou kompatibilitu software podporuje nastavení parametru na 0. Toto nastavení byste však neměli používat v nových návrzích).
Maximální počet nevyřízených nezaslaných zápisů, které může agent přijmout nebo hostitel může vydat. Jakmile propojení dosáhne tohoto limitu, agent potvrdí požadavek waitrequest a hostitel přestane vydávat příkazy. Výchozí hodnota je 0, což umožňuje neomezený počet nevyřízených transakcí zápisu pro hostitele, který podporuje odpovědi na zápis. Agent, který podporuje odpovědi na zápis, musí tuto hodnotu nastavit na nenulovou hodnotu.
Pro rozhraní, která podporují readdatavalid nebo writeesponsevalid, určuje minimální počet cyklů mezi příkazem čtení nebo zápisu a odpovědí na příkaz.
pokračování…
Specifikace rozhraní Avalon® 18
Odeslat zpětnou vazbu
3. Avalon Memory-Mapped Interfaces 683091 | 2022.01.24
Jméno readLatency(1) readWaitTime(1) setupTime(1) timingUnits(1) waitrequestAllowance
writeWaitTime(1)
přidružené hodiny
Výchozí hodnota
Právní hodnoty
Popis
0
0 63
Latence čtení pro agenty Avalon-MM s pevnou latencí. Pro a
časový diagram, který používá čtení s pevnou latencí, viz
Zřetězené přenosy čtení s pevnou latencí.
Agenti Avalon-MM, kteří mají pevnou latenci, musí poskytnout hodnotu pro tuto vlastnost rozhraní. agenti Avalon-MM
které mají proměnnou latenci, použijte k určení platných dat signál readdatavalid.
1
0 1000 Pro rozhraní, která nepoužívají waitrequest
cykly
signál. readWaitTime udává načasování
timingUnits předtím, než agenti přijmou čtení
příkaz. Načasování je, jako kdyby agent tvrdil
waitrequest pro cykly readWaitTime.
0
0 1000 Určuje čas v jednotkách časování mezi tvrzením
cykly
adresy a dat a tvrzení o čtení nebo zápisu.
cykly
cykly,
nanosekunda s
Určuje jednotky pro setupTime, holdTime,
writeWaitTime a readWaitTime. Používejte cykly pro synchronní zařízení a nanosekundy pro asynchronní zařízení. Téměř všechna zařízení agentů Avalon-MM jsou synchronní.
Komponenta Avalon-MM, která přemosťuje z rozhraní agenta AvalonMM na zařízení mimo čip, může být asynchronní. Toto mimočipové zařízení může mít pevnou dobu ustálení pro obrat autobusu.
0
Určuje počet převodů, které lze vystavit resp
přijato po uplatnění požadavku čekatelů.
Když je waitrequestAllowance 0, napište,
signály read a waitrequest si zachovávají své stávající chování, jak je popsáno v tabulce Avalon-MM Signal Roles.
Když je waitrequestAllowance větší než 0, každý hodinový cyklus, ve kterém je požadován zápis nebo čtení, se počítá jako přenos příkazu. Jakmile je požadavek waitrequest uplatněn, pouze waitrequestAllowance další přenosy příkazů jsou legální, zatímco waitrequest zůstává uplatněn. Po dosažení waitrequestAllowance musí zápis a čtení zůstat nepotvrzené tak dlouho, dokud je požadavek waitrequest uplatňován.
Jakmile požadavek waitrequest potvrdí, převody mohou kdykoli pokračovat bez omezení, dokud se požadavek waitrequest znovu neuplatní. V tuto chvíli může být dokončeno více převodů waitrequestAllowance, zatímco waitrequest zůstává uplatněn.
0
0 1000 Pro rozhraní, která nepoužívají waitrequest
Cykly
signál, writeWaitTime určuje časování v
timingUnits předtím, než agent přijme zápis. The
časování je, jako kdyby agent uplatňoval požadavek čekání na cykly writeWaitTime nebo nanosekundy.
Časový diagram, který ilustruje použití writeWaitTime, viz Převody čtení a zápisu s pevnými stavy čekání.
Vlastnosti vztahu rozhraní
N/A
N/A
Název rozhraní hodin, ke kterému tento Avalon-MM
rozhraní je synchronní.
pokračování…
Odeslat zpětnou vazbu
Specifikace rozhraní Avalon® 19
3. Avalon Memory-Mapped Interfaces 683091 | 2022.01.24
Jméno
Výchozí hodnota
Právní hodnoty
Popis
souvisejícíReset
N/A
N/A
Název resetovacího rozhraní, které resetuje logiku
toto rozhraní Avalon-MM.
mostyToHost
0
Avalon-MM Most Avalon-MM se skládá z agenta a hostitele,
Název hostitele a má vlastnost, že má přístup k agentovi
na
požadavek na bajt nebo bajty způsobí stejný bajt nebo
stejný
bajtů, které má hostitel požadovat. Avalon-MM
komponent Pipeline Bridge v komponentě Platform Designer
knihovna tuto funkcionalitu implementuje.
Poznámky:
1. Ačkoli tato vlastnost charakterizuje zařízení agenta, hostitelé mohou tuto vlastnost deklarovat, aby umožnila přímé spojení mezi odpovídajícími rozhraními hostitele a agenta.
2. Pokud rozhraní agenta přijímá více přenosů čtení, než je povoleno, může dojít k přetečení propojení čekajícího na čtení FIFO s nepředvídatelnými výsledky. Agent může ztratit čtená data nebo nasměrovat čtená data do nesprávného hostitelského rozhraní. Nebo se systém může zablokovat. Rozhraní agenta musí potvrdit požadavek čekání, aby se zabránilo tomuto přetečení.
Související informace · Role signálu mapovaného rozhraním paměti Avalon na straně 14 · Odezvy čtení a zápisu na straně 34 · Zřetězený přenos čtení s proměnnou latencí na straně 28 · Zřetězené přenosy čtení s pevnou latencí na straně 29 · Odezvy čtení a zápisu
V Uživatelské příručce Platform Designer: Intel Quartus® Prime Pro Edition
3.4. Načasování
Rozhraní Avalon-MM je synchronní. Každé rozhraní Avalon-MM je synchronizováno s přidruženým rozhraním hodin. Signály mohou být kombinační, pokud jsou buzeny z výstupů registrů, které jsou synchronní s hodinovým signálem. Tato specifikace neurčuje, jak a kdy signály přecházejí mezi hranami hodin. Časové diagramy postrádají jemnozrnné informace o časování.
3.5. Převody
Tato část definuje dva základní pojmy před představením typů převodů:
· Přenos – Přenos je operace čtení nebo zápisu slova nebo jednoho či více symbolů dat. Mezi rozhraním Avalon-MM a propojením dochází k přenosům. Dokončení přenosu trvá jeden nebo více hodinových cyklů.
Součástí převodu jsou hostitelé i agenti. Hostitel Avalon-MM zahájí přenos a agent Avalon-MM odpoví.
· Pár hostitel-agent – Tento termín se týká rozhraní hostitele a rozhraní agenta, které se účastní přenosu. Během přenosu procházejí řídicí a datové signály hostitelského rozhraní přes propojovací strukturu a interagují s rozhraním agenta.
Specifikace rozhraní Avalon® 20
Odeslat zpětnou vazbu
3. Avalon Memory-Mapped Interfaces 683091 | 2022.01.24
3.5.1. Typické převody čtení a zápisu
Tato část popisuje typické rozhraní Avalon-MM, které podporuje přenosy čtení a zápisu s agentem řízeným waitrequest. Agent může zastavit propojení na tolik cyklů, kolik je potřeba, aktivací signálu waitrequest. Pokud agent používá waitrequest pro přenosy čtení nebo zápisu, musí agent použít waitrequest pro oba.
Agent obvykle přijímá data adresy, byteable, čtení nebo zápisu a zápisu po vzestupné hraně hodin. Agent uplatní waitrequest před vzestupnou hranou hodin, aby odložil přenosy. Když agent potvrdí požadavek čekání, přenos se zdrží. Zatímco je požadavek waitrequest uplatněn, adresa a další řídicí signály jsou udržovány konstantní. Přenosy jsou dokončeny na vzestupné hraně prvního clk poté, co rozhraní agenta zruší požadavek čekání.
Neexistuje žádné omezení, jak dlouho se může rozhraní agenta zastavit. Proto musíte zajistit, aby rozhraní agenta nevyžadovalo waitrequest neomezeně dlouho. Následující obrázek ukazuje přenosy čtení a zápisu pomocí waitrequest.
Poznámka:
waitrequest lze oddělit od signálů požadavku čtení a zápisu. waitrequest může být uplatněn během cyklů nečinnosti. Hostitel Avalon-MM může zahájit transakci, když je uplatněn požadavek wait, a čekat na zrušení tohoto signálu. Oddělení waitrequest od požadavků na čtení a zápis může zlepšit načasování systému. Oddělení eliminuje kombinační smyčku zahrnující signály pro čtení, zápis a čekání. Pokud je vyžadováno ještě více oddělení, použijte vlastnost waitrequestAllowance. waitrequestAllowance je k dispozici počínaje vydáním Quartus® Prime Pro v17.1 Stratix® 10 ES Editions.
Obrázek 7.
Čtení a zápis převodů s Waitrequest
1
2
clk
3
4
5
adresa
adresa
byteenable
byteenable
čtení zápis waitrequest readdata
readdata
odpověď
odpověď
zapisovat data
6
7
zapisovat data
Odeslat zpětnou vazbu
Specifikace rozhraní Avalon® 21
3. Avalon Memory-Mapped Interfaces 683091 | 2022.01.24
Čísla v tomto časovém diagramu označují následující přechody: 1. address, byteenable a read jsou uplatňovány po vzestupné hraně clk. The
agent uplatňuje waitrequest a zpomaluje převod. 2. čekací požadavek je sampvedl. Protože je uplatněna žádost o čekání, cyklus se stává
čekací stav. adresa, čtení, zápis a byteable zůstávají konstantní. 3. Agent deasserts waitrequest po vzestupné hraně clk. Agent tvrdí
čtení dat a odpověď. 4. Hostitel samples readdata, response a deasserted waitrequest
dokončení převodu. 5. adresa, writedata, byteenable a zapisovací signály jsou uplatňovány po
stoupající hrana clk. Agent potvrdí požadavek waitrequest, který zastaví přenos. 6. Agent deasserts waitrequest po vzestupné hraně clk. 7. Agent zachytí data zápisu a ukončí přenos.
Specifikace rozhraní Avalon® 22
Odeslat zpětnou vazbu
3. Avalon Memory-Mapped Interfaces 683091 | 2022.01.24
3.5.2. Převody pomocí vlastnosti waitrequestAllowance
Vlastnost waitrequestAllowance udává počet přenosů, které může hostitel AvalonMM vydat nebo který musí agent Avalon-MM přijmout po potvrzení signálu waitrequest. waitrequestAllowance je k dispozici od verze softwaru Intel Quartus Prime 17.1.
Výchozí hodnota waitrequestAllowance je 0, což odpovídá chování popsanému v části Typické převody čtení a zápisu, kde výraz waitrequest zastaví vydání nebo přijetí aktuálního převodu.
Agent Avalon-MM s waitrequestAllowance větší než 0 by obvykle uplatnil waitrequest, když jeho vnitřní vyrovnávací paměť může přijmout pouze více položek waitrequestAllowance, než se zaplní. Hostitelé Avalon-MM s waitrequestAllowance větší než 0 mají waitrequestAllowance další cykly pro zastavení odesílání přenosů, což umožňuje více zřetězení v logice hostitele. Hostitel musí deaktivovat signál čtení nebo zápisu, když je utracena žádost o čekání.
Hodnoty waitrequestAllowance větší než 0 podporují vysokorychlostní návrh, kde okamžité formy zpětného tlaku mohou vést k poklesu maximální provozní frekvence (FMAX), často kvůli kombinatorické logice v řídicí cestě. Agent Avalon-MM musí podporovat všechna možná načasování převodů, která jsou legální pro jeho hodnotu waitrequestAllowance. Napřample, agent s waitrequestAllowance = 2 musí být schopen přijmout jakýkoli z průběhů přenosu hostitele zobrazený v následujícím příkladuamples.
Související informace Typické přenosy čtení a zápisu na straně 21
3.5.2.1. waitrequestAllowance se rovná dvěma
Následující časový diagram ilustruje načasování pro hostitele Avalon-MM, který má dva hodinové cykly pro zahájení a zastavení odesílání přenosů poté, co agent Avalon-MM zruší nebo potvrdí požadavek čekání.
Obrázek 8. Zápis hostitele: waitrequestAllowance se rovná dvěma cyklům hodin
1
3
5
6
hodiny
napsat
čekatelský požadavek
data[7:0]
A0 A1 A2
A3 A4
B0 B1
B3
Odeslat zpětnou vazbu
Specifikace rozhraní Avalon® 23
3. Avalon Memory-Mapped Interfaces 683091 | 2022.01.24
Značky na tomto obrázku označují následující události:
1. Hostitel Avalon-MM> zajišťuje zápis a data.
2. Agent Avalon-MM> potvrdí požadavek čekání. Protože waitrequestAllowance je 2, hostitel je schopen dokončit 2 další přenosy dat.
3. Hostitel zruší požadavek zápisu, protože agent uplatňuje požadavek čekání na třetí cyklus.
4. Hostitel Avalon-MM> zajišťuje zápis a data. Agent neuplatňuje požadavek čekání. Zápisy kompletní.
5. Hostitel Avalon řídí zápis a data, i když agent požaduje waitrequest. Protože waitrequestAllowance má 2 cykly, zápis se dokončí.
6. Hostitel Avalon zajišťuje zápis a data. Agent neuplatňuje požadavek čekání. Zápis je dokončen.
3.5.2.2. waitrequestAllowance se rovná jedné
Následující časový diagram ilustruje načasování pro hostitele Avalon-MM, který má jeden hodinový cyklus k zahájení a zastavení odesílání přenosů poté, co agent Avalon-MM zruší nebo potvrdí požadavek čekání:
Obrázek 9. Zápis hostitele: waitrequestAllowance se rovná jednomu hodinovému cyklu
1 clk
23
5
6
8
napsat
čekatelský požadavek
data[7:0]
A0 A1 A2
A3 A4
B0
B1 B2
B3
Čísla na tomto obrázku označují následující události:
1. Hostitel Avalon-MM zajišťuje zápis a data.
2. Agent Avalon-MM potvrdí požadavek čekání. Protože waitrequestAllowance je 1, hostitel může dokončit zápis.
3. Hostitel zruší požadavek zápisu, protože agent uplatňuje požadavek čekání na druhý cyklus.
4. Hostitel Avalon-MM zajišťuje zápis a data. Agent neuplatňuje požadavek čekání. Zápisy kompletní.
5. Agent potvrdí požadavek čekání. Protože waitrequestAllowance je 1 cyklus, zápis se dokončí.
Specifikace rozhraní Avalon® 24
Odeslat zpětnou vazbu
3. Avalon Memory-Mapped Interfaces 683091 | 2022.01.24
6. Zápis a data na hostitelské disky Avalon-MM. Agent neuplatňuje požadavek čekání. Zápis je dokončen.
7. Agent Avalon-MM potvrdí požadavek čekání. Protože waitrequestAllowance je 1, hostitel může dokončit jeden další přenos dat.
8. Hostitel Avalon zajišťuje zápis a data. Agent neuplatňuje požadavek čekání. Zápis je dokončen.
3.5.2.3. waitrequestAllowance se rovná dvěma – nedoporučuje se
Následující diagram ilustruje načasování pro hostitele Avalon-MM>, který může odeslat dva přenosy po uplatnění požadavku waitrequest.
Toto načasování je legální, ale nedoporučuje se. V tomto example hostitel počítá počet transakcí místo počtu hodinových cyklů. Tento přístup vyžaduje čítač, který dělá implementaci složitější a může ovlivnit uzavření načasování.
Když hostitel určí, kdy má řídit transakce pomocí signálu waitrequest a konstantního počtu cyklů, hostitel spustí nebo zastaví transakce na základě registrovaných signálů.
Obrázek 10. waitrequestAllowance se rovná dvěma převodům
1 clk
45
6
7
napsat
čekatelský požadavek
data
Čísla na tomto obrázku označují následující události: 1. Hostitel Avalon-MM> zajišťuje zápis a řídí data.
2. Agent Avalon-MM> potvrdí požadavek čekání.
3. Hostitel Avalon-MM> zajišťuje zápis a data. Protože waitrequestAllowance je 2, hostitel řídí data ve 2 po sobě jdoucích cyklech.
4. Hostitel Avalon-MM> nepožaduje zápis, protože hostitel vyčerpal 2-přenosový waitrequestAllowance.
5. Hostitel Avalon-MM> vydá zápis, jakmile je požadavek čekatel zrušen.
6. Hostitel Avalon-MM> zajišťuje zápis a data. Agent potvrdí požadavek čekání po dobu 1 cyklu.
7. V reakci na požadavek waitrequest uchovává hostitel Avalon-MM> data po dobu 2 cyklů.
3.5.2.4. waitrequestAllowance kompatibilita pro Avalon-MM Host a Agent rozhraní
Hostitelé a agenti Avalon-MM, kteří podporují signál waitrequest, podporují protitlak. Hostitelé s protitlakem se mohou vždy připojit k agentům bez protitlaku. Hostitelé bez protitlaku se nemohou připojit k agentům s protitlakem.
Odeslat zpětnou vazbu
Specifikace rozhraní Avalon® 25
3. Avalon Memory-Mapped Interfaces 683091 | 2022.01.24
Tabulka 11. Kompatibilita waitrequestAllowance pro hostitele a agenty Avalon-MM
Hostitel a agent waitrequestAllowance
Kompatibilita
hostitel = 0 agent = 0
hostitel = 0 agent > 0
Dodržuje stejná pravidla kompatibility jako standardní rozhraní Avalon-MM.
Přímé připojení není možné. Pro případ hostitele se signálem waitrequest je vyžadována jednoduchá adaptace. Připojení není možné, pokud hostitel nepodporuje signál waitrequest.
hostitel > 0 agent = 0
hostitel > 0 agent > 0
Přímé připojení není možné. Při připojování k agentovi se signálem waitrequest nebo pevnými stavy čekání jsou vyžadovány úpravy (vyrovnávací paměti).
Pokud příspěvek hostitele <= příspěvek agenta, není nutná žádná úprava. Pokud je povolenka hostitele < povolenka agenta, mohou být vloženy potrubní registry. Pro připojení typu point-to-point můžete přidat registry potrubí na signály příkazu nebo signály waitrequest. Až do registrovat stages lze vložit kam je rozdíl mezi povolenkami. Připojení hostitele s vyšším povolením waitrequestAllowance než agent vyžaduje ukládání do vyrovnávací paměti.
3.5.2.5. waitrequestAllowance Error Conditions
Chování je nepředvídatelné, pokud rozhraní Avalon-MM poruší specifikaci povolených požadavků na čekání.
· Pokud hostitel poruší waitrequestAllowance = specifikaci zasláním více než přenosy, přenosy mohou být zrušeny nebo může dojít k poškození dat.
· Pokud agent inzeruje větší povolenku na čekání, než je možné, některé přenosy mohou být zrušeny nebo může dojít k poškození dat.
3.5.3. Čtení a zápis převodů s pevnými stavy čekání
Agent může určit pevné stavy čekání pomocí vlastností readWaitTime a writeWaitTime. Použití pevných čekacích stavů je alternativou k použití waitrequest k zastavení převodu. Adresa a řídicí signály (byteenable, čtení a zápis) jsou udržovány konstantní po dobu trvání přenosu. Nastavení readWaitTime nebo writeWaitTime na je ekvivalentní tvrzení waitrequest for cyklů na přenos.
Na následujícím obrázku má agent writeWaitTime = 2 a readWaitTime = 1.
Specifikace rozhraní Avalon® 26
Odeslat zpětnou vazbu
3. Avalon Memory-Mapped Interfaces 683091 | 2022.01.24
Obrázek 11.
Přenos čtení a zápisu s pevnými stavy čekání na rozhraní agenta
1
2
3
4
5
clk
adresa
adresa
adresa
byteenable
byteenable
číst
odpověď zápisu čtení dat writedata
odezva readdata
zapisovat data
Čísla v tomto časovém diagramu označují následující přechody:
1. Hostitel tvrdí adresu a čtení na vzestupné hraně clk.
2. Další vzestupná hrana clk označuje konec prvního a jediného cyklu čekání. ReadWaitTime je 1.
3. Agent tvrdí readdata a odpověď na vzestupné hraně CLK. Přenos čtení končí.
4. Agentovi jsou k dispozici signály pro zápis dat, adresy, byteable a zápis.
5. Přenos zápisu skončí po 2 cyklech čekacího stavu.
Přenosy s jedním čekacím stavem se běžně používají pro vícecyklové mimočipové periferie. Periferie zachycuje adresní a řídicí signály na náběžné hraně clk. Periferní zařízení má jeden celý cyklus na vrácení dat.
Komponenty s nulovými stavy čekání jsou povoleny. Komponenty s nulovými stavy čekání však mohou snížit dosažitelnou frekvenci. Stavy nulového čekání vyžadují, aby komponenta generovala odpověď ve stejném cyklu, ve kterém byl předložen požadavek.
3.5.4. Zřetězené převody
Zřetězené přenosy čtení Avalon-MM zvyšují propustnost pro synchronní agentní zařízení, která vyžadují několik cyklů k vrácení dat pro první přístup. Taková zařízení mohou typicky vracet jednu datovou hodnotu za cyklus po určitou dobu poté. Nové zřetězené přenosy čtení mohou začít dříve, než se vrátí data čtení pro předchozí přenosy.
Zřetězený přenos čtení má fázi adresy a fázi dat. Hostitel zahájí přenos předložením adresy během fáze adresy. Agent provede přenos doručením dat během datové fáze. Fáze adresy pro nový přenos (nebo více přenosů) může začít před dokončením datové fáze předchozího přenosu. Zpoždění se nazývá latence potrubí. Latence kanálu je doba trvání od konce fáze adresy do začátku datové fáze.
Odeslat zpětnou vazbu
Specifikace rozhraní Avalon® 27
3. Avalon Memory-Mapped Interfaces 683091 | 2022.01.24
Načasování přenosu pro stavy čekání a latence kanálu mají následující klíčové rozdíly:
· Stavy čekání – Stavy čekání určují délku fáze adresy. Stavy čekání omezují maximální propustnost portu. Pokud agent vyžaduje jeden čekací stav pro odpověď na požadavek přenosu, port vyžaduje dva hodinové cykly na přenos.
· Latence potrubí – Latence potrubí určuje dobu do vrácení dat nezávisle na fázi adresy. Zřetězený agent bez čekacích stavů může vydržet jeden přenos za cyklus. Agent však může vyžadovat několik cyklů latence, aby vrátil první jednotku dat.
Souběžně lze podporovat stavy čekání a zřetězené čtení. Latence kanálu může být pevná nebo proměnná.
3.5.4.1. Zřetězený přenos čtení s proměnnou latencí
Po zachycení adresových a řídicích signálů potřebuje zřetězený agent Avalon-MM jeden nebo více cyklů, než vytvoří data. Zřetězený agent může mít více nevyřízených přenosů čtení v libovolném okamžiku.
Zřetězené přenosy čtení s proměnnou latencí:
· Vyžaduje jeden další signál, readdatavalid, který indikuje, kdy jsou načtená data platná.
· Zahrnout stejnou sadu signálů jako nezřetězené přenosy čtení.
Při zřetězených přenosech čtení s proměnnou latencí jsou periferní zařízení agenta, která používají readdatavalid, považována za zřetězená s proměnnou latencí. Signály readdata a readdatavalid odpovídající příkazu čtení mohou být uplatněny nejdříve v cyklu poté, co je tento příkaz pro čtení uplatněn.
Agent musí vracet readdata ve stejném pořadí, v jakém jsou přijímány příkazy pro čtení. Zřetězené porty agentů s proměnnou latencí musí používat waitrequest. Agent může uplatnit požadavek čekání na zastavení převodů, aby udržoval přijatelný počet čekajících převodů. Agent může potvrdit readdatavalid pro přenos dat na hostitele nezávisle na tom, zda agent zastavuje nový příkaz s waitrequest.
Poznámka:
Maximální počet čekajících přenosů je vlastností rozhraní agenta. Propojovací struktura vytváří logiku pro směrování přečtených dat k žádajícím hostitelům pomocí tohoto čísla. Rozhraní agenta, nikoli propojovací struktura, musí sledovat počet čekajících čtení. Agent musí potvrdit waitrequest, aby zabránil překročení maximálního počtu čekajících čtení. Pokud má agent waitrequestAllowance > 0, musí agent potvrdit waitrequest dostatečně brzy, aby celkový počet nevyřízených převodů, včetně těch, které byly přijaty při uplatnění požadavku waitrequest, nepřesáhl zadaný maximální počet čekajících převodů.
Specifikace rozhraní Avalon® 28
Odeslat zpětnou vazbu
3. Avalon Memory-Mapped Interfaces 683091 | 2022.01.24
Obrázek 12.
Zřetězené přenosy čtení s proměnnou latencí
Následující obrázek ukazuje několik přenosů čtení agenta. Agent je zřetězen s proměnnou latencí. Na tomto obrázku může agent přijmout maximálně dva čekající převody. Agent používá waitrequest, aby se vyhnul překročení tohoto maxima.
1
2
34
5
6
78
9
10
11
clk
adresa
addr1
addr2
addr3
addr4
addr5
číst
čekatelský požadavek
readdata readdatavalid
údaje 1
údaje2
údaje 3
údaje4
údaje5
Čísla v tomto časovém diagramu označují následující přechody:
1. Hostitel potvrdí adresu a čtení, čímž zahájí přenos čtení.
2. Agent zachytí addr1.
3. Agent zachytí addr2.
4. Agent potvrdí požadavek čekání, protože agent již přijal maximálně dvě nevyřízená čtení, což způsobí, že se třetí přenos zablokuje.
5. Agent potvrdí data1, odpověď na addr1. Agent odmítne požadavek čekatele.
6. Agent zachytí addr3. Propojení zachycuje data1.
7. Agent zachytí addr4. Propojení zachycuje data2.
8. Agent řídí readdatavalid a readdata jako odpověď na třetí přenos čtení.
9. Agent zachytí addr5. Propojení zachycuje data3. Čtený signál je zrušen. Hodnota waitrequest již není relevantní.
10. Propojení zachycuje data4.
11. Agent řídí data5 a tvrdí, že readdatavalid dokončuje datovou fázi pro poslední čekající přenos čtení.
Pokud agent nemůže zpracovat přenos zápisu během zpracování čekajících přenosů čtení, musí agent potvrdit požadavek čekání a zastavit operaci zápisu, dokud se nevyřízené přenosy čtení nedokončí. Specifikace Avalon-MM nedefinuje hodnotu readdata v případě, že agent přijme přenos zápisu na stejnou adresu jako aktuálně čekající přenos čtení.
3.5.4.2. Zřetězené přenosy čtení s pevnou latencí
Fáze adresy pro přenosy čtení s pevnou latencí je totožná s případem proměnné latence. Po fázi adresy potřebuje pipeline s pevnou latencí čtení pevný počet hodinových cyklů, aby vrátil platná načtená data. Vlastnost readLatency určuje počet hodinových cyklů pro vrácení platných readdata. Propojení zachycuje čtená data na příslušné vzestupné hraně hodin a ukončuje datovou fázi.
Odeslat zpětnou vazbu
Specifikace rozhraní Avalon® 29
3. Avalon Memory-Mapped Interfaces 683091 | 2022.01.24
Během fáze adresy může systém čekat na pozastavení přenosu. Nebo určuje latenci čtení pro pevný počet stavů čekání. Fáze adresy končí na další vzestupné hraně clk po stavech čekání, pokud existují.
Během datové fáze disky čtou data po pevné latenci. Pro latenci čtení , musí obsahovat platná čtená data na náběžná hrana clk po skončení fáze adresy.
Obrázek 13.
Zřetězený přenos čtení s pevnou latencí dvou cyklů
Následující obrázek ukazuje vícenásobné datové přenosy mezi hostitelem a zřetězeným . Jednotka čeká na požadavek na zastavení přenosu a má pevnou latenci čtení 2 cykly.
12
3
45
6
clk
adresa
addr1
addr2 addr3
číst
čekatelský požadavek
readdata
údaje1
data2 data3
Čísla v tomto časovém diagramu označují následující přechody: 1. Hostitel zahájí přenos čtení potvrzením read a addr1. 2. Požadavek čekání na odložení převodu na jeden cyklus. 3. Zachycuje addr1 na vzestupné hraně clk. Fáze adresy zde končí. 4. Po 2 cyklech zobrazí platná načtená data, čímž se přenos ukončí. 5. addr2 a read jsou uplatněny pro nový přenos čtení. 6. Hostitel zahájí třetí přenos čtení během dalšího cyklu před daty z
předchozí převod je vrácen.
3.5.5. Burst Transfers
Shluk provádí více přenosů jako celek, spíše než zpracovávat každé slovo nezávisle. Shluky mohou zvýšit propustnost pro porty agentů, které dosahují vyšší efektivity při zpracování více slov najednou, jako je SDRAM. Čistým efektem prasknutí je uzamknutí arbitráže po dobu trvání prasknutí. Rozhraní Avalon-MM, které podporuje čtení i zápis, musí podporovat shluky čtení i zápisu.
Rozhraní Bursting Avalon-MM obsahuje výstupní signál burstcount. Pokud má agent vstup burstcount, agent je schopen burstcount.
Burstcount signál se chová následovně:
· Na začátku shluku představuje burstcount počet sekvenčních přenosů ve shluku.
· Pro šířku z burstcount, maximální délka burstcount je 2( -1). Minimální povolená délka dávky je jedna.
Specifikace rozhraní Avalon® 30
Odeslat zpětnou vazbu
3. Avalon Memory-Mapped Interfaces 683091 | 2022.01.24
Pro podporu shluků čtení agenta musí agent také podporovat:
· Stavy čekání se signálem waitrequest.
· Zřetězené přenosy s proměnnou latencí se signálem readdatavalid.
Na začátku shluku agent vidí adresu a hodnotu délky shluku na burstcount. Pro shluk s adresou a hodnotou burstcount musí agent provádět po sobě jdoucí přenosy začínající na adrese . Shluk se dokončí poté, co agent přijme (zapíše) nebo vrátí (přečte). slovo dat. Bursting agent musí zachytit adresu a burstcount pouze jednou pro každý burst. Logika agenta musí odvodit adresu pro všechny přenosy v burstu kromě prvního. Agent může také použít vstupní signál beginbursttransfer, který propojení aktivuje v prvním cyklu každého burstu.
3.5.5.1. Napište Bursts
Tato pravidla platí, když shluk zápisu začíná s počtem shluků větším než jedna:
· Při burstcount of je prezentován na začátku burst, agent musí přijmout po sobě jdoucích jednotek zapisovaných dat k dokončení shluku. Arbitráž mezi párem hostitel-agent zůstává uzamčena, dokud se shluk nedokončí. Tento zámek zaručuje, že žádný jiný hostitel nemůže provádět transakce na agentovi, dokud není shluk zápisu dokončen.
· Agent musí zachycovat data zápisu pouze při požadavku zápisu. Během shluku může hostitel zrušit zápis, což znamená, že data zápisu jsou neplatná. Zrušením zápisu se shluk neukončí. Potlačení zápisu zpožďuje shluk a žádný jiný hostitel nemá přístup k agentovi, což snižuje efektivitu přenosu.
· Agent zpozdí přenos tím, že vynutí požadavek waitrequest, aby zápis dat, zápis, burstcount a byteenable zůstaly konstantní.
· Funkce byteable signálu je stejná pro bursting i nonbursting agenty. U 32bitového shlukového zápisu hostitele do 64bitového agenta, který začíná na adrese 4 bajtů, je první přenos zápisu, který agent viděl, na adrese 0, s byteenable = 8'b11110000. Byteables se mohou měnit pro různá slova shluku.
· Všechny byteable signály nemusí být potvrzeny. Shlukový hostitel zapisující částečná slova může použít byteable signál k identifikaci zapisovaných dat.
· Zápisy s byteable signály se všemi 0 jsou jednoduše předány agentovi AvalonMM jako platné transakce.
· Vlastnost konstantníBurstBehavior specifikuje chování burst signálů.
— Když je konstantníBurstBehavior pro hostitele pravdivé, hostitel podrží adresu a burstcount stabilní po celou dobu burst. Když platí pro agenta, konstantníBurstBehavior deklaruje, že agent očekává, že adresa a počet burst budou během shluku stabilní.
— Když je konstantníBurstBehavior nepravda, hostitel podrží adresu a počet burst stabilní pouze pro první transakci burstu. Když je konstantníBurstBehavior nepravda, agent sampadresy a burstcount pouze při první transakci burstu.
Odeslat zpětnou vazbu
Specifikace rozhraní Avalon® 31
3. Avalon Memory-Mapped Interfaces 683091 | 2022.01.24
Obrázek 14.
Zápis Burst s konstantníBurstBehavior nastaveným na False pro hostitele a agenta
Následující obrázek ukazuje shluk zápisu agenta o délce 4. V tomto příkladuample, agent potvrdí požadavek waitrequest dvakrát a oddálí shluk.
12
3
4
5
67
8
clk
adresa
addr1
beginbursttransfer
burstcount
4
napsat
zapisovat data
údaje1
údaje2
údaje3
údaje4
čekatelský požadavek
Čísla v tomto časovém diagramu označují následující přechody:
1. Hostitel potvrdí adresu, počet burstcount, zápis a řídí první jednotku zapisovaných dat.
2. Agent okamžitě potvrdí požadavek čekání, což naznačuje, že agent není připraven pokračovat v převodu.
3. požadavek na čekání je nízký. Agent zachytí addr1, burstcount a první jednotku writedata. V následujících cyklech přenosu jsou adresy a burstcount ignorovány.
4. Agent zachytí druhou jednotku dat na vzestupné hraně clk.
5. Shluk je pozastaven, zatímco zápis je zrušen.
6. Agent zachycuje třetí jednotku dat na vzestupné hraně clk.
7. Agent potvrdí požadavek čekání. V reakci na to jsou všechny výstupy udržovány konstantní během dalšího hodinového cyklu.
8. Agent zachytí poslední jednotku dat na této stoupající hraně clk. Zápis agenta končí.
Na obrázku výše je signál beginbursttransfer uplatněn pro první hodinový cyklus shluku a v dalším hodinovém cyklu je zrušen. I když agent potvrdí požadavek čekání, signál beginbursttransfer je uplatněn pouze pro první cyklus hodin.
Související informace
Vlastnosti rozhraní na straně 17
3.5.5.2. Přečtěte si Bursts
Shluky čtení jsou podobné zřetězeným přenosům čtení s proměnnou latencí. Shluk čtení má odlišnou adresu a datovou fázi. readdatavalid označuje, kdy agent prezentuje platná readdata. Na rozdíl od zřetězených přenosů čtení vede jedna shluková adresa čtení k vícenásobným přenosům dat.
Specifikace rozhraní Avalon® 32
Odeslat zpětnou vazbu
3. Avalon Memory-Mapped Interfaces 683091 | 2022.01.24
Pro shluky čtení platí tato pravidla:
· Když se hostitel připojí přímo k agentovi, dojde k burstcount of znamená, že se agent musí vrátit slova přečtených dat pro dokončení shluku. V případech, kdy propojení spojuje pár hostitele a agenta, může propojení potlačit příkazy pro čtení odeslané z hostitele agentovi. NapřampPokud hostitel odešle příkaz pro čtení s hodnotou 0 bajtů, může propojení potlačit čtení. V důsledku toho agent nereaguje na příkaz čtení.
· Agent prezentuje každé slovo poskytnutím readdata a potvrzením readdatavalid pro cyklus. Zrušení platnosti readdatavalid zpoždění, ale neukončí fázi burst dat.
· Pro čtení s burstcount > 1 Intel doporučuje uplatňovat všechny byteenables.
Poznámka:
Společnost Intel doporučuje, aby agenti schopné výbuchu neměli vedlejší účinky čtení. (Tato specifikace nezaručuje, kolik bajtů hostitel přečte z agenta, aby uspokojil požadavek.)
Obrázek 15.
Přečtěte si Burst
Následující obrázek ilustruje systém se dvěma shlukovými hostiteli přistupujícími k agentovi. Všimněte si, že hostitel B může řídit
požadavek na čtení předtím, než se vrátí data pro hostitele A.
1
23
45
6
clk
adresa A0 (Hostitel A) A1 Hostitel (B)
číst
beginbursttransfer
čekatelský požadavek
burstcount
4
2
readdatavalid
readdata
D(A0)D(A0+1) D(A0+2D)(A0+3)D(A1)D(A1+1)
Čísla v tomto časovém diagramu označují následující přechody:
1. Hostitel A tvrdí adresu (A0), burstcount a čte po vzestupné hraně clk. Agent potvrdí waitrequest, což způsobí, že všechny vstupy kromě beginbursttransfer budou udržovány konstantní během dalšího hodinového cyklu.
2. Agent zachytí A0 a burstcount na této stoupající hraně clk. Nový převod by mohl začít v dalším cyklu.
3. Hostitel B řídí adresu (A1), burstcount a čtení. Agent potvrdí waitrequest, což způsobí, že všechny vstupy kromě beginbursttransfer zůstanou konstantní. Agent mohl vrátit přečtená data z prvního požadavku na čtení nejdříve v tuto chvíli.
Odeslat zpětnou vazbu
Specifikace rozhraní Avalon® 33
3. Avalon Memory-Mapped Interfaces 683091 | 2022.01.24
4. Agent předloží platná readdata a potvrdí readdatavalid, čímž přenese první slovo dat pro hostitele A.
5. Přenese se druhé slovo pro hostitele A. Agent zruší platnost readdatavalid a pozastaví shluk čtení. Port agenta může zachovat platnost readdatavalid po libovolný počet hodinových cyklů.
6. První slovo pro hostitele B je vráceno.
3.5.5.3. Záblesky se zalomenými čarami
Procesory s mezipamětí instrukcí získávají efektivitu používáním line-wrapped burstů. Když procesor požaduje data, která nejsou v mezipaměti, musí řadič mezipaměti doplnit celý řádek mezipaměti. U procesoru s velikostí řádku mezipaměti 64 bajtů způsobí vynechání mezipaměti čtení 64 bajtů z paměti. Pokud procesor čte z adresy 0xC, když došlo k chybě mezipaměti, mohl by neefektivní řadič mezipaměti vydat burst na adrese 0, což by mělo za následek data z adres čtení 0x0, 0x4, 0x8, 0xC, 0x10, 0x14, 0x18, . . . 0x3C. Požadovaná data jsou k dispozici až po čtvrtém čtení. U dávek linewrapping je pořadí adres 0xC, 0x10, 0x14, 0x18, . . . 0x3C, 0x0, 0x4 a 0x8. Požadovaná data se vrátí jako první. Celý řádek mezipaměti se nakonec doplní z paměti.
3.5.6. Číst a psát odpovědi
Pro každého agenta Avalon-MM musí být příkazy zpracovány bez rizika. Problém čtení a zápisu odpovědí v pořadí, v jakém byly příkazy přijaty.
3.5.6.1. Transakční příkaz pro odezvy čtení a zápisu Avalon-MM (hostitelé a agenti)
Pro každého hostitele Avalon-MM: · Specifikace rozhraní Avalon zaručuje, že příkazy budou zadávány stejnému agentovi
kontaktovat agenta v pořadí vydání příkazu a agent odpoví v pořadí vydání příkazu. · Různí agenti mohou přijímat a reagovat na příkazy v jiném pořadí, než v jakém je hostitel vydává. Když je úspěšný, agent odpoví v pořadí vydání příkazu. · Odpovědi (jsou-li přítomny) se vracejí v pořadí vydání příkazu, bez ohledu na to, zda jsou příkazy pro čtení nebo zápis pro stejné nebo různé agenty. · Specifikace rozhraní Avalon nezaručují pořadí transakcí mezi různými hostiteli.
3.5.6.2. Časový diagram odezev čtení a zápisu Avalon-MM
Následující diagram ukazuje přijetí příkazu a pořadí vydání příkazu pro odezvy čtení a zápisu Avalon-MM. Protože rozhraní pro čtení a zápis sdílejí signál odezvy, rozhraní nemůže vydat nebo přijmout odezvu zápisu a odezvu čtení ve stejném hodinovém cyklu.
Přečtěte si odpovědi, odešlete jednu odpověď pro každé načtená data. Délka série čtení výsledky v odpovědi.
Specifikace rozhraní Avalon® 34
Odeslat zpětnou vazbu
3. Avalon Memory-Mapped Interfaces 683091 | 2022.01.24
Napište odpovědi, odešlete jednu odpověď pro každý příkaz zápisu. Shluk zápisu má za následek pouze jednu odpověď. Rozhraní agenta odešle odpověď po přijetí posledního přenosu zápisu v dávce. Když rozhraní obsahuje signál Writeresponsevalid, všechny příkazy zápisu musí být dokončeny s odpověďmi na zápis.
Obrázek 16. Schéma časování odezev čtení a zápisu Avalon-MM
clk
adresa
R0
W0
W1
R1
číst
napsat
readdatavalid
spisovatelesponsevalid
odpověď
R0
W0
W1
R1
3.5.6.2.1. diagram časování minimumResponseLatency s readdatavalid nebo writeesponsevalid
U rozhraní s readdatavalid nebo writeesponsevalid může výchozí minimální doba odezvy v jednom cyklu vést k potížím s načasováním uzavření na hostitelích Avalon-MM.
Následující časové diagramy ukazují chování pro minimální latenci odezvy 1 nebo 2 cykly. Všimněte si, že skutečná latence odezvy může být také větší než minimální povolená hodnota, jak znázorňují tyto časové diagramy.
Obrázek 17. minimumResponseLatency se rovná jednomu cyklu
clk číst
readdatavalid data
Minimální latence odezvy 1 cyklus
Obrázek 18. minimumResponseLatency se rovná dvěma cyklům clk
číst 2 cykly minimumResponseLatency
readdatavalid data
Kompatibilita
Rozhraní se stejnou minimální dobou odezvy jsou interoperabilní bez jakékoli úpravy. Pokud má hostitel vyšší minimumResponseLatency než agent, použijte ke kompenzaci rozdílů registry kanálu. Registry potrubí by měly
Odeslat zpětnou vazbu
Specifikace rozhraní Avalon® 35
3. Avalon Memory-Mapped Interfaces 683091 | 2022.01.24
zpoždění čtení dat z agenta. Pokud má agent vyšší minimumResponseLatency než hostitel, jsou rozhraní interoperabilní bez přizpůsobení.
3.6. Zarovnání adresy
Propojení podporuje pouze zarovnané přístupy. Hostitel může vydávat pouze adresy, které jsou násobkem jeho datové šířky v symbolech. Hostitel může napsat částečná slova zrušením platnosti některých byteenables. Napřample, byteables zápisu 2 bajtů na adrese 2 je 4'b1100.
3.7. Avalon-MM Agent Addressing
Dynamické určování velikosti sběrnice spravuje data během přenosů mezi dvojicemi hostitel-agent různých šířek dat. Data agenta jsou zarovnána v souvislých bajtech v adresním prostoru hostitele.
Pokud je šířka dat hostitele širší než šířka dat agenta, slova v adresním prostoru hostitele se mapují na více míst v adresním prostoru agenta. Napřample, 32bitový hostitel čtený z 16bitového agenta má za následek dva přenosy čtení na straně agenta. Čtení se provádí na po sobě jdoucí adresy.
Pokud je hostitel užší než agent, pak propojení spravuje pruhy bajtů agenta. Během přenosů čtení hostitele představuje propojení užšímu hostiteli pouze příslušné bajtové pruhy dat agenta. Během přenosů zápisu hostitele se propoj
automaticky aktivuje byteable signály k zápisu dat pouze do specifikovaných drah bajtů agenta.
Agenti musí mít šířku dat 8, 16, 32, 64, 128, 256, 512 nebo 1024 bitů. Následující tabulka ukazuje zarovnání pro data agentů různých šířek v rámci 32bitového hostitele provádějícího celoslovní přístupy. V této tabulce OFFSET[N] odkazuje na posun velikosti slova agenta do prostoru adres agenta.
Tabulka 12. Dynamická velikost sběrnice Mapování adresy hostitele na agenta
Adresa hostitelského bytu (1)
Přístup
0x00
1
2
3
4
0x04
1
2
3
4
0x08
1
2
32bitová data hostitele
Při přístupu k 8bitovému rozhraní agenta
Při přístupu k 16bitovému rozhraní agenta
OFFSET[0]7..0
OFFSET[0]15..0 (2)
OFFSET[1]7..0 OFFSET[2]7..0 OFFSET[3]7..0
OFFSET[1]15..0 — —
OFFSET[4]7..0
OFFSET[2]15..0
OFFSET[5]7..0 OFFSET[6]7..0 OFFSET[7]7..0
OFFSET[3]15..0 — —
OFFSET[8]7..0
OFFSET[4]15..0
OFFSET[9]7..0
OFFSET[5]15..0
Při přístupu k 64bitovému rozhraní agenta OFFSET[0]31..0 — — —
OFFSET[0]63..32 — — —
OFFSET[1]31..0 —
pokračování…
Specifikace rozhraní Avalon® 36
Odeslat zpětnou vazbu
3. Avalon Memory-Mapped Interfaces 683091 | 2022.01.24
Adresa hostitelského bytu (1)
Přístup
Při přístupu k 8bitovému rozhraní agenta
32bitová data hostitele
Při přístupu k 16bitovému rozhraní agenta
3
OFFSET[10]7..0
—
4
OFFSET[11]7..0
—
0x0C
1
OFFSET[12]7..0
OFFSET[6]15..0
2
OFFSET[13]7..0
OFFSET[7]15..0
3
OFFSET[14]7..0
—
4 A tak dále
OFFSET[15]7..0 A tak dále
— A tak dále
Poznámky: 1. Přestože hostitel vydává bajtové adresy, hostitel přistupuje k plným 32bitovým slovům. 2. Pro všechny položky agenta [ ] je posun slova a hodnoty dolního indexu jsou bity ve slově.
Při přístupu k 64bitovému rozhraní agenta — —
OFFSET[1]63..32 — — — A tak dále
Odeslat zpětnou vazbu
Specifikace rozhraní Avalon® 37
683091 | 2022.01.24 Odeslat zpětnou vazbu
4. Rozhraní přerušení Avalon
Rozhraní přerušení Avalon umožňují komponentám agenta signalizovat události hostitelským komponentám. Napřample, řadič DMA může přerušit procesor po dokončení přenosu DMA.
4.1. Přerušit odesílatele
Odesílatel přerušení vyšle jeden signál přerušení do přijímače přerušení. Časování signálu irq musí být synchronní s náběžnou hranou jeho přidružených hodin. irq nemá žádný vztah k žádnému přenosu na jiném rozhraní. irq musí být uplatněno, dokud není potvrzeno na přidruženém rozhraní agenta Avalon-MM.
Přerušení jsou specifická pro jednotlivé komponenty. Přijímač obvykle určuje vhodnou odpověď čtením registru stavu přerušení z rozhraní agenta Avalon-MM.
4.1.1. Avalon přerušuje role odesílatele signálu
Tabulka 13. Role signálu odesilatele přerušení
Role signálu
Šířka
Směr
Požadovaný
irq irq_n
1-32
Výstup
Ano
Popis
Požadavek na přerušení. Odesílatel přerušení vysílá signál přerušení do přijímače přerušení.
4.1.2. Přerušit vlastnosti odesílatele
Tabulka 14. Vlastnosti odesílatele přerušení
Název vlastnosti
Výchozí hodnota
Právní hodnoty
Popis
souvisejícíAddressabl
N/A
ePoint
přidružené hodiny
N/A
Název agenta Avalon-MM na této komponentě.
Název rozhraní hodin na tomto
komponent.
Název rozhraní agenta Avalon-MM, které poskytuje přístup k registrům pro obsluhu přerušení.
Název rozhraní hodin, se kterým je tento odesílatel přerušení synchronní. Odesílatel a příjemce mohou mít pro tuto vlastnost různé hodnoty.
souvisejícíReset
N/A
Název resetu
Název resetovacího rozhraní, do kterého toto přerušení
rozhraní na tomto
odesílatel je synchronní.
komponent.
Intel Corporation. Všechna práva vyhrazena. Intel, logo Intel a další značky Intel jsou ochranné známky společnosti Intel Corporation nebo jejích dceřiných společností. Společnost Intel zaručuje výkon svých FPGA a polovodičových produktů podle aktuálních specifikací v souladu se standardní zárukou společnosti Intel, ale vyhrazuje si právo provádět změny jakýchkoli produktů a služeb kdykoli bez upozornění. Společnost Intel nepřebírá žádnou odpovědnost nebo závazky vyplývající z aplikace nebo použití jakýchkoli informací, produktů nebo služeb popsaných v tomto dokumentu, pokud to není výslovně písemně odsouhlaseno společností Intel. Zákazníkům společnosti Intel se doporučuje získat nejnovější verzi specifikací zařízení dříve, než se budou spoléhat na jakékoli zveřejněné informace a než zadají objednávky na produkty nebo služby. *Jiná jména a značky mohou být nárokovány jako vlastnictví jiných.
ISO 9001: 2015 Registrováno
4. Rozhraní přerušení Avalon 683091 | 2022.01.24
4.2. Přerušit přijímač
Rozhraní přijímače přerušení přijímá přerušení z rozhraní odesílatele přerušení. Komponenty s hostitelským rozhraním Avalon-MM mohou obsahovat přijímač přerušení pro detekci přerušení vyvolaných komponentami agenta s rozhraními odesílatele přerušení. Přijímač přerušení přijímá požadavky na přerušení od každého odesílatele přerušení jako samostatný bit.
4.2.1. Role Avalon Interrupt Receiver Signal
Tabulka 15. Role přerušení signálu přijímače
Role signálu
Šířka
Směr
Požadovaný
irq
1
Vstup
Ano
Popis
irq je an -bitový vektor, kde každý bit odpovídá přímo jednomu odesílateli IRQ bez inherentního předpokladu priority.
4.2.2. Vlastnosti přijímače přerušení
Tabulka 16. Vlastnosti přijímače přerušení
Název vlastnosti
Výchozí hodnota
Právní hodnoty
Popis
přidružený adresný bod
N/A
Název Název hostitelského rozhraní Avalon-MM, které bylo použito
Přerušení služby Avalon-MM přijatá na tomto rozhraní.
hostitel
rozhraní
přidružené hodiny
N/A
Name of an Název rozhraní Avalon Clock, ke kterému toto
Avalon
přijímač přerušení je synchronní. Odesílatel a
Hodiny
přijímač může mít pro tuto vlastnost různé hodnoty.
rozhraní
souvisejícíReset
N/A
Name of an Název resetovacího rozhraní, do kterého toto přerušení
Avalon
přijímač je synchronní.
Resetovat
rozhraní
4.2.3. Časování přerušení
Hostitel Avalon-MM obsluhuje přerušení s prioritou 0 před přerušením s prioritou 1.
Obrázek 19.
Časování přerušení
Na následujícím obrázku má přerušení 0 vyšší prioritu. Přijímač přerušení právě zpracovává int1
když se tvrdí int0. Zavolá se obslužná rutina int0 a dokončí se. Potom obslužná rutina int1 pokračuje. The
diagram ukazuje int0 deaktivuje v čase 1. int1 deaktivuje v čase 2.
1
2
clk
Individuální požadavky int0
int1
Odeslat zpětnou vazbu
Specifikace rozhraní Avalon® 39
683091 | 2022.01.24 Odeslat zpětnou vazbu
5. Avalon Streaming Interfaces
Rozhraní Avalon Streaming (Avalon-ST) můžete použít pro komponenty, které řídí jednosměrná data s vysokou šířkou pásma, nízkou latencí. Typické aplikace zahrnují multiplexované toky, pakety a data DSP. Signály rozhraní Avalon-ST mohou popisovat tradiční streamovací rozhraní podporující jeden tok dat bez znalosti kanálů nebo hranic paketů. Rozhraní může také podporovat složitější protokoly schopné shlukového a paketového přenosu s pakety prokládanými přes více kanálů.
Poznámka:
Pokud potřebujete vysoce výkonné rozhraní pro streamování dat, přečtěte si kapitolu 6 Rozhraní pro streamování dat Avalon.
Obrázek 20. Rozhraní Avalon-ST – Typická aplikace rozhraní Avalon-ST
Deska s plošnými spoji Intel FPGA Avalon-ST Interfaces (Data Plane)
Plánovač
Vstup Avalon-ST
Rx IF Core ch
2
Zdroj 0-2 Dřez 1
0
Rozhraní Avalon-MM (řídicí rovina)
Zdroj
Tx IF Core Sink
Výstup Avalon-ST
Hostitelské rozhraní Avalon-MM
Procesor
Hostitelské rozhraní Avalon-MM
IO Control
Rozhraní agenta Avalon-MM
SDRAM Cntl
Paměť SDRAM
Všechna zdrojová a sink rozhraní Avalon-ST nemusí být nutně interoperabilní. Pokud však dvě rozhraní poskytují kompatibilní funkce pro stejný aplikační prostor, jsou k dispozici adaptéry, které jim umožní vzájemnou spolupráci.
Intel Corporation. Všechna práva vyhrazena. Intel, logo Intel a další značky Intel jsou ochranné známky společnosti Intel Corporation nebo jejích dceřiných společností. Společnost Intel zaručuje výkon svých FPGA a polovodičových produktů podle aktuálních specifikací v souladu se standardní zárukou společnosti Intel, ale vyhrazuje si právo provádět změny jakýchkoli produktů a služeb kdykoli bez upozornění. Společnost Intel nepřebírá žádnou odpovědnost nebo závazky vyplývající z aplikace nebo použití jakýchkoli informací, produktů nebo služeb popsaných v tomto dokumentu, pokud to není výslovně písemně odsouhlaseno společností Intel. Zákazníkům společnosti Intel se doporučuje získat nejnovější verzi specifikací zařízení dříve, než se budou spoléhat na jakékoli zveřejněné informace a než zadají objednávky na produkty nebo služby. *Jiná jména a značky mohou být nárokovány jako vlastnictví jiných.
ISO 9001: 2015 Registrováno
5. Avalon Streaming Interfaces 683091 | 2022.01.24
Rozhraní Avalon-ST podporují datové cesty vyžadující následující funkce:
· Přenos dat bod-bod s nízkou latencí a vysokou propustností
· Podpora více kanálů s flexibilním prokládáním paketů
· Postranní pásmová signalizace kanálu, chyby a začátku a konce vymezování paketů
· Podpora pro prasknutí dat
· Automatické přizpůsobení rozhraní
5.1. Termíny a koncepty
Protokol rozhraní Avalon-ST definuje následující termíny a koncepty:
· Avalon Streaming System – Avalon Streaming systém obsahuje jedno nebo více připojení Avalon-ST, která přenášejí data ze zdrojového rozhraní do rozhraní sink. Výše uvedený systém se skládá z rozhraní Avalon-ST pro přenos dat ze vstupu systému na výstup. Rozhraní pro řízení a stavový registr Avalon-MM zajišťují softwarové ovládání.
· Avalon Streaming Components – Typický systém využívající rozhraní Avalon-ST kombinuje více funkčních modulů, nazývaných komponenty. Návrhář systému konfiguruje komponenty a spojuje je dohromady, aby implementoval systém.
· Rozhraní a připojení zdroje a jímky – Když se spojí dvě součásti, data proudí ze zdrojového rozhraní do rozhraní jímky. Specifikace rozhraní Avalon nazývá kombinaci zdrojového rozhraní připojeného k rozhraní jímky připojením.
· Backpressure – Backpressure umožňuje umyvadlu signalizovat zdroji, aby přestal posílat data. Podpora protitlaku je volitelná. Sink využívá protitlak k zastavení toku dat z následujících důvodů:
— Když jsou dřezy FIFO plné
— Když dojde k přetížení jeho výstupního rozhraní
· Přenosy a cykly připravenosti – Výsledkem přenosu je šíření dat a řízení ze zdrojového rozhraní do rozhraní jímky. U datových rozhraní je připravený cyklus cyklus, během kterého může jímka přijmout přenos.
· Symbol – Symbol je nejmenší jednotka dat. Pro většinu paketových rozhraní je symbolem bajt. Jeden nebo více symbolů tvoří jedinou jednotku dat přenášených v cyklu.
· Kanál – Kanál je fyzická nebo logická cesta nebo spojení, přes které procházejí informace mezi dvěma porty.
· Beat–doba je jednocyklový přenos mezi rozhraním zdroje a umyvadla, který se skládá z jednoho nebo více symbolů.
· Paket – Paket je agregace dat a řídicích signálů, které zdroj vysílá současně. Paket může obsahovat hlavičku, která pomáhá směrovačům a dalším síťovým zařízením směrovat paket do správného cíle. Aplikace definuje formát paketu, nikoli tuto specifikaci. Pakety Avalon-ST mohou mít proměnnou délku a lze je prokládat přes spojení. U rozhraní Avalon-ST je použití paketů volitelné.
Odeslat zpětnou vazbu
Specifikace rozhraní Avalon® 41
5. Avalon Streaming Interfaces 683091 | 2022.01.24
5.2. Role signálu Avalon Streaming Interface
Každý signál v Avalon streaming source nebo sink rozhraní odpovídá jedné roli Avalon streaming signálu. Streamovací rozhraní Avalon může obsahovat pouze jednu instanci každé role signálu. Všechny role streamovaného signálu Avalon se vztahují jak na zdroje, tak na umyvadla a mají pro oba stejný význam.
Tabulka 17.
Signály Avalon Streaming Interface
V následující tabulce jsou všechny role signálu aktivní.
Role signálu
Šířka
Směr
Požadovaný
Popis
Chyba dat kanálu připravena
platný
1 128 1 8,192 1 256
1
1
Základní signály
Zdroj Sink
Žádný
Číslo kanálu pro přenášená data
na aktuálním cyklu.
Pokud rozhraní podporuje kanálový signál,
rozhraní musí také definovat parametr maxChannel.
Zdroj Sink
Žádný
Datový signál ze zdroje do umyvadla,
obvykle nese většinu informací
převedeno.
Parametry dále definují obsah a
formát datového signálu.
Zdroj Sink
Žádný
Bitová maska pro označení chyb ovlivňujících data
přenášené v aktuálním cyklu. Jediný kousek
chybového signálu maskuje každou z chyb
komponenta rozpozná. Chybový deskriptor
definuje vlastnosti chybového signálu.
Zdroj dřezu
Žádný
Tvrdí vysoká, což znamená, že dřez může přijmout
data. připravenost je potvrzena dřezem na cyklu
k označení cyklu jako připravený
cyklus. Zdroj může pouze tvrdit platné a
přenos dat během cyklů připravenosti.
Zdroje bez připraveného vstupu nepodporují protitlak. Dřezy bez připraveného výstupu nikdy nepotřebují zpětný tlak.
Zdroj Sink
Žádný
Zdroj uplatňuje tento signál, aby kvalifikoval všechny ostatní
signál od zdroje k záchytu. Umyvadlo sampdat a
další signály zdroje-odpojovač v cyklech připravenosti
kde je tvrzeno platné. Všechny ostatní cykly jsou
ignoroval.
Zdroje bez platného výstupu implicitně poskytují platná data o každém cyklu, kdy jímka nevytváří protitlak. Dřezy bez platného vstupu očekávají platná data v každém cyklu, který nevytvářejí protitlak.
prázdný
endofpacket startofpacket
1 10
1
Signály přenosu paketů
Zdroj Sink
Žádný
Označuje počet symbolů, které jsou prázdné,
to znamená, že nepředstavují platná data. Prázdný
signál není nutný na rozhraních, kde je
je jeden symbol na dobu.
Zdroj Sink
Žádný
Tvrdí zdroj k označení konce a
paket.
Zdroj Sink
Žádný
Uváděno zdrojem k označení začátku
balíček.
Specifikace rozhraní Avalon® 42
Odeslat zpětnou vazbu
5. Avalon Streaming Interfaces 683091 | 2022.01.24
5.3. Sekvence a časování signálu
5.3.1. Synchronní rozhraní
Všechny přenosy spojení Avalon-ST probíhají synchronně s náběžnou hranou přidruženého hodinového signálu. Všechny výstupy ze zdrojového rozhraní do sběrného rozhraní, včetně datových, kanálových a chybových signálů, musí být registrovány na vzestupné hraně hodin. Vstupy do rozhraní jímky nemusí být registrovány. Registrace signálů u zdroje usnadňuje vysokofrekvenční provoz.
5.3.2. Hodiny povolí
Komponenty Avalon-ST obvykle neobsahují vstup pro aktivaci hodin. Samotná signalizace Avalon-ST je dostatečná pro určení cyklů, které by měla a neměla být komponenta povolena. Komponenty vyhovující Avalon-ST mohou mít vstup pro aktivaci hodin pro jejich vnitřní logiku. Komponenty využívající taktování však musí zajistit, aby časování rozhraní odpovídalo protokolu.
5.4. Vlastnosti rozhraní Avalon-ST
Tabulka 18. Vlastnosti rozhraní Avalon-ST
Název vlastnosti přidružené hodiny
Výchozí hodnota
1
Právní hodnoty
Rozhraní hodin
Popis
Název rozhraní Avalon Clock, se kterým je toto rozhraní Avalon-ST synchronní.
relatedReset beatsPerCycle
1
Resetovat
Název rozhraní Avalon Reset, ke kterému toto
rozhraní Rozhraní Avalon-ST je synchronní.
1
1,2,4,8 Určuje počet dob přenesených v jedné
cyklus. Tato nemovitost umožňuje převést 2 samostatné,
ale korelované proudy používající totéž
start_of_packet, end_of_packet, ready and
platné signály.
beatsPerCycle je zřídka používaná funkce protokolu AvalonST.
dataBitsPerSymbol
8
1 512 Definuje počet bitů na symbol. Napřample,
bajtově orientovaná rozhraní mají 8bitové symboly. Tato hodnota
není omezeno na mocninu 2.
emptyWithinPacket
falešný
true, false Pokud je true, prázdné je platné pro celý paket.
errorDescriptor
0
Seznam
Seznam slov, která popisují související chybu
struny
každý bit chybového signálu. Délka seznamu musí
být stejný jako počet bitů v chybovém signálu.
První slovo v seznamu platí pro nejvyšší pořadí
bit. Napřample, „crc, přetečení“ znamená, že bit[1]
of error označuje chybu CRC. Bit[0] označuje an
chyba přetečení.
firstSymbolInHigh OrderBits
věrný
pravda, nepravda
Když je true, je symbol prvního řádu řízen do nejvýznamnějších bitů datového rozhraní. Symbol nejvyššího řádu je v této specifikaci označen jako D0. Když je tato vlastnost nastavena na false, objeví se první symbol na nízkých bitech. D0 se objeví u data[7:0]. U 32bitové sběrnice, pokud je true, se na bitech objeví D0[31:24].
pokračování…
Odeslat zpětnou vazbu
Specifikace rozhraní Avalon® 43
5. Avalon Streaming Interfaces 683091 | 2022.01.24
Název vlastnosti maxChannel readyLatency
readyAllowance(1)
Výchozí hodnota
0
0
Právní hodnoty 0 255
0 8
0 8
Popis
Maximální počet kanálů, které může datové rozhraní podporovat.
Definuje vztah mezi potvrzením signálu připravenosti a potvrzením platného signálu. Pokud je připravenLatency = kde n > 0, platné lze pouze tvrdit cyklech po potvrzení připravenosti. Napřample, je-li readyLatency = 1, když sink potvrdí připravenost, zdroj musí odpovědět platným tvrzením alespoň 1 cyklus poté, co uvidí potvrzení připravenosti z umyvadla.
Definuje počet přenosů, které může dřez zachytit po deaktivaci připravenosti. Je-li readyAllowance = 0, dřez nemůže přijímat žádné převody poté, co je připraveno deaktivováno. Pokud je připravenPovolení = kde je větší než 0, dřez může přijmout až převody po připravení je zrušeno.
Poznámka:
Pokud vygenerujete Avalon streaming propojení s Avalon streaming source/sink BFMs nebo vlastními komponentami a tyto BFM nebo vlastní komponenty mají různé požadavky na readyLatency, Platform Designer vloží adaptéry do generovaného propojení, aby se přizpůsobil rozdílu readyLatency mezi zdrojovým a sink rozhraním. Očekává se, že vaše logika zdroje a jímky dodržuje vlastnosti generovaného propojení.
5.5. Typické datové přenosy
Tato část definuje přenos dat ze zdrojového rozhraní do rozhraní jímky. Ve všech případech musí zdroj dat a jímka dat odpovídat specifikaci. Datová jímka není odpovědná za zjišťování chyb zdrojového protokolu.
5.6. Podrobnosti signálu
Obrázek ukazuje signály, které rozhraní Avalon-ST obvykle obsahuje. Typické zdrojové rozhraní Avalon-ST přenáší platné, datové, chybové a kanálové signály do jímky. Dřez může vytvořit protitlak se signálem připravenosti.
(1) Pokud je readyLatency = 0, readyAllowance může být 0 nebo větší než 0.
· Je-li readyLatency > 0, readyAllowance musí být rovna nebo větší než readyLatency.
· Pokud zdroj nebo jímka neurčují hodnotu pro readyAllowance, pak readyAllowance = readyLatency. Návrhy nevyžadují přidání readyAllowance, pokud nechcete, aby zdroj nebo dřez získaly výhodutage této funkce.
Specifikace rozhraní Avalon® 44
Odeslat zpětnou vazbu
5. Avalon Streaming Interfaces 683091 | 2022.01.24
Obrázek 21. Typický datový zdroj signálů rozhraní Avalon-ST
platný datový chybový kanál
Data Sink připraven
Další podrobnosti o těchto signálech:
· Ready-On rozhraní podporující zpětný tlak, dřez prohlašuje, že je připraven označit cykly, kde mohou probíhat přenosy. Je-li připraveno, je potvrzeno v cyklu , cyklus je považován za připravený cyklus.
· valid – Platný signál kvalifikuje platná data v jakémkoli cyklu s přenosem dat ze zdroje do jímky. Při každém platném cyklu se dřez sampbez datového signálu a dalších zdrojů k pohlcování signálů.
· data – Datový signál nese většinu informací přenášených ze zdroje do jímky. Datový signál se skládá z jednoho nebo více symbolů přenášených v každém hodinovém cyklu. Parametr dataBitsPerSymbol definuje, jak je datový signál rozdělen na symboly.
· chyba – V chybovém signálu každý bit odpovídá možnému chybovému stavu. Hodnota 0 u libovolného cyklu označuje bezchybná data v tomto cyklu. Tato specifikace nedefinuje akci, kterou komponenta provede, když je zjištěna chyba.
· kanál – Zdroj řídí volitelný kanálový signál, který označuje, ke kterému kanálu data patří. Význam kanálu pro dané rozhraní závisí na aplikaci. V některých aplikacích kanál označuje číslo rozhraní. V jiných aplikacích kanál označuje číslo stránky nebo časový úsek. Když je použit kanálový signál, všechna data přenesená v každém aktivním cyklu patří do stejného kanálu. Zdroj se může v po sobě jdoucích aktivních cyklech změnit na jiný kanál.
Rozhraní, která používají signál kanálu, musí definovat parametr maxChannel k označení maximálního čísla kanálu. Pokud se počet kanálů, které rozhraní podporuje, dynamicky mění, udává maxChannel maximální počet, který může rozhraní podporovat.
5.7. Rozložení dat
Obrázek 22.
Datové symboly
Následující obrázek ukazuje 64bitový datový signál s dataBitsPerSymbol=16. Symbol 0 je nejvíce
významný symbol.
63
48 47 32 31 16 15
0
symbol 0 symbol 1 symbol 2 symbol 3
Rozhraní Avalon Streaming podporuje režimy big-endian i little-endian. Obrázek níže je example režimu big-endian, kde Symbol 0 je v bitech vyššího řádu.
Odeslat zpětnou vazbu
Specifikace rozhraní Avalon® 45
5. Avalon Streaming Interfaces 683091 | 2022.01.24
Obrázek 23.
Rozložení dat
Časový diagram na následujícím obrázku ukazuje 32bitový example kde dataBitsPerSymbol=8 a beatsPerCycle=1.
clk
připraveno
platný
chyba kanálu
data[31:24] data[23:16] data[15:8]
data[7:0]
D0
D4
D1
D5
D2
D6
D3
D7
D8
DC
D10
D9
DD
D11
DA DE
D12
DB DF
D13
5.8. Přenos dat bez protitlaku
Přenos dat bez protitlaku je nejzákladnější z datových přenosů Avalon-ST. V libovolném časovém cyklu zdrojové rozhraní řídí data a volitelný kanál a chybové signály a potvrzuje platnost. Rozhraní dřezu samples tyto signály na náběžné hraně referenčních hodin, pokud jsou platné.
Obrázek 24.
Přenos dat bez protitlaku
clk platné
údaje o chybě kanálu
D0 D1
D2 D3
5.9. Přenos dat s protitlakem
Umyvadlo prohlásí, že je připraveno na jeden cyklus hodin, což znamená, že je připraveno na aktivní cyklus. Pokud je jímka připravena pro data, je cyklus připraveným cyklem. Během cyklu připravenosti může zdroj potvrdit platnost a poskytnout data do jímky. Pokud zdroj nemá žádná data k odeslání, zdroj zruší platnost a může řídit data na libovolnou hodnotu.
Rozhraní, která podporují zpětný tlak, definují parametr readyLatency k označení počtu cyklů od okamžiku, kdy je uplatněna připravenost, do doby, kdy lze řídit platná data. Pokud je readyLatency nenulová, cyklujte je připravený cyklus, pokud je v cyklu potvrzeno připraveno .
Když readyLatency = 0, dojde k přenosu dat pouze tehdy, když jsou ve stejném cyklu uplatněna připravenost a platnost. V tomto režimu zdroj nepřijímá signál připravenosti umyvadla před odesláním platných dat. Zdroj poskytuje data a tvrdí, že jsou platná, kdykoli má zdroj platná data. Zdroj čeká, až jímka zachytí data a bude připravena. Zdroj může data kdykoli změnit. Umyvadlo pouze zachycuje vstupní data ze zdroje, když jsou potvrzena připravenost a platnost.
Specifikace rozhraní Avalon® 46
Odeslat zpětnou vazbu
5. Avalon Streaming Interfaces 683091 | 2022.01.24
Je-li latence připravenosti >= 1, umyvadlo prohlásí připravenost před samotným cyklem připravenosti. Zdroj může reagovat během příslušného následného cyklu potvrzením platnosti. Zdroj nemusí být platný během cyklů, které nejsou cykly připravenosti.
readyAllowance definuje počet přenosů, které může dřez zachytit, když je připravenost zrušena. Je-li readyAllowance = 0, dřez nemůže přijímat žádné převody poté, co je připraveno deaktivováno. Pokud je připravenPovolení = kde n > 0, dřez může přijmout až převody po připravení je zrušeno.
5.9.1. Přenosy dat pomocí readyLatency a readyAllowance
Při přenosu dat s readyLatency a readyAllowance platí následující pravidla.
· Pokud je readyLatency 0, readyAllowance může být větší nebo rovna 0.
· Pokud je readyLatency větší než 0, readyAllowance může být větší nebo rovno readyLatency.
Je-li readyLatency = 0 a readyAllowance = 0, dojde k datovým přenosům pouze v případě, že je potvrzeno, že jsou připraveny i platné. V tomto případě zdroj nepřijme signál připravenosti jímky před odesláním platných dat. Zdroj poskytuje data a tvrzení platná, kdykoli je to možné. Zdroj čeká, až jímka zachytí data a bude připravena. Zdroj může data kdykoli změnit. Umyvadlo pouze zachycuje vstupní data ze zdroje, když jsou potvrzena připravenost a platnost.
Obrázek 25. readyLatency = 0, readyAllowance = 0
Když readyLatency = 0 a readyAllowance = 0, zdroj může být platný kdykoli. Sink zachycuje data ze zdroje, pouze když je připraven = 1.
Následující obrázek ukazuje tyto události: 1. V cyklu 1 zdroj poskytuje data a potvrzuje platnost. 2. V cyklu 2 se umyvadlo potvrdí připravenost a D0 se přenese. 3. V cyklu 3 přenáší D1. 4. V cyklu 4 se jímka prohlásí, že je připravena, ale zdroj neřídí platná data. 5. Zdroj poskytuje data a tvrzení platná pro cyklus 6. 6. V cyklu 8 je jímka připravena, takže D2 přenáší. 7. D3 přenáší v cyklu 9 a D4 přenáší v cyklu 10.
0 1 2 3 4 5 6 7 8 9 10 11 12 13 clk0
připraveno
platný
data
D0 D1
D2
D3 D4
D5
Odeslat zpětnou vazbu
Specifikace rozhraní Avalon® 47
5. Avalon Streaming Interfaces 683091 | 2022.01.24
Obrázek 26. readyLatency = 0, readyAllowance = 1
Když readyLatency = 0 a readyAllowance = 1, může umyvadlo zachytit ještě jeden přenos dat po ready = 0.
Následující obrázek ukazuje tyto události: 1. V cyklu 1 zdroj poskytuje data a potvrzení jsou platná, zatímco sink je připraven. D0 převody. 2. D1 se přenese v cyklu 2. 3. V cyklu 3 se ready deaktivuje, ale protože readyAllowance = 1 je povolen ještě jeden přenos, takže D2
převody. 4. V cyklu 5 platné i připravené tvrzení, takže D3 se přenese. 5. V cyklu 6 zdroj zruší platnost, takže nedojde k žádnému přenosu dat. 6. V cyklu 7 platí platná tvrzení a připravená zrušení, ale protože readyAllowance = 1, ještě jeden převod
je povoleno, takže převody D4.
0 1 2 3 4 5 6 7 8 9 10 11 12 13 clk0
připraveno
platný
data
D0 D1 D2
D3
D4
D5 D6
D7
Obrázek 27. readyLatency = 1, readyAllowance = 2
Když je readyLatency = 1 a readyAllowance = 2, může jímka přenášet data jeden cyklus po potvrzení připravenosti a další dva cykly přenosu jsou povoleny po potvrzení připravenosti.
Následující obrázek ukazuje tyto události: 1. V cyklu 0 se umyvadlo potvrdí připravenost. 2. V cyklu 1 zdroj poskytuje data a tvrdí, že jsou platná. K přenosu dojde okamžitě. 3. V cyklu 3 se dřez deaktivuje připravený, ale zdroj stále tvrdí, že je platný a řídí platná data
protože dřez může zachytit data dva cykly po připravených deassers. 4. V cyklu 6 se dřez prohlašuje za připravený. 5. V cyklu 7 zdroj poskytuje data a tvrdí, že jsou platná. Tyto údaje jsou akceptovány. 6. V cyklu 10 je dřez deaktivován připraven, ale zdroj tvrdí, že jsou platná a řídí platná data, protože
dřez může zachytit data dva cykly po připravených deassers.
0 1 2 3 4 5 6 7 8 9 10 11 12 13 clk0
připraveno
platný
data
D0 D1 D2 D3
D4 D5
D6 D7
Požadavky na přizpůsobení Následující tabulka popisuje, zda rozhraní zdroje a jímky vyžadují přizpůsobení.
Specifikace rozhraní Avalon® 48
Odeslat zpětnou vazbu
5. Avalon Streaming Interfaces 683091 | 2022.01.24
Tabulka 19. Požadavky na přizpůsobení zdroje/dřezu
readyLatency
readyAllowance
Přizpůsobování
Source readyLatency = Sink Source readyAllowance =
readyLatency
Umyvadlo připravenoPovolení
Není nutná žádná úprava: Dřez dokáže zachytit všechny přesuny.
Zdroj readyAllowance > Sink readyAllowance
Požadovaná adaptace: Po deaktivaci připravenosti může zdroj odeslat více přenosů, než může dřez zachytit.
Zdroj readyAllowance < Sink readyAllowance
Nevyžaduje žádné přizpůsobení: Po deaktivaci připravenosti může dřez zachytit více přenosů, než může zdroj odeslat.
Source readyLatency > Sink Source readyAllowance =
readyLatency
Umyvadlo připravenoPovolení
Není nutná žádná adaptace: Po potvrzení připravenosti začne zdroj vysílat později, než může jímka zachytit. Poté, co je připraveno deaktivováno, může zdroj odeslat tolik přenosů, kolik může dřez zachytit.
Zdroj readyAllowance> Sink readyAllowance
Požadovaná adaptace: Po deaktivaci připravenosti může zdroj odeslat více přenosů, než může dřez zachytit.
Zdroj readyAllowance< Sink readyAllowance
Nevyžaduje se žádná adaptace: Po deaktivaci připravenosti odešle zdroj méně přenosů, než může dřez zachytit.
Zdroj readyLatency < SinkreadyLatency
Zdroj readyAllowance = Sink readyAllowance
Potřebná adaptace: Zdroj může začít odesílat přenosy dříve, než se potopa může zachytit.
Zdroj readyAllowance> Sink readyAllowance
Potřebná adaptace: Zdroj může začít odesílat přenosy dříve, než ji může zachytit. Také po deaktivaci připravenosti může zdroj odeslat více přenosů, než může umyvadlo zachytit.
Zdroj readyAllowance < Sink readyAllowance
Požadovaná adaptace: Zdroj může začít odesílat přenosy dříve, než se jímka může zachytit.
5.9.2. Přenosy dat pomocí readyLatency
Pokud zdroj nebo jímka neurčují hodnotu pro readyAllowance, pak readyAllowance= readyLatency. Návrhy, které používají zdroj a dřez, nevyžadují přidání readyAllowance, pokud nechcete, aby zdroj nebo dřez získaly výhodutage této funkce.
Odeslat zpětnou vazbu
Specifikace rozhraní Avalon® 49
5. Avalon Streaming Interfaces 683091 | 2022.01.24
Obrázek 28.
Přenos s protitlakem, readyLatency=0
Následující obrázek ilustruje tyto události:
1. Zdroj poskytuje data a tvrzení platná pro cyklus 1, i když jímka není připravena.
2. Zdroj čeká na cyklus 2, kdy je jímka připravena, než přejde na další datový cyklus.
3. V cyklu 3 zdroj řídí data ve stejném cyklu a jímka je připravena přijímat data. K přenosu dojde okamžitě.
4. V cyklu 4 se jímka prohlásí, že je připravena, ale zdroj neřídí platná data.
012345678 clk
připraveno
platný
kanál
chyba
data
D0 D1
D2 D3
Obrázek 29.
Přenos s protitlakem, readyLatency=1
Následující obrázky ukazují datové přenosy s readyLatency=1 a readyLatency=2. V obou těchto případech je před cyklem připravenosti potvrzeno připraveno a zdroj odpoví o 1 nebo 2 cykly později poskytnutím dat a potvrzením platnosti. Když readyLatency není 0, zdroj musí zrušit platnost platnosti v cyklech, které nejsou připraveny.
clk
připraveno
platný
kanál
chyba
data
D0 D1
D2 D3 D4
D5
Obrázek 30.
Přenos s protitlakem, readyLatency=2
clk
připraveno
platný
kanál
chyba
data
D0 D1
D2 D3
5.10. Paketové datové přenosy
Vlastnost přenosu paketů přidává podporu pro přenos paketů ze zdrojového rozhraní do rozhraní jímky. Pro realizaci přenosu paketů jsou definovány tři další signály. Rozhraní zdroje i jímky musí obsahovat tyto dodatečné signály pro podporu paketů. Můžete připojit pouze rozhraní zdroje a jímky
Specifikace rozhraní Avalon® 50
Odeslat zpětnou vazbu
5. Avalon Streaming Interfaces 683091 | 2022.01.24
odpovídající vlastnosti paketu. Platform Designer automaticky nepřidává signály startofpacket , endofpacket a empty do zdrojových nebo sinkových rozhraní, která tyto signály neobsahují.
Obrázek 31. Zdroj dat signálů paketového rozhraní Avalon-ST
Data Sink
připraveno
platný
datový chybový kanál Startofpacket
endofpacket prázdný
5.11. Podrobnosti signálu
· startofpacket – Všechna rozhraní podporující přenos paketů vyžadují signál startofpacket. startofpacket označuje aktivní cyklus obsahující začátek paketu. Tento signál je interpretován pouze tehdy, je-li potvrzena platnost.
· endofpacket – Všechna rozhraní podporující přenos paketů vyžadují signál endofpacket. endofpacket označuje aktivní cyklus obsahující konec paketu. Tento signál je interpretován pouze tehdy, je-li potvrzena platnost. startofpacket a endofpacket lze uplatnit ve stejném cyklu. Mezi pakety nejsou vyžadovány žádné cykly nečinnosti. Signál zahájení paketu může následovat bezprostředně po předchozím signálu konce paketu.
· empty – Volitelný prázdný signál udává počet symbolů, které jsou prázdné během cyklu konce paketů. Sink kontroluje hodnotu prázdné pouze během aktivních cyklů, které mají uplatněný endofpacket. Prázdné symboly jsou vždy poslední symboly v datech, ty nesené bity nižšího řádu, když firstSymbolInHighOrderBits = true. Prázdný signál je vyžadován na všech paketových rozhraních, jejichž datový signál nese více než jeden symbol dat a mají formát paketů s proměnnou délkou. Velikost prázdného signálu v bitech je ceil[log2( )].
Odeslat zpětnou vazbu
Specifikace rozhraní Avalon® 51
5. Avalon Streaming Interfaces 683091 | 2022.01.24
5.12. Podrobnosti protokolu
Přenos paketových dat se řídí stejným protokolem jako typický přenos dat s přidáním startofpacket, endofpacket a empty.
Obrázek 32.
Přenos paketů
Následující obrázek ilustruje přenos 17bajtového paketu ze zdrojového rozhraní do rozhraní jímky, kde readyLatency=0. Tento časový diagram ilustruje následující události:
1. Přenos dat probíhá v cyklech 1, 2, 4, 5 a 6, kdy je potvrzeno připravenost i platnost.
2. Během cyklu 1 je potvrzen startofpacket. Přenesou se první 4 bajty paketu.
3. Během cyklu 6 je uplatněn endofpacket. empty má hodnotu 3. Tato hodnota označuje, že toto je konec paketu a že 3 ze 4 symbolů jsou prázdné. V cyklu 6, bajt vyššího řádu, data[31:24] řídí platná data.
1234567 clk
připraveno
platný
Startofpacket
endofpacket
prázdný
3
kanál
00
000
chyba
00
000
data[31:24]
D0 D4
D8 D12 D16
data[23:16]
D1 D5
D9 D13
data[15:8]
D2 D6
D10 D14
data[7:0]
D3 D7
D11 D15
Specifikace rozhraní Avalon® 52
Odeslat zpětnou vazbu
683091 | 2022.01.24 Odeslat zpětnou vazbu
6. Avalon Streaming Credit Interface
Rozhraní Avalon Streaming Credit jsou určena pro použití s komponentami, které řídí jednosměrná data s vysokou šířkou pásma, nízkou latencí. Typické aplikace zahrnují multiplexované toky, pakety a data DSP. Signály rozhraní Avalon Streaming Credit mohou popisovat tradiční streamovací rozhraní podporující jeden tok dat bez znalosti kanálů nebo hranic paketů. Rozhraní může také podporovat složitější protokoly schopné shlukového a paketového přenosu s pakety prokládanými přes více kanálů.
Všechna rozhraní zdroje a jímky Avalon Streaming Credit nemusí být nutně interoperabilní. Pokud však dvě rozhraní poskytují kompatibilní funkce pro stejný aplikační prostor, jsou k dispozici adaptéry, které jim umožní vzájemnou spolupráci.
Zdroj Avalon Streaming Credit můžete také připojit k jímce Avalon Streaming prostřednictvím adaptéru. Podobně můžete připojit zdroj Avalon Streaming k jímce Avalon Streaming Credit prostřednictvím adaptéru.
Rozhraní Avalon Streaming Credit podporují datové cesty vyžadující následující funkce:
· Přenos dat bod-bod s nízkou latencí a vysokou propustností
· Podpora více kanálů s flexibilním prokládáním paketů
· Postranní pásmová signalizace kanálu, chyby a začátku a konce vymezování paketů
· Podpora pro prasknutí dat
· Uživatelské signály jako signály postranního pásma pro funkce definované uživateli
6.1. Termíny a koncepty
Protokol rozhraní Avalon Streaming Credit definuje následující termíny a koncepty:
· Avalon Streaming Credit System – Avalon Streaming Credit systém obsahuje jedno nebo více připojení Avalon Streaming Credit, která přenášejí data ze zdrojového rozhraní do sběrného rozhraní.
· Komponenty Avalon Streaming Credit Components – Typický systém využívající rozhraní Avalon Streaming kombinuje více funkčních modulů, nazývaných komponenty. Návrhář systému konfiguruje komponenty a spojuje je dohromady, aby implementoval systém.
· Rozhraní a připojení zdroje a jímky – Když jsou spojeny dvě součásti, kredity tečou z jímky do zdroje; a data proudí ze zdrojového rozhraní do rozhraní jímky. Kombinace rozhraní zdroje připojeného k rozhraní jímky se nazývá připojení.
· Přenosy – Výsledkem přenosu je šíření dat a řízení ze zdrojového rozhraní do rozhraní jímky. U datových rozhraní může zdroj zahájit přenos dat pouze v případě, že má k dispozici kredity. Podobně může jímka přijímat data pouze v případě, že má nevyřízené kredity.
Intel Corporation. Všechna práva vyhrazena. Intel, logo Intel a další značky Intel jsou ochranné známky společnosti Intel Corporation nebo jejích dceřiných společností. Společnost Intel zaručuje výkon svých FPGA a polovodičových produktů podle aktuálních specifikací v souladu se standardní zárukou společnosti Intel, ale vyhrazuje si právo provádět změny jakýchkoli produktů a služeb kdykoli bez upozornění. Společnost Intel nepřebírá žádnou odpovědnost nebo závazky vyplývající z aplikace nebo použití jakýchkoli informací, produktů nebo služeb popsaných v tomto dokumentu, pokud to není výslovně písemně odsouhlaseno společností Intel. Zákazníkům společnosti Intel se doporučuje získat nejnovější verzi specifikací zařízení dříve, než se budou spoléhat na jakékoli zveřejněné informace a než zadají objednávky na produkty nebo služby. *Jiná jména a značky mohou být nárokovány jako vlastnictví jiných.
ISO 9001: 2015 Registrováno
6. Avalon Streaming Credit Interfaces 683091 | 2022.01.24
· Symbol – Symbol je nejmenší jednotka dat. Jeden nebo více symbolů tvoří jedinou jednotku dat přenášených v cyklu.
· Beat–doba je jednocyklový přenos mezi rozhraním zdroje a umyvadla, který se skládá z jednoho nebo více symbolů.
· Paket – Paket je agregací dat a řídicích signálů, které jsou přenášeny společně. Paket může obsahovat hlavičku, která pomáhá směrovačům a dalším síťovým zařízením směrovat paket do správného cíle. Formát paketu je definován aplikací, nikoli touto specifikací. Pakety Avalon Streaming mohou mít proměnnou délku a lze je prokládat přes spojení. S rozhraním Avalon Streaming Credit je použití paketů volitelné.
6.2. Role signálu Avalon Streaming Credit Interface
Každý signál ve zdroji nebo rozhraní sběrnice Avalon Streaming Credit odpovídá jedné roli signálu Avalon Streaming Credit. Rozhraní Avalon Streaming Credit může obsahovat pouze jednu instanci každé signální role. Všechny role signálu Avalon Streaming Credit platí pro zdroje i propady a mají pro oba stejný význam.
Tabulka 20. Signály rozhraní Avalon Streaming Credit Interface
Název signálu
Směr
aktualizovat
Potopit se
1
zdroj
Šířka
kredit
Potopit se
1-9
zdroj
Volitelné / povinné
Popis
Požadovaný
Sink odešle aktualizaci a aktualizaci zdroje počítadla dostupných kreditů. Sink odešle aktualizaci do zdroje, když je transakce vytažena z vyrovnávací paměti.
Kreditní počítadlo ve zdroji se zvyšuje o hodnotu na kreditní sběrnici od umyvadla ke zdroji.
Požadovaný
Označuje dodatečný kredit, který je k dispozici na umyvadle, když je požadována aktualizace.
Tato sběrnice nese hodnotu určenou jímkou. Šířka kreditní sběrnice je ceilog2 (MAX_CREDIT + 1). Sink posílá na tuto sběrnici dostupnou hodnotu kreditu, která udává počet transakcí, které může přijmout. Zdroj zachycuje kreditní hodnotu
pouze pokud je aktivován aktualizační signál.
return_credit Zdroj do 1 umyvadla
údaje platné
chyba
Zdroj k potopení
Zdroj k potopení
1-8192 1
Zdroj k potopení
1-256
Povinné Povinné Povinné Volitelné
Zdroj požaduje vrácení 1 kreditu zpět do umyvadla.
Poznámka: Další podrobnosti naleznete v části 6.2.3 Vrácení kreditů.
Data jsou rozdělena do symbolů podle stávající definice Avalon Streaming.
Vyžadováno zdrojem pro kvalifikaci všech ostatních zdrojů k pohlcení signálů. Zdroj může být platný pouze tehdy, když je kredit, který má k dispozici, větší než 0.
Bitová maska používaná k označení chyb ovlivňujících data přenášená v aktuálním cyklu. Pro každou z chyb rozpoznávaných komponentou se používá jeden chybný bit, jak je definováno vlastností errorDescriptor.
pokračování…
Specifikace rozhraní Avalon® 54
Odeslat zpětnou vazbu
6. Avalon Streaming Credit Interfaces 683091 | 2022.01.24
Název kanálu kanálu
startofpacket endofpacket prázdný
Směr Zdroj k dřezu
Zdroj potopit Zdroj potopit Zdroj potopit
Zdroj k potopení
Zdroj k potopení
Šířka
Volitelné / povinné
Popis
1-128
Volitelný
Číslo kanálu pro data přenášená v aktuálním cyklu.
Pokud rozhraní podporuje kanálový signál, musí také definovat parametr maxChannel.
Signály přenosu paketů
1
Volitelný
Uváděno zdrojem pro označení začátku
balíčku.
1
Volitelný
Uváděno zdrojem k označení konce
balíček.
ceil(log2(NUM_SYMBOLS)) Volitelné
Označuje počet symbolů, které jsou prázdné, to znamená, že nepředstavují platná data. Prázdný signál se nepoužívá na rozhraních, kde je jeden symbol na dobu.
Uživatelské signály
1-8192
Volitelný
Na rozhraní zdroje a jímky může být přítomen libovolný počet uživatelských signálů na paket. Zdroj nastavuje hodnotu tohoto signálu, když
je potvrzen startofpacket. Zdroj by neměl měnit hodnotu tohoto signálu až do začátku nového paketu. Další podrobnosti jsou v sekci Uživatelský signál.
1-8192
Volitelný
Na zdroji a jímce může být přítomen libovolný počet uživatelských signálů pro každý symbol. Další podrobnosti jsou v sekci Uživatelský signál.
6.2.1. Synchronní rozhraní
Všechny přenosy spojení Avalon Streaming probíhají synchronně s náběžnou hranou přidruženého hodinového signálu. Všechny výstupy ze zdrojového rozhraní do sink rozhraní,
včetně dat, kanálů a chybových signálů, musí být registrovány na vzestupné hraně hodin. Vstupy do rozhraní jímky nemusí být registrovány. Registrace signálů u zdroje usnadňuje vysokofrekvenční provoz.
Tabulka 21. Vlastnosti Avalon Streaming Credit Interface
Název vlastnosti
Výchozí hodnota
Právní hodnota
Popis
přidružené hodiny
1
Hodiny
Název rozhraní Avalon Clock, ke kterému toto
rozhraní
Rozhraní Avalon Streaming je synchronní.
souvisejícíReset
1
Resetovat
Název rozhraní Avalon Reset, ke kterému toto
rozhraní
Rozhraní Avalon Streaming je synchronní.
dataBitsPerSymbolsymbolsPerBeat
8
1 8192
Definuje počet bitů na symbol. Napřample,
bajtově orientovaná rozhraní mají 8bitové symboly. Tato hodnota je
neomezeno na mocninu 2.
1
1 8192
Počet symbolů, které jsou přeneseny na každý
platný cyklus.
maxKredit
256
1-256
Maximální počet kreditů, které může datové rozhraní podporovat.
pokračování…
Odeslat zpětnou vazbu
Specifikace rozhraní Avalon® 55
6. Avalon Streaming Credit Interfaces 683091 | 2022.01.24
Název vlastnosti errorDescriptor
Výchozí hodnota
0
firstSymbolInHighOrderBits true
maxChannel
0
Právní hodnota
Popis
Seznam řetězců
Seznam slov, která popisují chybu související s každým bitem chybového signálu. Délka seznamu musí být stejná jako počet bitů v chybovém signálu. První slovo v seznamu platí pro bit nejvyššího řádu. Napřample, „crc, overflow“ znamená, že bit[1] chyby indikuje chybu CRC. Bit[0] označuje chybu přetečení.
pravda, nepravda
Když je true, je symbol prvního řádu řízen do nejvýznamnějších bitů datového rozhraní. Symbol nejvyššího řádu je v této specifikaci označen jako D0. Když je tato vlastnost nastavena na false, objeví se první symbol na nízkých bitech. D0 se objeví u data[7:0]. U 32bitové sběrnice, pokud je true, se na bitech objeví D0[31:24].
0
Maximální počet kanálů, které datové rozhraní
může podporovat.
6.2.2. Typické datové přenosy
Tato část definuje přenos dat ze zdrojového rozhraní do rozhraní jímky. Ve všech případech musí zdroj dat a jímka dat odpovídat specifikaci. Není odpovědností datové jímky detekovat chyby zdrojového protokolu.
Níže uvedený obrázek ukazuje signály, které se obvykle používají v rozhraní Avalon Streaming Credit.
Obrázek 33. Typické kreditní signály Avalon Streaming
Jak ukazuje tento obrázek, typické rozhraní zdroje Avalon Streaming Credit přenáší platné, datové, chybové a kanálové signály do jímky. Umyvadlo řídí aktualizační a kreditní signály.
Specifikace rozhraní Avalon® 56
Odeslat zpětnou vazbu
6. Avalon Streaming Credit Interfaces 683091 | 2022.01.24
Obrázek 34. Typický kredit a přenos dat
Výše uvedený obrázek ukazuje typický přenos kreditu a dat mezi zdrojem a jímkou. Mezi dřezem, který požaduje aktualizaci, a zdrojem, který aktualizaci obdrží, může být libovolné zpoždění. Podobně může existovat libovolné zpoždění mezi potvrzením zdroje platným pro data a jímkou, která tato data přijme. Zpoždění na cestě kreditu od jímky ke zdroji a cesta dat od zdroje ke jímce nemusí být stejné. Tato zpoždění mohou být také 0 cyklu, tj. když umyvadlo požaduje aktualizaci, je to vidět zdrojem ve stejném cyklu. A naopak, když zdroj tvrdí, že je platný, je vidět umyvadlem ve stejném cyklu. Pokud má zdroj nula kreditů, nemůže být platný. Převedené kredity se sčítají. Pokud sink převedl kredity rovnající se jeho vlastnosti maxCredit a neobdržel žádná data, nemůže provést aktualizaci, dokud neobdrží alespoň 1 data nebo neobdrží impuls return_credit ze zdroje.
Sink nemůže zatlačit data ze zdroje, pokud sink zdroji poskytl kredity, tj. sink musí přijmout data ze zdroje, pokud existují zbývající kredity. Zdroj nemůže být platný, pokud neobdržel žádný kredit nebo vyčerpal přijaté kredity, tj. již odeslal data místo přijatých kreditů.
Pokud má zdroj nula kreditů, zdroj nemůže zahájit přenos dat ve stejném cyklu, ve kterém kredity obdrží. Podobně, pokud sink převedl kredity rovnající se jeho vlastnosti maxCredit a přijímá data, nemůže sink odeslat aktualizaci ve stejném cyklu, v jakém přijal data. Tato omezení byla zavedena, aby se zabránilo kombinačním smyčkám při implementaci.
6.2.3. Vrácení kreditů
Protokol Avalon Streaming Credit podporuje signál return_credit. Toto používá zdroj k vrácení kreditů zpět do umyvadla. Každý cyklus je aktivován tento signál, což znamená, že zdroj vrací 1 kredit. Pokud chce zdroj vrátit více kreditů, musí být tento signál aktivován po více cyklů. NapřampPokud chce zdroj vrátit 10 zbývajících kreditů, aktivuje signál return_credit po dobu 10 cyklů. Sink by měl zaúčtovat vrácené kredity ve svých interních počítadlech údržby kreditu. Kredity lze kdykoli vrátit podle zdroje, pokud má kredity větší než 0.
Níže uvedený obrázek ilustruje zdroj vracejících kreditů. Jak je znázorněno na obrázku, nesplacený_kredit je interní počítadlo zdroje. Když zdroj vrátí kredity, toto počítadlo se sníží.
Odeslat zpětnou vazbu
Specifikace rozhraní Avalon® 57
Obrázek 35. Zdroj vracení kreditů
6. Avalon Streaming Credit Interfaces 683091 | 2022.01.24
Poznámka:
Ačkoli výše uvedený diagram ukazuje vracení kreditů, když je zrušeno potvrzení platnosti, return_credit lze uplatnit i při potvrzení platnosti. V tomto případě zdroj efektivně utratí 2 kredity: jeden za platný a jeden za return_credit.
6.3. Uživatelské signály Avalon Streaming Credit
Uživatelské signály jsou volitelné signály postranního pásma, které proudí spolu s daty. Jsou považovány za platné pouze tehdy, když jsou data platná. Vzhledem k tomu, že uživatelské signály nemají žádný definovaný význam nebo účel, je třeba při používání těchto signálů postupovat opatrně. Je odpovědností projektanta systému zajistit, aby se dvě vzájemně propojené IP adresy shodovaly na rolích uživatelských signálů.
Navrhují se dva typy uživatelských signálů: uživatelské signály na symbol a uživatelské signály na paket.
6.3.1. Uživatelský signál na symbol
Jak název napovídá, data definují uživatelský signál na symbol (symbol_user) na symbol. Každý symbol v datech může mít uživatelský signál. Napřample, pokud je počet symbolů v datech 8 a šířka uživatele symbolu je 2 bity, celková šířka signálu uživatele symbolu je 16 bitů.
Symbol_user je platný pouze tehdy, když jsou platná data. Zdroj může tento signál změnit každý cyklus, když jsou data platná. Sink může ignorovat hodnotu bitů symbol_user pro prázdné symboly.
Pokud je zdroj, který má tento signál, připojen k jímce, která tento signál na svém rozhraní nemá, signál ze zdroje zůstává viset v generovaném propojení.
Pokud je zdroj, který nemá tento signál, připojen ke sběrnici, která má tento signál na svém rozhraní, je vstupní uživatelský signál sběrače shodný s 0.
Pokud mají zdroj i jímka stejný počet symbolů v datech, pak uživatelské signály pro oba musí mít stejnou šířku. V opačném případě je nelze připojit.
Specifikace rozhraní Avalon® 58
Odeslat zpětnou vazbu
6. Avalon Streaming Credit Interface
683091 2022.01.24 XNUMX | XNUMX XNUMX XNUMX
Pokud je široký zdroj připojen k úzkému umyvadlu a oba mají uživatelské signály pro každý symbol, pak oba musí mít stejné bity uživatelského signálu spojené s každým symbolem. NapřampPokud má 16-symbolový zdroj 2 bity uživatelského signálu spojené s každým symbolem (celkem 32 bitů uživatelského signálu), pak 4-symbolový sink musí mít 8-bitový široký uživatelský signál (2 bity spojené s každý symbol). Adaptér datového formátu dokáže převést 16-symbolová zdrojová data na 4-symbolová sink data a 32bitový uživatelský signál na 8bitový uživatelský signál. Adaptér formátu dat udržuje asociaci symbolů s odpovídajícími bity uživatelského signálu.
Podobně, pokud je úzký zdroj připojen k široké jímce a oba mají uživatelské signály pro každý symbol, pak oba musí mít stejné bity uživatelského signálu spojené s každým symbolem. NapřampPokud má 4-symbolový zdroj 2 bity uživatelského signálu spojené s každým symbolem (celkem 8 bitů uživatelského signálu), pak 16-symbolový sink musí mít 32-bitový široký uživatelský signál (2 bity spojené s každý symbol). Adaptér datového formátu dokáže převést 4-symbolová zdrojová data na 16-symbolová sink data a 8bitový uživatelský signál na 32bitový uživatelský signál. Adaptér formátu dat udržuje asociaci symbolů s odpovídajícími bity uživatelského signálu. Pokud je paket menší než poměr šířek dat, nastaví adaptér formátu dat hodnotu prázdné. Sink by měl ignorovat hodnotu uživatelských bitů spojených s prázdnými symboly.
6.3.2. Uživatelský signál na paket
Kromě symbol_user mohou být na rozhraní deklarovány také uživatelské signály pro jednotlivé pakety (packet_user). Packet_user může mít libovolnou šířku. Na rozdíl od symbol_user musí packet_user zůstat v celém paketu konstantní, tj. jeho hodnota by měla být nastavena na začátku paketu a musí zůstat stejná až do konce paketu. Toto omezení zjednodušuje implementaci adaptéru datového formátu, protože eliminuje možnost replikace nebo sekání (široký zdroj, úzká jímka) nebo zřetězení (úzký zdroj, široká jímka) packet_user.
Pokud má zdroj packet_user a sink ne, paket_user ze zdroje zůstává viset. V takovém případě musí být projektant systému opatrný a nepřenášet žádné kritické řídicí informace o tomto signálu, protože je zcela nebo částečně ignorován.
Pokud zdroj nemá packet_user a jímka ano, paket_user k jímce je vázán na 0.
Odeslat zpětnou vazbu
Specifikace rozhraní Avalon® 59
683091 | 2022.01.24 Odeslat zpětnou vazbu
7. Rozhraní Avalon Conduit
Poznámka:
Rozhraní Avalon Conduit seskupují libovolnou kolekci signálů. Pro signály vedení můžete zadat libovolnou roli. Když však spojujete vedení, role a šířky se musí shodovat a směry musí být opačné. Rozhraní Avalon Conduit může zahrnovat vstupní, výstupní a obousměrné signály. Modul může mít více rozhraní Avalon Conduit pro zajištění logického seskupení signálů. Rozhraní vedení mohou deklarovat přidružené hodiny. Pokud jsou připojená rozhraní vedení v různých doménách hodin, Platform Designer vygeneruje chybovou zprávu.
Pokud je to možné, měli byste místo vytváření rozhraní Avalon Conduit použít standardní rozhraní Avalon-MM nebo Avalon-ST. Platform Designer poskytuje ověření a přizpůsobení pro tato rozhraní. Platform Designer nemůže poskytnout ověření nebo přizpůsobení pro rozhraní Avalon Conduit.
Rozhraní vedení obvykle používané k řízení signálů zařízení mimo čip, jako je adresa SDRAM, datové a řídicí signály.
Intel Corporation. Všechna práva vyhrazena. Intel, logo Intel a další značky Intel jsou ochranné známky společnosti Intel Corporation nebo jejích dceřiných společností. Společnost Intel zaručuje výkon svých FPGA a polovodičových produktů podle aktuálních specifikací v souladu se standardní zárukou společnosti Intel, ale vyhrazuje si právo provádět změny jakýchkoli produktů a služeb kdykoli bez upozornění. Společnost Intel nepřebírá žádnou odpovědnost nebo závazky vyplývající z aplikace nebo použití jakýchkoli informací, produktů nebo služeb popsaných v tomto dokumentu, pokud to není výslovně písemně odsouhlaseno společností Intel. Zákazníkům společnosti Intel se doporučuje získat nejnovější verzi specifikací zařízení dříve, než se budou spoléhat na jakékoli zveřejněné informace a než zadají objednávky na produkty nebo služby. *Jiná jména a značky mohou být nárokovány jako vlastnictví jiných.
ISO 9001: 2015 Registrováno
7. Rozhraní Avalon Conduit 683091 | 2022.01.24
Obrázek 36. Zaměřte se na rozhraní vedení
Ethernetový PHY
Systém Avalon-MM
Procesor Avalon-MM
Hostitel
Ethernet MAC
Hostitel Avalon-MM
Vlastní logika
Hostitel Avalon-MM
System Interconnect Fabric
Avalon-MM agent
Ovladač SDRAM
Avalon agent
Vlastní logika
Rozhraní vedení
Paměť SDRAM
7.
Dokumenty / zdroje
![]() |
Rozhraní intel MNL-AVABUSREF Avalon [pdfUživatelská příručka MNL-AVABUSREF, rozhraní Avalon, MNL-AVABUSREF rozhraní Avalon |