intel AN 829 PCI ఎక్స్ప్రెస్* Avalon MM DMA రిఫరెన్స్ డిజైన్
AN 829: PCI ఎక్స్ప్రెస్* Avalon®-MM DMA రిఫరెన్స్ డిజైన్
పరిచయం
PCI ఎక్స్ప్రెస్* Avalon® మెమరీ-మ్యాప్డ్ (Avalon-MM) డైరెక్ట్ మెమరీ యాక్సెస్ (DMA) రిఫరెన్స్ డిజైన్ Intel® Arria® 10, Intel Cyclone® 10 GX, మరియు PCIe కోసం Intel Stratix® 10 హార్డ్ IP పనితీరును ప్రదర్శిస్తుంది. Avalon-MM ఇంటర్ఫేస్ మరియు పొందుపరిచిన, అధిక-పనితీరు గల DMA కంట్రోలర్.
డిజైన్లో DMA బదిలీలను సెటప్ చేయడానికి Linux సాఫ్ట్వేర్ డ్రైవర్ ఉంటుంది. రీడ్ DMA డేటాను సిస్టమ్ మెమరీ నుండి ఆన్-చిప్ లేదా బాహ్య మెమరీకి తరలిస్తుంది. రైట్ DMA డేటాను ఆన్-చిప్ లేదా ఎక్స్టర్నల్ మెమరీ నుండి సిస్టమ్ మెమరీకి తరలిస్తుంది. Linux సాఫ్ట్వేర్ డ్రైవర్ సిస్టమ్ పనితీరును కూడా కొలుస్తుంది. పొందుపరిచిన, అధిక-పనితీరు గల DMAతో Avalon-MM ఇంటర్ఫేస్ని ఉపయోగించడంలో PCIe ప్రోటోకాల్ పనితీరును అంచనా వేయడానికి ఈ సూచన డిజైన్ మిమ్మల్ని అనుమతిస్తుంది.
మూర్తి 1: PCIe Avalon-MM DMA రిఫరెన్స్ డిజైన్ బ్లాక్ రేఖాచిత్రంఈ బ్లాక్ రేఖాచిత్రం ఆన్-చిప్ మెమరీ మరియు బాహ్య మెమరీ ఎంపికలు రెండింటినీ చూపుతుంది.
గమనికలు:
- రైట్ మూవర్ స్థానిక డొమైన్ నుండి హోస్ట్ డొమైన్కు డేటాను బదిలీ చేస్తుంది
- రీడ్ మూవర్ హోస్ట్ డొమైన్ నుండి లోకల్ డొమైన్కు డేటాను బదిలీ చేస్తుంది
ఇంటెల్ కార్పొరేషన్. అన్ని హక్కులు ప్రత్యేకించబడ్డాయి. ఇంటెల్, ఇంటెల్ లోగో మరియు ఇతర ఇంటెల్ గుర్తులు ఇంటెల్ కార్పొరేషన్ లేదా దాని అనుబంధ సంస్థల ట్రేడ్మార్క్లు. Intel దాని FPGA మరియు సెమీకండక్టర్ ఉత్పత్తుల పనితీరును ఇంటెల్ యొక్క ప్రామాణిక వారంటీకి అనుగుణంగా ప్రస్తుత స్పెసిఫికేషన్లకు హామీ ఇస్తుంది, అయితే నోటీసు లేకుండా ఏ సమయంలోనైనా ఏదైనా ఉత్పత్తులు మరియు సేవలకు మార్పులు చేసే హక్కును కలిగి ఉంది. ఇంటెల్ వ్రాతపూర్వకంగా అంగీకరించినట్లు మినహా ఇక్కడ వివరించిన ఏదైనా సమాచారం, ఉత్పత్తి లేదా సేవ యొక్క అప్లికేషన్ లేదా ఉపయోగం నుండి ఉత్పన్నమయ్యే బాధ్యత లేదా బాధ్యతను Intel తీసుకోదు. ఇంటెల్ కస్టమర్లు ఏదైనా ప్రచురించిన సమాచారంపై ఆధారపడే ముందు మరియు ఉత్పత్తులు లేదా సేవల కోసం ఆర్డర్లు చేసే ముందు పరికర నిర్దేశాల యొక్క తాజా వెర్షన్ను పొందాలని సూచించారు.
- ఇతర పేర్లు మరియు బ్రాండ్లు ఇతరుల ఆస్తిగా క్లెయిమ్ చేయబడవచ్చు.
- PCIe సొల్యూషన్స్ యూజర్ గైడ్ కోసం Intel Stratix 10 Avalon-MM ఇంటర్ఫేస్
- PCIe సొల్యూషన్స్ యూజర్ గైడ్ కోసం Intel Arria 10 లేదా Intel Cyclone 10 Avalon-MM DMA ఇంటర్ఫేస్
- PCI ఎక్స్ప్రెస్ బేస్ స్పెసిఫికేషన్ రివిజన్ 3.0
DMA రిఫరెన్స్ డిజైన్ హార్డ్వేర్ మరియు సాఫ్ట్వేర్ అవసరాలు
హార్డ్వేర్ అవసరాలు
సూచన డిజైన్ క్రింది డెవలప్మెంట్ కిట్లపై నడుస్తుంది:
- ఇంటెల్ అరియా 10 GX FPGA డెవలప్మెంట్ కిట్
- ఇంటెల్ సైక్లోన్ 10 GX FPGA డెవలప్మెంట్ కిట్
- ఇంటెల్ స్ట్రాటిక్స్ 10 FPGA డెవలప్మెంట్ కిట్
- సూచన రూపకల్పనకు రెండు కంప్యూటర్లు అవసరం:
- Linuxని నడుపుతున్న PCIe Gen3 x8 లేదా x16 స్లాట్తో కూడిన కంప్యూటర్. ఈ కంప్యూటర్ కంప్యూటర్ నంబర్ 1.
- Intel Quartus® Prime సాఫ్ట్వేర్ వెర్షన్ 18.0తో రెండవ కంప్యూటర్ ఇన్స్టాల్ చేయబడింది. ఈ కంప్యూటర్ FPGA SRAM ఆబ్జెక్ట్ని డౌన్లోడ్ చేస్తుంది File (.sof) డెవలప్మెంట్ కిట్లోని FPGAకి. ఈ కంప్యూటర్ కంప్యూటర్ నంబర్ 2.
సాఫ్ట్వేర్ అవసరాలు
- కంప్యూటర్ నంబర్ 1లో ఇన్స్టాల్ చేయబడిన రిఫరెన్స్ డిజైన్ సాఫ్ట్వేర్. రిఫరెన్స్ డిజైన్లు Intel FPGA డిజైన్ స్టోర్లో అందుబాటులో ఉన్నాయి. ఇంటెల్ క్వార్టస్ ప్రైమ్ ప్రో ఎడిషన్ ప్లాట్ఫారమ్ ఆర్కైవ్ File (.par) సూచన డిజైన్లలో పేర్కొన్న పారామితుల కోసం సిఫార్సు చేయబడిన సంశ్లేషణ, ఫిట్టర్ మరియు సమయ విశ్లేషణ సెట్టింగ్లను కలిగి ఉంటుంది.
- ఇంటెల్ క్వార్టస్ ప్రైమ్ సాఫ్ట్వేర్ కంప్యూటర్ నంబర్ 2లో ఇన్స్టాల్ చేయబడింది. మీరు ఈ సాఫ్ట్వేర్ను ఇంటెల్ క్వార్టస్ ప్రైమ్ ప్రో ఎడిషన్ సాఫ్ట్వేర్ ఫీచర్లు/డౌన్లోడ్ నుండి డౌన్లోడ్ చేసుకోవచ్చు web పేజీ.
- Linux డ్రైవర్ ఈ రిఫరెన్స్ డిజైన్ల కోసం ప్రత్యేకంగా కాన్ఫిగర్ చేయబడింది.
సంబంధిత సమాచారం
- ఇంటెల్ అరియా 10 రిఫరెన్స్ డిజైన్
- డిజైన్ స్టోర్ నుండి సూచన డిజైన్ మరియు డిజైన్ సాఫ్ట్వేర్ను డౌన్లోడ్ చేయండి.
- ఇంటెల్ సైక్లోన్ 10 GX రిఫరెన్స్ డిజైన్
- డిజైన్ స్టోర్ నుండి సూచన డిజైన్ మరియు డిజైన్ సాఫ్ట్వేర్ను డౌన్లోడ్ చేయండి.
- స్ట్రాటిక్స్ 10 రిఫరెన్స్ డిజైన్
- డిజైన్ స్టోర్ నుండి సూచన డిజైన్ మరియు డిజైన్ సాఫ్ట్వేర్ను డౌన్లోడ్ చేయండి.
- ఇంటెల్ క్వార్టస్ ప్రైమ్ ప్రో ఎడిషన్ డౌన్లోడ్ సెంటర్
Avalon-MM DMA బ్రిడ్జ్ మాడ్యూల్ వివరణలు
DMAతో Avalon-MM ఇంటర్ఫేస్ కింది మాడ్యూళ్లను కలిగి ఉంటుంది:
చిత్రం 2. PCIe Avalon-MM DMA రిఫరెన్స్ డిజైన్ బ్లాక్ రేఖాచిత్రంఈ బాక్ రేఖాచిత్రం ఆన్-చిప్ మెమరీ మరియు బాహ్య మెమరీ ఎంపికలు రెండింటినీ చూపుతుంది.
గమనికలు:
- రైట్ మూవర్ స్థానిక డొమైన్ నుండి హోస్ట్ డొమైన్కు డేటాను బదిలీ చేస్తుంది
- రీడ్ మూవర్ హోస్ట్ డొమైన్ నుండి లోకల్ డొమైన్కు డేటాను బదిలీ చేస్తుంది
డేటా మూవర్ని చదవండి
రీడ్ డేటా మూవర్ మెమరీని రీడ్ ట్రాన్సాక్షన్ లేయర్ ప్యాకెట్ (TLPs) అప్స్ట్రీమ్ను పంపుతుంది. రీడ్ డేటా మూవర్ పూర్తి చేసిన తర్వాత, రీడ్ డేటా మూవర్ అందుకున్న డేటాను ఆన్-చిప్ లేదా ఎక్స్టర్నల్ మెమరీకి వ్రాస్తుంది.
డేటా మూవర్ని వ్రాయండి
రైట్ డేటా మూవర్ ఆన్-చిప్ లేదా ఎక్స్టర్నల్ మెమరీ నుండి డేటాను రీడ్ చేస్తుంది మరియు PCIe లింక్పై మెమరీ రైట్ TLPలను ఉపయోగించి డేటాను అప్స్ట్రీమ్కు పంపుతుంది.
DMA డిస్క్రిప్టర్ కంట్రోలర్
డిస్క్రిప్టర్ కంట్రోలర్ మాడ్యూల్ DMA రీడ్ అండ్ రైట్ ఆపరేషన్లను నిర్వహిస్తుంది. Avalon-MM RX మాస్టర్ పోర్ట్ ద్వారా హోస్ట్ సిస్టమ్ మెమరీలో ఉన్న డిస్క్రిప్టర్ టేబుల్ యొక్క స్థానం మరియు పరిమాణంతో డిస్క్రిప్టర్ కంట్రోలర్లో హోస్ట్ సాఫ్ట్వేర్ ప్రోగ్రామ్లు అంతర్గత రిజిస్టర్లు. ఈ సమాచారం ఆధారంగా, డిస్క్రిప్టర్ కంట్రోలర్ రీడ్ డేటా మూవర్ని అమలు చేయడం కోసం మొత్తం పట్టికను స్థానిక FIFOలకు కాపీ చేయమని నిర్దేశిస్తుంది. డిస్క్రిప్టర్ కంట్రోలర్ Avalon TX స్లేవ్ (TXS) పోర్ట్ ద్వారా పూర్తి స్థితిని అప్స్ట్రీమ్కు పంపుతుంది.
డేటా మూవర్లను చదవడానికి మరియు వ్రాయడానికి మీరు మీ స్వంత బాహ్య డిస్క్రిప్టర్ కంట్రోలర్ను కూడా ఉపయోగించవచ్చు. అయితే, మీరు మీ స్వంత బాహ్య కంట్రోలర్ మరియు రిఫరెన్స్ డిజైన్లో పొందుపరిచిన రీడ్ అండ్ రైట్ డేటా మూవర్ల మధ్య ఇంటర్ఫేస్ను మార్చలేరు.
TX స్లేవ్
TX స్లేవ్ మాడ్యూల్ Avalon-MM అప్స్ట్రీమ్ చదవడం మరియు వ్రాయడం ప్రచారం చేస్తుంది. DMA కంట్రోల్ మాస్టర్తో సహా బాహ్య Avalon-MM మాస్టర్లు TX స్లేవ్ని ఉపయోగించి సిస్టమ్ మెమరీని యాక్సెస్ చేయవచ్చు. మెసేజ్ సిగ్నల్డ్ ఇంటరప్ట్ (MSI) TLPలను ఉపయోగించి DMA స్థితి అప్స్ట్రీమ్ను అప్డేట్ చేయడానికి DMA కంట్రోలర్ ఈ మార్గాన్ని ఉపయోగిస్తుంది. RX మాస్టర్ (BAR0 నియంత్రణ కోసం అంతర్గత పోర్ట్) RX మాస్టర్ మాడ్యూల్ 32-బిట్ Avalon-MM మాస్టర్ పోర్ట్ ద్వారా రూట్ పోర్ట్ నుండి Avalon-MM డొమైన్కు ఒకే dword రీడ్ మరియు రైట్ TLPలను ప్రచారం చేస్తుంది. DMA కంట్రోల్ స్లేవ్తో సహా Avalon-MM స్లేవ్లకు కంట్రోల్, స్టేటస్ మరియు డిస్క్రిప్టర్ సమాచారాన్ని పంపమని సాఫ్ట్వేర్ RX మాస్టర్ను నిర్దేశిస్తుంది. RX మాస్టర్ పోర్ట్ అనేది ప్లాట్ఫారమ్ డిజైనర్లో కనిపించని అంతర్గత పోర్ట్.
రిఫరెన్స్ డిజైన్తో పని చేస్తోంది
ప్రాజెక్ట్ సోపానక్రమం
సూచన రూపకల్పన క్రింది డైరెక్టరీ నిర్మాణాన్ని ఉపయోగిస్తుంది:
- ఎగువ-అత్యున్నత స్థాయి మాడ్యూల్.
- top_hw- ప్లాట్ఫారమ్ డిజైనర్ ఉన్నత-స్థాయి fileలు. మీరు ప్లాట్ఫారమ్ డిజైనర్ని ఉపయోగించి డిజైన్ను సవరించినట్లయితే, మార్పులు అమలులోకి రావడానికి మీరు తప్పనిసరిగా సిస్టమ్ను పునరుత్పత్తి చేయాలి.
PCI ఎక్స్ప్రెస్ హార్డ్ IP వైవిధ్యాల కోసం పారామీటర్ సెట్టింగ్లు
ఈ సూచన డిజైన్ 256-బైట్ గరిష్ట పేలోడ్ పరిమాణానికి మద్దతు ఇస్తుంది. కింది పట్టికలు అన్ని పారామితుల కోసం విలువలను జాబితా చేస్తాయి.
టేబుల్ 1. సిస్టమ్ సెట్టింగ్లు
పరామితి | విలువ |
లేన్ల సంఖ్య | ఇంటెల్ సైక్లోన్ 10 GX: x4
ఇంటెల్ అరియా 10, ఇంటెల్ స్ట్రాటిక్స్ 10: x8 |
లేన్ రేటు | ఇంటెల్ సైక్లోన్ 10 GX: Gen2 (5.0 Gbps)
ఇంటెల్ అరియా 10 ఇంటెల్ స్ట్రాటిక్స్ 10: Gen3 (8.0 Gbps) |
RX బఫర్ క్రెడిట్ కేటాయింపు - స్వీకరించిన అభ్యర్థన కోసం పనితీరు | Intel Arria 10, Intel Cyclone 10 GX: Low Intel Stratix 10: అందుబాటులో లేదు |
టేబుల్ 2.బేస్ అడ్రస్ రిజిస్టర్ (BAR) సెట్టింగ్లు
పరామితి | విలువ |
BAR0 | 64-బిట్ ముందుగా పొందగలిగే మెమరీ |
BAR1 | వికలాంగుడు |
BAR2 | 64-బిట్ ముందుగా పొందగలిగే మెమరీ
Intel Stratix 2 కోసం BAR10 నిలిపివేయబడింది |
కొనసాగింది… |
పరామితి | విలువ |
BAR3 | వికలాంగుడు |
BAR4 | 64-బిట్ ముందుగా పొందగలిగే మెమరీ
Intel Arria 4 మరియు Intel సైక్లోన్ 10 GX కోసం BAR10 నిలిపివేయబడింది |
BAR5 | వికలాంగుడు |
టేబుల్ 3. పరికర గుర్తింపు రిజిస్టర్ సెట్టింగ్లు
పరామితి | విలువ |
విక్రేత ID | 0x00001172 |
పరికరం ID | 0x0000E003 |
పునర్విమర్శ ID | 0x00000001 |
తరగతి కోడ్ | 0x00000000 |
సబ్సిస్టమ్ విక్రేత ID | 0x00000000 |
ఉపవ్యవస్థ పరికరం ID | 0x00000000 |
టేబుల్ 4. PCI ఎక్స్ప్రెస్/PCI* సామర్థ్యాలు
పరామితి | విలువ |
గరిష్ట పేలోడ్ పరిమాణం | 256 బైట్లు |
గడువు ముగింపు పరిధి | ఏదీ లేదు |
అమలు పూర్తి సమయం ముగిసింది డిజేబుల్ | ప్రారంభించబడింది |
టేబుల్ 5. ఎర్రర్ రిపోర్టింగ్ సెట్టింగ్లు
పరామితి | విలువ |
అధునాతన ఎర్రర్ రిపోర్టింగ్ (AER) | ప్రారంభించబడింది |
ECRC తనిఖీ చేస్తోంది | వికలాంగుడు |
ECRC ఉత్పత్తి | వికలాంగుడు |
టేబుల్ 6. లింక్ సెట్టింగ్లు
పరామితి | విలువ |
లింక్ పోర్ట్ నంబర్ | 1 |
స్లాట్ క్లాక్ కాన్ఫిగరేషన్ | ప్రారంభించబడింది |
పట్టిక 7. సందేశ సంకేత అంతరాయాలు (MSI) మరియు MSI-XSettings
పరామితి | విలువ |
అభ్యర్థించబడిన MSI సందేశాల సంఖ్య | 4 |
MSI-Xని అమలు చేయండి | వికలాంగుడు |
పట్టిక పరిమాణం | 0 |
టేబుల్ ఆఫ్సెట్ | 0x0000000000000000 |
కొనసాగింది… |
పరామితి | విలువ |
టేబుల్ బార్ సూచిక | 0 |
పెండింగ్లో ఉన్న బిట్ అర్రే (PBA) ఆఫ్సెట్ | 0x0000000000000000 |
PBA బార్ సూచిక | 0 |
టేబుల్ 8. పవర్ మేనేజ్మెంట్
పరామితి | విలువ |
ఎండ్పాయింట్ L0s ఆమోదయోగ్యమైన జాప్యం | గరిష్టంగా 64 ns |
ఎండ్పాయింట్ L1 ఆమోదయోగ్యమైన జాప్యం | గరిష్టంగా 1 మాకు |
టేబుల్ 9.PCIe అడ్రస్ స్పేస్ సెట్టింగ్
పరామితి | విలువ |
యాక్సెస్ చేయగల PCIe మెమరీ స్థలం యొక్క చిరునామా వెడల్పు | 40 |
PCIe Avalon-MM DMA రిఫరెన్స్ డిజైన్ ప్లాట్ఫారమ్ డిజైనర్ సిస్టమ్స్
కింది చిత్రాలు ఇంటెల్ అరియా 10, ఇంటెల్ సైక్లోన్ 10 జిఎక్స్ మరియు ఇంటెల్ స్ట్రాటిక్స్ 10 పరికరాల కోసం ప్లాట్ఫారమ్ డిజైనర్ సిస్టమ్లను చూపుతాయి.
చిత్రం 3. ఇంటెల్ అరియా 10 GX DMA రిఫరెన్స్ డిజైన్ ప్లాట్ఫారమ్ డిజైనర్ సిస్టమ్
మూర్తి 4.ఇంటెల్ సైక్లోన్ 10 GX GX DMA రిఫరెన్స్ డిజైన్ ప్లాట్ఫారమ్ డిజైనర్ సిస్టమ్
మూర్తి 5. ఇంటెల్ స్ట్రాటిక్స్ 10 GX DMA రిఫరెన్స్ డిజైన్ ప్లాట్ఫారమ్ డిజైనర్ సిస్టమ్ఇంటెల్ స్ట్రాటిక్స్ 10 డిజైన్లో పైప్లైన్ భాగాలు మరియు ఇతర పరికరాలలో లేని క్లాక్-క్రాసింగ్ లాజిక్ ఉన్నాయి.
టేబుల్ 10.ప్లాట్ఫారమ్ డిజైనర్ పోర్ట్ వివరణలు
పోర్ట్ | ఫంక్షన్ | వివరణ |
rxm_bar2
or rxm_bar4 |
అవలోన్-MM పోర్ట్ | ఇది Avalon-MM మాస్టర్ పోర్ట్. PCIe హోస్ట్ Intel Arria 2 మరియు Intel Cyclone 10 GX పరికరాల కోసం PCIe BAR10 ద్వారా మెమరీని యాక్సెస్ చేస్తుంది. హోస్ట్ Intel Stratix 4 పరికరాల కోసం PCIe BAR10 ద్వారా మెమరీని యాక్సెస్ చేస్తుంది. ఈ బార్లు ఆన్-చిప్ మరియు ఎక్స్టర్నల్ మెమరీ రెండింటికీ కనెక్ట్ అవుతాయి.
సాధారణ అప్లికేషన్లో, బాహ్య మెమరీలో యాదృచ్ఛిక డేటాను ప్రారంభించేందుకు సిస్టమ్ సాఫ్ట్వేర్ ఈ BARని నియంత్రిస్తుంది. సరైన ఆపరేషన్ని ధృవీకరించడానికి సాఫ్ట్వేర్ డేటాను తిరిగి చదువుతుంది. |
tx | TX Avalon-MM స్లేవ్ | ఇది Avalon-MM స్లేవ్ పోర్ట్. ఒక సాధారణ అప్లికేషన్లో, PCIe డొమైన్కు మెమరీ రీడ్లు మరియు రైట్లను పంపడానికి Avalon-MM మాస్టర్ ఈ పోర్ట్ను నియంత్రిస్తుంది.
DMA ఆపరేషన్ను పూర్తి చేసినప్పుడు, PCIe డొమైన్లోని డిస్క్రిప్టర్ టేబుల్కి తిరిగి DMA స్థితిని వ్రాయడానికి డిస్క్రిప్టర్ కంట్రోలర్ ఈ పోర్ట్ను ఉపయోగిస్తుంది. MSI అంతరాయాలను అప్స్ట్రీమ్కు పంపడానికి డిస్క్రిప్టర్ కంట్రోలర్ కూడా ఈ పోర్ట్ను ఉపయోగిస్తుంది. |
dma_rd_master | డేటా మూవర్ని చదవండి | ఇది Avalon-MM మాస్టర్ పోర్ట్. PCIe డొమైన్ నుండి ఆన్-చిప్ లేదా బాహ్య మెమరీకి డేటాను తరలించడానికి రీడ్ డేటా మూవర్ ఈ Avalon-MM మాస్టర్ని ఉపయోగిస్తుంది. రీడ్ డేటా మూవర్ PCIe డొమైన్ నుండి డిస్క్రిప్టర్లను పొందేందుకు మరియు వాటిని డిస్క్రిప్టర్ కంట్రోలర్లోని FIFOకి వ్రాయడానికి కూడా ఈ పోర్ట్ను ఉపయోగిస్తుంది.
డిజైన్లో డిస్క్రిప్టర్లను చదవడానికి మరియు వ్రాయడానికి ప్రత్యేక వివరణ పట్టికలు ఉన్నాయి. పర్యవసానంగా, dma_rd_master పోర్ట్ రైట్ DMA డిస్క్రిప్టర్ FIFO కోసం wr_dts_slaveకి మరియు రీడ్ DMA డిస్క్రిప్టర్ FIFO కోసం rd_dts_slaveకి కనెక్ట్ అవుతుంది. |
dma_wr_master | డేటా మూవర్ని వ్రాయండి | ఇది Avalon-MM మాస్టర్ పోర్ట్. ఆన్-చిప్ లేదా ఎక్స్టర్నల్ మెమరీ నుండి డేటాను చదవడానికి మరియు PCIe డొమైన్కు డేటాను వ్రాయడానికి రైట్ డేటా మూవర్ ఈ Avalon-MM మాస్టర్ని ఉపయోగిస్తుంది.
బాహ్య మెమరీ కంట్రోలర్ ఒక సింగిల్-పోర్ట్ RAM. పర్యవసానంగా, బాహ్య మెమరీని అంచనా వేయడానికి రైట్ డేటా మూవర్ మరియు రీడ్ డేటా మూవర్ తప్పనిసరిగా ఈ పోర్ట్ను షేర్ చేయాలి. |
wr_dts_slave rd_dts_slave | డిస్క్రిప్టర్ కంట్రోలర్లో FIFO | ఇవి డిస్క్రిప్టర్ కంట్రోలర్లోని FIFOల కోసం Avalon-MM స్లేవ్ పోర్ట్లు. రీడ్ డేటా మూవర్ సిస్టమ్ మెమరీ నుండి డిస్క్రిప్టర్లను పొందినప్పుడు, రీడ్ డేటా మూవర్ wr_dts_slave మరియు rd_dts_slave పోర్ట్లను ఉపయోగించి FIFOకి డిస్క్రిప్టర్లను వ్రాస్తుంది. |
wr_dcm_master rd_dcm_master | డిస్క్రిప్టర్ కంట్రోలర్లో కంట్రోల్ మాడ్యూల్ | డిస్క్రిప్టర్ కంట్రోలర్ కంట్రోల్ మాడ్యూల్లో DMAలు చదవడానికి మరియు వ్రాయడానికి ఒక ట్రాన్స్మిట్ మరియు ఒక రిసీవ్ పోర్ట్ ఉంటుంది. స్వీకరించే పోర్ట్ RXM_BAR0కి కనెక్ట్ చేయబడింది. ట్రాన్స్మిట్ పోర్ట్ txsకి కలుపుతుంది.
RXM_BAR0 నుండి స్వీకరించే మార్గం అంతర్గతంగా కనెక్ట్ అవుతుంది. ప్లాట్ఫారమ్ డిజైనర్ కనెక్షన్ల ప్యానెల్లో RXM_BAR0 చూపబడలేదు. ప్రసార మార్గం కోసం, DMA పోర్ట్లు చదవడం మరియు వ్రాయడం రెండూ txsకి బాహ్యంగా కనెక్ట్ అవుతాయి. ఈ పోర్ట్లు ప్లాట్ఫారమ్ డిజైనర్ కనెక్షన్ల ప్యానెల్లో కనిపిస్తాయి. |
అంతర్గత కనెక్షన్, చూపబడలేదు | అవలోన్-MM పోర్ట్ | ఈ Avalon-MM మాస్టర్ పోర్ట్ PCIe హోస్ట్ నుండి PCIe BAR0కి మెమరీ యాక్సెస్ను పాస్ చేస్తుంది. డిస్క్రిప్టర్ కంట్రోలర్ను ప్రోగ్రామ్ చేయడానికి హోస్ట్ ఈ పోర్ట్ను ఉపయోగిస్తుంది. ఈ రిఫరెన్స్ డిజైన్ డిస్క్రిప్టర్ కంట్రోలర్ను అంతర్గత మాడ్యూల్గా కలిగి ఉన్నందున, ప్లాట్ఫారమ్ డిజైనర్ ఈ పోర్ట్ను అగ్ర-స్థాయి కనెక్షన్ల ప్యానెల్లో ప్రదర్శించదు. |
onchip_memory2_0 | 64 KB డ్యూయల్ పోర్ట్ ర్యామ్ | ఇది 64-KB డ్యూయల్-పోర్ట్ ఆన్-చిప్ మెమరీ. Avalon-MM బస్సులో చిరునామా పరిధి 0x0800_0000-0x0800_FFFF. ఈ చిరునామా DMAలను వ్రాయడానికి మూల చిరునామా లేదా DMAలను చదవడానికి గమ్యస్థాన చిరునామా.
డేటా అవినీతిని నివారించడానికి, సాఫ్ట్వేర్ మెమరీని చదవడానికి మరియు వ్రాయడానికి ప్రత్యేక ప్రాంతాలుగా విభజిస్తుంది. ప్రాంతాలు అతివ్యాప్తి చెందవు. |
ఇంటెల్ DDR3 లేదా DDR4 కంట్రోలర్ | DDR3 లేదా DDR4 కంట్రోలర్ | ఇది సింగిల్-పోర్ట్ DDR3 లేదా DDR4 కంట్రోలర్. |
DMA ప్రక్రియ దశలు
హోస్ట్లో నడుస్తున్న సాఫ్ట్వేర్ DMAని ప్రారంభించడానికి మరియు ఫలితాలను ధృవీకరించడానికి క్రింది దశలను పూర్తి చేస్తుంది:
- సాఫ్ట్వేర్ డిస్క్రిప్టర్ టేబుల్ కోసం సిస్టమ్ మెమరీని కేటాయిస్తుంది.
- సాఫ్ట్వేర్ DMA డేటా బదిలీల కోసం సిస్టమ్ మెమరీని కేటాయిస్తుంది.
- సాఫ్ట్వేర్ డిస్క్రిప్టర్లను సిస్టమ్ మెమరీలోని డిస్క్రిప్టర్ టేబుల్కి వ్రాస్తుంది. DMA 128 రీడ్ మరియు 128 రైట్ డిస్క్రిప్టర్ల వరకు మద్దతు ఇస్తుంది. డిస్క్రిప్టర్ టేబుల్ కింది సమాచారాన్ని నమోదు చేస్తుంది:
- డిస్క్రిప్టర్ ID, 0-127 వరకు
- మూల చిరునామా
- గమ్యం చిరునామా
- పరిమాణం
- రీడ్ DMA కోసం, సాఫ్ట్వేర్ యాదృచ్ఛిక డేటాతో సిస్టమ్ మెమరీ స్థలాన్ని ప్రారంభిస్తుంది. రీడ్ డేటా మూవర్ ఈ డేటాను సిస్టమ్ మెమరీ నుండి ఆన్-చిప్ లేదా ఎక్స్టర్నల్ మెమరీకి తరలిస్తుంది. రైట్ DMA కోసం, సాఫ్ట్వేర్ యాదృచ్ఛిక డేటాతో ఆన్-చిప్ లేదా బాహ్య మెమరీని ప్రారంభిస్తుంది. రైట్ డేటా మూవర్ డేటాను ఆన్-చిప్ లేదా ఎక్స్టర్నల్ మెమరీ నుండి సిస్టమ్ మెమరీకి తరలిస్తుంది.
- సాఫ్ట్వేర్ BAR0 ద్వారా డిస్క్రిప్టర్ కంట్రోలర్ కంట్రోల్ మాడ్యూల్లోని రిజిస్టర్లను ప్రోగ్రామ్ చేస్తుంది. ప్రోగ్రామింగ్ సిస్టమ్ మెమరీలో డిస్క్రిప్టర్ టేబుల్ యొక్క ఆధార చిరునామాను మరియు FPGAలో డిస్క్రిప్టర్లను నిల్వ చేసే FIFO యొక్క ఆధార చిరునామాను నిర్దేశిస్తుంది.
- DMAని ప్రారంభించడానికి, సాఫ్ట్వేర్ చివరి డిస్క్రిప్టర్ యొక్క IDని డిస్క్రిప్టర్ కంట్రోలర్ కంట్రోల్ లాజిక్కి వ్రాస్తుంది. DMA డిస్క్రిప్టర్లను పొందడం ప్రారంభిస్తుంది. DMA డిస్క్రిప్టర్ ID 0తో మొదలై చివరి డిస్క్రిప్టర్ IDతో ముగుస్తుంది.
- చివరి డిస్క్రిప్టర్ కోసం డేటా బదిలీలు పూర్తయిన తర్వాత, డిస్క్రిప్టర్ కంట్రోలర్ txs పోర్ట్ని ఉపయోగించి PCIe డొమైన్లోని చివరి డిస్క్రిప్టర్కు సంబంధించిన డిస్క్రిప్టర్ టేబుల్ ఎంట్రీలో డన్ బిట్కు 1'b1ని వ్రాస్తుంది.
- సాఫ్ట్వేర్ చివరి డిస్క్రిప్టర్కు సంబంధించిన డిస్క్రిప్టర్ టేబుల్ ఎంట్రీలో డన్ బిట్ను పోల్ చేస్తుంది. DMA కంట్రోలర్ పూర్తయిన బిట్ను వ్రాసిన తర్వాత, DMA కంట్రోలర్ నిర్గమాంశను గణిస్తుంది. సాఫ్ట్వేర్ సిస్టమ్ మెమరీలోని డేటాను ఆన్-చిప్ లేదా ఎక్స్టర్నల్ మెమరీతో పోలుస్తుంది. లోపాలు లేకుంటే పరీక్ష పాస్ అవుతుంది.
- ఏకకాలంలో చదవడం మరియు వ్రాయడం కోసం, సాఫ్ట్వేర్ రైట్ DMA ఆపరేషన్కు ముందు రీడ్ DMA ఆపరేషన్ను ప్రారంభిస్తుంది. అన్ని చదవడం మరియు వ్రాయడం DMAలు పూర్తయినప్పుడు DMA పూర్తవుతుంది.
హార్డ్వేర్ను సెటప్ చేస్తోంది
- కంప్యూటర్ నంబర్ 1 పవర్ డౌన్ చేయండి.
- Gen2 x4 లేదా Gen3 x8కి మద్దతిచ్చే PCIe స్లాట్కి FPGA డెవలప్మెంట్ కిట్ కార్డ్ని ప్లగ్ చేయండి.
- Intel Stratix 10 10 FPGA డెవలప్మెంట్ కిట్ కోసం, J26 మరియు J27 కనెక్టర్లు కార్డ్కి శక్తినిస్తాయి. అందుబాటులో ఉన్న PCIe స్లాట్లో కార్డ్ని చొప్పించిన తర్వాత, 2×4- మరియు 2×3-పిన్ PCIe పవర్ కేబుల్లను కంప్యూటర్ నంబర్ 1 పవర్ సప్లై నుండి వరుసగా PCIe కార్డ్లోని J26 మరియు J27కి కనెక్ట్ చేయండి.
- కంప్యూటర్ నంబర్ 2 నుండి FPGA డెవలప్మెంట్ కిట్కి USB కేబుల్ను కనెక్ట్ చేయండి. డెవలప్మెంట్ కిట్లో FPGA ప్రోగ్రామింగ్ కోసం ఆన్-బోర్డ్ Intel FPGA డౌన్లోడ్ కేబుల్ ఉంటుంది.
- PCIe స్లాట్ ద్వారా FPGA డెవలప్మెంట్ కిట్ను పవర్ అప్ చేయడానికి, కంప్యూటర్ నంబర్ 1ని ఆన్ చేయండి. ప్రత్యామ్నాయంగా, మీరు కిట్తో రవాణా చేసే బాహ్య పవర్ అడాప్టర్ని ఉపయోగించి FPGA డెవలప్మెంట్ కిట్ను పవర్ అప్ చేయవచ్చు.
- ఇంటెల్ సైక్లోన్ 10 GX FPGA డెవలప్మెంట్ కిట్ కోసం, ఆన్-బోర్డ్ ప్రోగ్రామబుల్ ఓసిలేటర్ హార్డ్వేర్ భాగాలకు క్లాక్ సోర్స్. ఈ ఓసిలేటర్ని ప్రోగ్రామ్ చేయడానికి ఇంటెల్ సైక్లోన్ 10 GX FPGA ప్రోగ్రామబుల్ ఓసిలేటర్ని సెటప్ చేయడంలో సూచనలను అనుసరించండి.
- కంప్యూటర్ నంబర్ 2లో, ఇంటెల్ క్వార్టస్ ప్రైమ్ ప్రోగ్రామర్ను తీసుకురాండి మరియు ఇంటెల్ FPGA డౌన్లోడ్ కేబుల్ ద్వారా FPGAని కాన్ఫిగర్ చేయండి.
గమనిక: FPGA డెవలప్మెంట్ కిట్ శక్తిని కోల్పోయినప్పుడు మీరు తప్పనిసరిగా FPGAని మళ్లీ కాన్ఫిగర్ చేయాలి. - PCIe పరికరాన్ని కనుగొనడానికి సిస్టమ్ ఎన్యూమరేషన్ను బలవంతం చేయడానికి, కంప్యూటర్ని పునఃప్రారంభించండి 1. మీరు Intel Stratix 10 GX FPGA డెవలప్మెంట్ కిట్ని ఉపయోగిస్తుంటే, BIOS ప్రారంభించే సమయంలో మీరు ఈ క్రింది దోష సందేశాన్ని అందుకోవచ్చు, ఒకవేళ I/O 4 GB మాత్రమే మ్యాప్ చేయబడిన మెమరీ: సరిపోదు. PCI వనరులు కనుగొనబడ్డాయి. ఈ సమస్యను పరిష్కరించేందుకు, BIOS బూట్ మెనులో 4G పైన డీకోడింగ్ని ప్రారంభించండి.
పేజీ 10లో ఇంటెల్ సైక్లోన్ 12 GX FPGA ఓసిలేటర్ను ప్రోగ్రామింగ్ చేస్తోంది
- ఇంటెల్ సైక్లోన్ 10 GX FPGA ఓసిలేటర్ ప్రోగ్రామింగ్
- Intel సైక్లోన్ 10 GX డెవలప్మెంట్ కిట్లో ప్రోగ్రామబుల్ ఓసిలేటర్ ఉంటుంది, మీరు Intel సైక్లోన్ 10 GX పరికరాల కోసం రిఫరెన్స్ డిజైన్ను అమలు చేయడానికి ముందు తప్పనిసరిగా సెటప్ చేయాలి. ClockController GUI సరైన సెట్టింగ్లను దిగుమతి చేసుకోవడానికి మిమ్మల్ని అనుమతిస్తుంది.
- Intel సైక్లోన్ 10 GX FPGA డెవలప్మెంట్ కిట్ యొక్క డాక్యుమెంటేషన్ ప్రాంతంలో కిట్ కొలేటరల్ (జిప్) లింక్ను గుర్తించండి web పేజీ.
- cyclone-10-gx-kit-collateral.zipని డౌన్లోడ్ చేయడానికి ఈ లింక్ని ఉపయోగించండి
- cyclone-10-gx-kit-collateral.zipని కంప్యూటర్ నంబర్ 2లో వర్కింగ్ డైరెక్టరీకి అన్జిప్ చేయండి.
- క్లాక్ కంట్రోలర్ డైలాగ్ బాక్స్ను తీసుకురావడానికి, కింది ఆదేశాలను టైప్ చేయండి: % cd /cyclone-10-gx-collateral/examples/board_test_system/ % ./ClockController.sh
మూర్తి 6. ప్రారంభ స్థితిలో క్లాక్ కంట్రోలర్ GUI - క్లాక్ కంట్రోలర్ GUIలో, దిగుమతిని క్లిక్ చేయండి.
- కు బ్రౌజ్ చేయండి /cyclone-10-gx-collateral/examples/board_test_system/ డైరెక్టరీని మరియు U64-Registers.txtని ఎంచుకోండి.
- రిజిస్టర్ సెట్టింగ్లను దిగుమతి చేయడానికి, తెరువు క్లిక్ చేయండి.
సందేశం, Si5332 రిజిస్టర్ మ్యాప్ దిగుమతి చేయబడింది విజయవంతంగా ప్రదర్శించబడుతుంది. మీరు క్రింద చూపిన గడియార సెట్టింగ్లను చూడాలి.
మూర్తి 7. ఇంటెల్ సైక్లోన్ 10 GX FPGA డెవలప్మెంట్ కిట్ కోసం క్లాక్ సెట్టింగ్లు
సంబంధిత సమాచారం
11వ పేజీలో హార్డ్వేర్ను సెటప్ చేస్తోంది
DMA టెస్ట్ డ్రైవర్ను ఇన్స్టాల్ చేయడం మరియు Linux DMA సాఫ్ట్వేర్ను అమలు చేయడం
- కంప్యూటర్ 1లోని టెర్మినల్ విండోలో, DMA డ్రైవర్ డైరెక్టరీకి మార్చండి మరియు కింది ఆదేశాలను టైప్ చేయడం ద్వారా AN829_driver.tarని సంగ్రహించండి: cd % / /_PCIe DMA_ _project/driver% tar -xvf AN829_driver.tar
- తగిన పరికర కుటుంబం కోసం Linux డ్రైవర్ను ఇన్స్టాల్ చేయడానికి, ఆదేశాన్ని టైప్ చేయండి:% sudo./install కోసం చెల్లుబాటు అయ్యే విలువలు arria10, cyclone10 మరియు stratix10.
- DMA అప్లికేషన్ను అమలు చేయడానికి, కింది ఆదేశాన్ని టైప్ చేయండి: %./run DMA ట్రాఫిక్ను పేర్కొనడానికి అందుబాటులో ఉన్న ఆదేశాలను అప్లికేషన్ ప్రింట్ చేస్తుంది. డిఫాల్ట్గా, సాఫ్ట్వేర్ DMA రీడ్లను, DMA రైట్లను మరియు ఏకకాల DMA రీడ్ మరియు రైట్లను ఎనేబుల్ చేస్తుంది. కింది పట్టిక అందుబాటులో ఉన్న ఆదేశాలను జాబితా చేస్తుంది:
టేబుల్ 11.DMA టెస్ట్ ఆదేశాలు
కమాండ్ నంబర్ | ఫంక్షన్ |
1 | DMAని ప్రారంభించండి. |
2 | రీడ్ DMAని ప్రారంభించండి లేదా నిలిపివేయండి. |
3 | వ్రాయడం DMAని ప్రారంభించండి లేదా నిలిపివేయండి. |
4 | ఏకకాలంలో చదవడం మరియు వ్రాయడం DMAని ప్రారంభించండి లేదా నిలిపివేయండి. |
5 | ప్రతి డిస్క్రిప్టర్కు డ్వర్డ్ల సంఖ్యను సెట్ చేయండి. చట్టపరమైన పరిధి 256-4096 dwords. |
6 | డిస్క్రిప్టర్ల సంఖ్యను సెట్ చేయండి. చట్టపరమైన పరిధి 1-127 డిస్క్రిప్టర్లు. |
7 | డిఫాల్ట్గా, రిఫరెన్స్ డిజైన్ ఆన్-చిప్ మెమరీని ఎంచుకుంటుంది. ఈ ఆదేశాన్ని ఎంచుకుంటే వరుసగా పరుగులు ఆన్-చిప్ మరియు బాహ్య మెమరీ మధ్య మారుతాయి. |
8 | నిరంతర లూప్లో DMAని అమలు చేయండి. |
10 | నిష్క్రమించు |
ఉదాహరణకుample, ప్రతి డిస్క్రిప్టర్కు 4096 dwords మరియు 127 డిస్క్రిప్టర్లను పేర్కొనడానికి క్రింది ఆదేశాలను టైప్ చేయండి: % 5 4096 % 6 127 % 8
క్రింది గణాంకాలు DMA రీడ్లు, DMA వ్రాతలు మరియు ఏకకాలంలో DMA చదవడం మరియు వ్రాయడం కోసం నిర్గమాంశను చూపుతాయి:
మూర్తి 8. ఇంటెల్ అరియా 10 DMA నిర్గమాంశ
మూర్తి 9. ఇంటెల్ సైక్లోన్ 10 GX DMA నిర్గమాంశమూర్తి 10. ఇంటెల్ స్ట్రాటిక్స్ 10 DMA నిర్గమాంశ
PCI ఎక్స్ప్రెస్ నిర్గమాంశను అర్థం చేసుకోవడం
PCI ఎక్స్ప్రెస్ సిస్టమ్లోని నిర్గమాంశ క్రింది కారకాలపై ఆధారపడి ఉంటుంది:
- ప్రోటోకాల్ ఓవర్ హెడ్
- పేలోడ్ పరిమాణం
- పూర్తి జాప్యం
- ఫ్లో కంట్రోల్ అప్డేట్ జాప్యం
- లింక్ను రూపొందించే పరికరాలు
ప్రోటోకాల్ ఓవర్ హెడ్
ప్రోటోకాల్ ఓవర్హెడ్ క్రింది మూడు భాగాలను కలిగి ఉంటుంది:
- 128b/130b ఎన్కోడింగ్ మరియు డీకోడింగ్—Gen3 లింక్లు 128b/130b ఎన్కోడింగ్ను ఉపయోగిస్తాయి. ఈ ఎన్కోడింగ్ ప్రతి 128-బిట్ డేటా బదిలీకి రెండు సమకాలీకరణ (సమకాలీకరణ) బిట్లను జోడిస్తుంది. పర్యవసానంగా, ఎన్కోడింగ్ మరియు డీకోడింగ్ ఓవర్హెడ్ 1.56% వద్ద చాలా తక్కువగా ఉంటుంది. Gen3 x8 లింక్ యొక్క ప్రభావవంతమైన డేటా రేటు సెకనుకు 8 గిగాబైట్లు (GBps).
- డేటా లింక్ లేయర్ ప్యాకెట్లు (DLLPలు) మరియు ఫిజికల్ లేయర్ ప్యాకెట్లు (PLPలు)—యాక్టివ్ లింక్ DLLPలు మరియు PLPలను కూడా ప్రసారం చేస్తుంది. PLPలు SKP ఆర్డర్ చేసిన సెట్లను కలిగి ఉంటాయి
16- 24 బైట్లు. DLLPలు రెండు పదాలు. DLLPలు ప్రవాహ నియంత్రణ మరియు ACK/NAK ప్రోటోకాల్ను అమలు చేస్తాయి. - TLP ప్యాకెట్ ఓవర్హెడ్-ఒక TLPతో అనుబంధించబడిన ఓవర్హెడ్ ఐచ్ఛిక ECRC చేర్చబడకపోతే 5-7 dwordల వరకు ఉంటుంది. ఓవర్ హెడ్ కింది ఫీల్డ్లను కలిగి ఉంటుంది:
- ఫ్రేమింగ్ చిహ్నాలు ప్రారంభం మరియు ముగింపు
- సీక్వెన్స్ ID
- 3- లేదా 4-dword TLP హెడర్
- లింక్ సైక్లిక్ రిడండెన్సీ చెక్ (LCRC)
- డేటా పేలోడ్ యొక్క 0-1024 dwords
- మూర్తి 11. TLP ప్యాకెట్ ఫార్మాట్
ప్రారంభించండి
1 బైట్ |
క్రమం
2 బైట్లు |
TLP హెడర్
3-4 DW |
డేటా పేలోడ్
0-1024 DW |
ఐసిఆర్సి
1 DW |
LCRC
1 DW |
ముగింపు
1 బైట్ |
పోస్ట్ చేసిన వ్రాతలకు త్రూపుట్
సైద్ధాంతిక గరిష్ట నిర్గమాంశ గణన క్రింది సూత్రాన్ని ఉపయోగిస్తుంది: నిర్గమాంశ = పేలోడ్ పరిమాణం / (పేలోడ్ పరిమాణం + ఓవర్హెడ్) * లింక్ డేటా రేట్
మూర్తి 12. మెమరీ రైట్స్ కోసం గరిష్ట నిర్గమాంశ
గ్రాఫ్ వివిధ TLP హెడర్ మరియు పేలోడ్ పరిమాణాలతో గరిష్ట నిర్గమాంశను చూపుతుంది. ఈ గణన నుండి DLLPలు మరియు PLPలు మినహాయించబడ్డాయి. 256-బైట్ గరిష్ట పేలోడ్ పరిమాణం మరియు 3-dword హెడర్ కోసం ఓవర్ హెడ్ ఐదు dwordలు. ఇంటర్ఫేస్ 256 బిట్లు అయినందున, 5-dword హెడర్కి ఒకే బస్ సైకిల్ అవసరం. 256-బైట్ పేలోడ్కు 8 బస్ సైకిళ్లు అవసరం.
సైద్ధాంతిక l M ax im um థ్రూపుట్ t ఫో r M emo ry W రైట్స్ (x1 )
కింది సమీకరణం గరిష్ట సైద్ధాంతిక నిర్గమాంశను చూపుతుంది: గరిష్ట నిర్గమాంశ = 8 చక్రాలు/9 చక్రాలు = 88.88% * 8 GBps = 7.2 GBps
గరిష్ట పేలోడ్ పరిమాణాన్ని పేర్కొంటోంది
పరికర నియంత్రణ రిజిస్టర్, బిట్స్ [7:5], ప్రస్తుత సిస్టమ్ యొక్క గరిష్ట TLP పేలోడ్ పరిమాణాన్ని నిర్దేశిస్తుంది. పరికర సామర్థ్యాల రిజిస్టర్ యొక్క గరిష్ట పేలోడ్ సైజు ఫీల్డ్, బిట్స్ [2:0], పేలోడ్ కోసం గరిష్టంగా అనుమతించదగిన విలువను పేర్కొంటుంది. మీరు పారామీటర్ ఎడిటర్ని ఉపయోగించి గరిష్ట పేలోడ్ సైజ్ అని పిలువబడే ఈ రీడ్-ఓన్లీ పారామీటర్ను పేర్కొనండి. ప్రస్తుత సిస్టమ్ కోసం గరిష్ట TLP పేలోడ్ను నిర్ణయించిన తర్వాత, సాఫ్ట్వేర్ ఆ విలువను పరికర నియంత్రణ రిజిస్టర్లో రికార్డ్ చేస్తుంది. ఈ విలువ తప్పనిసరిగా పరికర సామర్థ్యాల రిజిస్టర్లోని గరిష్ట పేలోడ్ సైజు ఫీల్డ్లో పేర్కొన్న గరిష్ట పేలోడ్ కంటే తక్కువగా ఉండాలి.
PCI ఎక్స్ప్రెస్ కోసం ఫ్లో నియంత్రణను అర్థం చేసుకోవడం
TLPని ఆమోదించడానికి రిసీవర్కు తగినంత బఫర్ స్థలం ఉంటే తప్ప TLP ప్రసారం చేయబడదని ఫ్లో నియంత్రణ హామీ ఇస్తుంది. హెడర్లు మరియు పేలోడ్ డేటా కోసం ప్రత్యేక క్రెడిట్లు ఉన్నాయి. TLPని పంపే ముందు పరికరానికి తగిన హెడర్ మరియు పేలోడ్ క్రెడిట్లు అవసరం. కంప్లీటర్లోని అప్లికేషన్ లేయర్ TLPని అంగీకరించినప్పుడు, అది కంప్లీటర్ యొక్క లావాదేవీ లేయర్లో RX బఫర్ స్థలాన్ని ఖాళీ చేస్తుంది. కంప్లీటర్ వినియోగించిన క్రెడిట్లను ఇనిషియేటర్కు తిరిగి నింపడానికి ఫ్లో కంట్రోల్ అప్డేట్ ప్యాకెట్ (FC అప్డేట్ DLLP)ని పంపుతుంది. పరికరం దాని మొత్తం క్రెడిట్లను వినియోగించినప్పుడు, హెడర్ మరియు పేలోడ్ క్రెడిట్లను భర్తీ చేయడానికి FC అప్డేట్ DLLPల రేటు నిర్గమాంశను పరిమితం చేస్తుంది. ప్రవాహ నియంత్రణ అప్డేట్లు గరిష్ట పేలోడ్ పరిమాణం మరియు కనెక్ట్ చేయబడిన రెండు పరికరాల లేటెన్సీలపై ఆధారపడి ఉంటాయి.
రీడ్ల కోసం థ్రూపుట్
PCI ఎక్స్ప్రెస్ రీడ్ల కోసం స్ప్లిట్ లావాదేవీ మోడల్ని ఉపయోగిస్తుంది. రీడ్ లావాదేవీ క్రింది దశలను కలిగి ఉంటుంది:
- అభ్యర్థించినవారు మెమరీ రీడ్ అభ్యర్థనను పంపుతారు.
- మెమరీ రీడ్ అభ్యర్థనను అంగీకరించడానికి కంప్లీటర్ ACK DLLPని పంపుతుంది.
- కంప్లీటర్ డేటాతో కంప్లీషన్ను తిరిగి అందజేస్తాడు. కంప్లీటర్ కంప్లీషన్ని మల్టిపుల్ కంప్లీషన్ ప్యాకెట్లుగా విభజించవచ్చు.
రీడ్ త్రూపుట్ సాధారణంగా రైట్ త్రూపుట్ కంటే తక్కువగా ఉంటుంది, ఎందుకంటే రీడ్లకు ఒకే మొత్తం డేటా కోసం ఒకే రైట్కు బదులుగా రెండు లావాదేవీలు అవసరం. అప్లికేషన్ లేయర్ మెమరీ రీడ్ రిక్వెస్ట్ను జారీ చేసే సమయం మరియు అభ్యర్థించిన డేటా తిరిగి వచ్చే సమయం మధ్య రౌండ్ ట్రిప్ ఆలస్యంపై కూడా రీడ్ త్రూపుట్ ఆధారపడి ఉంటుంది. నిర్గమాంశను పెంచడానికి, ఈ ఆలస్యాన్ని కవర్ చేయడానికి అప్లికేషన్ తప్పనిసరిగా తగినంత అత్యుత్తమ రీడ్ అభ్యర్థనలను జారీ చేయాలి.
మూర్తి 13. అభ్యర్థన సమయాన్ని చదవండి
దిగువ బొమ్మలు మెమరీ రీడ్ రిక్వెస్ట్లు (MRD) మరియు డేటా (CplD)తో పూర్తి చేసే సమయాన్ని చూపుతాయి. మొదటి బొమ్మ తదుపరి అభ్యర్థనలను జారీ చేయడానికి ముందు అభ్యర్థన పూర్తి కోసం వేచి ఉన్నట్లు చూపిస్తుంది. వేచి ఉండటం వలన తక్కువ నిర్గమాంశ ఫలితాలు వస్తాయి. మొదటి డేటా రిటర్న్ తర్వాత ఆలస్యాన్ని తొలగించడానికి అభ్యర్థనదారుడు అనేక అత్యుత్తమ రీడ్ అభ్యర్థనలను చేస్తున్నాడని రెండవ బొమ్మ చూపిస్తుంది. ఆలస్యాలను తొలగించడం వలన అధిక నిర్గమాంశ ఏర్పడుతుంది.
పూర్తి డేటా ప్యాకెట్ల కోసం గరిష్ట నిర్గమాంశను నిర్వహించడానికి, అభ్యర్థించినవారు తప్పనిసరిగా కింది సెట్టింగ్లను ఆప్టిమైజ్ చేయాలి:
- RX బఫర్లో పూర్తి చేసిన సంఖ్య
- అప్లికేషన్ లేయర్ రీడ్ రిక్వెస్ట్లను జారీ చేసే రేటు మరియు పూర్తి డేటాను ప్రాసెస్ చేస్తుంది
అభ్యర్థన పరిమాణాన్ని చదవండి
నిర్గమాంశను ప్రభావితం చేసే మరో అంశం రీడ్ అభ్యర్థన పరిమాణం. అభ్యర్థికి 4 KB డేటా అవసరమైతే, అభ్యర్థి నాలుగు, 1 KB రీడ్ అభ్యర్థనలు లేదా ఒకే 4 KB రీడ్ అభ్యర్థనను జారీ చేయవచ్చు. 4 KB అభ్యర్థన నాలుగు కంటే ఎక్కువ నిర్గమాంశకు దారి తీస్తుంది, 1 KB రీడ్లు. పరికర నియంత్రణ రిజిస్టర్లోని గరిష్ట రీడ్ రిక్వెస్ట్ సైజు విలువ, బిట్స్ [14:12], రీడ్ రిక్వెస్ట్ పరిమాణాన్ని నిర్దేశిస్తుంది.
అత్యుత్తమ పఠన అభ్యర్థనలు
అవుట్స్టాండింగ్ రీడ్ రిక్వెస్ట్ల సంఖ్య నిర్గమాంశను ప్రభావితం చేసే చివరి అంశం. అభ్యర్థనదారు నిర్గమాంశను మెరుగుపరచడానికి బహుళ రీడ్ అభ్యర్థనలను పంపితే, అందుబాటులో ఉన్న హెడర్ సంఖ్య tags అత్యుత్తమ రీడ్ అభ్యర్థనల సంఖ్యను పరిమితం చేస్తుంది. అధిక పనితీరును సాధించడానికి, Intel Arria 10 మరియు Intel Cyclone 10 GX రీడ్ DMA 16 హెడర్లను ఉపయోగించవచ్చు tags. Intel Stratix 10 రీడ్ DMA గరిష్టంగా 32 హెడర్లను ఉపయోగించవచ్చు tags.
త్రూపుట్ మెజర్మెంట్ను అర్థం చేసుకోవడం
నిర్గమాంశను కొలవడానికి, సాఫ్ట్వేర్ డ్రైవర్ రెండు సార్లు పడుతుందిampలు. సాఫ్ట్వేర్ మొదటిసారి తీసుకుంటుందిamp మీరు ./run ఆదేశాన్ని టైప్ చేసిన కొద్దిసేపటి తర్వాత. సాఫ్ట్వేర్ రెండవసారి తీసుకుంటుందిamp DMA పూర్తి చేసి, అవసరమైన పూర్తి స్థితిని తిరిగి అందించిన తర్వాత, EPLAST. DMAను చదివితే, DMAని వ్రాయండి మరియు ఏకకాలంలో చదవడం మరియు వ్రాయడం DMAలు అన్నీ ప్రారంభించబడితే, డ్రైవర్ ఆరు సార్లు పడుతుందిampమూడు కొలతలు చేయడానికి s.
ఆన్-చిప్ మరియు బాహ్య మెమరీ కోసం నిర్గమాంశ తేడాలు
ఈ సూచన డిజైన్ FPGA ఫాబ్రిక్లో అమలు చేయబడిన ఆన్-చిప్ మెమరీ మరియు PCBలో అందుబాటులో ఉన్న బాహ్య మెమరీ మధ్య ఎంపికను అందిస్తుంది. ఆన్-చిప్ మెమరీ ప్రత్యేక రీడ్ మరియు రైట్ పోర్ట్లకు మద్దతు ఇస్తుంది. పర్యవసానంగా, ఈ మెమరీ ఏకకాలంలో చదవడం మరియు వ్రాయడం DMAలకు మద్దతు ఇస్తుంది. బాహ్య మెమరీ ఒకే పోర్ట్కు మద్దతు ఇస్తుంది. పర్యవసానంగా, బాహ్య మెమరీ ఏకకాలంలో చదివే DMA మరియు రైట్ DMA యాక్సెస్లకు మద్దతు ఇవ్వదు. అదనంగా, బాహ్య మెమరీ యొక్క జాప్యం ఆన్-చిప్ మెమరీ యొక్క జాప్యం కంటే ఎక్కువగా ఉంటుంది. ఆన్-చిప్ మరియు ఎక్స్టర్నల్ మెమరీ మధ్య ఈ రెండు తేడాలు బాహ్య మెమరీ అమలు కోసం తక్కువ నిర్గమాంశకు దారితీస్తాయి. ఆన్-చిప్ మరియు బాహ్య మెమరీ కోసం నిర్గమాంశను సరిపోల్చడానికి, ఆన్-చిప్ మరియు బాహ్య మెమరీ మధ్య మారడానికి వరుస పరుగుల కోసం కమాండ్ 7ని ఎంచుకోండి.
AN 829 కోసం డాక్యుమెంట్ రివిజన్ హిస్టరీ: PCI ఎక్స్ప్రెస్ అవలోన్-MM DMA రిఫరెన్స్ డిజైన్
డాక్యుమెంట్ వెర్షన్ | ఇంటెల్ క్వార్టస్ ప్రైమ్ వెర్షన్ | మార్పులు |
2018.06.11 | 18.0 | ప్రారంభ విడుదల. |
AN 829: PCI ఎక్స్ప్రెస్* Avalon®-MM DMA రిఫరెన్స్ డిజైన్ 22
పత్రాలు / వనరులు
![]() |
intel AN 829 PCI ఎక్స్ప్రెస్* Avalon MM DMA రిఫరెన్స్ డిజైన్ [pdf] యూజర్ గైడ్ AN 829 PCI ఎక్స్ప్రెస్ అవలోన్ MM DMA రిఫరెన్స్ డిజైన్, AN 829, PCI ఎక్స్ప్రెస్ అవలోన్ MM DMA రిఫరెన్స్ డిజైన్, ఎక్స్ప్రెస్ అవలోన్ MM DMA రిఫరెన్స్ డిజైన్, Avalon MM DMA రిఫరెన్స్ డిజైన్, DMA రిఫరెన్స్ డిజైన్ |