ዝርዝር ሁኔታ:

ቪቫዶ HLS ቪዲዮ IP አግድ ውህደት: 12 ደረጃዎች
ቪቫዶ HLS ቪዲዮ IP አግድ ውህደት: 12 ደረጃዎች

ቪዲዮ: ቪቫዶ HLS ቪዲዮ IP አግድ ውህደት: 12 ደረጃዎች

ቪዲዮ: ቪቫዶ HLS ቪዲዮ IP አግድ ውህደት: 12 ደረጃዎች
ቪዲዮ: Как спрятать данные в ячейках Excel? 2024, ሀምሌ
Anonim
ቪቫዶ HLS ቪዲዮ IP አግድ ውህደት
ቪቫዶ HLS ቪዲዮ IP አግድ ውህደት

ብዙ መዘግየት ሳይጨምር ወይም በተከተተ ስርዓት ውስጥ በቪዲዮ ላይ በእውነተኛ-ጊዜ ማቀናበር ይፈልጋሉ? FPGAs (የመስክ መርሃ ግብር ሊሠራ የሚችል የጌት ድርድር) አንዳንድ ጊዜ ይህንን ለማድረግ ያገለግላሉ። ሆኖም እንደ VHDL ወይም Verilog ባሉ የሃርድዌር ዝርዝር ቋንቋዎች ውስጥ የቪዲዮ ማቀነባበሪያ ስልተ ቀመሮችን መፃፉ በጣም ተስፋ አስቆራጭ ነው። በ C ++ አካባቢ ውስጥ ፕሮግራም እንዲያወጡ እና ከእሱ የሃርድዌር ዝርዝር ቋንቋ ኮድ እንዲያመነጩ የሚያስችልዎ የ Xilinx መሣሪያ የሆነውን ቪቫዶ ኤችኤልኤስ ያስገቡ።

ተፈላጊ ሶፍትዌሮች;

  • ቪቫዶ ኤች.ኤል.ኤስ
  • ቪቫዶ
  • (የ AXI መዝገቦችን የሚጠቀሙ ከሆነ) ቪቫዶ ኤስዲኬ

(ከተፈለገ) የ Xilinx የተሰሩ ምሳሌዎችን እዚህ ያውርዱ

የ Xilinx HLS ቪዲዮ ምሳሌዎች

ደረጃ 1 ቪቫዶ ኤችኤልኤስ ምንድን ነው?

ቪቫዶ ኤችኤልኤስ በ FPGA ላይ ሊተገበር ወደሚችል የሃርድዌር መዋቅሮች ሲ ++ ን እንደ ኮድ ለመቀየር የሚያገለግል መሣሪያ ነው። ይህንን ልማት ለማድረግ IDE ን ያጠቃልላል። አንዴ ለኤችኤልኤስ የኮድዎን ልማት ከጨረሱ በኋላ የመነጨውን አይፒዎን ቅርጸት ወደ ውጭ መላክ ይችላሉ። ከቪቫዶ ጋር ለመጠቀም።

የተያያዙትን ፋይሎች ያውርዱ እና ፕሮጀክትዎን በሚፈጥሩበት ቦታ አጠገብ ያድርጓቸው። (የዘፈቀደ ስም ካላቸው ወደ “top.cpp” እና “top.h” እንደገና ይመልሷቸው)

ደረጃ 2: HLS ቪዲዮ ቤተ -መጽሐፍት

HLS ቪዲዮ ቤተ -መጽሐፍት
HLS ቪዲዮ ቤተ -መጽሐፍት
HLS ቪዲዮ ቤተ -መጽሐፍት
HLS ቪዲዮ ቤተ -መጽሐፍት

የኤች.ኤል.ኤስ.ቪ ቪዲዮ ቤተ -መጽሐፍት በዚህ ጽሑፍ ውስጥ ከማጣቀሻ ዲዛይኖች ጋር ሰነዶች አሉት XAPP1167 ሌላ ጥሩ ሀብት ስለ እሱ የዚሊንክስ ዊኪ ገጽ ነው።

ቪቫዶ HLS ን ይጀምሩ።

አዲስ ፕሮጀክት ይፍጠሩ።

ባለፈው ደረጃ ያወረዷቸውን ፋይሎች ይውሰዱ እና እንደ ምንጭ ፋይሎች ያክሏቸው። (ማስታወሻ - ፋይሎቹ በፕሮጀክቱ ውስጥ አልተገለበጡም ፣ ይልቁንም ባሉበት ይቆዩ)

ከዚያ የላይኛውን ተግባር ለመምረጥ የአሰሳ ቁልፍን ይጠቀሙ።

