OpenCL માટે FPGA SDK
વપરાશકર્તા માર્ગદર્શિકા
UG-OCL009
2017.05.08
Intel® Quartus® Prime Design Suite માટે છેલ્લે અપડેટ કરવામાં આવ્યું: 17.0
સબ્સ્ક્રાઇબ કરો
પ્રતિસાદ મોકલો
OpenCL™ Intel® Cyclone®V SoC ડેવલપમેન્ટ કિટ સંદર્ભ પ્લેટફોર્મ પોર્ટિંગ માર્ગદર્શિકા માટે Intel® FPGA SDK
V SoC ડેવલપમેન્ટ કીટ રેફરન્સ પ્લેટફોર્મ પોર્ટીંગ ગાઈડ Intel Cyclone V SoC ડેવલપમેન્ટ કીટ રેફરન્સ પ્લેટફોર્મ (c5soc) ના હાર્ડવેર અને સોફ્ટવેર ડીઝાઈનનું વર્ણન કરે છે ઓપનસીએલ માટે ઈન્ટેલ સોફ્ટવેર ડેવલપમેન્ટ કીટ (SDK) સાથે Intel ® FPGA SDK OpenCL ™ Intel Cyclone માટે. ® તમે પ્રારંભ કરો તે પહેલાં, ઇન્ટેલ ભારપૂર્વક ભલામણ કરે છે કે તમે નીચેના દસ્તાવેજોની સામગ્રીથી પોતાને પરિચિત કરો:
- OpenCLIntel ચક્રવાત V SoC માટે Intel FPGA SDK પ્રારંભ માર્ગદર્શિકા
- OpenCL કસ્ટમ પ્લેટફોર્મ ટૂલકીટ વપરાશકર્તા માર્ગદર્શિકા માટે Intel FPGA SDK
- સાયક્લોન વી ડિવાઈસ હેન્ડબુક, વોલ્યુમ 3: હાર્ડ પ્રોસેસર સિસ્ટમ ટેકનિકલ રેફરન્સ મેન્યુઅલ વધુમાં, સાયક્લોન વી એસઓસી ડેવલપમેન્ટ કિટ અને અલ્ટેરાના એસઓસી એમ્બેડેડ ડિઝાઇન સ્યુટ પૃષ્ઠનો સંદર્ભ લો. webવધુ માહિતી માટે સાઇટ. 1 2
ધ્યાન: Intel ધારે છે કે તમારી પાસે OpenCL કસ્ટમ પ્લેટફોર્મ ટૂલકિટ વપરાશકર્તા માર્ગદર્શિકા માટે Intel FPGA SDK ની ઊંડાણપૂર્વકની સમજ છે. ચક્રવાત V SoC ડેવલપમેન્ટ કિટ સંદર્ભ પ્લેટફોર્મ પોર્ટિંગ માર્ગદર્શિકા ચક્રવાત V SoC ડેવલપમેન્ટ કિટ માટે કસ્ટમ પ્લેટફોર્મ અમલમાં મૂકવા માટે SDK ની કસ્ટમ પ્લેટફોર્મ ટૂલકિટના ઉપયોગનું વર્ણન કરતી નથી. તે માત્ર ચક્રવાત V SoC ડેવલપમેન્ટ કિટ પર SDK સપોર્ટ અને OpenCL કસ્ટમ પ્લેટફોર્મ માટે સામાન્ય Intel FPGA SDK વચ્ચેના તફાવતોનું વર્ણન કરે છે.
સંબંધિત લિંક્સ
- OpenCL ચક્રવાત V SoC માટે Intel FPGA SDK પ્રારંભ માર્ગદર્શિકા
- OpenCL કસ્ટમ પ્લેટફોર્મ ટૂલકીટ વપરાશકર્તા માર્ગદર્શિકા માટે Intel FPGA SDK
- ચક્રવાત V ઉપકરણ હેન્ડબુક, વોલ્યુમ 3: હાર્ડ પ્રોસેસર સિસ્ટમ ટેકનિકલ રેફરન્સ મેન્યુઅલ
- અલ્ટેરા પર ચક્રવાત V SoC ડેવલપમેન્ટ કિટ અને SoC એમ્બેડેડ ડિઝાઇન સ્યુટ પૃષ્ઠ webસાઇટ
- OpenCL અને OpenCL લોગો એ Apple Inc.ના ટ્રેડમાર્ક છે જેનો ઉપયોગ Khronos Group™ ની પરવાનગી દ્વારા થાય છે.
- OpenCL માટે Intel FPGA SDK પ્રકાશિત થયેલ Khronos સ્પેસિફિકેશન પર આધારિત છે, અને Khronos Conformance Testing પ્રક્રિયા પાસ કરી છે. વર્તમાન સુસંગતતા સ્થિતિ અહીં મળી શકે છે www.khronos.org/conformance.
ઇન્ટેલ કોર્પોરેશન. બધા હકો અમારી પાસે રાખેલા છે. Intel, Intel લોગો, Altera, Arria, Cyclone, Enpirion, MAX, Nios, Quartus અને Stratix શબ્દો અને લોગો એ US અને/અથવા અન્ય દેશોમાં Intel Corporation અથવા તેની પેટાકંપનીઓના ટ્રેડમાર્ક છે. ઇન્ટેલ તેના FPGA અને સેમિકન્ડક્ટર ઉત્પાદનોના પ્રદર્શનને ઇન્ટેલની માનક વોરંટી અનુસાર વર્તમાન સ્પષ્ટીકરણો માટે વોરંટી આપે છે, પરંતુ સૂચના વિના કોઈપણ સમયે કોઈપણ ઉત્પાદનો અને સેવાઓમાં ફેરફાર કરવાનો અધિકાર અનામત રાખે છે. Intel દ્વારા લેખિતમાં સ્પષ્ટપણે સંમત થયા સિવાય અહીં વર્ણવેલ કોઈપણ માહિતી, ઉત્પાદન અથવા સેવાના એપ્લિકેશન અથવા ઉપયોગથી ઉદ્ભવતી કોઈ જવાબદારી અથવા જવાબદારી સ્વીકારતી નથી. ઇન્ટેલ ગ્રાહકોને સલાહ આપવામાં આવે છે કે તેઓ કોઈપણ પ્રકાશિત માહિતી પર આધાર રાખતા પહેલા અને ઉત્પાદનો અથવા સેવાઓ માટે ઓર્ડર આપતા પહેલા ઉપકરણ વિશિષ્ટતાઓનું નવીનતમ સંસ્કરણ પ્રાપ્ત કરે.
*અન્ય નામો અને બ્રાન્ડનો દાવો અન્યની મિલકત તરીકે થઈ શકે છે.
1.1.1 ચક્રવાત V SoC ડેવલપમેન્ટ કિટ રેફરન્સ પ્લેટફોર્મ બોર્ડ વેરિઅન્ટ્સ
OpenCL સાયક્લોન V SoC ડેવલપમેન્ટ કિટ રેફરન્સ પ્લેટફોર્મ માટે Intel FPGA SDKમાં બે બોર્ડ વેરિઅન્ટનો સમાવેશ થાય છે.
- c5soc બોર્ડ
આ ડિફૉલ્ટ બોર્ડ બે DDR મેમરી બેંકોની ઍક્સેસ પ્રદાન કરે છે. HPS DDR FPGA અને CPU બંને દ્વારા સુલભ છે. FPGA DDR માત્ર FPGA દ્વારા જ સુલભ છે. - c5soc_sharedonly બોર્ડ
આ બોર્ડ વેરિઅન્ટમાં માત્ર HPS DDR કનેક્ટિવિટી છે. FPGA DDR ઍક્સેસિબલ નથી. આ બોર્ડ વેરિઅન્ટ વધુ વિસ્તાર કાર્યક્ષમ છે કારણ કે એક DDR મેમરી બેંકને સપોર્ટ કરવા માટે ઓછા હાર્ડવેર જરૂરી છે. c5soc_sharedonly board એ એક DDR મેમરી બેંક સાથેના અંતિમ ઉત્પાદન બોર્ડ માટે એક સારું પ્રોટોટાઈપિંગ પ્લેટફોર્મ પણ છે.
તમારા OpenCL કર્નલને કમ્પાઇલ કરતી વખતે આ બોર્ડ વેરિઅન્ટને લક્ષ્ય બનાવવા માટે, તમારા aoc આદેશમાં -board c5soc_sharedonly વિકલ્પનો સમાવેશ કરો.
બોર્ડ પર વધુ માહિતી માટે aoc આદેશનો વિકલ્પ, OpenCL પ્રોગ્રામિંગ ગાઈડ માટે Intel FPGA SDK નો સંદર્ભ લો.
સંબંધિત લિંક્સ
ચોક્કસ FPGA બોર્ડ માટે કર્નલ કમ્પાઇલ કરી રહ્યું છે (-બોર્ડ )
1.1.2 ચક્રવાત V SoC ડેવલપમેન્ટ કીટ સંદર્ભ પ્લેટફોર્મની સામગ્રી
ચક્રવાત V SoC ડેવલપમેન્ટ કીટ સંદર્ભ પ્લેટફોર્મમાં નીચેનાનો સમાવેશ થાય છે files અને ડિરેક્ટરીઓ:
File અથવા ડિરેક્ટરી | વર્ણન |
board_env.xml | એક્સ્ટેન્સિબલ માર્કઅપ લેંગ્વેજ (XML) file જે OpenCL માટે Intel FPGA SDK ને c5soc નું વર્ણન કરે છે. |
linux_sd_card_image.tgz | સંકુચિત SD ફ્લેશ કાર્ડ છબી file જેમાં SDK વપરાશકર્તાને SDK સાથે સાયક્લોન V SoC ડેવલપમેન્ટ કિટનો ઉપયોગ કરવાની જરૂર હોય તે બધું જ સમાવે છે. |
હાથ32 | ડિરેક્ટરી જેમાં નીચેનાનો સમાવેશ થાય છે: |
1.1.3 ચક્રવાત V SoC ડેવલપમેન્ટ કિટની સંબંધિત વિશેષતાઓ
નીચેની સૂચિ સાયક્લોન V SoC ડેવલપમેન્ટ કિટ ઘટકો અને લક્ષણોને પ્રકાશિત કરે છે જે OpenCL માટે Intel FPGA SDK સાથે સંબંધિત છે:
- ડ્યુઅલ-કોર ARM Cortex-A9 CPU 32-bit Linux ચલાવે છે.
- HPS અને FPGA કોર ફેબ્રિક વચ્ચે એડવાન્સ્ડ એક્સટેન્સિબલ ઈન્ટરફેસ (AXI) બસ.
- બે સખત DDR મેમરી નિયંત્રકો, દરેક 1 ગીગાબાઈટ (GB) DDR3 SDRAM સાથે જોડાય છે.
— એક DDR નિયંત્રક માત્ર FPGA કોર (એટલે કે FPGA DDR) માટે સુલભ છે.
— અન્ય DDR નિયંત્રક HPS અને FPGA (એટલે કે HPS DDR) બંને માટે સુલભ છે. આ વહેંચાયેલ નિયંત્રક CPU અને FPGA કોર વચ્ચે મફત મેમરી શેરિંગની મંજૂરી આપે છે. - CPU FPGA કોર ફેબ્રિકને ફરીથી ગોઠવી શકે છે.
1.1.3.1 ચક્રવાત V SoC ડેવલપમેન્ટ કિટ સંદર્ભ પ્લેટફોર્મ ડિઝાઇન લક્ષ્યો અને નિર્ણયો ઇન્ટેલ ઘણા ડિઝાઇન લક્ષ્યો અને નિર્ણયો પર ચક્રવાત V SoC ડેવલપમેન્ટ કિટ સંદર્ભ પ્લેટફોર્મના અમલીકરણનો આધાર રાખે છે. ઇન્ટેલ ભલામણ કરે છે કે જ્યારે તમે આ સંદર્ભ પ્લેટફોર્મને તમારા SoC FPGA બોર્ડ પર પોર્ટ કરો ત્યારે તમે આ લક્ષ્યો અને નિર્ણયોને ધ્યાનમાં લો.
નીચે c5soc ડિઝાઇન લક્ષ્યો છે:
- FPGA અને DDR મેમરી સિસ્ટમ(ઓ) પરના કર્નલ વચ્ચે સૌથી વધુ શક્ય બેન્ડવિડ્થ પ્રદાન કરો.
- ખાતરી કરો કે FPGA (એટલે કે OpenCL કર્નલ) પરની ગણતરીઓ અન્ય CPU કાર્યોમાં દખલ કરતી નથી જેમાં સર્વિસિંગ પેરિફેરલ્સનો સમાવેશ થઈ શકે છે.
- ઇન્ટરફેસ ઘટકોને બદલે કર્નલ ગણતરીઓ માટે શક્ય તેટલા FPGA સંસાધનો છોડો.
નીચે ઉચ્ચ-સ્તરના ડિઝાઇન નિર્ણયો છે જે ઇન્ટેલના ડિઝાઇન લક્ષ્યોના સીધા પરિણામો છે:
- સંદર્ભ પ્લેટફોર્મ માત્ર વિશાળ શક્ય રૂપરેખાંકન (256 બિટ્સ) સાથે હાર્ડ DDR મેમરી નિયંત્રકોનો ઉપયોગ કરે છે.
- FPGA, HPS ની અંદર AXI બસ અને L3 સ્વીચને સામેલ કર્યા વિના, HPS DDR મેમરી કંટ્રોલર સાથે સીધો સંચાર કરે છે. સીધો સંદેશાવ્યવહાર ડીડીઆરને શ્રેષ્ઠ સંભવિત બેન્ડવિડ્થ પ્રદાન કરે છે અને FPGA ગણતરીઓને CPU અને તેની પરિઘ વચ્ચેના સંચારમાં દખલ કરતા અટકાવે છે.
- સ્કેટર-ગેધર ડાયરેક્ટ મેમરી એક્સેસ (SG-DMA) FPGA ઇન્ટરફેસ લોજિકનો ભાગ નથી. DDR મેમરી સિસ્ટમ્સ વચ્ચે મોટી માત્રામાં ડેટા ટ્રાન્સફર કરવાને બદલે, શેર કરેલ HPS DDRમાં ડેટા સ્ટોર કરો. FPGA દ્વારા CPU મેમરીની સીધી ઍક્સેસ DMA કરતાં વધુ કાર્યક્ષમ છે. તે હાર્ડવેર સંસાધનોને બચાવે છે (એટલે કે, FPGA વિસ્તાર) અને Linux કર્નલ ડ્રાઇવરને સરળ બનાવે છે.
ચેતવણી: વહેંચાયેલ HPS DDR સિસ્ટમ અને DDR સિસ્ટમ વચ્ચે મેમરી ટ્રાન્સફર કે જે ફક્ત FPGA માટે જ સુલભ છે તે ખૂબ જ ધીમું છે. જો તમે પસંદ કરો
આ રીતે મેમરીને સ્થાનાંતરિત કરો, ફક્ત ખૂબ જ ઓછી માત્રામાં ડેટા માટે તેનો ઉપયોગ કરો. - હોસ્ટ અને ઉપકરણ માત્ર એક જ 2-બીટ પોર્ટનો ઉપયોગ કરીને HPS-to-FPGA (H32F) બ્રિજ દ્વારા એકબીજા વચ્ચે બિન-DMA ડેટા ટ્રાન્સફર કરે છે. કારણ એ છે કે, DMA વિના, Linux કર્નલ ફક્ત એક જ 32-બીટ વાંચવા અથવા લખવાની વિનંતી કરી શકે છે, તેથી વિશાળ કનેક્શન હોવું બિનજરૂરી છે.
- હોસ્ટ લાઇટવેઇટ H2F (LH2F) બ્રિજ દ્વારા ઉપકરણને નિયંત્રણ સંકેતો મોકલે છે.
કારણ કે હોસ્ટથી ઉપકરણ સુધીના નિયંત્રણ સંકેતો ઓછી બેન્ડવિડ્થ સિગ્નલો છે, LH2F બ્રિજ કાર્ય માટે આદર્શ છે.
1.2 તમારા SoC FPGA બોર્ડ પર સંદર્ભ પ્લેટફોર્મ પોર્ટિંગ
ચક્રવાત V SoC ડેવલપમેન્ટ કિટ સંદર્ભ પ્લેટફોર્મને તમારા SoC FPGA બોર્ડ પર પોર્ટ કરવા માટે, નીચેના કાર્યો કરો:
- તમારી ડિઝાઇનના પ્રારંભિક બિંદુ તરીકે c5soc સંદર્ભ પ્લેટફોર્મની એક DDR મેમરી અથવા બે DDR મેમરી આવૃત્તિ પસંદ કરો.
- ALTERAOCLSDKROOT/board/c5soc/ માં પિન સ્થાનો અપડેટ કરો /top.qsf file, જ્યાં ALTERAOCLSDKROOT એ OpenCL ઇન્સ્ટોલેશન માટે Intel FPGA SDK ના સ્થાનનો માર્ગ છે, અને બોર્ડ વેરિઅન્ટનું ડિરેક્ટરી નામ છે. c5soc_sharedonly ડિરેક્ટરી એક DDR મેમરી સિસ્ટમ સાથે બોર્ડ વેરિઅન્ટ માટે છે. c5soc ડિરેક્ટરી બે DDR મેમરી સિસ્ટમ સાથે બોર્ડ વેરિઅન્ટ માટે છે.
- ALTERAOCLSDKROOT/board/c5soc/ માં HPS અને/અથવા FPGA SDRAM બ્લોક્સ માટે DDR સેટિંગ્સ અપડેટ કરો /system.qsys file.
4. OpenCL પસંદગીની બોર્ડ ડિઝાઇન માટે તમામ Intel FPGA SDK એ બાંયધરીકૃત ટાઇમિંગ ક્લોઝર પ્રાપ્ત કરવું આવશ્યક છે. જેમ કે, ડિઝાઇનનું પ્લેસમેન્ટ ટાઇમિંગ ક્લીન હોવું જોઈએ. c5soc બોર્ડ પાર્ટીશન (acl_iface_partition.qxp) ને તમારા SoC FPGA બોર્ડ પર પોર્ટ કરવા માટે, નીચેના કાર્યો કરો:
બોર્ડ પાર્ટીશનને સંશોધિત કરવા અને સાચવવા પર વિગતવાર સૂચનાઓ માટે, ક્વાર્ટસનો સંદર્ભ લો
ક્વાર્ટસ પ્રાઇમ સ્ટાન્ડર્ડ એડિશન હેન્ડબુકના હાયરાર્કિકલ અને ટીમ-આધારિત ડિઝાઇન પ્રકરણ માટે પ્રાઇમ ઇન્ક્રીમેન્ટલ કમ્પાઇલેશન.
a ALTERAOCLSDKROOT/board/c5soc/c5soc ડિરેક્ટરીમાંથી acl_iface_partition.qxp ને દૂર કરો.
b Tcl આદેશ set_global_assignment -name LL_ENABLED OFF -section_id acl_iface_region ને set_global_assignment -name LL_ENABLED ON -section_id acl_iface_region પર બદલીને acl_iface_region LogicLock™ પ્રદેશને સક્ષમ કરો
c તમારા બોર્ડ માટે OpenCL કર્નલ કમ્પાઇલ કરો.
ડી. જો જરૂરી હોય તો, LogicLock પ્રદેશના કદ અને સ્થાનને સમાયોજિત કરો.
ઇ. જ્યારે તમે સંતુષ્ટ થાઓ કે તમારી ડિઝાઇનનું પ્લેસમેન્ટ ટાઇમિંગ ક્લીન છે, ત્યારે તે પાર્ટીશનને acl_iface_partition.qxp Quartus Prime Exported Partition તરીકે નિકાસ કરો. File.
ઓપનસીએલ કસ્ટમ પ્લેટફોર્મ ટૂલકીટ વપરાશકર્તા માર્ગદર્શિકા માટે AIntel FPGA SDK ના એસ્ટાબ્લિશિંગ ગેરંટીડ ટાઇમિંગ ફ્લો વિભાગમાં વર્ણવ્યા મુજબ, આ .qxp આયાત કરીને file ઉચ્ચ-સ્તરની ડિઝાઇનમાં, તમે બાંયધરીકૃત સમય બંધ થવાના પ્રવાહ સાથે બોર્ડ ડિઝાઇન પ્રદાન કરવાની જરૂરિયાતને પૂર્ણ કરો છો.
તમારા નિકાસ કરેલ પાર્ટીશનના પરિણામોની ગુણવત્તા (QoR) ને અસર કરી શકે તેવા પરિબળો માટે, OpenCL કસ્ટમ પ્લેટફોર્મ ટૂલકીટ વપરાશકર્તા માર્ગદર્શિકા માટે Intel FPGA SDK માં નિકાસ કરેલ બોર્ડ પાર્ટીશન વિભાગ માટે પરિણામોની સામાન્ય ગુણવત્તાની વિચારણાઓનો સંદર્ભ લો.
f સ્ટેપ 2 માં આદેશને સેટ_ગ્લોબલ_અસાઇનમેન્ટ -નામ LL_ENABLED OFF section_id acl_iface_region પર પાછા ફેરવીને acl_iface_region LogicLock પ્રદેશને અક્ષમ કરો. - જો તમારું SoC FPGA બોર્ડ HPS બ્લોકની વિવિધ પિન અને પેરિફેરીનો ઉપયોગ કરે છે, તો પ્રીલોડર અને ડિવાઇસ ટ્રી સોર્સ (DTS) ને ફરીથી જનરેટ કરો. file. જો તમે HPS DDR મેમરી કંટ્રોલર સેટિંગ્સ બદલો છો, તો પ્રીલોડર ફરીથી જનરેટ કરો.
- SD ફ્લેશ કાર્ડ ઇમેજ બનાવો.
- તમારું કસ્ટમ પ્લેટફોર્મ બનાવો, જેમાં SD ફ્લેશ કાર્ડ ઇમેજ શામેલ છે.
- OpenCL માટે Intel FPGA Runtime Environment (RTE) સાથે ઉપયોગ કરવા માટે તમારા કસ્ટમ પ્લેટફોર્મનું રનટાઇમ એન્વાયર્નમેન્ટ વર્ઝન બનાવવાનું વિચારો. તમારા કસ્ટમ પ્લેટફોર્મના RTE સંસ્કરણમાં હાર્ડવેર ડિરેક્ટરીઓ અને SD ફ્લેશ કાર્ડ ઇમેજ શામેલ નથી. હોસ્ટ એપ્લીકેશનને ચલાવવાની મંજૂરી આપવા માટે આ કસ્ટમ પ્લેટફોર્મ SoC FPGA સિસ્ટમ પર લોડ થાય છે. તેનાથી વિપરીત, OpenCL કર્નલોને કમ્પાઈલ કરવા માટે SDK માટે કસ્ટમ પ્લેટફોર્મનું SDK સંસ્કરણ જરૂરી છે.
ટીપ: તમે RTE માટે તમારા કસ્ટમ પ્લેટફોર્મના SDK વર્ઝનનો ઉપયોગ કરી શકો છો. સાચવી રાખવું
જગ્યા, તમારા કસ્ટમ પ્લેટફોર્મના RTE વર્ઝનમાંથી SD ફ્લેશ કાર્ડ ઈમેજ દૂર કરો. - તમારા કસ્ટમ પ્લેટફોર્મનું પરીક્ષણ કરો.
વધુ માહિતી માટે OpenCL કસ્ટમ પ્લેટફોર્મ ટૂલકીટ વપરાશકર્તા માર્ગદર્શિકા માટે Intel FPGA SDK ના હાર્ડવેર ડિઝાઇન વિભાગના પરીક્ષણનો સંદર્ભ લો.
સંબંધિત લિંક્સ
- હાર્ડવેર ડિઝાઇનનું પરીક્ષણ
- હાયરાર્કિકલ અને ટીમ-આધારિત ડિઝાઇન માટે ક્વાર્ટસ પ્રાઇમ ઇન્ક્રીમેન્ટલ કમ્પાઇલેશન
- બાંયધરીકૃત સમય પ્રવાહની સ્થાપના
- નિકાસ કરાયેલ બોર્ડ પાર્ટીશન માટે પરિણામોની સામાન્ય ગુણવત્તા
1.2.1 પોર્ટેડ રેફરન્સ પ્લેટફોર્મ અપડેટ કરવું
સાયક્લોન V SoC ડેવલપમેન્ટ કિટ રેફરન્સ પ્લેટફોર્મના વર્તમાન સંસ્કરણમાં, HPS બ્લોક પાર્ટીશનની અંદર છે જે તમામ નોન-કર્નલ લોજિકને વ્યાખ્યાયિત કરે છે. જો કે, તમે .qxp ના ભાગ રૂપે HPS ને નિકાસ કરી શકતા નથી file. હાલના કસ્ટમ પ્લેટફોર્મને અપડેટ કરવા માટે કે જે તમે c5soc ના પાછલા સંસ્કરણમાંથી સંશોધિત કર્યું છે, QXP સંરક્ષણ પ્રવાહ અમલમાં મૂકવો, નવીનતમ રનટાઇમ પર્યાવરણ મેળવવા માટે SD ફ્લેશ કાર્ડ છબીને અપડેટ કરો અને board_spec.xml અપડેટ કરો. file ઑટોમાઇગ્રેશનને સક્ષમ કરવા.
OpenCL આવૃત્તિ 14.1 અને તે પછીની ચકાસણી માટે Altera® SDK board_spec.xml file બોર્ડની માહિતી માટે, અને ઓટોમેટિક અપડેટ્સ લાગુ કરે છે. કારણ કે તમે ફેરફાર કરો છો
QXP પ્રિઝર્વેશન ફ્લો લાગુ કરીને ડિઝાઇન, તમારે board_spec.xml અપડેટ કરવું આવશ્યક છે file વર્તમાન સંસ્કરણમાં તેના ફોર્મેટમાં. અપડેટ કરી રહ્યું છે file SDK ને અપ્રિઝર્વ્ડ કસ્ટમ પ્લેટફોર્મ્સ અને વર્તમાન QXP-આધારિત કસ્ટમ પ્લેટફોર્મ્સ વચ્ચે તફાવત કરવાની મંજૂરી આપે છે. વધુ માહિતી માટે OpenCL કસ્ટમ પ્લેટફોર્મ ટૂલકીટ વપરાશકર્તા માર્ગદર્શિકા માટે Intel FPGA SDK માં ફોરવર્ડ સુસંગતતા માટે કસ્ટમ પ્લેટફોર્મ ઓટોમીગ્રેશનનો સંદર્ભ લો.
- સાયક્લોન V SoC FPGA હાર્ડવેર ડિઝાઇનમાં QXP જાળવણી પ્રવાહને અમલમાં મૂકવા માટે જે c5soc ના પાછલા સંસ્કરણમાંથી પોર્ટેડ છે, .qxp માંથી HPS ને બાકાત રાખવા માટે સબપાર્ટીશન બનાવવા માટે નીચેના પગલાંઓ કરો. file:
a નોનકર્નલ લોજીકની આસપાસ પાર્ટીશન બનાવતા પહેલા, .qsf ક્વાર્ટસ પ્રાઇમ સેટિંગ્સમાં HPS ની આસપાસ પાર્ટીશન બનાવો. File.
માજી માટેampલે:
HPS-સમર્પિત I/O set_instance_assignment -name PARTITION_HIERARCHY borde_18261 -to “system:the_system|system_acl_iface:acl_iface|system_acl_iface_hps_hps_hps_0|system_acl_iface system_acl_iface_hps_0_hps_io_border:border" -section_id "system_acl_iface_hps_0_hps_io_border:border"
# બાકીના ક્વાર્ટસ દ્વારા યોગ્ય રીતે પ્રક્રિયા કરવા માટે પાર્ટીશનને HPS_PARTITION પ્રકાર તરીકે સેટ કરો
set_global_assignment -નામ PARTITION_TYPE HPS_PARTITION -વિભાગ_id “system_acl_iface_hps_0_hps_io_border:border”
ક્વાર્ટસ_સીડીબી ટોપ -સી ટોપ
-incremental_compilation_export=acl_iface_partition.qxp
-વૃદ્ધિશીલ_સંકલન_નિકાસ_પાર્ટિશન_નામ = acl_iface_partition
–વૃદ્ધિ_સંકલન_નિકાસ_પોસ્ટ_સિન્થ=ઓન
-વધારાનું_સંકલન_નિકાસ_પોસ્ટ_ફિટ = ચાલુ
-વધારાનું_સંકલન_નિકાસ_રૂટીંગ=ઓન
-વધારાનું_સંકલન_નિકાસ_સપાટ = બંધ
તમે પાર્ટીશનમાંથી HPS ને બાકાત રાખ્યા પછી, તમે .qxp આયાત કરી શકો છો file અને તમારી ડિઝાઇન કમ્પાઇલ કરો. - નીચેના કાર્યો કરીને OpenCL માટે Intel FPGA RTE ના વર્તમાન સંસ્કરણ સાથે SD ફ્લેશ કાર્ડ ઇમેજ અપડેટ કરો:
a માઉન્ટ કરો file ફાળવણી કોષ્ટક (fat32) અને વિસ્તૃત file લૂપ-બેક ઉપકરણો તરીકે હાલની ઈમેજમાં સિસ્ટમ (ext3) પાર્ટીશનો. વિગતવાર સૂચનાઓ માટે, SD ફ્લેશ કાર્ડ ઈમેજ બનાવવાનું પગલું 2 નો સંદર્ભ લો.
b /home/root/opencl_arm32_rte ડિરેક્ટરીમાં, દૂર કરો fileRTE ના પાછલા સંસ્કરણમાંથી s.
c RTE ના વર્તમાન સંસ્કરણને /home/root/opencl_arm32_rte ડિરેક્ટરીમાં ડાઉનલોડ કરો અને અનપૅક કરો.
ડી. માં /driver/version.h file તમારા કસ્ટમ પ્લેટફોર્મના, ACL_DRIVER_VERSION સોંપણીને અપડેટ કરો . (દા.ત. માટેample, 16.1.x, જ્યાં 16.1 એ SDK વર્ઝન છે, અને x એ તમે સેટ કરેલ ડ્રાઇવર વર્ઝન છે).
ઇ. ડ્રાઇવરને ફરીથી બનાવો.
f તમારા કસ્ટમ પ્લેટફોર્મનું હાર્ડવેર ફોલ્ડર કાઢી નાખો. કસ્ટમ પ્લેટફોર્મની નકલ કરો, અપડેટ કરેલ ડ્રાઈવર સાથે, /home/root/opencl_arm_rte/board ડિરેક્ટરીમાં.
g Altera.icd ની નકલ કરો file /home/root/opencl_arm32_rte ડિરેક્ટરીમાંથી અને તેને /etc/OpenCL/vendors ડિરેક્ટરીમાં ઉમેરો.
h નવી છબીને અનમાઉન્ટ કરો અને પરીક્ષણ કરો. વિગતવાર સૂચનાઓ માટે, SD ફ્લેશ કાર્ડ ઇમેજ બનાવવા માટેનાં પગલાં 8 થી 11 નો સંદર્ભ લો.
સંબંધિત લિંક્સ
- પૃષ્ઠ 14 પર SD ફ્લેશ કાર્ડ છબી બનાવવી
તમારી પાસે નવી SD ફ્લેશ કાર્ડ ઈમેજ બનાવવાનો વિકલ્પ પણ છે. - ફોરવર્ડ સુસંગતતા માટે કસ્ટમ પ્લેટફોર્મ ઓટોમાઈગ્રેશન
1.3 શેર કરેલ મેમરી માટે સોફ્ટવેર સપોર્ટ
FPGA અને CPU વચ્ચે વહેંચાયેલ ભૌતિક મેમરી એ SoC FPGAs પર ચાલતા OpenCL કર્નલ માટે પસંદગીની મેમરી છે. કારણ કે એફપીજીએ વહેંચાયેલ ભૌતિક મેમરીને ઍક્સેસ કરે છે, શેર કરેલી વર્ચ્યુઅલ મેમરીની વિરુદ્ધ, તેની પાસે સીપીયુના પૃષ્ઠ કોષ્ટકોની ઍક્સેસ નથી જે વપરાશકર્તાના વર્ચ્યુઅલ સરનામાંને ભૌતિક પૃષ્ઠ સરનામાંઓ પર મેપ કરે છે.
હાર્ડવેરના સંદર્ભમાં, ઓપનસીએલ કર્નલ HPS DDR હાર્ડ મેમરી કંટ્રોલર સાથે સીધા જોડાણ દ્વારા ભૌતિક મેમરીને એક્સેસ કરે છે. સૉફ્ટવેરના સંદર્ભમાં, વહેંચાયેલ ભૌતિક મેમરી માટેના સમર્થનમાં નીચેની બાબતોનો સમાવેશ થાય છે:
- CPU પર મેમરી ફાળવવા માટે લાક્ષણિક સોફ્ટવેર અમલીકરણો (ઉદાample, malloc() ફંક્શન) FPGA ઉપયોગ કરી શકે તેવા મેમરી પ્રદેશને ફાળવી શકતું નથી.
મેમરી કે જે malloc() ફંક્શન ફાળવે છે તે વર્ચ્યુઅલ મેમરી એડ્રેસ સ્પેસમાં સંલગ્ન છે, પરંતુ કોઈપણ અંતર્ગત ભૌતિક પૃષ્ઠો ભૌતિક રીતે સંલગ્ન હોવાની શક્યતા નથી. જેમ કે, યજમાન ભૌતિક રીતે સંલગ્ન મેમરી પ્રદેશો ફાળવવામાં સક્ષમ હોવા જોઈએ. જો કે, આ ક્ષમતા Linux પર યુઝર-સ્પેસ એપ્લિકેશન્સમાં અસ્તિત્વમાં નથી. તેથી, Linux કર્નલ ડ્રાઈવરે ફાળવણી કરવી જ જોઈએ. - OpenCL SoC FPGA Linux કર્નલ ડ્રાઇવરમાં mmap() ફંક્શનનો સમાવેશ થાય છે જે વહેંચાયેલ ભૌતિક મેમરીને ફાળવે છે અને તેને વપરાશકર્તા જગ્યામાં મેપ કરે છે. mmap() ફંક્શન ઉપકરણ સાથે શેર કરવા માટે ભૌતિક રીતે સંલગ્ન મેમરી પ્રદેશોની વિનંતી કરવા પ્રમાણભૂત Linux કર્નલ કૉલ dma_alloc_coherent() નો ઉપયોગ કરે છે.
- ડિફૉલ્ટ Linux કર્નલમાં, dma_alloc_coherent() 0.5 મેગાબાઇટ્સ (MB) કરતાં વધુ કદમાં ભૌતિક-સંલગ્ન મેમરી ફાળવતું નથી. dma_alloc_coherent() ને મોટી માત્રામાં ભૌતિક-સંલગ્ન મેમરી ફાળવવા માટે પરવાનગી આપવા માટે, Linux કર્નલની સંલગ્ન મેમરી ફાળવણીકર્તા (CMA) સુવિધાને સક્રિય કરો અને પછી Linux કર્નલને પુનઃસંકલિત કરો.
ચક્રવાત V SoC ડેવલપમેન્ટ કીટ સંદર્ભ પ્લેટફોર્મ માટે, CMA 512 GB ભૌતિક મેમરીમાંથી 1 MB નું સંચાલન કરે છે. તમે આ મૂલ્યને વધારી અથવા ઘટાડી શકો છો, એપ્લીકેશનને જરૂરી હોય તેવી વહેંચાયેલ મેમરીની માત્રાના આધારે. dma_alloc_coherent() કૉલ ભૌતિક રીતે સંલગ્ન મેમરીના સંપૂર્ણ 512 MB ફાળવવામાં સક્ષમ ન હોઈ શકે; જો કે, તે નિયમિત રીતે લગભગ 450 MB મેમરી મેળવી શકે છે. - CPU મેમરીને કેશ કરી શકે છે જે dma_alloc_coherent() કૉલ ફાળવે છે. ખાસ કરીને, હોસ્ટ એપ્લિકેશનમાંથી લખવાની ક્રિયાઓ OpenCL કર્નલોને દેખાતી નથી. OpenCL SoC FPGA Linux કર્નલ ડ્રાઇવરમાં mmap() ફંક્શનમાં pgprot_noncached() અથવા remap_pf_range() ફંક્શનને મેમરીના આ પ્રદેશ માટે સ્પષ્ટપણે કેશીંગને નિષ્ક્રિય કરવા માટેના કોલ્સ પણ સમાવે છે.
- dma_alloc_coherent() ફંક્શન ભૌતિક રીતે સંલગ્ન મેમરીની ફાળવણી કરે તે પછી, mmap() ફંક્શન વર્ચ્યુઅલ એડ્રેસને રેન્જની શરૂઆતમાં પરત કરે છે, જે તમે ફાળવેલ મેમરીનો એડ્રેસ ગાળો છે. હોસ્ટ એપ્લિકેશનને મેમરીને ઍક્સેસ કરવા માટે આ વર્ચ્યુઅલ સરનામાંની જરૂર છે. બીજી બાજુ, OpenCL કર્નલોને ભૌતિક સરનામાંની જરૂર છે. Linux કર્નલ ડ્રાઈવર વર્ચ્યુઅલ-ટુ-ફિઝિકલ એડ્રેસ મેપિંગનો ટ્રૅક રાખે છે. તમે ભૌતિક સરનામાંઓને મેપ કરી શકો છો કે જે mmap() ડ્રાઇવરમાં ક્વેરી ઉમેરીને વાસ્તવિક ભૌતિક સરનામાં પર પાછા ફરે છે.
aocl_mmd_shared_mem_alloc() MMD એપ્લીકેશન પ્રોગ્રામિંગ ઈન્ટરફેસ (API) કોલ નીચેની ક્વેરીનો સમાવેશ કરે છે:
a mmap() ફંક્શન કે જે મેમરીને ફાળવે છે અને વર્ચ્યુઅલ એડ્રેસ પરત કરે છે.
b વધારાની ક્વેરી જે પરત કરેલા વર્ચ્યુઅલ એડ્રેસને ફિઝિકલ એડ્રેસ પર મેપ કરે છે.
aocl_mmd_shared_mem_alloc() MMD API કૉલ પછી બે સરનામાં પરત કરે છે
-વાસ્તવિક પરત કરેલ સરનામું વર્ચ્યુઅલ સરનામું છે, અને ભૌતિક સરનામું device_ptr_out પર જાય છે.
નોંધ: ડ્રાઇવર ફક્ત વર્ચ્યુઅલ સરનામાંઓને જ મેપ કરી શકે છે જે mmap() ફંક્શન ભૌતિક સરનામાં પર પરત કરે છે. જો તમે કોઈપણ અન્ય વર્ચ્યુઅલ પોઈન્ટરના ભૌતિક સરનામા માટે વિનંતી કરો છો, તો ડ્રાઈવર NULL મૂલ્ય આપે છે.
ચેતવણી: OpenCL રનટાઇમ લાઇબ્રેરીઓ માટે Intel FPGA SDK ધારે છે કે શેર કરેલી મેમરી એ board_spec.xml માં સૂચિબદ્ધ પ્રથમ મેમરી છે. file. બીજા શબ્દોમાં કહીએ તો, Linux કર્નલ ડ્રાઈવર જે ભૌતિક સરનામું મેળવે છે તે Avalon® સરનામું બને છે જે OpenCL કર્નલ HPS SDRAM ને પસાર કરે છે.
રનટાઇમ લાઇબ્રેરીના સંદર્ભમાં, નીચેની રીતે ઉપકરણ બફર તરીકે વહેંચાયેલ મેમરીને ફાળવવા માટે clCreateBuffer() કૉલનો ઉપયોગ કરો:
- બે-ડીડીઆર બોર્ડ વેરિઅન્ટ માટે શેર કરેલ અને બિન-શેર કરેલ મેમરી બંને સાથે, જો તમે CL_MEM_USE_HOST_PTR ફ્લેગનો ઉલ્લેખ કરો છો તો clCreateBuffer() શેર કરેલ મેમરી ફાળવે છે. અન્ય ફ્લેગ્સનો ઉપયોગ clCreateBuffer() ને બિન-શેર કરેલ મેમરીમાં બફર ફાળવવાનું કારણ બને છે.
- ફક્ત વહેંચાયેલ મેમરી સાથેના વન-ડીડીઆર બોર્ડ વેરિઅન્ટ માટે, clCreateBuffer() તમે જે ફ્લેગનો ઉલ્લેખ કરો છો તેને ધ્યાનમાં લીધા વિના શેર કરેલી મેમરી ફાળવે છે.
હાલમાં, ARM CPU પર 32-બીટ લિનક્સ સપોર્ટ SDK રનટાઇમ લાઇબ્રેરીઓમાં વહેંચાયેલ મેમરી સપોર્ટની હદને નિયંત્રિત કરે છે. બીજા શબ્દોમાં કહીએ તો, રનટાઇમ લાઇબ્રેરીઓ અન્ય વાતાવરણમાં કમ્પાઇલ કરવામાં આવી છે (ઉદાample, x86_64 Linux અથવા 64-bit Windows) શેર કરેલી મેમરીને સપોર્ટ કરતા નથી.
C5soc એ નીચેના કારણોસર વહેંચાયેલ અને બિન-શેર કરેલ મેમરી વચ્ચે તફાવત કરવા માટે વિજાતીય મેમરીનો અમલ કર્યો નથી:
1. ઈતિહાસ—જ્યારે વહેંચાયેલ મેમરી સપોર્ટ મૂળરૂપે બનાવવામાં આવ્યો હતો ત્યારે વિજાતીય મેમરી સપોર્ટ ઉપલબ્ધ ન હતો.
2. યુનિફોર્મ ઇન્ટરફેસ—કારણ કે ઓપનસીએલ એક ઓપન સ્ટાન્ડર્ડ છે, ઇન્ટેલ વિજાતીય કમ્પ્યુટિંગ પ્લેટફોર્મ વિક્રેતાઓ વચ્ચે સુસંગતતા જાળવી રાખે છે. તેથી, અન્ય બોર્ડ વિક્રેતાઓના આર્કિટેક્ચર જેવા જ ઇન્ટરફેસનો ઉપયોગ વહેંચાયેલ મેમરી ફાળવવા અને ઉપયોગ કરવા માટે થાય છે.
1.4 FPGA પુનઃરૂપરેખાંકન
SoC FPGAs માટે, CPU CPU ની કામગીરીમાં ખલેલ પાડ્યા વિના FPGA કોર ફેબ્રિકને ફરીથી ગોઠવી શકે છે. FPGA મેનેજર હાર્ડવેર બ્લોક કે જે HPS ને સ્ટ્રેડલ કરે છે અને કોર FPGA પુનઃરૂપરેખાંકન કરે છે. Linux કર્નલમાં ડ્રાઇવરનો સમાવેશ થાય છે જે FPGA મેનેજરની સરળ ઍક્સેસને સક્ષમ કરે છે.
- થી view FPGA કોરનું સ્ટેટસ, cat /sys/class/fpga/fpga0/ સ્ટેટસ આદેશનો ઉપયોગ કરો.
સાયક્લોન V SoC ડેવલપમેન્ટ કીટ સંદર્ભ પ્લેટફોર્મ સાથે ઉપલબ્ધ OpenCL પ્રોગ્રામ યુટિલિટી માટે Intel FPGA SDK FPGA ને પ્રોગ્રામ કરવા માટે આ ઇન્ટરફેસનો ઉપયોગ કરે છે. ચાલતા CPU સાથે FPGA કોરને ફરીથી પ્રોગ્રામ કરતી વખતે, પ્રોગ્રામ યુટિલિટી નીચેના તમામ કાર્યો કરે છે:
1. પુનઃપ્રોગ્રામિંગ કરતા પહેલા, FPGA અને HPS, H2F અને LH2F બંને બ્રિજ વચ્ચેના તમામ સંચાર પુલને અક્ષમ કરો.
પુનઃપ્રોગ્રામિંગ પૂર્ણ થયા પછી આ પુલોને ફરીથી સક્ષમ કરો.
ધ્યાન આપો: OpenCL સિસ્ટમ FPGA-to-HPS (F2H) બ્રિજનો ઉપયોગ કરતી નથી. વધુ માહિતી માટે સાયક્લોન V ઉપકરણ હેન્ડબુક, વોલ્યુમ 3: હાર્ડ પ્રોસેસર સિસ્ટમ ટેકનિકલ રેફરન્સ મેન્યુઅલમાં HPS-FPGA ઈન્ટરફેસ વિભાગનો સંદર્ભ લો.
2. ખાતરી કરો કે FPGA અને HPS DDR નિયંત્રક વચ્ચેની લિંક રિપ્રોગ્રામિંગ દરમિયાન અક્ષમ છે.
3. ખાતરી કરો કે FPGA પર FPGA વિક્ષેપો પુનઃપ્રોગ્રામિંગ દરમિયાન અક્ષમ છે.
ઉપરાંત, રીપ્રોગ્રામિંગ દરમિયાન FPGA તરફથી કોઈપણ વિક્ષેપને નકારવા માટે ડ્રાઈવરને સૂચિત કરો.
વાસ્તવિક અમલીકરણની વિગતો માટે પ્રોગ્રામ ઉપયોગિતાના સ્ત્રોત કોડની સલાહ લો.
ચેતવણી: જ્યારે CPU ચાલી રહ્યું હોય ત્યારે HPS DDR નિયંત્રકનું રૂપરેખાંકન બદલશો નહીં.
આમ કરવાથી જીવલેણ સિસ્ટમ ભૂલ થઈ શકે છે કારણ કે જ્યારે CPU માંથી બાકી મેમરી વ્યવહારો હોય ત્યારે તમે DDR નિયંત્રક રૂપરેખાંકન બદલી શકો છો. આનો અર્થ એ છે કે જ્યારે CPU ચાલી રહ્યું હોય, ત્યારે તમે FPGA કોરને એક અલગ રૂપરેખાંકનમાં HPS DDR નો ઉપયોગ કરતી ઈમેજ સાથે ફરીથી પ્રોગ્રામ નહીં કરી શકો.
યાદ રાખો કે OpenCL સિસ્ટમ, અને Intel SoC FPGA એમ્બેડેડ ડિઝાઇન સ્યુટ (EDS) સાથે ઉપલબ્ધ ગોલ્ડન હાર્ડવેર સંદર્ભ ડિઝાઇન, HPS DDR ને સિંગલ 256-બીટ મોડમાં સેટ કરે છે.
CPU સિસ્ટમ ભાગો જેમ કે બ્રાન્ચ પ્રિડિક્ટર અથવા પેજ ટેબલ પ્રીફેચર DDR આદેશો ઇશ્યૂ કરી શકે છે જ્યારે એવું લાગે કે CPU પર કંઈ ચાલી રહ્યું નથી.
તેથી, HPS DDR નિયંત્રક રૂપરેખાંકન સેટ કરવા માટે બુટ સમય એ એકમાત્ર સલામત સમય છે.
આનો અર્થ એ પણ થાય છે કે U-boot પાસે કાચી બાઈનરી હોવી જોઈએ file મેમરીમાં લોડ કરવા માટે (.rbf) છબી. નહિંતર, તમે FPGA પર બિનઉપયોગી પોર્ટ સાથે HPS DDR ને સક્ષમ કરી શકો છો અને પછી સંભવિત રૂપે પોર્ટ રૂપરેખાંકનો બદલો છો. આ કારણોસર, OpenCL Linux કર્નલ ડ્રાઈવર હવે HPS DDR નિયંત્રક રૂપરેખાંકન સુયોજિત કરવા માટે જરૂરી તર્ક સમાવતું નથી.
SW3 ડ્યુઅલ ઇન-લાઇન પેકેજ (DIP) સાયલોન V SoC ડેવલપમેન્ટ કિટ પર સ્વિચ કરે છે તે .rbf ઇમેજના અપેક્ષિત સ્વરૂપને નિયંત્રિત કરે છે (એટલે કે, file સંકુચિત અને/અથવા એન્ક્રિપ્ટેડ છે). C5soc, અને SoC EDS સાથે ઉપલબ્ધ ગોલ્ડન હાર્ડવેર સંદર્ભ ડિઝાઇનમાં સંકુચિત પરંતુ એનક્રિપ્ટેડ .rbf ઈમેજોનો સમાવેશ થાય છે. Intel FPGA SDK માં OpenCL ચક્રવાત V SoC પ્રારંભ માર્ગદર્શિકા માટે વર્ણવેલ SW3 DIP સ્વીચ સેટિંગ્સ આ .rbf ઇમેજ ગોઠવણી સાથે મેળ ખાય છે.
સંબંધિત લિંક્સ
- HPS-FPGA ઇન્ટરફેસ
- SW3 સ્વીચો રૂપરેખાંકિત કરી રહ્યા છીએ
1.4.1 FPGA સિસ્ટમ આર્કિટેક્ચર વિગતો
ચક્રવાત V SoC ડેવલપમેન્ટ કીટ રેફરન્સ પ્લેટફોર્મ માટે સપોર્ટ Stratix® V રેફરન્સ પ્લેટફોર્મ (s5_ref) પર આધારિત છે, જે OpenCL માટે Intel FPGA SDK સાથે ઉપલબ્ધ છે.
c5soc Qsys સિસ્ટમની એકંદર સંસ્થા અને કર્નલ ડ્રાઈવર s5_ref માં સમાન છે.
નીચેના FPGA કોર ઘટકો c5soc અને s5_ref બંનેમાં સમાન છે:
- VERSION_ID બ્લોક
- આરામ મિકેનિઝમ
- મેમરી બેંક વિભાજક
- કેશ સ્નૂપ ઈન્ટરફેસ
- કર્નલ ઘડિયાળ
- નિયંત્રણ રજીસ્ટર એક્સેસ (CRA) બ્લોક્સ
1.5 SD ફ્લેશ કાર્ડ ઈમેજ બનાવવી
કારણ કે ચક્રવાત V SoC FPGA એ ચિપ પરની સંપૂર્ણ સિસ્ટમ છે, તમે સિસ્ટમની સંપૂર્ણ વ્યાખ્યા આપવા માટે જવાબદાર છો. Intel ભલામણ કરે છે કે તમે તેને SD ફ્લેશ કાર્ડ ઈમેજના રૂપમાં વિતરિત કરો. OpenCL યુઝર માટે Intel FPGA SDK માત્ર માઇક્રો SD ફ્લેશ કાર્ડ પર ઇમેજ લખી શકે છે અને SoC FPGA બોર્ડ ઉપયોગ માટે તૈયાર છે.
પૃષ્ઠ 13 પર હાલની SD ફ્લેશ કાર્ડની છબીને સંશોધિત કરવી
Intel ભલામણ કરે છે કે તમે સાયક્લોન V SoC ડેવલપમેન્ટ કિટ રેફરન્સ પ્લેટફોર્મ સાથે ઉપલબ્ધ ઈમેજમાં ફેરફાર કરો. તમારી પાસે નવી SD ફ્લેશ કાર્ડ ઈમેજ બનાવવાનો વિકલ્પ પણ છે.
પૃષ્ઠ 14 પર SD ફ્લેશ કાર્ડ છબી બનાવવી
તમારી પાસે નવી SD ફ્લેશ કાર્ડ ઈમેજ બનાવવાનો વિકલ્પ પણ છે.
1.5.1 હાલની SD ફ્લેશ કાર્ડ ઈમેજમાં ફેરફાર કરવો
ઇન્ટેલ ભલામણ કરે છે કે તમે ચક્રવાત V SoC સાથે ઉપલબ્ધ ઇમેજને ફક્ત સંશોધિત કરો
વિકાસ કીટ સંદર્ભ પ્લેટફોર્મ. તમારી પાસે નવી SD ફ્લેશ કાર્ડ ઈમેજ બનાવવાનો વિકલ્પ પણ છે.
c5soc linux_sd_card_image.tgz ઇમેજ file ALTERAOCLSDKROOT/board/c5soc ડિરેક્ટરીમાં ઉપલબ્ધ છે, જ્યાં ALTERAOCLSDKROOT OpenCL ની ઇન્સ્ટોલેશન ડિરેક્ટરી માટે Intel FPGA SDK ના પાથ તરફ નિર્દેશ કરે છે.
ધ્યાન: SD ફ્લેશ કાર્ડ ઇમેજને સંશોધિત કરવા માટે, તમારી પાસે રૂટ અથવા સુડો વિશેષાધિકારો હોવા આવશ્યક છે.
- $ALTERAOCLSDKROOT/board/c5soc/linux_sd_card_image.tgz ડિકમ્પ્રેસ કરવા માટે file, tar xvfzlinux_sd_card_image.tgz આદેશ ચલાવો.
- hello_world OpenCL ex compile કરોampતમારા કસ્ટમ પ્લેટફોર્મ સપોર્ટનો ઉપયોગ કરીને લે ડિઝાઇન. .rbf નું નામ બદલો file કે OpenCL ઑફલાઇન કમ્પાઇલર માટે Intel FPGA SDK opencl.rbf તરીકે જનરેટ કરે છે અને તેને SD ફ્લેશ કાર્ડ ઈમેજની અંદર fat32 પાર્ટીશન પર મૂકો.
તમે hello_world ex ડાઉનલોડ કરી શકો છોampOpenCL ડિઝાઇન Ex માંથી le ડિઝાઇનampઅલ્ટેરા પર લેસ પેજ webસાઇટ - .rbf મૂકો file ફ્લેશ કાર્ડ ઈમેજના fat32 પાર્ટીશનમાં.
ધ્યાન: fat32 પાર્ટીશનમાં બંને zImage હોવા જોઈએ file અને .rbf file. .rbf વગર file, જ્યારે તમે ડ્રાઇવર દાખલ કરશો ત્યારે એક જીવલેણ ભૂલ થશે. - તમે SD કાર્ડની ઈમેજ બનાવી લો તે પછી, નીચેના આદેશનો ઉપયોગ કરીને તેને માઇક્રો SD કાર્ડ પર લખો: sudo dd if=/path/to/sdcard/image.bin of=/dev/sdcard
- તમારી SD ફ્લેશ કાર્ડ ઇમેજ ચકાસવા માટે, નીચેના કાર્યો કરો:
a SoC FPGA બોર્ડમાં માઇક્રો SD ફ્લેશ કાર્ડ દાખલ કરો.
b બોર્ડને પાવર અપ કરો.
c એઓસીએલ ડાયગ્નોઝ યુટિલિટી આદેશનો ઉપયોગ કરો.
1.5.2 SD ફ્લેશ કાર્ડ ઈમેજ બનાવવી
તમારી પાસે નવી SD ફ્લેશ કાર્ડ ઈમેજ બનાવવાનો વિકલ્પ પણ છે. નવી SD ફ્લેશ કાર્ડ ઈમેજ બનાવવા અને હાલની SD ફ્લેશ કાર્ડ ઈમેજને પુનઃબીલ્ડ કરવા માટેની સામાન્ય સૂચનાઓ RocketBoards.org ના GSRD v14.0.2 – SD કાર્ડ પેજ પર ઉપલબ્ધ છે. webસાઇટ
નીચે આપેલા પગલાંઓ ગોલ્ડન સિસ્ટમ રેફરન્સ ડિઝાઇન (GSRD) SD ફ્લેશ કાર્ડ ઈમેજમાંથી linux_sd_card_image.tgz ઈમેજ બનાવવા માટેની પ્રક્રિયાનું વર્ણન કરે છે:
નોંધ:
c5soc ઈમેજમાંથી ઈમેજ બનાવવા માટે, આ પ્રક્રિયામાં દર્શાવેલ તમામ લાગુ પડતા કાર્યો કરો.
- Rocketboards.org પરથી GSRD SD ફ્લેશ કાર્ડ ઇમેજ વર્ઝન 14.0 ડાઉનલોડ કરો અને અનપૅક કરો.
- માઉન્ટ કરો file ફાળવણી કોષ્ટક (fat32) અને વિસ્તૃત file લૂપ-બેક ઉપકરણો તરીકે આ ઈમેજમાં સિસ્ટમ (ext3) પાર્ટીશનો. પાર્ટીશનને માઉન્ટ કરવા માટે, નીચેના પગલાંઓ કરો:
a /sbin/fdisk -lu image_ નો ઉપયોગ કરીને ઈમેજની અંદર પાર્ટીશનની બાઈટ શરૂઆત નક્કી કરો.file આદેશ
માજી માટેample, W1 FAT પ્રકારનો પાર્ટીશન નંબર 95 2121728 નો બ્લોક ઓફસેટ ધરાવે છે. પ્રતિ બ્લોક 512 બાઈટ સાથે, બાઈટ ઓફસેટ 512 બાઈટ્સ x 2121728 = 1086324736 બાઈટ છે.
b ફ્રી લૂપ ડિવાઇસને ઓળખો (દા.તample, /dev/loop0) લોસ્ટઅપ -f આદેશ ટાઈપ કરીને.
c ધારી રહ્યા છીએ કે /dev/loop0 એ મફત લૂપ ઉપકરણ છે, લોસ્ટઅપ /dev/loop0 image_ નો ઉપયોગ કરીને લૂપ બ્લોક ઉપકરણને તમારી ફ્લેશ કાર્ડ ઇમેજ સોંપો.file -0 1086324736 આદેશ.
ડી. mount /dev/loop0 /media/disk1 આદેશનો ઉપયોગ કરીને લૂપ ઉપકરણને માઉન્ટ કરો.
છબી અંદર file, /media/disk1 એ હવે માઉન્ટ થયેલ fat32 પાર્ટીશન છે.
ઇ. ext3 પાર્ટીશન માટે પગલાંઓ a થી d સુધીનું પુનરાવર્તન કરો. - અલ્ટેરા પરના ડાઉનલોડ સેન્ટર પરથી OpenCL પેકેજ માટે Intel FPGA રનટાઇમ એન્વાયર્નમેન્ટનું ચક્રવાત V SoC FPGA સંસ્કરણ ડાઉનલોડ કરો. webસાઇટ
a ક્વાર્ટસ પ્રાઇમ સોફ્ટવેર એડિશનની બાજુમાં ડાઉનલોડ બટન પર ક્લિક કરો.
b પ્રકાશન સંસ્કરણ, ઑપરેટિંગ સિસ્ટમ અને ડાઉનલોડ પદ્ધતિનો ઉલ્લેખ કરો.
c વધારાના સોફ્ટવેર ટેબ પર ક્લિક કરો અને Intel FPGA ડાઉનલોડ કરવા માટે પસંદ કરો
OpenCL Linux ચક્રવાત V SoC TGZ માટે રનટાઇમ એન્વાયર્નમેન્ટ.
ડી. તમે aocl-rte- ડાઉનલોડ કર્યા પછી .arm32.tgz file, તેને અનપેક કરો
તમારી માલિકીની ડિરેક્ટરી. - અનપેક્ડ aocl-rte- મૂકો ઇમેજના ext32 પાર્ટીશન પર /home/root/opencl_arm32_rte ડિરેક્ટરીમાં .arm3 ડિરેક્ટરી file.
- તમારા કસ્ટમ પ્લેટફોર્મનું હાર્ડવેર ફોલ્ડર કાઢી નાખો, અને પછી કસ્ટમ પ્લેટફોર્મને /home/root/ opencl_arm32_rte ની બોર્ડ સબડિરેક્ટરીમાં મૂકો.
- init_opencl.sh બનાવો file નીચેની સામગ્રી સાથે /home/root ડિરેક્ટરીમાં: નિકાસ કરો ALTERAOCLSDKROOT=/home/root/opencl_arm32_rte નિકાસ AOCL_BOARD_PACKAGE_ROOT=$ALTERAOCLSDKROOT/board/ એક્સપોર્ટ PATH=$ALTERAOCLSDKROOT/bin:$PATH એક્સપોર્ટ LD_LIBRARY_PATH=$ALTERAOCLSDKROOT/host/arm32/lib:$LD_LIBRARY_PATH insmod $AOCL_BOARD_PACKAGE_ROOT/driver/aclsoc_drv.ko
SDK વપરાશકર્તા પર્યાવરણ ચલો અને OpenCL Linux કર્નલ ડ્રાઇવરને લોડ કરવા માટે સ્ત્રોત ./init_opencl.sh આદેશ ચલાવે છે. - જો તમારે પ્રીલોડર અપડેટ કરવાની જરૂર હોય, તો ડી.ટી.એસ files, અથવા Linux કર્નલ, તમારે SoC EDS માંથી arm-linux-gnueabihf-gcc કમ્પાઈલરની જરૂર છે. સૉફ્ટવેર મેળવવા, તેને ફરીથી કમ્પાઇલ કરવા અને સંબંધિત અપડેટ કરવા માટે Intel SoC FPGA એમ્બેડેડ ડિઝાઇન સ્યુટ વપરાશકર્તા માર્ગદર્શિકામાં દર્શાવેલ સૂચનાઓને અનુસરો. fileમાઉન્ટેડ fat32 પાર્ટીશન પર s.
ધ્યાન: જો તમારા કસ્ટમ પ્લેટફોર્મમાં c5soc કરતાં અલગ પિન વપરાશ હોય તો તમારે પ્રીલોડરને અપડેટ કરવાની જરૂર પડે તેવી શક્યતા છે.
યાદ રાખો: જો તમે Linux કર્નલને ફરીથી કમ્પાઇલ કરો છો, તો સમાન Linux કર્નલ સ્ત્રોત સાથે Linux કર્નલ ડ્રાઇવરને ફરીથી કમ્પાઇલ કરો. files જો Linux કર્નલ ડ્રાઈવર અને Linux કર્નલ વચ્ચે મેળ ખાતો નથી, તો ડ્રાઈવર લોડ થશે નહીં. ઉપરાંત, તમારે CMA સક્ષમ કરવું આવશ્યક છે.
વધુ માહિતી માટે Linux કર્નલનું પુનઃસંકલન નો સંદર્ભ લો. - hello_world OpenCL ex compile કરોampતમારા કસ્ટમ પ્લેટફોર્મ સપોર્ટનો ઉપયોગ કરીને લે ડિઝાઇન. .rbf નું નામ બદલો file કે OpenCL ઑફલાઇન કમ્પાઇલર માટે Intel FPGA SDK opencl.rbf તરીકે જનરેટ કરે છે અને તેને SD ફ્લેશ કાર્ડ ઈમેજની અંદર fat32 પાર્ટીશન પર મૂકો.
તમે hello_world ex ડાઉનલોડ કરી શકો છોampOpenCL ડિઝાઇન Ex માંથી le ડિઝાઇનampઅલ્ટેરા પર લેસ પેજ webસાઇટ
9. તમે બધા જરૂરી સ્ટોર કર્યા પછી fileફ્લેશ કાર્ડ ઈમેજ પર s, નીચેના આદેશોને બોલાવો:
a સમન્વય
b અનમાઉન્ટ /media/disk1
c અનમાઉન્ટ જ્યાં એ ડિરેક્ટરીનું નામ છે જેનો ઉપયોગ તમે પૃષ્ઠ 3 પર 3 માં ext3 પાર્ટીશનને માઉન્ટ કરવા માટે કરો છો (ઉદાample, /media/disk2).
ડી. લોસ્ટઅપ -d /dev/loop0
ઇ. લોસ્ટઅપ -d /dev/loop1 - નીચે આપેલા આદેશનો ઉપયોગ કરીને SD ફ્લેશ કાર્ડ ઇમેજને સંકુચિત કરો: tar cvfz .tgz linux_sd_card_image
- પહોંચાડો .tgz file તમારા કસ્ટમ પ્લેટફોર્મની રૂટ ડિરેક્ટરીમાં.
- તમારી SD ફ્લેશ કાર્ડ ઇમેજ ચકાસવા માટે, નીચેના કાર્યો કરો:
a પરિણામી અનકમ્પ્રેસ્ડ ઈમેજને માઇક્રો SD ફ્લેશ કાર્ડ પર લખો.
b SoC FPGA બોર્ડમાં માઇક્રો SD ફ્લેશ કાર્ડ દાખલ કરો.
c બોર્ડને પાવર અપ કરો.
ડી. એઓસીએલ ડાયગ્નોઝ યુટિલિટી આદેશનો ઉપયોગ કરો.
સંબંધિત લિંક્સ
- Intel SoC FPGA એમ્બેડેડ ડિઝાઇન સ્યુટ વપરાશકર્તા માર્ગદર્શિકા
- ઓપનસીએલ ડિઝાઇન એક્સampઅલ્ટેરા પર લેસ પેજ webસાઇટ
- પૃષ્ઠ 16 પર Linux કર્નલનું પુનઃસંકલન
CMA ને સક્ષમ કરવા માટે, તમારે પહેલા Linux કર્નલને ફરીથી કમ્પાઈલ કરવું પડશે. - તમારા FPGA બોર્ડના ઉપકરણ નામની પૂછપરછ (નિદાન)
1.6 ચક્રવાત V SoC FPGA માટે Linux કર્નલનું સંકલન
સાયક્લોન V SoC FPGA બોર્ડ પર OpenCL એપ્લીકેશનો ચલાવતા પહેલા, તમારે Linux કર્નલ સ્ત્રોતનું કમ્પાઈલ કરવું પડશે, અને OpenCL Linux કર્નલ ડ્રાઈવરને કમ્પાઈલ અને ઇન્સ્ટોલ કરવું પડશે.
- પૃષ્ઠ 16 પર Linux કર્નલનું પુનઃસંકલન
CMA ને સક્ષમ કરવા માટે, તમારે પહેલા Linux કર્નલને ફરીથી કમ્પાઈલ કરવું પડશે. - OpenCL Linux કર્નલ ડ્રાઈવરને કમ્પાઈલ અને ઈન્સ્ટોલ કરી રહ્યા છીએ પૃષ્ઠ 17 પર OpenCL Linux કર્નલ ડ્રાઈવરને સંકલિત કર્નલ સ્ત્રોત સામે કમ્પાઈલ કરો.
1.6.1 Linux કર્નલનું પુનઃસંકલન
CMA ને સક્ષમ કરવા માટે, તમારે પહેલા Linux કર્નલને ફરીથી કમ્પાઈલ કરવું પડશે.
- RocketBoards.org ના સંસાધન પૃષ્ઠ પર GSRD v14.0 – કમ્પાઇલિંગ Linux લિંકને ક્લિક કરો webLinux કર્નલ સ્ત્રોત કોડને ડાઉનલોડ કરવા અને પુનઃનિર્માણ કરવા માટેની સૂચનાઓને ઍક્સેસ કરવા માટેની સાઇટ.
OpenCL માટે™ Intel FPGA SDK સાથે ઉપયોગ કરવા માટે, socfpga-3.13-rel14.0 નો ઉલ્લેખ કરો . - નોંધ: બિલ્ડિંગ પ્રક્રિયા arch/arm/configs/socfpga_defconfig બનાવે છે file. આ file socfpga મૂળભૂત રૂપરેખાંકન માટે સુયોજનો સ્પષ્ટ કરે છે.
arch/arm/configs/socfpga_defconfig ના તળિયે નીચેની લીટીઓ ઉમેરો file.
CONFIG_MEMORY_ISOLATION=y
CONFIG_CMA=y
CONFIG_DMA_CMA=y
CONFIG_CMA_DEBUG=y
CONFIG_CMA_SIZE_MBYTES=512
CONFIG_CMA_SIZE_SEL_MBYTES=y
CONFIG_CMA_ALIGNMENT=8
CONFIG_CMA_AREAS=7
CONFIG_CMA_SIZE_MBYTES રૂપરેખાંકન મૂલ્ય ઉપલબ્ધ ભૌતિક રીતે સંલગ્ન મેમરીની કુલ સંખ્યા પર ઉપલી મર્યાદા સેટ કરે છે. જો તમને વધુ મેમરીની જરૂર હોય તો તમે આ મૂલ્ય વધારી શકો છો. - ધ્યાન: SoC FPGA બોર્ડ પર ARM પ્રોસેસર માટે ઉપલબ્ધ ભૌતિક મેમરીની કુલ રકમ 1 GB છે. Intel ભલામણ કરતું નથી કે તમે CMA મેનેજરને 1 GB ની નજીક સેટ કરો.
- વર્તમાન રૂપરેખાંકન સાફ કરવા માટે make mrproper આદેશ ચલાવો.
- make ARCH=arm socfpga_deconfig આદેશ ચલાવો.
ARCH=arm સૂચવે છે કે તમે ARM આર્કિટેક્ચરને રૂપરેખાંકિત કરવા માંગો છો.
socfpga_defconfig સૂચવે છે કે તમે મૂળભૂત socfpga રૂપરેખાંકન વાપરવા માંગો છો. - નિકાસ CROSS_COMPILE=arm-linux-gnueabihf- આદેશ ચલાવો.
આ આદેશ ઇચ્છિત ટૂલ ચેઇનના ઉપસર્ગને સ્પષ્ટ કરવા માટે CROSS_COMPILE પર્યાવરણ ચલ સેટ કરે છે. - મેક ARCH=arm zImage આદેશ ચલાવો. પરિણામી છબી arch/arm/boot/zImage માં ઉપલબ્ધ છે file.
- ઝિઇમેજ મૂકો file ફ્લેશ કાર્ડ ઈમેજના fat32 પાર્ટીશનમાં. વિગતવાર સૂચનાઓ માટે, Rocketboards.org પર ચક્રવાત V SoC FPGA-વિશિષ્ટ GSRD વપરાશકર્તા માર્ગદર્શિકાનો સંદર્ભ લો.
- નોંધ: OpenCL Linux કર્નલ ડ્રાઇવરને યોગ્ય રીતે દાખલ કરવા માટે, પ્રથમ SDKgenerated.rbf લોડ કરો. file FPGA પર.
.rbf બનાવવા માટે file, SDK ડિઝાઇન એક્સ કમ્પાઇલ કરોampલક્ષિત કસ્ટમ પ્લેટફોર્મ તરીકે ચક્રવાત V SoC ડેવલપમેન્ટ કીટ સંદર્ભ પ્લેટફોર્મ સાથે.
9. .rbf મૂકો file ફ્લેશ કાર્ડ ઈમેજના fat32 પાર્ટીશનમાં.
ધ્યાન: fat32 પાર્ટીશનમાં zImage બંને હોવા જોઈએ file અને .rbf file. .rbf વગર file, જ્યારે તમે ડ્રાઇવર દાખલ કરશો ત્યારે એક જીવલેણ ભૂલ થશે. - સાયક્લોન V SoC ડેવલપમેન્ટ કિટમાં પ્રોગ્રામ કરેલ માઈક્રો SD કાર્ડ દાખલ કરો, જેમાં તમે સુધારેલ અથવા અગાઉ બનાવેલ SD કાર્ડ ઈમેજ ધરાવે છે અને પછી SoC FPGA બોર્ડને પાવર અપ કરો.
- uname -r આદેશ ચલાવીને સ્થાપિત Linux કર્નલની આવૃત્તિ ચકાસો.
- ચકાસવા માટે કે તમે કર્નલમાં CMA ને સફળતાપૂર્વક સક્રિય કરો છો, SoC FPGA બોર્ડ સાથે, grep init_cma /proc/kallsyms આદેશ ચલાવો.
જો આઉટપુટ ખાલી ન હોય તો CMA સક્ષમ છે. - SDK સાથે પુનઃસંકલિત Linux કર્નલનો ઉપયોગ કરવા માટે, Linux કર્નલ ડ્રાઇવરને કમ્પાઇલ અને ઇન્સ્ટોલ કરો.
સંબંધિત લિંક્સ
- ગોલ્ડન સિસ્ટમ રેફરન્સ ડિઝાઇન (GSRD) વપરાશકર્તા માર્ગદર્શિકા
- પૃષ્ઠ 13 પર SD ફ્લેશ કાર્ડ છબી બનાવવી
કારણ કે ચક્રવાત V SoC FPGA એ ચિપ પરની સંપૂર્ણ સિસ્ટમ છે, તમે સિસ્ટમની સંપૂર્ણ વ્યાખ્યા આપવા માટે જવાબદાર છો.
1.6.2 OpenCL Linux કર્નલ ડ્રાઇવરને કમ્પાઇલ અને ઇન્સ્ટોલ કરવું
કમ્પાઇલ કરેલ કર્નલ સ્ત્રોત સામે OpenCL Linux કર્નલ ડ્રાઇવરને કમ્પાઇલ કરો.
ડ્રાઈવર સ્ત્રોત OpenCL માટે Intel FPGA રનટાઇમ એન્વાયર્નમેન્ટના ચક્રવાત V SoC FPGA સંસ્કરણમાં ઉપલબ્ધ છે. વધુમાં, ખાતરી કરો કે તમે OpenCL-જનરેટેડ .rbf માટે Intel FPGA SDK લોડ કર્યું છે. file Linux કર્નલ મોડ્યુલના ખોટા ઇન્સ્ટોલેશનને રોકવા માટે FPGA માં.
- અલ્ટેરા પરના ડાઉનલોડ સેન્ટર પરથી OpenCL પેકેજ માટે Intel FPGA રનટાઇમ એન્વાયર્નમેન્ટનું ચક્રવાત V SoC FPGA સંસ્કરણ ડાઉનલોડ કરો. webસાઇટ
a ક્વાર્ટસ પ્રાઇમ સોફ્ટવેર એડિશનની બાજુમાં ડાઉનલોડ બટન પર ક્લિક કરો.
b પ્રકાશન સંસ્કરણ, ઑપરેટિંગ સિસ્ટમ અને ડાઉનલોડ પદ્ધતિનો ઉલ્લેખ કરો.
c વધારાના સોફ્ટવેર ટેબ પર ક્લિક કરો અને Intel FPGA ડાઉનલોડ કરવા માટે પસંદ કરો
OpenCL Linux ચક્રવાત V SoC TGZ માટે રનટાઇમ એન્વાયર્નમેન્ટ.
ડી. તમે aocl-rte- ડાઉનલોડ કર્યા પછી .arm32.tgz file, તેને અનપેક કરો
તમારી માલિકીની ડિરેક્ટરી.
ડ્રાઈવર સ્ત્રોત એઓસીએલ-આરટીઈ-માં છે .arm32/board/c5soc/ ડ્રાઇવર ડિરેક્ટરી. - OpenCL Linux કર્નલ ડ્રાઇવરને ફરીથી કમ્પાઇલ કરવા માટે, ડ્રાઇવરના મેકમાં KDIR કિંમત સેટ કરોfile Linux કર્નલ સ્ત્રોત ધરાવતી ડિરેક્ટરીમાં files.
- તમારી ટૂલ ચેઇનના ઉપસર્ગને દર્શાવવા માટે નિકાસ CROSS_COMPILE=arm-linux-gnueabihf- આદેશ ચલાવો.
- મેક ક્લીન આદેશ ચલાવો.
- aclsoc_drv.ko બનાવવા માટે મેક કમાન્ડ ચલાવો file.
- Opencl_arm32_rte ડિરેક્ટરીને ચક્રવાત V SoC FPGA બોર્ડમાં સ્થાનાંતરિત કરો.
scp -r ચલાવી રહ્યા છીએ root@your-ipaddress: આદેશ /home/root ડિરેક્ટરીમાં રનટાઇમ પર્યાવરણ મૂકે છે. - init_opencl.sh સ્ક્રિપ્ટ ચલાવો જે તમે SD કાર્ડિમેજ બનાવતી વખતે બનાવી હતી.
- એઓસીએલ ડાયગ્નોઝ યુટિલિટી આદેશનો ઉપયોગ કરો. તમે init_opencl.sh સફળતાપૂર્વક ચલાવો તે પછી નિદાન ઉપયોગિતા પાસિંગ પરિણામ આપશે.
1.7 જાણીતા મુદ્દાઓ
હાલમાં, સાયક્લોન V SoC ડેવલપમેન્ટ કિટ સંદર્ભ પ્લેટફોર્મ સાથે OpenCL માટે Intel FPGA SDK ના ઉપયોગ પર અમુક મર્યાદાઓ છે.
- તમે clGetDeviceInfo() કૉલના CL_DEVICE_VENDOR અને CL_DEVICE_NAME સ્ટ્રિંગ્સ દ્વારા જાણ કરાયેલ વિક્રેતા અને બોર્ડના નામોને ઓવરરાઇડ કરી શકતા નથી.
- જો હોસ્ટ શેર કરેલ DDR સિસ્ટમ (એટલે કે HPS DDR) માં સતત મેમરી ફાળવે છે અને તે કર્નલ એક્ઝેક્યુશન પછી સતત મેમરીમાં ફેરફાર કરે છે, તો મેમરીમાંનો ડેટા જૂનો થઈ શકે છે. આ સમસ્યા ઊભી થાય છે કારણ કે FPGA કોર CPU-થી-HPS DDR વ્યવહારો પર સ્નૂપ કરી શકતું નથી.
જૂના ડેટાને ઍક્સેસ કરવાથી અનુગામી કર્નલ એક્ઝેક્યુશનને રોકવા માટે, નીચેનામાંથી એક ઉકેલ અમલમાં મૂકો:
• શરૂઆત પછી સતત મેમરીમાં ફેરફાર કરશો નહીં.
• જો તમને બહુવિધ __કંસ્ટન્ટ ડેટા સેટની જરૂર હોય, તો બહુવિધ સતત મેમરી બફર્સ બનાવો.
• જો ઉપલબ્ધ હોય, તો તમારા એક્સિલરેટર બોર્ડ પર FPGA DDR માં સતત મેમરી ફાળવો. - ARM પરની SDK ઉપયોગિતા માત્ર પ્રોગ્રામને સપોર્ટ કરે છે અને ઉપયોગિતા આદેશોનું નિદાન કરે છે.
ફ્લેશ, ઇન્સ્ટોલ અને અનઇન્સ્ટોલ યુટિલિટી આદેશો નીચેના કારણોસર ચક્રવાત V SoC ડેવલપમેન્ટ કિટને લાગુ પડતા નથી:
a ઇન્સ્ટોલ યુટિલિટીએ aclsoc_drv Linux કર્નલ ડ્રાઇવરને કમ્પાઇલ કરવું પડશે અને તેને SoC FPGA પર સક્ષમ કરવું પડશે. વિકાસ મશીને સંકલન કરવાનું છે; જો કે, તે પહેલાથી જ SoC FPGA માટે Linux કર્નલ સ્ત્રોતો ધરાવે છે. ડેવલપમેન્ટ મશીન માટે Linux કર્નલ સ્ત્રોતો SoC FPGA માટેના સ્ત્રોતો કરતાં અલગ છે. SoC FPGA માટે Linux કર્નલ સ્ત્રોતોનું સ્થાન SDK વપરાશકર્તા માટે અજ્ઞાત છે. તેવી જ રીતે, અનઇન્સ્ટોલ યુટિલિટી પણ ચક્રવાત V SoC ડેવલપમેન્ટ કિટ માટે અનુપલબ્ધ છે.
ઉપરાંત, એસઓસી બોર્ડને aclsoc_drv પહોંચાડવાનું પડકારજનક છે કારણ કે ચક્રવાત V SoC ડેવલપમેન્ટ કિટના ડિફોલ્ટ વિતરણમાં Linux કર્નલનો સમાવેશ થતો નથી. files અથવા GNU કમ્પાઇલર કલેક્શન (GCC) કમ્પાઇલર.
b ફ્લેશ યુટિલિટી માટે .rbf મૂકવાની જરૂર છે file માઇક્રો SD ફ્લેશ કાર્ડના FAT32 પાર્ટીશન પર OpenCL ડિઝાઇનનું. હાલમાં, જ્યારે SDK વપરાશકર્તા બોર્ડને પાવર કરે છે ત્યારે આ પાર્ટીશન માઉન્ટ થયેલ નથી. તેથી, પાર્ટીશનને અપડેટ કરવાની શ્રેષ્ઠ રીત એ છે કે ફ્લેશ કાર્ડ રીડર અને ડેવલપમેન્ટ મશીનનો ઉપયોગ કરવો. - ઓપનસીએલ ઑફલાઇન કમ્પાઇલર એક્ઝેક્યુટેબલ માટે ઇન્ટેલ FPGA SDK વચ્ચે સ્વિચ કરતી વખતે files (.aocx) જે વિવિધ બોર્ડ વેરિઅન્ટ્સને અનુરૂપ છે (એટલે કે, c5soc અને c5soc_sharedonly), તમારે .aocx લોડ કરવા માટે SDK ની પ્રોગ્રામ યુટિલિટીનો ઉપયોગ કરવો આવશ્યક છે. file પ્રથમ વખત નવા બોર્ડ વેરિઅન્ટ માટે. જો તમે ફક્ત નવા બોર્ડ વેરિઅન્ટનો ઉપયોગ કરીને હોસ્ટ એપ્લિકેશન ચલાવો છો પરંતુ FPGA એ અન્ય બોર્ડ વેરિઅન્ટની છબી ધરાવે છે, તો ઘાતક ભૂલ આવી શકે છે.
- આ .qxp file ઇન્ટરફેસ પાર્ટીશન સોંપણીઓનો સમાવેશ કરતું નથી કારણ કે ક્વાર્ટસ પ્રાઇમ સોફ્ટવેર સતત આ પાર્ટીશનની સમય જરૂરિયાતોને પૂર્ણ કરે છે.
- જ્યારે તમે બોર્ડને પાવર અપ કરો છો, ત્યારે તેનું મીડિયા એક્સેસ કંટ્રોલ (MAC) એડ્રેસ રેન્ડમ નંબર પર સેટ થાય છે. જો તમારી LAN નીતિ આ વર્તનને મંજૂરી આપતી નથી, તો નીચેના કાર્યો કરીને MAC સરનામું સેટ કરો:
a U-Bot પાવર-અપ દરમિયાન, U-Bot કમાન્ડ પ્રોમ્પ્ટ દાખલ કરવા માટે કોઈપણ કી દબાવો.
b કમાન્ડ પ્રોમ્પ્ટ પર setenv ethaddr 00:07:ed:00:00:03 ટાઈપ કરો.
તમે કોઈપણ MAC સરનામું પસંદ કરી શકો છો.
c saveenv આદેશ ટાઈપ કરો.
ડી. બોર્ડ રીબુટ કરો.
1.8 દસ્તાવેજ પુનરાવર્તન ઇતિહાસ
કોષ્ટક 1.
OpenCL ચક્રવાત V SoC માટે Intel FPGA SDK નો દસ્તાવેજ પુનરાવર્તન ઇતિહાસ
વિકાસ કીટ સંદર્ભ પ્લેટફોર્મ પોર્ટિંગ માર્ગદર્શિકા
તારીખ | સંસ્કરણ | ફેરફારો |
મે-17 | 2017.05.08 | • જાળવણી પ્રકાશન. |
ઑક્ટોબર 2016 | 2016.10.31 | • OpenCL માટે Intel FPGA SDK માટે OpenCL માટે રિબ્રાન્ડેડ Altera SDK. • OpenCL ઑફલાઇન કમ્પાઇલર માટે Intel FPGA SDK પર રિબ્રાન્ડેડ અલ્ટેરા ઑફલાઇન કમ્પાઇલર. |
મે-16 | 2016.05.02 | • SD ફ્લેશ કાર્ડ ઈમેજ બનાવવા અને સંશોધિત કરવા પર સંશોધિત સૂચનાઓ. Linux કર્નલ અને OpenCL Linux કર્નલ ડ્રાઇવરને પુનઃસંકલન કરવા પર સંશોધિત સૂચનાઓ. |
નવેમ્બર-15 | 2015.11.02 | • જાળવણી પ્રકાશન, અને ક્વાર્ટસ II ના દાખલાઓને ક્વાર્ટસ પ્રાઇમમાં બદલ્યા. |
મે-15 | 15.0.0 | •FPGA પુનઃરૂપરેખાંકનમાં, FPGA કોરને ફરીથી પ્રોગ્રામ કરવાની સૂચના દૂર કરવામાં આવી છે સાથે બિલાડીને બોલાવીને આરબીએફ છબી fileનામ>. આરબીએફ > /dev/ fpga0 આદેશ કારણ કે આ પદ્ધતિ આગ્રહણીય નથી. |
ડિસેમ્બર -14 | 14.1.0 | • ડોક્યુમેન્ટનું નામ બદલીને અલ્ટેરા સાયક્લોન V SoC ડેવલપમેન્ટ કિટ રેફરન્સ પ્લેટફોર્મ પોર્ટિંગ ગાઈડ તરીકે રાખ્યું. • reprogram ઉપયોગિતાને aocl પ્રોગ્રામમાં અપડેટ કરીfilename>.aocx ઉપયોગિતા આદેશ. • એઓસીએલ નિદાન અને એઓસીએલ નિદાનમાં ડાયગ્નોસ્ટિક ઉપયોગિતાને અપડેટ કરી ઉપયોગિતા આદેશ. • બાંયધરીકૃત સમય બંધ થવાના પ્રવાહ માટે ટાઇમિંગ-ક્લીન પાર્ટીશન બનાવવા માટે c5soc બોર્ડ પાર્ટીશનને પોર્ટ કરવા અને સંશોધિત કરવા માટેની સૂચનાઓ શામેલ કરવા માટે તમારા SoC બોર્ડ વિભાગમાં સંદર્ભ પ્લેટફોર્મને પોર્ટિંગ કરવાની પ્રક્રિયાને અપડેટ કરી. • નીચેના કાર્યો માટેની પ્રક્રિયાઓની રૂપરેખા આપવા માટે પોર્ટેડ સંદર્ભ પ્લેટફોર્મ અપડેટ કરવાનું વિષય દાખલ કર્યો: 1. બોર્ડ પાર્ટીશનમાં હાર્ડ પ્રોસેસર સિસ્ટમ (HPS) બ્લોકને બાકાત રાખવું 2. SD ફ્લેશ કાર્ડ ઇમેજ અપડેટ કરી રહ્યું છે • બિલ્ડીંગ એન SD ફ્લેશ કાર્ડ ઈમેજ વિભાગને અપડેટ કર્યો. SoC એમ્બેડેડ ડિઝાઇન સ્યુટ (EDS) સાથે ઉપલબ્ધ ઇમેજને બદલે પ્રારંભિક બિંદુ તરીકે ગોલ્ડન સિસ્ટમ રેફરન્સ ડિઝાઇન (GSRD) ઇમેજના સંસ્કરણ 14.0 નો ઉપયોગ કરવાની ભલામણ કરવામાં આવે છે. • Linux કર્નલ અને OpenCL Linux કર્નલ ડ્રાઈવર વિભાગનું પુનઃસંકલન અપડેટ કર્યું: 1. CROSS COMPILE વેરીએબલ સેટ કરવા માટે સૂચના ઉમેરવામાં આવી. 2. CMA સફળતાપૂર્વક સક્ષમ છે તે ચકાસવા માટે તમે ચલાવો છો તે આદેશ બદલ્યો. |
જુલાઈ-14 | 14.0.0 | •પ્રારંભિક પ્રકાશન. |
દસ્તાવેજો / સંસાધનો
![]() |
OpenCL માટે intel FPGA SDK [પીડીએફ] વપરાશકર્તા માર્ગદર્શિકા OpenCL માટે FPGA SDK, FPGA SDK, OpenCL માટે SDK, SDK |