ఇంటెల్ FPGA ప్రోగ్రామబుల్ యాక్సిలరేషన్ కార్డ్ D5005
ఈ పత్రం గురించి
ఈ పత్రం డైరెక్ట్ మెమరీ యాక్సెస్ (DMA) యాక్సిలరేటర్ ఫంక్షనల్ యూనిట్ (AFU) అమలు మరియు హార్డ్వేర్పై లేదా అనుకరణలో అమలు చేయడానికి డిజైన్ను ఎలా నిర్మించాలో వివరిస్తుంది.
ఉద్దేశించిన ప్రేక్షకులు
ఉద్దేశించిన ప్రేక్షకులు Intel FPGA పరికరానికి కనెక్ట్ చేయబడిన మెమరీలో డేటాను స్థానికంగా బఫర్ చేయడానికి యాక్సిలరేటర్ ఫంక్షన్ (AF) అవసరమయ్యే హార్డ్వేర్ లేదా సాఫ్ట్వేర్ డెవలపర్లను కలిగి ఉంటారు.
సమావేశాలు
డాక్యుమెంట్ కన్వెన్షన్స్
కన్వెన్షన్ | వివరణ |
# | కమాండ్ను రూట్గా నమోదు చేయాలని సూచించే కమాండ్కు ముందు ఉంటుంది. |
$ | వినియోగదారుగా ఆదేశాన్ని నమోదు చేయాలని సూచిస్తుంది. |
ఈ ఫాంట్ | Fileపేర్లు, ఆదేశాలు మరియు కీలకపదాలు ఈ ఫాంట్లో ముద్రించబడతాయి. ఈ ఫాంట్లో లాంగ్ కమాండ్ లైన్లు ప్రింట్ చేయబడతాయి. పొడవైన కమాండ్ లైన్లు తదుపరి పంక్తికి చుట్టబడినప్పటికీ, రిటర్న్ ఆదేశంలో భాగం కాదు; ఎంటర్ నొక్కకండి. |
యాంగిల్ బ్రాకెట్ల మధ్య కనిపించే ప్లేస్హోల్డర్ టెక్స్ట్ తప్పనిసరిగా తగిన విలువతో భర్తీ చేయబడాలని సూచిస్తుంది. కోణ బ్రాకెట్లను నమోదు చేయవద్దు. |
ఎక్రోనింస్
ఎక్రోనింస్
ఎక్రోనింస్ | విస్తరణ | వివరణ |
AF | యాక్సిలరేటర్ ఫంక్షన్ | అప్లికేషన్ను వేగవంతం చేసే FPGA లాజిక్లో అమలు చేయబడిన కంపైల్డ్ హార్డ్వేర్ యాక్సిలరేటర్ ఇమేజ్. |
AFU | యాక్సిలరేటర్ ఫంక్షనల్ యూనిట్ | FPGA లాజిక్లో అమలు చేయబడిన హార్డ్వేర్ యాక్సిలరేటర్ పనితీరును మెరుగుపరచడానికి CPU నుండి అప్లికేషన్ కోసం గణన ఆపరేషన్ను ఆఫ్లోడ్ చేస్తుంది. |
API | అప్లికేషన్ ప్రోగ్రామింగ్ ఇంటర్ఫేస్ | సాఫ్ట్వేర్ అప్లికేషన్లను రూపొందించడానికి సబ్రూటీన్ నిర్వచనాలు, ప్రోటోకాల్లు మరియు సాధనాల సమితి. |
CCI-P | కోర్ కాష్ ఇంటర్ఫేస్ | CCI-P అనేది హోస్ట్తో కమ్యూనికేట్ చేయడానికి AFUలు ఉపయోగించే ప్రామాణిక ఇంటర్ఫేస్. |
DFH | పరికర ఫీచర్ హెడర్ | ఫీచర్లను జోడించే విస్తృతమైన మార్గాన్ని అందించడానికి ఫీచర్ హెడర్ల లింక్ చేసిన జాబితాను సృష్టిస్తుంది. |
కొనసాగింది… |
ఇంటెల్ కార్పొరేషన్. అన్ని హక్కులు ప్రత్యేకించబడ్డాయి. ఇంటెల్, ఇంటెల్ లోగో మరియు ఇతర ఇంటెల్ గుర్తులు ఇంటెల్ కార్పొరేషన్ లేదా దాని అనుబంధ సంస్థల ట్రేడ్మార్క్లు. Intel దాని FPGA మరియు సెమీకండక్టర్ ఉత్పత్తుల పనితీరును ఇంటెల్ యొక్క ప్రామాణిక వారంటీకి అనుగుణంగా ప్రస్తుత స్పెసిఫికేషన్లకు హామీ ఇస్తుంది, అయితే నోటీసు లేకుండా ఏ సమయంలోనైనా ఏదైనా ఉత్పత్తులు మరియు సేవలకు మార్పులు చేసే హక్కును కలిగి ఉంది. ఇంటెల్ వ్రాతపూర్వకంగా అంగీకరించినట్లు మినహా ఇక్కడ వివరించిన ఏదైనా సమాచారం, ఉత్పత్తి లేదా సేవ యొక్క అప్లికేషన్ లేదా ఉపయోగం నుండి ఉత్పన్నమయ్యే బాధ్యత లేదా బాధ్యతను Intel తీసుకోదు. ఇంటెల్ కస్టమర్లు ఏదైనా ప్రచురించబడిన సమాచారంపై ఆధారపడే ముందు మరియు ఉత్పత్తులు లేదా సేవల కోసం ఆర్డర్లు చేసే ముందు పరికర నిర్దేశాల యొక్క తాజా వెర్షన్ను పొందాలని సూచించారు. *ఇతర పేర్లు మరియు బ్రాండ్లను ఇతరుల ఆస్తిగా క్లెయిమ్ చేయవచ్చు.
ఎక్రోనింస్ | విస్తరణ | వివరణ |
FIM | FPGA ఇంటర్ఫేస్ మేనేజర్ | FPGA ఇంటర్ఫేస్ యూనిట్ (FIU) మరియు మెమరీ, నెట్వర్కింగ్ మొదలైన వాటి కోసం బాహ్య ఇంటర్ఫేస్లను కలిగి ఉన్న FPGA హార్డ్వేర్.
రన్ టైమ్లో యాక్సిలరేటర్ ఫంక్షన్ (AF) FIMతో ఇంటర్ఫేస్ చేస్తుంది. |
FIU | FPGA ఇంటర్ఫేస్ యూనిట్ | FIU అనేది ప్లాట్ఫారమ్ ఇంటర్ఫేస్ లేయర్, ఇది PCIe*, UPI మరియు CCI-P వంటి AFU-సైడ్ ఇంటర్ఫేస్ల వంటి ప్లాట్ఫారమ్ ఇంటర్ఫేస్ల మధ్య వంతెనగా పనిచేస్తుంది. |
MPF | మెమరీ ప్రాపర్టీస్ ఫ్యాక్టరీ | MPF అనేది FIUతో లావాదేవీల కోసం CCI-P ట్రాఫిక్ షేపింగ్ కార్యకలాపాలను అందించడానికి AFUలు ఉపయోగించే ప్రాథమిక బిల్డింగ్ బ్లాక్ (BBB). |
త్వరణం పదకోశం
FPGAs గ్లోసరీతో Intel® Xeon® CPU కోసం యాక్సిలరేషన్ స్టాక్
పదం | సంక్షిప్తీకరణ | వివరణ |
FPGAలతో Intel Xeon® CPU కోసం Intel® యాక్సిలరేషన్ స్టాక్ | త్వరణం స్టాక్ | ఇంటెల్ ఎఫ్పిజిఎ మరియు ఇంటెల్ జియాన్ ప్రాసెసర్ మధ్య పనితీరు-ఆప్టిమైజ్ చేసిన కనెక్టివిటీని అందించే సాఫ్ట్వేర్, ఫర్మ్వేర్ మరియు సాధనాల సేకరణ. |
ఇంటెల్ FPGA ప్రోగ్రామబుల్ యాక్సిలరేషన్ కార్డ్ | ఇంటెల్ FPGA PAC | PCIe FPGA యాక్సిలరేటర్ కార్డ్.
PCIe బస్పై Intel Xeon ప్రాసెసర్తో జత చేసే FPGA ఇంటర్ఫేస్ మేనేజర్ (FIM)ని కలిగి ఉంది. |
- DMA యాక్సిలరేటర్ ఫంక్షనల్ యూనిట్ యూజర్ గైడ్: Intel FPGA ప్రోగ్రామబుల్ యాక్సిలరేషన్ కార్డ్ D5005
DMA AFU వివరణ
పరిచయం
డైరెక్ట్ మెమరీ యాక్సెస్ (DMA) AFU మాజీampహోస్ట్ ప్రాసెసర్ మరియు FPGA మధ్య మెమరీ బదిలీలను ఎలా నిర్వహించాలో le చూపిస్తుంది. హోస్ట్ మెమరీ మరియు FPGA లోకల్ మెమరీ మధ్య డేటాను తరలించడానికి మీరు DMA AFUని మీ డిజైన్లో ఇంటిగ్రేట్ చేయవచ్చు. DMA AFU కింది సబ్మాడ్యూల్లను కలిగి ఉంటుంది:
- మెమరీ ప్రాపర్టీస్ ఫ్యాక్టరీ (MPF) బేసిక్ బిల్డింగ్ బ్లాక్ (BBB)
- కోర్ కాష్ ఇంటర్ఫేస్ (CCI-P) నుండి Avalon® మెమరీ-మ్యాప్డ్ (Avalon-MM) అడాప్టర్
- DMA BBBని కలిగి ఉన్న DMA టెస్ట్ సిస్టమ్
ఈ సబ్మాడ్యూల్స్ దిగువన ఉన్న DMA AFU హార్డ్వేర్ కాంపోనెంట్స్ టాపిక్లో మరింత వివరంగా వివరించబడ్డాయి.
సంబంధిత సమాచారం
- పేజీ 6లోని DMA AFU హార్డ్వేర్ భాగాలు
- అవలోన్ ఇంటర్ఫేస్ స్పెసిఫికేషన్లు
Avalon-MM ప్రోటోకాల్ గురించి మరింత సమాచారం కోసం, లావాదేవీలను చదవడం మరియు వ్రాయడం కోసం టైమింగ్ రేఖాచిత్రాలతో సహా.
DMA AFU సాఫ్ట్వేర్ ప్యాకేజీ
FPGAs ప్యాకేజీతో Intel Xeon CPU కోసం ఇంటెల్ యాక్సిలరేషన్ స్టాక్ file (*.tar.gz), DMA AFU మాజీని కలిగి ఉంటుందిample. ఈ మాజీample ఒక యూజర్ స్పేస్ డ్రైవర్ను అందిస్తుంది. హోస్ట్ అప్లికేషన్ ఈ డ్రైవర్ను ఉపయోగిస్తుంది అంటే DMA హోస్ట్ మరియు FPGA మెమరీ మధ్య డేటాను కదిలిస్తుంది. హార్డ్వేర్ బైనరీలు, మూలాలు మరియు వినియోగదారు స్పేస్ డ్రైవర్ క్రింది డైరెక్టరీలో అందుబాటులో ఉన్నాయి: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu . DMA AFUతో ప్రయోగాలు చేసే ముందు, మీరు తప్పక ఓపెన్ ప్రోగ్రామబుల్ యాక్సిలరేషన్ ఇంజిన్ (OPAE) సాఫ్ట్వేర్ ప్యాకేజీని ఇన్స్టాల్ చేయాలి. Intel FPGA ప్రోగ్రామబుల్ యాక్సిలరేషన్ కార్డ్ D5005 కోసం Intel యాక్సిలరేషన్ స్టాక్ క్విక్ స్టార్ట్ గైడ్లో OPAE సాఫ్ట్వేర్ ప్యాకేజీని ఇన్స్టాల్ చేయడాన్ని చూడండి. ఈ క్విక్ స్టార్ట్ గైడ్ ఓపెన్ ప్రోగ్రామబుల్ యాక్సిలరేషన్ ఇంజిన్ (OPAE) మరియు AFUని కాన్ఫిగర్ చేయడం గురించి ప్రాథమిక సమాచారాన్ని కూడా కలిగి ఉంటుంది. ఓపెన్ ప్రోగ్రామబుల్ యాక్సిలరేషన్ ఇంజిన్ (OPAE) సాఫ్ట్వేర్ ప్యాకేజీని ఇన్స్టాల్ చేసిన తర్వాతample హోస్ట్ అప్లికేషన్ మరియు DMA AFU యూజర్ స్పేస్ డ్రైవర్ క్రింది డైరెక్టరీలో అందుబాటులో ఉన్నాయి: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw. లను నడపడానికిample హోస్ట్ అప్లికేషన్, మీ Intel FPGA PAC D5005 హార్డ్వేర్పై fpga_dma_test, DMA AFU Exని అమలు చేస్తున్న విభాగంలోని దశలను చూడండి.ample. ఇంటెల్ కార్పొరేషన్. అన్ని హక్కులు ప్రత్యేకించబడ్డాయి. ఇంటెల్, ఇంటెల్ లోగో మరియు ఇతర ఇంటెల్ గుర్తులు ఇంటెల్ కార్పొరేషన్ లేదా దాని అనుబంధ సంస్థల ట్రేడ్మార్క్లు. Intel దాని FPGA మరియు సెమీకండక్టర్ ఉత్పత్తుల పనితీరును ఇంటెల్ యొక్క ప్రామాణిక వారంటీకి అనుగుణంగా ప్రస్తుత స్పెసిఫికేషన్లకు హామీ ఇస్తుంది, అయితే నోటీసు లేకుండా ఏ సమయంలోనైనా ఏదైనా ఉత్పత్తులు మరియు సేవలకు మార్పులు చేసే హక్కును కలిగి ఉంది. ఇంటెల్ వ్రాతపూర్వకంగా అంగీకరించినట్లు మినహా ఇక్కడ వివరించిన ఏదైనా సమాచారం, ఉత్పత్తి లేదా సేవ యొక్క అప్లికేషన్ లేదా ఉపయోగం నుండి ఉత్పన్నమయ్యే బాధ్యత లేదా బాధ్యతను Intel తీసుకోదు. ఇంటెల్ కస్టమర్లు ఏదైనా ప్రచురించిన సమాచారంపై ఆధారపడే ముందు మరియు ఉత్పత్తులు లేదా సేవల కోసం ఆర్డర్లు చేసే ముందు పరికర నిర్దేశాల యొక్క తాజా వెర్షన్ను పొందాలని సూచించారు. *ఇతర పేర్లు మరియు బ్రాండ్లను ఇతరుల ఆస్తిగా క్లెయిమ్ చేయవచ్చు.
సంబంధిత సమాచారం
- ఇంటెల్ FPGA ప్రోగ్రామబుల్ యాక్సిలరేషన్ కార్డ్ D5005 కోసం ఇంటెల్ యాక్సిలరేషన్ స్టాక్ క్విక్ స్టార్ట్ గైడ్
- OPAE సాఫ్ట్వేర్ ప్యాకేజీని ఇన్స్టాల్ చేస్తోంది
DMA AFU హార్డ్వేర్ భాగాలు
DMA AFU FPGA ఇంటర్ఫేస్ యూనిట్ (FIU) మరియు FPGA మెమరీతో ఇంటర్ఫేస్ చేస్తుంది. FPGA మెమరీ యొక్క వివరణాత్మక స్పెసిఫికేషన్ల కోసం Intel FPGA ప్రోగ్రామబుల్ యాక్సిలరేషన్ కార్డ్ D5005 కోసం FPGA ఇంటర్ఫేస్ మేనేజర్ డేటా షీట్ని చూడండి. ప్రస్తుతం అందుబాటులో ఉన్న హార్డ్వేర్ ఈ మెమరీ కాన్ఫిగరేషన్ను నిర్దేశిస్తుంది. భవిష్యత్ హార్డ్వేర్ వివిధ మెమరీ కాన్ఫిగరేషన్లకు మద్దతు ఇవ్వవచ్చు. కింది మూలం మరియు గమ్య స్థానాల మధ్య డేటాను కాపీ చేయడానికి మీరు DMA AFUని ఉపయోగించవచ్చు:
- పరికరానికి హోస్ట్ FPGA మెమరీ
- హోస్ట్కి పరికరం FPGA మెమరీ
ప్లాట్ఫారమ్ డిజైనర్ సిస్టమ్, $OPAE_PLATFORM_ROOT/hw/samples/ dma_afu/hw/rtl/TEST_dma/ /dma_test_system.qsys చాలా వరకు DMAని అమలు చేస్తుంది
- AFU. ప్లాట్ఫారమ్ డిజైనర్ సిస్టమ్లో అమలు చేయబడిన DMA AFUలో కొంత భాగాన్ని కింది వాటిలో చూడవచ్చు
స్థానం:$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/hw/rtl/TEST_dma/ మీరు క్రింది స్థానంలో DMA BBBని కనుగొనవచ్చు:
- $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/hw/rtl/dma_bbb
DMA యాక్సిలరేటర్ ఫంక్షనల్ యూనిట్ యూజర్ గైడ్: Intel FPGA ప్రోగ్రామబుల్ యాక్సిలరేషన్ కార్డ్ D5005
DMA AFU హార్డ్వేర్ బ్లాక్ రేఖాచిత్రం
DMA AFU FPGA ఇంటర్ఫేస్ యూనిట్ (FIU)తో ఇంటర్ఫేస్ చేయడానికి క్రింది అంతర్గత మాడ్యూళ్లను కలిగి ఉంది:
- మెమరీ-మ్యాప్డ్ IO (MMIO) డీకోడర్ లాజిక్: MMIO రీడ్ అండ్ రైట్ లావాదేవీలను గుర్తిస్తుంది మరియు వాటిని CCI-P RX ఛానెల్ 0 నుండి వేరు చేస్తుంది. ఇది MMIO ట్రాఫిక్ ఎప్పుడూ MPF BBBకి చేరదని మరియు స్వతంత్ర MMIO కమాండ్ ఛానెల్ ద్వారా సేవలు అందించబడుతుందని నిర్ధారిస్తుంది.
- మెమరీ ప్రాపర్టీస్ ఫ్యాక్టరీ (MPF): ఈ మాడ్యూల్ DMA నుండి ప్రతిస్పందనలను అవి జారీ చేసిన క్రమంలో రీడ్ చేసేలా నిర్ధారిస్తుంది. Avalon-MM ప్రోటోకాల్ సరైన క్రమంలో తిరిగి రావడానికి ప్రతిస్పందనలను చదవడం అవసరం.
- CCI-P నుండి Avalon-MM అడాప్టర్: ఈ మాడ్యూల్ CCI-P మరియు Avalon-MM లావాదేవీల మధ్య ఈ క్రింది విధంగా అనువదిస్తుంది:
- CCI-P నుండి Avalon-MMIO అడాప్టర్: ఈ మార్గం CCI-P MMIO లావాదేవీలను Avalon-MM లావాదేవీలుగా అనువదిస్తుంది.
- Avalon నుండి CCI-P హోస్ట్ అడాప్టర్: ఈ పాత్లు హోస్ట్ మెమరీని యాక్సెస్ చేయడానికి DMA కోసం ప్రత్యేక రీడ్-ఓన్లీ మరియు రైట్-ఓన్లీ పాత్లను సృష్టిస్తాయి.
- DMA టెస్ట్ సిస్టమ్: AFUలోని మిగిలిన లాజిక్లకు DMA మాస్టర్లను బహిర్గతం చేయడానికి ఈ మాడ్యూల్ DMA BBB చుట్టూ ర్యాపర్గా పనిచేస్తుంది. ఇది Avalon అడాప్టర్కి DMA BBB మరియు CCI-P మధ్య ఇంటర్ఫేస్ను అందిస్తుంది. ఇది DMA BBB మరియు స్థానిక FPGA SDRAM బ్యాంకుల మధ్య ఇంటర్ఫేస్ను కూడా అందిస్తుంది.
సంబంధిత సమాచారం
ఇంటెల్ FPGA ప్రోగ్రామబుల్ యాక్సిలరేషన్ కార్డ్ D5005 కోసం FPGA ఇంటర్ఫేస్ మేనేజర్ డేటా షీట్
DMA టెస్ట్ సిస్టమ్
DMA టెస్ట్ సిస్టమ్ DMA BBBని CCI-P అడాప్టేషన్ మరియు స్థానిక FPGA మెమరీతో సహా మిగిలిన FPGA డిజైన్కి కలుపుతుంది.
DMA టెస్ట్ సిస్టమ్ బ్లాక్ రేఖాచిత్రం
ఈ బ్లాక్ రేఖాచిత్రం DMA పరీక్ష వ్యవస్థ యొక్క అంతర్గత అంశాలను చూపుతుంది. DMA పరీక్ష విధానం 1వ పేజీలోని మూర్తి 7లో ఏకశిలా బ్లాక్గా చూపబడింది.
DMA పరీక్ష వ్యవస్థ కింది అంతర్గత మాడ్యూళ్లను కలిగి ఉంటుంది:
- ఫార్ రీచ్ బ్రిడ్జ్/పైప్లైన్ బ్రిడ్జ్: టోపోలాజీని నియంత్రించడానికి మరియు డిజైన్ Fmaxని మెరుగుపరచడానికి సర్దుబాటు చేసే జాప్యంతో కూడిన పైప్లైన్ వంతెన.
- DMA AFU పరికర ఫీచర్ హెడర్ (DFH): ఇది DMA AFU కోసం DFH. ఈ DFH ఆఫ్సెట్ 0x100 (DMA BBB DFH) వద్ద ఉన్న తదుపరి DFHని సూచిస్తుంది.
- శూన్య DFH: ఈ భాగం DFH లింక్డ్-జాబితాను ముగించింది. మీరు డిజైన్కు మరిన్ని DMA BBBలను జోడిస్తే, DFH లింక్డ్-లిస్ట్ చివరిలో శూన్య DFH బేస్ అడ్రస్ ఉందని నిర్ధారించుకోండి.
- MA బేసిక్ బిల్డింగ్ బ్లాక్ (BBB): ఈ బ్లాక్ హోస్ట్ మరియు స్థానిక FPGA మెమరీ మధ్య డేటాను తరలిస్తుంది. ఇది డిస్క్రిప్టర్ చెయిన్లను యాక్సెస్ చేయడానికి హోస్ట్ మెమరీని కూడా యాక్సెస్ చేస్తుంది.
DMA BBB
DMA BBB సబ్సిస్టమ్ Avalon-MM లావాదేవీలను ఉపయోగించి మూలాధారం నుండి గమ్యస్థాన చిరునామాలకు డేటాను బదిలీ చేస్తుంది. సిస్టమ్లోని వివిధ భాగాల నియంత్రణ మరియు స్థితి రిజిస్టర్ను యాక్సెస్ చేయడం ద్వారా DMA డ్రైవర్ DMA BBBని నియంత్రిస్తుంది. DMA డ్రైవర్ బదిలీ డిస్క్రిప్టర్లను కమ్యూనికేట్ చేయడానికి షేర్డ్ మెమరీని ఉపయోగించడం ద్వారా DMA BBBని కూడా నియంత్రిస్తుంది. DMA BBB ఆఫ్సెట్ 0x0 వద్ద FPGA మెమరీలో డేటాను యాక్సెస్ చేస్తుంది. DMA BBB ఆఫ్సెట్ 0x1_0000_0000_0000 వద్ద హోస్ట్ మెమరీలో డేటా మరియు డిస్క్రిప్టర్లను యాక్సెస్ చేస్తుంది.
DMA BBB ప్లాట్ఫారమ్ డిజైనర్ బ్లాక్ రేఖాచిత్రం
ఈ బ్లాక్ రేఖాచిత్రం కొన్ని అంతర్గత పైప్లైన్ వంతెన IP కోర్లను మినహాయించింది.
DMA యాక్సిలరేటర్ ఫంక్షనల్ యూనిట్ యూజర్ గైడ్: Intel FPGA ప్రోగ్రామబుల్ యాక్సిలరేషన్ కార్డ్ D5005
DMA AFU వివరణ
DMA BBB ప్లాట్ఫారమ్ డిజైనర్లోని భాగాలు క్రింది విధులను అమలు చేస్తాయి:
- ఫార్ రీచ్ బ్రిడ్జ్/పైప్లైన్ వంతెన: టోపోలాజీని నియంత్రించడానికి మరియు డిజైన్ Fmaxని మెరుగుపరచడానికి సర్దుబాటు చేయగల జాప్యంతో పైప్లైన్ వంతెన చేర్చబడింది.
- MA BBB DFH: ఇది DMA BBB కోసం పరికర ఫీచర్ హెడర్. ఈ DFH ఆఫ్సెట్ 0x100 (శూన్య DFH) వద్ద ఉన్న తదుపరి DFHని సూచిస్తుంది.
- డిస్క్రిప్టర్ ఫ్రంటెండ్: డిస్క్రిప్టర్లను పొందడం మరియు వాటిని డిస్పాచర్కు బదిలీ చేయడం బాధ్యత. DMA బదిలీ పూర్తయినప్పుడు, ఫ్రంటెండ్ డిస్పాచర్ నుండి స్టేటస్ ఫార్మేషన్ను పొందుతుంది మరియు హోస్ట్ మెమరీలో డిస్క్రిప్టర్ను ఓవర్రైట్ చేస్తుంది.
- డిస్పాచర్: ఈ బ్లాక్ DMA బదిలీ అభ్యర్థనలను రీడ్ అండ్ రైట్ మాస్టర్కి షెడ్యూల్ చేస్తుంది.
- రీడ్ మాస్టర్: హోస్ట్ లేదా స్థానిక FPGA మెమరీ నుండి డేటాను చదవడానికి మరియు రైట్ మాస్టర్కి స్ట్రీమింగ్ డేటాగా పంపడానికి ఈ బ్లాక్ బాధ్యత వహిస్తుంది.
- మాస్టర్ వ్రాయండి: రీడ్ మాస్టర్ నుండి స్ట్రీమింగ్ డేటాను స్వీకరించడానికి మరియు కంటెంట్లను హోస్ట్ చేయడానికి లేదా స్థానిక FPGA మెమరీకి వ్రాయడానికి ఈ బ్లాక్ బాధ్యత వహిస్తుంది.
మ్యాప్ మరియు అడ్రస్ స్పేస్లను నమోదు చేయండి
DMA AFU రెండు మెమరీకి మద్దతు ఇస్తుంది views: DMA view మరియు హోస్ట్ view. DMA view 49-బిట్ అడ్రస్ స్పేస్కు మద్దతు ఇస్తుంది. DMA యొక్క దిగువ సగం view స్థానిక FPGA మెమరీకి మ్యాప్లు. DMA ఎగువ సగం view మెమరీని హోస్ట్ చేయడానికి మ్యాప్లు. హోస్ట్ view DFH పట్టికలు వంటి MMIO యాక్సెస్ల ద్వారా యాక్సెస్ చేయగల అన్ని రిజిస్టర్లు మరియు DMA AFU లోపల ఉపయోగించే వివిధ IP కోర్ల నియంత్రణ/స్టేటస్ రిజిస్టర్లను కలిగి ఉంటుంది. MMIO DMA BBBలో నమోదు చేయబడుతుంది మరియు AFU 32- మరియు 64-బిట్ యాక్సెస్కు మద్దతు ఇస్తుంది. DMA AFU 512-బిట్ MMIO యాక్సెస్లకు మద్దతు ఇవ్వదు. DMA BBB లోపల డిస్పాచర్ రిజిస్టర్లకు యాక్సెస్లు తప్పనిసరిగా 32 బిట్లు ఉండాలి (డిస్క్రిప్టర్ ఫ్రంటెండ్ 64-బిట్ రిజిస్టర్లను అమలు చేస్తుంది).
DMA AFU రిజిస్టర్ మ్యాప్
DMA AFU రిజిస్టర్ మ్యాప్ యూనిట్లోని అన్ని స్థానాల యొక్క సంపూర్ణ చిరునామాలను అందిస్తుంది. ఈ రిజిస్టర్లు హోస్ట్లో ఉన్నాయి view ఎందుకంటే హోస్ట్ మాత్రమే వాటిని యాక్సెస్ చేయగలరు.
DMA AFU మెమరీ మ్యాప్
బైట్ చిరునామా ఆఫ్సెట్లు | పేరు | బైట్లలో విస్తరించండి | వివరణ |
0x0 | DMA AFU DFH | 0x40 | DMA AFU కోసం పరికర ఫీచర్ హెడర్. ID_L 0x9081f88b8f655caaకి సెట్ చేయబడింది మరియు ID_H 0x331db30c988541eaకి సెట్ చేయబడింది. DMA AFU DFH తదుపరి DFH (DMA BBB DFH)ని కనుగొనడానికి 0x100ని ఆఫ్సెట్ చేయడానికి పాయింట్ చేయడానికి పారామీటర్ చేయబడింది. మీరు DMA AFU DFH యొక్క మూల చిరునామాను సవరించకూడదు, ఎందుకంటే అది తప్పనిసరిగా CCIP స్పెసిఫికేషన్ ద్వారా నిర్వచించబడిన చిరునామా 0x0 వద్ద ఉండాలి. |
0x100 | DMA BBB | 0x100 | DMA BBB నియంత్రణ మరియు స్థితి రిజిస్టర్ ఇంటర్ఫేస్ను నిర్దేశిస్తుంది. మరింత సమాచారం కోసం మీరు DMA BBB రిజిస్టర్ మ్యాప్ని చూడవచ్చు. ఆఫ్సెట్ 0 వద్ద DMA BBBలో DMA BBB దాని స్వంత DFHని కలిగి ఉంటుంది. ఈ DFH తదుపరి DFHని ఆఫ్సెట్ 0x100 (NULL DFH) వద్ద కనుగొనేలా సెట్ చేయబడింది. మీరు మరిన్ని DMA BBBలను జోడిస్తే, వాటిని 0x100 వేరుగా ఉంచండి మరియు NULL DFH చివరి DMAని 0x100కి అనుసరిస్తుందని నిర్ధారించుకోండి. |
0x200 | NULL DFH | 0x40 | DFH లింక్డ్-జాబితాను రద్దు చేస్తుంది. ID_L 0x90fe6aab12a0132fకి సెట్ చేయబడింది మరియు ID_H 0xda1182b1b3444e23కి సెట్ చేయబడింది. హార్డ్వేర్లో చివరి DFHగా NULL DFH పరామితి చేయబడింది. ఈ కారణంగా NULL DFH చిరునామా 0x200 వద్ద ఉంది. మీరు సిస్టమ్కు అదనపు DMA BBBలను జోడిస్తే, మీరు NULL DFH మూల చిరునామాను పెంచాలి, తద్వారా అది అత్యధిక చిరునామాలో ఉంటుంది. DMA డ్రైవర్ మరియు టెస్ట్ అప్లికేషన్ ఈ హార్డ్వేర్ను ఉపయోగించవు. |
ఇంటెల్ కార్పొరేషన్. అన్ని హక్కులు ప్రత్యేకించబడ్డాయి. ఇంటెల్, ఇంటెల్ లోగో మరియు ఇతర ఇంటెల్ గుర్తులు ఇంటెల్ కార్పొరేషన్ లేదా దాని అనుబంధ సంస్థల ట్రేడ్మార్క్లు. Intel దాని FPGA మరియు సెమీకండక్టర్ ఉత్పత్తుల పనితీరును ఇంటెల్ యొక్క ప్రామాణిక వారంటీకి అనుగుణంగా ప్రస్తుత స్పెసిఫికేషన్లకు హామీ ఇస్తుంది, అయితే నోటీసు లేకుండా ఏ సమయంలోనైనా ఏదైనా ఉత్పత్తులు మరియు సేవలకు మార్పులు చేసే హక్కును కలిగి ఉంది. ఇంటెల్ వ్రాతపూర్వకంగా అంగీకరించినట్లు మినహా ఇక్కడ వివరించిన ఏదైనా సమాచారం, ఉత్పత్తి లేదా సేవ యొక్క అప్లికేషన్ లేదా ఉపయోగం నుండి ఉత్పన్నమయ్యే బాధ్యత లేదా బాధ్యతను Intel తీసుకోదు. ఇంటెల్ కస్టమర్లు ఏదైనా ప్రచురించబడిన సమాచారంపై ఆధారపడే ముందు మరియు ఉత్పత్తులు లేదా సేవల కోసం ఆర్డర్లు చేసే ముందు పరికర నిర్దేశాల యొక్క తాజా వెర్షన్ను పొందాలని సూచించారు. *ఇతర పేర్లు మరియు బ్రాండ్లను ఇతరుల ఆస్తిగా క్లెయిమ్ చేయవచ్చు.
మ్యాప్ మరియు అడ్రస్ స్పేస్లను నమోదు చేయండి
DMA BBB మెమరీ మ్యాప్
కింది బైట్ చిరునామాలు DMA AFU సిస్టమ్ (0x100)లోని DMA BBB బేస్ చిరునామా నుండి సంబంధిత ఆఫ్సెట్లు.
బైట్ చిరునామా ఆఫ్సెట్లు | పేరు | బైట్లలో విస్తరించండి | వివరణ |
0x0 | DMA BBB DFH | 0x40 | DMA AFU కోసం పరికర ఫీచర్ హెడర్. ID_L 0xa9149a35bace01eaకి సెట్ చేయబడింది మరియు ID_H 0xef82def7f6ec40fcకి సెట్ చేయబడింది. DMA BBB DFH తదుపరి DFH ఆఫ్సెట్ కోసం 0x100కి సూచించడానికి పారామీటర్ చేయబడింది. ఈ తదుపరి ఆఫ్సెట్ మరొక DMA BBB, మరొక DFH (ఈ డిజైన్లో చేర్చబడలేదు) లేదా NULL DFH కావచ్చు. |
0x40 | డిస్పాచర్ | 0x40 | డిస్పాచర్ కోసం కంట్రోల్ పోర్ట్. DMA డ్రైవర్ ఈ స్థానాన్ని DMAని నియంత్రించడానికి లేదా దాని స్థితిని ప్రశ్నించడానికి ఉపయోగిస్తుంది. |
0x80 | డిస్క్రిప్టర్ ఫ్రంటెండ్ | 0x40 | డిస్క్రిప్టర్ ఫ్రంటెండ్ అనేది కస్టమ్ కాంపోనెంట్, ఇది హోస్ట్ మెమరీ నుండి డిస్క్రిప్టర్లను రీడ్ చేస్తుంది మరియు DMA బదిలీ పూర్తయినప్పుడు డిస్క్రిప్టర్ను ఓవర్రైట్ చేస్తుంది. డ్రైవర్ మొదటి డిస్క్రిప్టర్ హోస్ట్ మెమరీలో నివసించే ఫ్రంటెండ్కు నిర్దేశిస్తుంది మరియు ఆ తర్వాత ఫ్రంటెండ్ హార్డ్వేర్ డ్రైవర్తో కమ్యూనికేట్ చేస్తుంది, అయితే డిస్క్రిప్టర్లు హోస్ట్ మెమరీలో నిల్వ చేయబడతాయి. |
DMA AFU అడ్రస్ స్పేస్
హోస్ట్ పేజీ 4లోని టేబుల్ 12 మరియు పేజీ 5లోని టేబుల్ 13లో జాబితా చేయబడిన రిజిస్టర్లను యాక్సెస్ చేయగలదు. DMA BBB సబ్సిస్టమ్ పూర్తి 49-బిట్ అడ్రస్ స్పేస్కు యాక్సెస్ను కలిగి ఉంది. ఈ చిరునామా స్థలం యొక్క దిగువ భాగంలో స్థానిక FPGA జ్ఞాపకాలు ఉన్నాయి. ఈ చిరునామా స్థలం యొక్క ఎగువ భాగంలో 48-బిట్ హోస్ట్ చిరునామా మెమరీ ఉంటుంది. కింది బొమ్మ హోస్ట్ మరియు DMAని చూపుతుంది viewలు జ్ఞాపకశక్తి.
DMA AFU మరియు హోస్ట్ Viewమెమరీ యొక్క s
పరికర ఫీచర్ హెడర్ లింక్డ్-జాబితా
DMA AFU డిజైన్ మాజీample లింక్డ్ జాబితాను రూపొందించే మూడు పరికర ఫీచర్ హెడర్లను (DFH) కలిగి ఉంది. ఈ లింక్ చేయబడిన జాబితా sని అనుమతిస్తుందిampDMA AFUని అలాగే DMA BBBని గుర్తించడానికి డ్రైవర్ను గుర్తించడానికి le అప్లికేషన్. DFH జాబితా చివరలో NULL DFHని కలిగి ఉంటుంది. లింక్ చేయబడిన జాబితా చివరిలో శూన్యమైన DFHని చేర్చడం వలన మీ డిజైన్కు మరిన్ని DMA BBBలను జోడించవచ్చు. మీరు NULL DFHని ఇతర BBBల తర్వాత చిరునామాకు తరలించాలి. ప్రతి DMA BBB తదుపరి DFH BBB యొక్క మూల చిరునామా నుండి 0x100 బైట్లను కలిగి ఉండాలని ఆశిస్తుంది. క్రింది బొమ్మ DMA AFU డిజైన్ మాజీ కోసం లింక్ చేయబడిన-జాబితాను వర్ణిస్తుందిample.
మ్యాప్ మరియు అడ్రస్ స్పేస్లను నమోదు చేయండి
DMA AFU పరికర ఫీచర్ హెడర్ (DFH) చైనింగ్
సాఫ్ట్వేర్ ప్రోగ్రామింగ్ మోడల్
DMA AFU మీరు మీ స్వంత హోస్ట్ అప్లికేషన్లో ఉపయోగించగల సాఫ్ట్వేర్ డ్రైవర్ను కలిగి ఉంటుంది. Fpga_dma.cpp మరియు fpga_dma.h fileకింది స్థానంలో ఉన్న సాఫ్ట్వేర్ డ్రైవర్ను అమలు చేయండి:$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw ఈ డ్రైవర్ కింది ఫంక్షన్లకు మద్దతిస్తుంది:
API | వివరణ |
fpgaCountDMAChannels | DMA BBBల కోసం పరికర ఫీచర్ చైన్ని స్కాన్ చేస్తుంది మరియు అందుబాటులో ఉన్న అన్ని ఛానెల్లను లెక్కించండి. |
fpgaDMAఓపెన్ | DMA ఛానెల్కు హ్యాండిల్ను తెరుస్తుంది. |
fpgaDMAమూసివేయి | DMA ఛానెల్కు హ్యాండిల్ను మూసివేస్తుంది. |
fpgaDMATtransferInit | DMA బదిలీని సూచించే వస్తువును ప్రారంభిస్తుంది. |
fpgaDMATtransferReset | DMA బదిలీ అట్రిబ్యూట్ ఆబ్జెక్ట్ని డిఫాల్ట్ విలువలకు రీసెట్ చేస్తుంది. |
fpgaDMATtransferDestroy | DMA బదిలీ లక్షణ వస్తువును నాశనం చేస్తుంది. |
fpgaDMATransferSetSrc | బదిలీ యొక్క మూల చిరునామాను సెట్ చేస్తుంది. ఈ చిరునామా తప్పనిసరిగా 64 బైట్లతో సమలేఖనం చేయబడి ఉండాలి. |
fpgaDMATtransferSetDst | బదిలీ యొక్క గమ్యం చిరునామాను సెట్ చేస్తుంది. ఈ చిరునామా తప్పనిసరిగా 64 బైట్లతో సమలేఖనం చేయబడి ఉండాలి. |
fpgaDMATransferSetLen | బదిలీ పొడవులను బైట్లలో సెట్ చేస్తుంది. నాన్-ప్యాకెట్ బదిలీల కోసం, మీరు తప్పనిసరిగా బదిలీ పొడవును 64 బైట్ల గుణకారానికి సెట్ చేయాలి. ప్యాకెట్ బదిలీల కోసం, ఇది అవసరం లేదు. |
fpgaDMATtransferSetTransferType | బదిలీ రకాన్ని సెట్ చేస్తుంది. చట్టపరమైన విలువలు:
• HOST_MM_TO_FPGA_MM = TX (AFUకి హోస్ట్) • FPGA_MM_TO_HOST_MM = RX (హోస్ట్ చేయడానికి AFU) |
fpgaDMATransferSetTransferCallback | అసమకాలిక బదిలీ పూర్తిపై నోటిఫికేషన్ కోసం కాల్బ్యాక్ను నమోదు చేస్తుంది. మీరు కాల్బ్యాక్ని పేర్కొంటే, fpgaDMATట్రాన్స్ఫర్ వెంటనే తిరిగి వస్తుంది (అసమకాలిక బదిలీ).
మీరు కాల్బ్యాక్ను పేర్కొనకపోతే, బదిలీ పూర్తయిన తర్వాత fpgaDMATట్రాన్స్ఫర్ తిరిగి వస్తుంది (సింక్రోనస్/బ్లాకింగ్ బదిలీ). |
fpgaDMATtransferSet చివరిగా | చివరి బదిలీని సూచిస్తుంది కాబట్టి DMA ముందుగా పొందిన బదిలీలను ప్రాసెస్ చేయడం ప్రారంభించవచ్చు. DMA బదిలీలపై పని చేయడానికి ముందు పైప్లైన్లో డిఫాల్ట్ విలువ 64 బదిలీలు. |
fpgaDMAT బదిలీ | DMA బదిలీని నిర్వహిస్తుంది. |
API, ఇన్పుట్ మరియు అవుట్పుట్ ఆర్గ్యుమెంట్ల గురించి మరింత సమాచారం కోసం, హెడర్ని చూడండి file $OPAE_PLATFORM_ROOT/hw/s ఉందిamples/dma_afu/sw/fpga_dma.hIntel కార్పొరేషన్. అన్ని హక్కులు ప్రత్యేకించబడ్డాయి. ఇంటెల్, ఇంటెల్ లోగో మరియు ఇతర ఇంటెల్ గుర్తులు ఇంటెల్ కార్పొరేషన్ లేదా దాని అనుబంధ సంస్థల ట్రేడ్మార్క్లు. Intel దాని FPGA మరియు సెమీకండక్టర్ ఉత్పత్తుల పనితీరును ఇంటెల్ యొక్క ప్రామాణిక వారంటీకి అనుగుణంగా ప్రస్తుత స్పెసిఫికేషన్లకు హామీ ఇస్తుంది, అయితే నోటీసు లేకుండా ఏ సమయంలోనైనా ఏదైనా ఉత్పత్తులు మరియు సేవలకు మార్పులు చేసే హక్కును కలిగి ఉంది. ఇంటెల్ వ్రాతపూర్వకంగా అంగీకరించినట్లు మినహా ఇక్కడ వివరించిన ఏదైనా సమాచారం, ఉత్పత్తి లేదా సేవ యొక్క అప్లికేషన్ లేదా ఉపయోగం నుండి ఉత్పన్నమయ్యే బాధ్యత లేదా బాధ్యతను Intel తీసుకోదు. ఇంటెల్ కస్టమర్లు ఏదైనా ప్రచురించబడిన సమాచారంపై ఆధారపడే ముందు మరియు ఉత్పత్తులు లేదా సేవల కోసం ఆర్డర్లు చేసే ముందు పరికర నిర్దేశాల యొక్క తాజా వెర్షన్ను పొందాలని సూచించారు. ఇతర పేర్లు మరియు బ్రాండ్లు ఇతరుల ఆస్తిగా క్లెయిమ్ చేయబడవచ్చు.
సాఫ్ట్వేర్ ప్రోగ్రామింగ్ మోడల్
సాఫ్ట్వేర్ డ్రైవర్ వినియోగ నమూనా గురించి మరింత తెలుసుకోవడానికి, READMEని చూడండి file $OPAE_PLATFORM_ROOT/hw/s వద్ద ఉందిamples/dma_afu/README.md
నడుస్తున్న DMA AFU Example
మీరు ప్రారంభించడానికి ముందు:
- మీరు మాజీతో బాగా తెలిసి ఉండాలిampIntel FPGA ప్రోగ్రామబుల్ యాక్సిలరేషన్ కార్డ్ D5005 కోసం ఇంటెల్ యాక్సిలరేషన్ స్టాక్ క్విక్ స్టార్ట్ గైడ్లో ఉంది.
- మీరు తప్పనిసరిగా ఎన్విరాన్మెంట్ వేరియబుల్ని నిర్వచించాలి. ఎన్విరాన్మెంట్ వేరియబుల్ మీరు ఉపయోగిస్తున్న ఇంటెల్ యాక్సిలరేషన్ స్టాక్ వెర్షన్పై ఆధారపడి ఉంటుంది:
- ప్రస్తుత సంస్కరణ కోసం, పర్యావరణ వేరియబుల్ను $OPAE_PLATFORM_ROOTకి సెట్ చేయండి
- మీరు తప్పనిసరిగా ఇంటెల్ థ్రెడింగ్ బిల్డింగ్ బ్లాక్స్ (TBB) లైబ్రరీని ఇన్స్టాల్ చేయాలి, ఎందుకంటే DMA డ్రైవర్ దానిపై ఆధారపడుతుంది.
- లను అమలు చేయడానికి మీరు తప్పనిసరిగా రెండు 1 GB భారీ పేజీలను కూడా సెటప్ చేయాలిample అప్లికేషన్. $ sudo sh -c “echo 2 > /sys/kernel/mm/hugepages/hugepages-1048576kB/ nr_hugepages”
DMA యాక్సిలరేటర్ ఫంక్షన్ (AF) బిట్స్ట్రీమ్ని డౌన్లోడ్ చేయడానికి, అప్లికేషన్ మరియు డ్రైవర్ను రూపొందించడానికి మరియు డిజైన్ ఎక్స్ని అమలు చేయడానికి క్రింది దశలను చేయండిampలే:
- DMA అప్లికేషన్ మరియు డ్రైవర్ డైరెక్టరీకి మార్చండి: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw
- డ్రైవర్ మరియు అప్లికేషన్ను రూపొందించండి: తయారు చేయండి
- DMA AFU బిట్స్ట్రీమ్ను డౌన్లోడ్ చేయండి: sudo fpgasupdate ../bin/dma_afu_unsigned.gbs
- హోస్ట్ మెమరీ నుండి FPGA పరికర మెమరీకి 100 MB భాగాలలో 1 MBని వ్రాయడానికి హోస్ట్ అప్లికేషన్ను అమలు చేయండి మరియు దాన్ని తిరిగి చదవండి: ./ fpga_dma_test -s 104857600 -p 1048576 -r mtom
సంబంధిత సమాచారం
Intel FPGA ప్రోగ్రామబుల్ యాక్సిలరేషన్ కార్డ్ D5005 ఇంటెల్ కార్పొరేషన్ కోసం ఇంటెల్ యాక్సిలరేషన్ స్టాక్ క్విక్ స్టార్ట్ గైడ్. అన్ని హక్కులు ప్రత్యేకించబడ్డాయి. ఇంటెల్, ఇంటెల్ లోగో మరియు ఇతర ఇంటెల్ గుర్తులు ఇంటెల్ కార్పొరేషన్ లేదా దాని అనుబంధ సంస్థల ట్రేడ్మార్క్లు. Intel దాని FPGA మరియు సెమీకండక్టర్ ఉత్పత్తుల పనితీరును ఇంటెల్ యొక్క ప్రామాణిక వారంటీకి అనుగుణంగా ప్రస్తుత స్పెసిఫికేషన్లకు హామీ ఇస్తుంది, అయితే నోటీసు లేకుండా ఏ సమయంలోనైనా ఏదైనా ఉత్పత్తులు మరియు సేవలకు మార్పులు చేసే హక్కును కలిగి ఉంది. ఇంటెల్ వ్రాతపూర్వకంగా అంగీకరించినట్లు మినహా ఇక్కడ వివరించిన ఏదైనా సమాచారం, ఉత్పత్తి లేదా సేవ యొక్క అప్లికేషన్ లేదా ఉపయోగం నుండి ఉత్పన్నమయ్యే బాధ్యత లేదా బాధ్యతను Intel తీసుకోదు. ఇంటెల్ కస్టమర్లు ఏదైనా ప్రచురించబడిన సమాచారంపై ఆధారపడే ముందు మరియు ఉత్పత్తులు లేదా సేవల కోసం ఆర్డర్లు చేసే ముందు పరికర నిర్దేశాల యొక్క తాజా వెర్షన్ను పొందాలని సూచించారు. *ఇతర పేర్లు మరియు బ్రాండ్లను ఇతరుల ఆస్తిగా క్లెయిమ్ చేయవచ్చు.
DMA AFU Ex కంపైల్ చేస్తోందిample
AFను కంపైల్ చేయడానికి సంశ్లేషణ నిర్మాణ వాతావరణాన్ని రూపొందించడానికి, afu_synth_setup ఆదేశాన్ని క్రింది విధంగా ఉపయోగించండి:
- DMA AFU లకు మార్చండిample డైరెక్టరీ: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu
- డిజైన్ బిల్డ్ డైరెక్టరీని రూపొందించండి: afu_synth_setup –source hw/rtl/filelist.txt build_synth
- afu_synth_setup ద్వారా రూపొందించబడిన సంశ్లేషణ బిల్డ్ డైరెక్టరీ నుండి, లక్ష్య హార్డ్వేర్ ప్లాట్ఫారమ్ కోసం AFని రూపొందించడానికి టెర్మినల్ విండో నుండి క్రింది ఆదేశాలను నమోదు చేయండి: cd build_synth run.sh run.sh AF జనరేషన్ స్క్రిప్ట్ అదే బేస్తో AF చిత్రాన్ని సృష్టిస్తుంది. fileAFU ప్లాట్ఫారమ్ కాన్ఫిగరేషన్గా పేరు పెట్టండి file (.json) స్థానంలో .gbs ప్రత్యయం ఉంది:$OPAE_PLATFORM_ROOT/hw/samples/build_synth/dma_afu_s10.gbs ఇంటెల్ కార్పొరేషన్. అన్ని హక్కులు ప్రత్యేకించబడ్డాయి. ఇంటెల్, ఇంటెల్ లోగో మరియు ఇతర ఇంటెల్ గుర్తులు ఇంటెల్ కార్పొరేషన్ లేదా దాని అనుబంధ సంస్థల ట్రేడ్మార్క్లు. Intel దాని FPGA మరియు సెమీకండక్టర్ ఉత్పత్తుల పనితీరును ఇంటెల్ యొక్క ప్రామాణిక వారంటీకి అనుగుణంగా ప్రస్తుత స్పెసిఫికేషన్లకు హామీ ఇస్తుంది, అయితే నోటీసు లేకుండా ఏ సమయంలోనైనా ఏదైనా ఉత్పత్తులు మరియు సేవలకు మార్పులు చేసే హక్కును కలిగి ఉంది. ఇంటెల్ వ్రాతపూర్వకంగా అంగీకరించినట్లు మినహా ఇక్కడ వివరించిన ఏదైనా సమాచారం, ఉత్పత్తి లేదా సేవ యొక్క అప్లికేషన్ లేదా ఉపయోగం నుండి ఉత్పన్నమయ్యే బాధ్యత లేదా బాధ్యతను Intel తీసుకోదు. ఇంటెల్ కస్టమర్లు ఏదైనా ప్రచురించిన సమాచారంపై ఆధారపడే ముందు మరియు ఉత్పత్తులు లేదా సేవల కోసం ఆర్డర్లు చేసే ముందు పరికర నిర్దేశాల యొక్క తాజా వెర్షన్ను పొందాలని సూచించారు. *ఇతర పేర్లు మరియు బ్రాండ్లను ఇతరుల ఆస్తిగా క్లెయిమ్ చేయవచ్చు.
AFU Ex అనుకరణample
మీ ఇంటెల్ ఎఫ్పిజిఎ పిఎసికి సారూప్య మాజీలను అనుకరించడం గురించి తెలుసుకోవడం కోసం ఇంటెల్ యాక్సిలరేటర్ ఫంక్షనల్ యూనిట్ (ఎఎఫ్యు) సిమ్యులేషన్ ఎన్విరాన్మెంట్ (ఎఎస్ఇ) క్విక్ స్టార్ట్ గైడ్ను సూచించమని ఇంటెల్ సిఫార్సు చేస్తోంది.amples మరియు మీ పర్యావరణాన్ని సెటప్ చేయడానికి. మీరు క్రింది దశలను అనుసరించే ముందు, OPAE_PLATFORM_ROOT ఎన్విరాన్మెంట్ వేరియబుల్ OPAE SDK ఇన్స్టాలేషన్ డైరెక్టరీకి సెట్ చేయబడిందని ధృవీకరించండి. DMA AFU కోసం హార్డ్వేర్ సిమ్యులేటర్ను సెటప్ చేయడానికి క్రింది దశలను పూర్తి చేయండి:
- DMA AFU లకు మార్చండిample డైరెక్టరీ: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu
- కొత్త డైరెక్టరీలో ASE వాతావరణాన్ని సృష్టించండి మరియు AFUని అనుకరించడం కోసం దాన్ని కాన్ఫిగర్ చేయండి: afu_sim_setup –source hw/rtl/filelist.txt build_ase_dir
- ASE బిల్డ్ డైరెక్టరీకి మార్చండి: cd build_ase_dir
- డ్రైవర్ మరియు అప్లికేషన్ను రూపొందించండి: తయారు చేయండి
- అనుకరణ చేయండి: సిమ్ చేయండి
Sampహార్డ్వేర్ సిమ్యులేటర్ నుండి le అవుట్పుట్:
[సిమ్] ** శ్రద్ధ : సాఫ్ట్వేర్ అప్లికేషన్ను అమలు చేయడానికి ముందు ** [SIM] టెర్మినల్లో env(ASE_WORKDIR)ని సెట్ చేయండి, ఇక్కడ అప్లికేషన్ రన్ అవుతుంది (కాపీ-అండ్-పేస్ట్) => [సిమ్] $SHELL | రన్:[SIM] ———+———————————————— [SIM] bash/zsh | ఎగుమతి ASE_WORKDIR=$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/ase_mkdir/work [SIM] tcsh/csh | setenv ASE_WORKDIR $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/ase_mkdir/work [SIM] ఏదైనా ఇతర $SHELL కోసం, మీ Linux నిర్వాహకుడిని సంప్రదించండి [SIM] [SIM] అనుకరణకు సిద్ధంగా ఉంది... [SIM] సిమ్యులేటర్ని మూసివేయడానికి CTRL-C నొక్కండి...అనుకరణ వాతావరణంలో DMA AFU సాఫ్ట్వేర్ను కంపైల్ చేయడానికి మరియు అమలు చేయడానికి క్రింది దశలను పూర్తి చేయండి:
- కొత్త టెర్మినల్ విండోను తెరవండి.
- డైరెక్టరీని దీనికి మార్చండి: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw
ఇంటెల్ కార్పొరేషన్. అన్ని హక్కులు ప్రత్యేకించబడ్డాయి. ఇంటెల్, ఇంటెల్ లోగో మరియు ఇతర ఇంటెల్ గుర్తులు ఇంటెల్ కార్పొరేషన్ లేదా దాని అనుబంధ సంస్థల ట్రేడ్మార్క్లు. Intel దాని FPGA మరియు సెమీకండక్టర్ ఉత్పత్తుల పనితీరును ఇంటెల్ యొక్క ప్రామాణిక వారంటీకి అనుగుణంగా ప్రస్తుత స్పెసిఫికేషన్లకు హామీ ఇస్తుంది, అయితే నోటీసు లేకుండా ఏ సమయంలోనైనా ఏదైనా ఉత్పత్తులు మరియు సేవలకు మార్పులు చేసే హక్కును కలిగి ఉంది. ఇంటెల్ వ్రాతపూర్వకంగా అంగీకరించినట్లు మినహా ఇక్కడ వివరించిన ఏదైనా సమాచారం, ఉత్పత్తి లేదా సేవ యొక్క అప్లికేషన్ లేదా ఉపయోగం నుండి ఉత్పన్నమయ్యే బాధ్యత లేదా బాధ్యతను Intel తీసుకోదు. ఇంటెల్ కస్టమర్లు ఏదైనా ప్రచురించబడిన సమాచారంపై ఆధారపడే ముందు మరియు ఉత్పత్తులు లేదా సేవల కోసం ఆర్డర్లు చేసే ముందు పరికర నిర్దేశాల యొక్క తాజా వెర్షన్ను పొందాలని సూచించారు. *ఇతర పేర్లు మరియు బ్రాండ్లను ఇతరుల ఆస్తిగా క్లెయిమ్ చేయవచ్చు.
AFU Ex అనుకరణample
- హార్డ్వేర్ అనుకరణలోని ఎగువ దశల నుండి టెర్మినల్ విండోకు పర్యావరణ సెటప్ స్ట్రింగ్ను కాపీ చేయండి (మీ షెల్కు తగిన స్ట్రింగ్ను ఎంచుకోండి). s లోని క్రింది పంక్తులను చూడండిampహార్డ్వేర్ సిమ్యులేటర్ నుండి le అవుట్పుట్. [SIM] బాష్/zsh | ఎగుమతి ASE_WORKDIR=$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/build_ase_dir/work [SIM] tcsh/csh | setenv ASE_WORKDIR $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/build_ase_dir/work
- సాఫ్ట్వేర్ను కంపైల్ చేయండి: $ USE_ASE=1ని తయారు చేయండి
- లూప్బ్యాక్ మోడ్లో హోస్ట్ మెమరీ నుండి FPGA పరికర మెమరీకి తిరిగి 4 KB భాగాలలో 1 KB వ్రాయడానికి హోస్ట్ అప్లికేషన్ను అమలు చేయండి: ./ fpga_dma_test -s 4096 -p 1024 -r mtom
సంబంధిత సమాచారం
ఇంటెల్ యాక్సిలరేటర్ ఫంక్షనల్ యూనిట్ (AFU) సిమ్యులేషన్ ఎన్విరాన్మెంట్ (ASE) త్వరిత ప్రారంభ వినియోగదారు గైడ్
మెరుగైన DMA పనితీరు కోసం ఆప్టిమైజేషన్
fpga_dma_test.cppలో NUMA (నాన్-యూనిఫాం మెమరీ యాక్సెస్) ఆప్టిమైజేషన్ అమలు ప్రాసెసర్ నాన్-లోకల్ మెమరీని యాక్సెస్ చేయడం కంటే దాని స్వంత లోకల్ మెమరీని వేగంగా యాక్సెస్ చేయడానికి అనుమతిస్తుంది (మెమొరీ లోకల్ మరొక ప్రాసెసర్). సాధారణ NUMA కాన్ఫిగరేషన్ దిగువన ఉన్న రేఖాచిత్రంలో చూపబడింది. లోకల్ యాక్సెస్ అనేది కోర్ నుండి మెమరీ లోకల్ నుండి అదే కోర్కి యాక్సెస్ని సూచిస్తుంది. రిమోట్ యాక్సెస్ నోడ్ 0లోని కోర్ నోడ్ 1 నుండి మెమరీలో ఉండే మెమరీని యాక్సెస్ చేసినప్పుడు తీసుకున్న మార్గాన్ని వివరిస్తుంది.
సాధారణ NUMA కాన్ఫిగరేషన్
మీ పరీక్ష అప్లికేషన్లో NUMA ఆప్టిమైజేషన్ని అమలు చేయడానికి క్రింది కోడ్ని ఉపయోగించండి:
// అభ్యర్థించినట్లయితే సరైన అనుబంధాన్ని సెటప్ చేయండి (cpu_affinity || మెమరీ_అఫినిటీ) {సంతకం చేయని డోమ్ = 0, బస్ = 0, దేవ్ = 0, ఫంక్ = 0; fpga_properties props;int retval; #if(FPGA_DMA_DEBUG)char str[4096]; #endifres = fpgaGetProperties(afc_token, &props); ON_ERR_GOTO(res, out_destroy_tok, “fpgaGetProperties”); res = fpgaPropertiesGetBus(ప్రాప్స్, (uint8_t *) & బస్);ON_ERR_GOTO(res, out_destroy_tok, “fpgaPropertiesGetBus”); res = fpgaPropertiesGetDevice(props, (uint8_t *) & dev);ON_ERR_GOTO(res, out_destroy_tok, “fpgaPropertiesGetDevice”) res = fpgaPropertiesGetFunction(ప్రాప్లు, (uint8_t *) “అవుంట్_ఫంక్షన్” // టోపోలాజీ hwloc_topology_t టోపోలాజీ నుండి పరికరాన్ని కనుగొనండి; hwloc_topology_init(&topology); hwloc_topology_set_flags(టోపోలాజీ, HWLOC_TOPOLOGY_FLAG_IO_DEVICES);ఇంటెల్ కార్పొరేషన్. అన్ని హక్కులు ప్రత్యేకించబడ్డాయి. ఇంటెల్, ఇంటెల్ లోగో మరియు ఇతర ఇంటెల్ గుర్తులు ఇంటెల్ కార్పొరేషన్ లేదా దాని అనుబంధ సంస్థల ట్రేడ్మార్క్లు. Intel దాని FPGA మరియు సెమీకండక్టర్ ఉత్పత్తుల పనితీరును ఇంటెల్ యొక్క ప్రామాణిక వారంటీకి అనుగుణంగా ప్రస్తుత స్పెసిఫికేషన్లకు హామీ ఇస్తుంది, అయితే నోటీసు లేకుండా ఏ సమయంలోనైనా ఏదైనా ఉత్పత్తులు మరియు సేవలకు మార్పులు చేసే హక్కును కలిగి ఉంది. ఇంటెల్ వ్రాతపూర్వకంగా అంగీకరించినట్లు మినహా ఇక్కడ వివరించిన ఏదైనా సమాచారం, ఉత్పత్తి లేదా సేవ యొక్క అప్లికేషన్ లేదా ఉపయోగం నుండి ఉత్పన్నమయ్యే బాధ్యత లేదా బాధ్యతను Intel తీసుకోదు. ఇంటెల్ కస్టమర్లు ఏదైనా ప్రచురించబడిన సమాచారంపై ఆధారపడే ముందు మరియు ఉత్పత్తులు లేదా సేవల కోసం ఆర్డర్లు చేసే ముందు పరికర నిర్దేశాల యొక్క తాజా వెర్షన్ను పొందాలని సూచించారు. *ఇతర పేర్లు మరియు బ్రాండ్లను ఇతరుల ఆస్తిగా క్లెయిమ్ చేయవచ్చు.
మెరుగైన DMA పనితీరు కోసం ఆప్టిమైజేషన్
hwloc_topology_load(టోపోలాజీ); hwloc_obj_t obj = hwloc_get_pcidev_by_busid(టోపోలాజీ, డోమ్, బస్, డెవ్, ఫంక్); hwloc_obj_t obj2 = hwloc_get_non_io_ancestor_obj(టోపోలాజీ, obj); #if (FPGA_DMA_DEBUG) hwloc_obj_type_snprintf(str, 4096, obj2, 1); printf(“%s\n”, str);hwloc_obj_attr_snprintf(str, 4096, obj2, ” :: “, 1);printf(“%s\n”, str); hwloc_bitmap_taskset_snprintf(str, 4096, obj2->cpuset); printf(“CPUSET %s\n”, str); hwloc_bitmap_taskset_snprintf(str, 4096, obj2->nodeset); printf(“NODESET %s\n”, str);#endif if (మెమరీ_అఫినిటీ) {#if HWLOC_API_VERSION > 0x00020000 retval = hwloc_set_membind(టోపోలాజీ, obj2->nodeset,HWLOC_MB_DEMIDEBINDWRA); #else retval =hwloc_set_membind_nodeset(టోపోలాజీ, obj2->nodeset, HWLOC_MEMBIND_THREAD,HWLOC_MEMBIND_MIGRATE); #endifON_ERR_GOTO(retval, out_destroy_tok, “hwloc_set_membind”); } అయితే (cpu_affinity) {retval = hwloc_set_cpubind(టోపోలాజీ, obj2->cpuset, HWLOC_CPUBIND_STRICT); ON_ERR_GOTO(retval, out_destroy_tok, “hwloc_set_cpubind”); } }
DMA యాక్సిలరేటర్ ఫంక్షనల్ యూనిట్ యూజర్ గైడ్ ఆర్కైవ్స్
ఇంటెల్ యాక్సిలరేషన్ స్టాక్ వెర్షన్ | వినియోగదారు గైడ్ (PDF) |
2.0 | DMA యాక్సిలరేటర్ ఫంక్షనల్ యూనిట్ (AFU) యూజర్ గైడ్ |
DMA యాక్సిలరేటర్ ఫంక్షనల్ యూనిట్ యూజర్ గైడ్ కోసం డాక్యుమెంట్ రివిజన్ హిస్టరీ
డాక్యుమెంట్ వెర్షన్ |
ఇంటెల్ త్వరణం స్టాక్ వెర్షన్ |
మార్పులు |
2020.08.03 |
2.0.1 (ఇంటెల్తో మద్దతు ఉంది
Quartus® Prime Pro ఎడిషన్ ఎడిషన్ 19.2) |
AF చిత్రం సరిదిద్దబడింది file విభాగంలో పేరు DMA AFU Ex కంపైల్ చేస్తోందిample. |
2020.04.17 |
2.0.1 (ఇంటెల్తో మద్దతు ఉంది
క్వార్టస్ ప్రైమ్ ప్రో ఎడిషన్ ఎడిషన్ 19.2) |
లో ఒక ప్రకటన సరిదిద్దబడింది ఉద్దేశించిన ప్రేక్షకులు విభాగం. |
2020.02.20 |
2.0.1 (ఇంటెల్తో మద్దతు ఉంది
క్వార్టస్ ప్రైమ్ ప్రో ఎడిషన్ ఎడిషన్ 19.2) |
స్థిర అక్షర దోషం. |
2019.11.04 |
2.0.1 (ఇంటెల్తో మద్దతు ఉంది క్వార్టస్ ప్రైమ్ ప్రో ఎడిషన్ ఎడిషన్ 19.2) |
• విభాగంలోని ప్రీబిల్డ్ AFUతో FPGAని కాన్ఫిగర్ చేస్తున్నప్పుడు fpgaconfని fpgasupdateతో భర్తీ చేసింది DMA AFU Exని అమలు చేస్తోందిample.
• ఉపశీర్షిక జోడించబడింది ఇంటెల్ FPGA ప్రోగ్రామబుల్ యాక్సిలరేషన్ కార్డ్ D5005 పత్రం శీర్షికకు. • ఎన్విరాన్మెంట్ వేరియబుల్ $OPAE_PLATFORM_ROOT జోడించబడింది. • సవరించిన విభాగం సాఫ్ట్వేర్ ప్రోగ్రామింగ్ మోడల్ చిన్న సవరణల కోసం. • కొత్త విభాగం జోడించబడింది DMA AFU Ex కంపైల్ చేస్తోందిample. • సవరించిన విభాగం మెరుగైన DMA పనితీరు కోసం ఆప్టిమైజేషన్ చిన్న సవరణల కోసం. |
2019.08.05 |
2.0 (ఇంటెల్తో మద్దతు ఉంది
క్వార్టస్ ప్రైమ్ ప్రో ఎడిషన్ 18.1.2) |
ప్రారంభ విడుదల. |
ఇంటెల్ కార్పొరేషన్. అన్ని హక్కులు ప్రత్యేకించబడ్డాయి. ఇంటెల్, ఇంటెల్ లోగో మరియు ఇతర ఇంటెల్ గుర్తులు ఇంటెల్ కార్పొరేషన్ లేదా దాని అనుబంధ సంస్థల ట్రేడ్మార్క్లు. Intel దాని FPGA మరియు సెమీకండక్టర్ ఉత్పత్తుల పనితీరును ఇంటెల్ యొక్క ప్రామాణిక వారంటీకి అనుగుణంగా ప్రస్తుత స్పెసిఫికేషన్లకు హామీ ఇస్తుంది, అయితే నోటీసు లేకుండా ఏ సమయంలోనైనా ఏదైనా ఉత్పత్తులు మరియు సేవలకు మార్పులు చేసే హక్కును కలిగి ఉంది. ఇంటెల్ వ్రాతపూర్వకంగా అంగీకరించినట్లు మినహా ఇక్కడ వివరించిన ఏదైనా సమాచారం, ఉత్పత్తి లేదా సేవ యొక్క అప్లికేషన్ లేదా ఉపయోగం నుండి ఉత్పన్నమయ్యే బాధ్యత లేదా బాధ్యతను Intel తీసుకోదు. ఇంటెల్ కస్టమర్లు ఏదైనా ప్రచురించిన సమాచారంపై ఆధారపడే ముందు మరియు ఉత్పత్తులు లేదా సేవల కోసం ఆర్డర్లు చేసే ముందు పరికర నిర్దేశాల యొక్క తాజా వెర్షన్ను పొందాలని సూచించారు.
- ఇతర పేర్లు మరియు బ్రాండ్లు ఇతరుల ఆస్తిగా క్లెయిమ్ చేయబడవచ్చు.
పత్రాలు / వనరులు
![]() |
ఇంటెల్ FPGA ప్రోగ్రామబుల్ యాక్సిలరేషన్ కార్డ్ D5005 [pdf] యూజర్ గైడ్ FPGA ప్రోగ్రామబుల్ యాక్సిలరేషన్ కార్డ్, D5005, FPGA ప్రోగ్రామబుల్ యాక్సిలరేషన్ కార్డ్ D5005, DMA యాక్సిలరేటర్ ఫంక్షనల్ యూనిట్ |