በሚቀጥለው ገጽ ላይ የሚጠቀሙበትን የ Xilinx ክፍል ይምረጡ።

ደረጃ 3 - ውህደት

ውህደት
ውህደት

መፍትሔ => አሂድ ሲ ሲንተሲስ => ንቁ መፍትሔ

ከ ~ 227.218 ሰከንዶች በኋላ መደረግ አለበት። (ማስታወሻ -ትክክለኛው የመዋሃድ ጊዜዎ በብዙ ምክንያቶች ላይ የተመሠረተ ይሆናል)

ደረጃ 4 - ወደ ውጭ መላክ ሥሪት እና ሌላ መረጃ

ወደ ውጭ መላክ ሥሪት እና ሌላ መረጃ
ወደ ውጭ መላክ ሥሪት እና ሌላ መረጃ

በንድፍ ውስጥ አይፒውን ማዘመን እንዲችሉ የስሪት ቁጥሮች ከቪቫዶ ጋር መስተጋብር ይፈጥራሉ። የአነስተኛ ስሪት ለውጥ ከሆነ በቦታው ሊደረግ ይችላል ፣ ዋናዎቹ ለውጦች በአዲሱ እገዳ ውስጥ እራስዎ እንዲጨምሩ እና አሮጌውን እንዲያስወግዱ ሲፈልጉ የእርስዎ በይነገጾች ካልተለወጡ እና የስሪት ዝመናው ትንሽ ከሆነ ዝመናው ሊሆን ይችላል የዝማኔውን የአይፒ ቁልፍን በመጫን ሙሉ በሙሉ በራስ -ሰር ተከናውኗል። የአይፒዎን ሁኔታ ለማየት በ ‹Vivado tcl console ›ውስጥ‹ report_ip_status ›ን ማሄድ ይችላሉ።

በመፍትሔ => የመፍትሄ ቅንብሮች ውስጥ የስሪት ቁጥሮችን እና ሌላ መረጃን ያዘጋጁ…

በአማራጭ ፣ ወደ ውጭ በሚላኩበት ጊዜ እነዚህ ቅንብሮች ሊዘጋጁ ይችላሉ።

ደረጃ 5 - ወደ ቪቫዶ አይፒ ቤተ -መጽሐፍት መላክ

ወደ ቪቫዶ አይፒ ቤተ -መጽሐፍት በመላክ ላይ
ወደ ቪቫዶ አይፒ ቤተ -መጽሐፍት በመላክ ላይ
ወደ ቪቫዶ አይፒ ቤተ -መጽሐፍት በመላክ ላይ
ወደ ቪቫዶ አይፒ ቤተ -መጽሐፍት በመላክ ላይ

መፍትሄ => RTL ን ወደ ውጭ ይላኩ

በቀድሞው ደረጃ የአይፒ ቤተ -መጽሐፍት ዝርዝሮችን ካላዘጋጁ ፣ ያንን አሁን ማድረግ ይችላሉ።

ደረጃ 6 - ውህደት እና ወደ ውጭ መላክ ትንተና

ውህደት እና ወደ ውጭ መላክ ትንተና
ውህደት እና ወደ ውጭ መላክ ትንተና
ውህደት እና ወደ ውጭ መላክ ትንተና
ውህደት እና ወደ ውጭ መላክ ትንተና
ውህደት እና ወደ ውጭ መላክ ትንተና
ውህደት እና ወደ ውጭ መላክ ትንተና

በዚህ ማያ ገጽ ላይ ስለ እኛ ወደ ውጭ የተላከውን ሞጁል ስታቲስቲክስን ማየት እንችላለን ፣ ይህም የእኛን የ 10ns (100MHz) የሰዓት ጊዜያችንን እና እያንዳንዱን ሃብት ምን ያህል እንደሚጠቀም ያሳያል።

በዚህ ውህደት ፣ የእኛ የውህደት ዘገባ እና የእኛ የውሂብ ፍሰት ትንተና 317338 የሰዓት ዑደቶች * 10ns የሰዓት ክፍለ ጊዜ * 14 የቧንቧ መስመር ደረጃዎች = 0.04442732 ሰከንዶች እንደሚወስድ ማየት እንችላለን። ይህ ማለት በምስል አሠራራችን የተጨመረው አጠቃላይ መዘግየት ከአንድ ሃያ ሴኮንድ ያነሰ ነው (በታለመው 100 ሜኸ ላይ ሲጠጋ)።

ደረጃ 7 - በቪቫዶ ውስጥ የአይፒ ቤተ -መጽሐፍትን ማከል

