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

Reference

Zanechte komentář

Vaše emailová adresa nebude zveřejněna. Povinná pole jsou označena *