በቪቫዶ ውስጥ የአይፒ ቤተ -መጽሐፍትን ማከል
በቪቫዶ ውስጥ የአይፒ ቤተ -መጽሐፍትን ማከል
በቪቫዶ ውስጥ የአይፒ ቤተ -መጽሐፍትን ማከል
በቪቫዶ ውስጥ የአይፒ ቤተ -መጽሐፍትን ማከል
በቪቫዶ ውስጥ የአይፒ ቤተ -መጽሐፍትን ማከል
በቪቫዶ ውስጥ የአይፒ ቤተ -መጽሐፍትን ማከል
በቪቫዶ ውስጥ የአይፒ ቤተ -መጽሐፍትን ማከል
በቪቫዶ ውስጥ የአይፒ ቤተ -መጽሐፍትን ማከል

የተዋሃደ የአይፒ ብሎክን ለመጠቀም ወደ ቪቫዶ ማከል ያስፈልግዎታል።

በቪቫዶ ውስጥ ወደ አይፒ ካታሎግ በመሄድ በፕሮጄክትዎ ላይ የአይፒ ማከማቻን ያክሉ እና “ማከማቻ አክል…” ን በመምረጥ በቀኝ ጠቅ ያድርጉ።

ወደ የእርስዎ ቪቫዶ HLS ፕሮጀክት ማውጫ ይሂዱ እና የመፍትሄ ማውጫዎን ይምረጡ።

ያገኘውን አይፒ ሪፖርት ማድረግ አለበት።

ደረጃ 8 - ማሻሻያ ማድረግ

ማሻሻያ ማድረግ
ማሻሻያ ማድረግ
ማሻሻያ ማድረግ
ማሻሻያ ማድረግ
ማሻሻያ ማድረግ
ማሻሻያ ማድረግ

አንዳንድ ጊዜ በቪቫዶ ዲዛይን ውስጥ ካካተቱት በኋላ በእርስዎ የኤችአይኤስ ብሎክ ላይ ለውጦችን ማድረግ ያስፈልግዎታል።

ይህንን ለማድረግ ለውጦቹን ማድረግ እና አይፒውን በከፍተኛ የስሪት ቁጥር እንደገና መላክ እና ወደ ውጭ መላክ ይችላሉ (ስለ ዋና/አናሳ የስሪት ቁጥር ለውጦች ቀደም ባለው ደረጃ ዝርዝሮችን ይመልከቱ)።

አዲሱን ስሪት ወደ ውጭ መላክ ከለወጡ በኋላ ፣ በቪቫዶ ውስጥ የእርስዎን የአይፒ ማከማቻዎች ያድሱ። ቪቫዶ በማከማቻው ውስጥ አይፒው እንደተለወጠ ሲመለከት ፣ ወይም በእጅ ሲሠራ ይህ ሊደረግ ይችላል። (ልብ ይበሉ ፣ ከጀመሩ በኋላ የአይፒ ማከማቻዎን ቢያድሱ ፣ ነገር ግን ወደ ውጭ መላክ በ HLS ውስጥ ከመጠናቀቁ በፊት አይፒው ለጊዜው አይኖርም ፣ እስኪጨርስ እና እንደገና እስኪታደስ ይጠብቁ።)

በዚህ ነጥብ ላይ አይፒው በዲስኩ ላይ እንደተለወጠ እና በ “የተመረጠ አሻሽል” ቁልፍ ለማዘመን አማራጭ ይሰጥዎታል። ለውጡ አነስተኛ የስሪት ለውጥ ከሆነ እና ምንም በይነገጽ ካልተቀየረ ፣ ከዚያ ያንን ቁልፍ መጫን የድሮውን አይፒ በራስ -ሰር በአዲሱ ይተካዋል ፣ አለበለዚያ ተጨማሪ ሥራ ሊያስፈልግ ይችላል።

ደረጃ 9 ተጨማሪ ዝርዝሮች እና መረጃ

የሚከተሉት ደረጃዎች የ HLS ውህደት እንዴት እንደሚሰራ እና ከእሱ ጋር ምን ማድረግ እንደሚችሉ የበለጠ መረጃ ይሰጣሉ።

የኤችአይኤልኤስ የተቀናጀ የአይፒ ብሎክን በመጠቀም ለፕሮጀክት ምሳሌ ፣ ይህንን አስተማሪ ይመልከቱ።

ደረጃ 10 - ውፅዓት እና ግብዓት

ውፅዓት እና ግብዓት
ውፅዓት እና ግብዓት
ውፅዓት እና ግብዓት
ውፅዓት እና ግብዓት

የውጤቶች እና ግብዓቶች ወደ የመጨረሻው የአይፒ ብሎክ የሚወሰነው ከላይኛው ተግባር ውስጥ እና ውጭ የውሂብ ፍሰት ሠራተኛው ከሚያደርገው ትንተና ነው።

ከ VHDL ወይም verilog ጋር ተመሳሳይ ፣ HLS በአይፒ መካከል ስላለው ግንኙነት ዝርዝሮችን እንዲገልጹ ያስችልዎታል። እነዚህ መስመሮች የዚህ ምሳሌዎች ናቸው

ባዶ image_filter (AXI_STREAM & video_in ፣ AXI_STREAM & video_out ፣ int & x ፣ int & y) {

#pragma HLS INTERFACE ዘንግ ወደብ = ቪዲዮ_በአንድ ጥቅል = INPUT_STREAM #pragma HLS INTERFACE ዘንግ ወደብ = የቪዲዮ_ውጥ ጥቅል = OUTPUT_STREAM #pragma HLS INTERFACE s_axilite ወደብ = x ጥቅል = CONTROL_BUS offset = 0x14 #pragma HLS

በአይፒ ብሎክ ላይ የታዩት ወደቦች በእነዚህ መመሪያዎች እንዴት እንደሚነኩ ማየት ይችላሉ።

ደረጃ 11: የ AXI መመዝገቢያ በይነገጽ

AXI ይመዝገቡ በይነገጽ
AXI ይመዝገቡ በይነገጽ

ከአይፒ ብሎክዎ ወደ PS/ግብዓት/ውፅዓት ለማግኘት ይህንን ለማድረግ ጥሩ መንገድ በ AXI በይነገጽ በኩል ነው።

እሴቱን እንደ በኋላ ለመድረስ ጥቅም ላይ የሚውሉ ማካካሻዎችን ጨምሮ በ HLS ኮድዎ ውስጥ ይህንን መግለፅ ይችላሉ-

ባዶ image_filter (AXI_STREAM & video_in ፣ AXI_STREAM & video_out ፣ int & x ፣ int & y) {

#pragma HLS INTERFACE s_axilite port = x bundle = CONTROL_BUS offset = 0x14

#pragma HLS INTERFACE s_axilite port = y bundle = CONTROL_BUS offset = 0x1C #pragma HLS የውሂብ ፍሰት

x = 42;

y = 0xDEADBEEF; }

አንዴ በቪቫዶ ውስጥ በትክክል ከተገናኙ በቪቫዶ ኤስዲኬ ውስጥ ይህንን ኮድ በመጠቀም እሴቶቹን መድረስ ይችላሉ-

#"መለኪያዎች. ኤች" ያካትቱ

#መግለፅ xregoff 0x14 #define yregoff 0x1c x = Xil_In32 (XPAR_IMAGE_FILTER_0_S_AXI_CONTROL_BUS_BASEADDR+xregoff); y = Xil_In32 (XPAR_IMAGE_FILTER_0_S_AXI_CONTROL_BUS_BASEADDR+yregoff);

ይህ በ 42 ውስጥ በ x እና 0xdeadbeef በ y ውስጥ እንዲጨርሱ ያደርግዎታል

ደረጃ 12 የውሂብ ፍሰት ፕራግማ

የውሂብ ፍሰት ፕራግማ
የውሂብ ፍሰት ፕራግማ
የውሂብ ፍሰት ፕራግማ
የውሂብ ፍሰት ፕራግማ
የውሂብ ፍሰት ፕራግማ
የውሂብ ፍሰት ፕራግማ

በ #pragma DATAFLOW ውስጥ ኮዱ የሚተገበርበት መንገድ ከመደበኛ C ++ ይለወጣል። በሁሉም የውሂብ ክፍሎች ውስጥ ሁሉም መመሪያዎች ሁል ጊዜ እንዲሠሩ ኮዱ ተዘርግቷል (በፋብሪካ ውስጥ እንደ የመሰብሰቢያ መስመር ያስቡ ፣ እያንዳንዱ ጣቢያ ያለማቋረጥ አንድ ተግባር በመስራት ወደ ቀጣዩ ጣቢያ ያስተላልፋል)

ከምስሉ እያንዳንዱን መመሪያዎች ማየት ይችላሉ

ምንም እንኳን የተለመዱ ተለዋዋጮች ቢመስሉም ፣ img ነገሮች በትእዛዞቹ መካከል እንደ ትናንሽ መያዣዎች ይተገበራሉ። ለአንድ ተግባር ምስልን እንደ ግብዓት መጠቀም እሱን “ይበላል” እና ከአሁን በኋላ ጥቅም ላይ እንዳይውል ያደርገዋል። (ስለዚህ የተባዙ ትዕዛዞች አስፈላጊነት)

የሚመከር: