intel - ਲੋਗੋOpenCL ਲਈ FPGA SDK
ਯੂਜ਼ਰ ਗਾਈਡ

UG-OCL009
2017.05.08
Intel® Quartus® Prime Design Suite ਲਈ ਆਖਰੀ ਵਾਰ ਅੱਪਡੇਟ ਕੀਤਾ ਗਿਆ: 17.0

RENPHO RF FM059HS WiFi ਸਮਾਰਟ ਫੁੱਟ ਮਸਾਜਰ - ਆਈਕਨ 5ਸਬਸਕ੍ਰਾਈਬ ਕਰੋ
SAMSUNG SM A136UZKZAIO Galaxy A13 5G ਸਮਾਰਟਫ਼ੋਨ - ਆਈਕਨ 12ਫੀਡਬੈਕ ਭੇਜੋ

OpenCL™ Intel® Cyclone®V SoC ਵਿਕਾਸ ਕਿੱਟ ਸੰਦਰਭ ਪਲੇਟਫਾਰਮ ਪੋਰਟਿੰਗ ਗਾਈਡ ਲਈ Intel® FPGA SDK

V SoC ਡਿਵੈਲਪਮੈਂਟ ਕਿੱਟ ਰੈਫਰੈਂਸ ਪਲੇਟਫਾਰਮ ਪੋਰਟਿੰਗ ਗਾਈਡ Intel ਸਾਈਕਲੋਨ V SoC ਡਿਵੈਲਪਮੈਂਟ ਕਿੱਟ ਰੈਫਰੈਂਸ ਪਲੇਟਫਾਰਮ (c5soc) ਦੇ ਹਾਰਡਵੇਅਰ ਅਤੇ ਸਾਫਟਵੇਅਰ ਡਿਜ਼ਾਈਨ ਦਾ ਵਰਣਨ ਕਰਦੀ ਹੈ OpenCL ਲਈ Intel ਸਾਫਟਵੇਅਰ ਡਿਵੈਲਪਮੈਂਟ ਕਿੱਟ (SDK) ਨਾਲ ਵਰਤਣ ਲਈ OpenCL™ Intel ਚੱਕਰਵਾਤ ਲਈ Intel ® FPGA SDK ® . ਇਸ ਤੋਂ ਪਹਿਲਾਂ ਕਿ ਤੁਸੀਂ ਸ਼ੁਰੂ ਕਰੋ, Intel ਜ਼ੋਰਦਾਰ ਸਿਫਾਰਸ਼ ਕਰਦਾ ਹੈ ਕਿ ਤੁਸੀਂ ਹੇਠਾਂ ਦਿੱਤੇ ਦਸਤਾਵੇਜ਼ਾਂ ਦੀਆਂ ਸਮੱਗਰੀਆਂ ਨਾਲ ਆਪਣੇ ਆਪ ਨੂੰ ਜਾਣੂ ਹੋਵੋ:

  1. OpenCLIntel ਚੱਕਰਵਾਤ V SoC ਲਈ Intel FPGA SDK ਸ਼ੁਰੂਆਤੀ ਗਾਈਡ
  2. OpenCL ਕਸਟਮ ਪਲੇਟਫਾਰਮ ਟੂਲਕਿਟ ਯੂਜ਼ਰ ਗਾਈਡ ਲਈ Intel FPGA SDK
  3. ਸਾਈਕਲੋਨ V ਡਿਵਾਈਸ ਹੈਂਡਬੁੱਕ, ਵਾਲੀਅਮ 3: ਹਾਰਡ ਪ੍ਰੋਸੈਸਰ ਸਿਸਟਮ ਟੈਕਨੀਕਲ ਰੈਫਰੈਂਸ ਮੈਨੂਅਲ ਇਸ ਤੋਂ ਇਲਾਵਾ, ਅਲਟੇਰਾ ਦੇ ਸਾਈਕਲੋਨ V SoC ਡਿਵੈਲਪਮੈਂਟ ਕਿੱਟ ਅਤੇ SoC ਏਮਬੈਡਡ ਡਿਜ਼ਾਈਨ ਸੂਟ ਪੇਜ ਵੇਖੋ 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ਸਾਈਟ
  1. OpenCL ਅਤੇ OpenCL ਲੋਗੋ ਐਪਲ ਇੰਕ. ਦੇ ਟ੍ਰੇਡਮਾਰਕ ਹਨ ਜੋ Khronos Group™ ਦੀ ਇਜਾਜ਼ਤ ਦੁਆਰਾ ਵਰਤੇ ਜਾਂਦੇ ਹਨ।
  2. OpenCL ਲਈ Intel FPGA SDK ਇੱਕ ਪ੍ਰਕਾਸ਼ਿਤ Khronos ਨਿਰਧਾਰਨ 'ਤੇ ਅਧਾਰਤ ਹੈ, ਅਤੇ Khronos Conformance ਟੈਸਟਿੰਗ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਪਾਸ ਕੀਤਾ ਹੈ। ਮੌਜੂਦਾ ਅਨੁਕੂਲਤਾ ਸਥਿਤੀ 'ਤੇ ਲੱਭੀ ਜਾ ਸਕਦੀ ਹੈ www.khronos.org/conformance.

ਇੰਟੇਲ ਕਾਰਪੋਰੇਸ਼ਨ. ਸਾਰੇ ਹੱਕ ਰਾਖਵੇਂ ਹਨ. Intel, Intel ਲੋਗੋ, Altera, Arria, Cyclone, Enpirion, MAX, Nios, Quartus ਅਤੇ Stratix ਸ਼ਬਦ ਅਤੇ ਲੋਗੋ ਅਮਰੀਕਾ ਅਤੇ/ਜਾਂ ਹੋਰ ਦੇਸ਼ਾਂ ਵਿੱਚ Intel ਕਾਰਪੋਰੇਸ਼ਨ ਜਾਂ ਇਸਦੀਆਂ ਸਹਾਇਕ ਕੰਪਨੀਆਂ ਦੇ ਟ੍ਰੇਡਮਾਰਕ ਹਨ। Intel ਆਪਣੇ FPGA ਅਤੇ ਸੈਮੀਕੰਡਕਟਰ ਉਤਪਾਦਾਂ ਦੀ ਕਾਰਗੁਜ਼ਾਰੀ ਦੀ ਵਾਰੰਟੀ Intel ਦੀ ਸਟੈਂਡਰਡ ਵਾਰੰਟੀ ਦੇ ਅਨੁਸਾਰ ਮੌਜੂਦਾ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੇ ਅਨੁਸਾਰ ਕਰਦਾ ਹੈ, ਪਰ ਬਿਨਾਂ ਨੋਟਿਸ ਦੇ ਕਿਸੇ ਵੀ ਸਮੇਂ ਕਿਸੇ ਵੀ ਉਤਪਾਦ ਅਤੇ ਸੇਵਾਵਾਂ ਵਿੱਚ ਤਬਦੀਲੀਆਂ ਕਰਨ ਦਾ ਅਧਿਕਾਰ ਰਾਖਵਾਂ ਰੱਖਦਾ ਹੈ। ਇੰਟੇਲ ਇੱਥੇ ਵਰਣਿਤ ਕਿਸੇ ਵੀ ਜਾਣਕਾਰੀ, ਉਤਪਾਦ, ਜਾਂ ਸੇਵਾ ਦੀ ਐਪਲੀਕੇਸ਼ਨ ਜਾਂ ਵਰਤੋਂ ਤੋਂ ਪੈਦਾ ਹੋਣ ਵਾਲੀ ਕੋਈ ਜ਼ਿੰਮੇਵਾਰੀ ਜਾਂ ਜ਼ਿੰਮੇਵਾਰੀ ਨਹੀਂ ਲੈਂਦਾ, ਸਿਵਾਏ ਇੰਟੇਲ ਦੁਆਰਾ ਲਿਖਤੀ ਤੌਰ 'ਤੇ ਸਪੱਸ਼ਟ ਤੌਰ 'ਤੇ ਸਹਿਮਤ ਹੋਏ। 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 ਬੋਰਡ ਇੱਕ ਸਿੰਗਲ DDR ਮੈਮੋਰੀ ਬੈਂਕ ਵਾਲੇ ਅੰਤਿਮ ਉਤਪਾਦਨ ਬੋਰਡ ਲਈ ਇੱਕ ਵਧੀਆ ਪ੍ਰੋਟੋਟਾਈਪਿੰਗ ਪਲੇਟਫਾਰਮ ਵੀ ਹੈ।
    ਆਪਣੇ OpenCL ਕਰਨਲ ਨੂੰ ਕੰਪਾਇਲ ਕਰਨ ਵੇਲੇ ਇਸ ਬੋਰਡ ਵੇਰੀਐਂਟ ਨੂੰ ਨਿਸ਼ਾਨਾ ਬਣਾਉਣ ਲਈ, ਆਪਣੀ aoc ਕਮਾਂਡ ਵਿੱਚ -board c5soc_sharedonly ਵਿਕਲਪ ਸ਼ਾਮਲ ਕਰੋ।
    ਬੋਰਡ ਬਾਰੇ ਹੋਰ ਜਾਣਕਾਰੀ ਲਈ aoc ਕਮਾਂਡ ਦਾ ਵਿਕਲਪ, OpenCL ਪ੍ਰੋਗਰਾਮਿੰਗ ਗਾਈਡ ਲਈ Intel FPGA SDK ਵੇਖੋ।

ਸੰਬੰਧਿਤ ਲਿੰਕਸ
ਇੱਕ ਖਾਸ FPGA ਬੋਰਡ ਲਈ ਇੱਕ ਕਰਨਲ ਕੰਪਾਇਲ ਕਰਨਾ (-board )
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 ਵਿਕਾਸ ਕਿੱਟ ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ ਲੋੜੀਂਦੀ ਹਰ ਚੀਜ਼ ਸ਼ਾਮਲ ਹੁੰਦੀ ਹੈ।
arm32 ਡਾਇਰੈਕਟਰੀ ਜਿਸ ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ:

1.1.3 ਚੱਕਰਵਾਤ V SoC ਵਿਕਾਸ ਕਿੱਟ ਦੀਆਂ ਸੰਬੰਧਿਤ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ

ਹੇਠ ਦਿੱਤੀ ਸੂਚੀ ਚੱਕਰਵਾਤ V SoC ਵਿਕਾਸ ਕਿੱਟ ਦੇ ਭਾਗਾਂ ਅਤੇ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਉਜਾਗਰ ਕਰਦੀ ਹੈ ਜੋ OpenCL ਲਈ Intel FPGA SDK ਨਾਲ ਸੰਬੰਧਿਤ ਹਨ:

  • ਡਿਊਲ-ਕੋਰ ARM Cortex-A9 CPU 32-ਬਿੱਟ ਲੀਨਕਸ ਚਲਾ ਰਿਹਾ ਹੈ।
  • 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 ਵਿਕਾਸ ਕਿੱਟ ਸੰਦਰਭ ਪਲੇਟਫਾਰਮ ਡਿਜ਼ਾਈਨ ਟੀਚੇ ਅਤੇ ਫੈਸਲੇ Intel ਕਈ ਡਿਜ਼ਾਈਨ ਟੀਚਿਆਂ ਅਤੇ ਫੈਸਲਿਆਂ 'ਤੇ ਚੱਕਰਵਾਤ V SoC ਵਿਕਾਸ ਕਿੱਟ ਸੰਦਰਭ ਪਲੇਟਫਾਰਮ ਨੂੰ ਲਾਗੂ ਕਰਨ ਦਾ ਅਧਾਰ ਹੈ। Intel ਸਿਫ਼ਾਰਿਸ਼ ਕਰਦਾ ਹੈ ਕਿ ਤੁਸੀਂ ਇਹਨਾਂ ਟੀਚਿਆਂ ਅਤੇ ਫੈਸਲਿਆਂ 'ਤੇ ਵਿਚਾਰ ਕਰੋ ਜਦੋਂ ਤੁਸੀਂ ਇਸ ਸੰਦਰਭ ਪਲੇਟਫਾਰਮ ਨੂੰ ਆਪਣੇ SoC FPGA ਬੋਰਡ ਵਿੱਚ ਪੋਰਟ ਕਰਦੇ ਹੋ।
ਹੇਠਾਂ c5soc ਡਿਜ਼ਾਈਨ ਟੀਚੇ ਹਨ:

  1. FPGA ਅਤੇ DDR ਮੈਮੋਰੀ ਸਿਸਟਮਾਂ 'ਤੇ ਕਰਨਲ ਦੇ ਵਿਚਕਾਰ ਸਭ ਤੋਂ ਵੱਧ ਸੰਭਵ ਬੈਂਡਵਿਡਥ ਪ੍ਰਦਾਨ ਕਰੋ।
  2. ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰੋ ਕਿ FPGA (ਅਰਥਾਤ, ਓਪਨਸੀਐਲ ਕਰਨਲ) ਉੱਤੇ ਗਣਨਾ ਹੋਰ CPU ਕਾਰਜਾਂ ਵਿੱਚ ਦਖਲ ਨਹੀਂ ਦਿੰਦੀਆਂ ਜਿਨ੍ਹਾਂ ਵਿੱਚ ਸਰਵਿਸਿੰਗ ਪੈਰੀਫਿਰਲ ਸ਼ਾਮਲ ਹੋ ਸਕਦੇ ਹਨ।
  3. ਇੰਟਰਫੇਸ ਕੰਪੋਨੈਂਟਸ ਦੀ ਬਜਾਏ ਕਰਨਲ ਗਣਨਾ ਲਈ ਜਿੰਨਾ ਸੰਭਵ ਹੋ ਸਕੇ FPGA ਸਰੋਤ ਛੱਡੋ।

ਹੇਠਾਂ ਉੱਚ-ਪੱਧਰੀ ਡਿਜ਼ਾਈਨ ਫੈਸਲੇ ਹਨ ਜੋ Intel ਦੇ ਡਿਜ਼ਾਈਨ ਟੀਚਿਆਂ ਦੇ ਸਿੱਧੇ ਨਤੀਜੇ ਹਨ:

  1. ਸੰਦਰਭ ਪਲੇਟਫਾਰਮ ਸਿਰਫ ਵਿਆਪਕ ਸੰਭਾਵੀ ਸੰਰਚਨਾ (256 ਬਿੱਟ) ਵਾਲੇ ਹਾਰਡ DDR ਮੈਮੋਰੀ ਕੰਟਰੋਲਰਾਂ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ।
  2. FPGA HPS ਦੇ ਅੰਦਰ AXI ਬੱਸ ਅਤੇ L3 ਸਵਿੱਚ ਨੂੰ ਸ਼ਾਮਲ ਕੀਤੇ ਬਿਨਾਂ, HPS DDR ਮੈਮੋਰੀ ਕੰਟਰੋਲਰ ਨਾਲ ਸਿੱਧਾ ਸੰਚਾਰ ਕਰਦਾ ਹੈ। ਸਿੱਧਾ ਸੰਚਾਰ DDR ਨੂੰ ਸਭ ਤੋਂ ਵਧੀਆ ਸੰਭਵ ਬੈਂਡਵਿਡਥ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ, ਅਤੇ FPGA ਕੰਪਿਊਟੇਸ਼ਨਾਂ ਨੂੰ CPU ਅਤੇ ਇਸਦੇ ਘੇਰੇ ਵਿਚਕਾਰ ਸੰਚਾਰ ਵਿੱਚ ਦਖਲ ਦੇਣ ਤੋਂ ਰੋਕਦਾ ਹੈ।
  3. ਸਕੈਟਰ-ਗੈਰ ਡਾਇਰੈਕਟ ਮੈਮੋਰੀ ਐਕਸੈਸ (SG-DMA) FPGA ਇੰਟਰਫੇਸ ਤਰਕ ਦਾ ਹਿੱਸਾ ਨਹੀਂ ਹੈ। DDR ਮੈਮੋਰੀ ਸਿਸਟਮਾਂ ਵਿਚਕਾਰ ਵੱਡੀ ਮਾਤਰਾ ਵਿੱਚ ਡਾਟਾ ਟ੍ਰਾਂਸਫਰ ਕਰਨ ਦੀ ਬਜਾਏ, ਸ਼ੇਅਰ ਕੀਤੇ HPS DDR ਵਿੱਚ ਡਾਟਾ ਸਟੋਰ ਕਰੋ। FPGA ਦੁਆਰਾ CPU ਮੈਮੋਰੀ ਤੱਕ ਸਿੱਧੀ ਪਹੁੰਚ DMA ਨਾਲੋਂ ਵਧੇਰੇ ਕੁਸ਼ਲ ਹੈ। ਇਹ ਹਾਰਡਵੇਅਰ ਸਰੋਤਾਂ ਨੂੰ ਬਚਾਉਂਦਾ ਹੈ (ਅਰਥਾਤ, FPGA ਖੇਤਰ) ਅਤੇ ਲੀਨਕਸ ਕਰਨਲ ਡਰਾਈਵਰ ਨੂੰ ਸਰਲ ਬਣਾਉਂਦਾ ਹੈ।
    ਚੇਤਾਵਨੀ: ਸ਼ੇਅਰਡ HPS DDR ਸਿਸਟਮ ਅਤੇ DDR ਸਿਸਟਮ ਦੇ ਵਿਚਕਾਰ ਮੈਮੋਰੀ ਟ੍ਰਾਂਸਫਰ ਜੋ ਸਿਰਫ਼ FPGA ਤੱਕ ਪਹੁੰਚਯੋਗ ਹੈ ਬਹੁਤ ਹੌਲੀ ਹੈ। ਜੇਕਰ ਤੁਸੀਂ ਚੁਣਦੇ ਹੋ
    ਇਸ ਤਰੀਕੇ ਨਾਲ ਮੈਮੋਰੀ ਟ੍ਰਾਂਸਫਰ ਕਰੋ, ਇਸਦੀ ਵਰਤੋਂ ਸਿਰਫ ਬਹੁਤ ਘੱਟ ਮਾਤਰਾ ਵਿੱਚ ਡੇਟਾ ਲਈ ਕਰੋ।
  4. ਹੋਸਟ ਅਤੇ ਡਿਵਾਈਸ ਸਿਰਫ ਇੱਕ ਸਿੰਗਲ 2-ਬਿੱਟ ਪੋਰਟ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ, HPS-to-FPGA (H32F) ਬ੍ਰਿਜ ਦੁਆਰਾ ਇੱਕ ਦੂਜੇ ਦੇ ਵਿਚਕਾਰ ਗੈਰ-DMA ਡੇਟਾ ਟ੍ਰਾਂਸਫਰ ਕਰਦੇ ਹਨ। ਕਾਰਨ ਇਹ ਹੈ ਕਿ, ਡੀਐਮਏ ਤੋਂ ਬਿਨਾਂ, ਲੀਨਕਸ ਕਰਨਲ ਸਿਰਫ ਇੱਕ ਸਿੰਗਲ 32-ਬਿੱਟ ਰੀਡ ਜਾਂ ਰਾਈਟ ਬੇਨਤੀ ਜਾਰੀ ਕਰ ਸਕਦਾ ਹੈ, ਇਸ ਲਈ ਇੱਕ ਵਿਸ਼ਾਲ ਕੁਨੈਕਸ਼ਨ ਹੋਣਾ ਬੇਲੋੜਾ ਹੈ।
  5. ਹੋਸਟ ਇੱਕ ਹਲਕੇ H2F (LH2F) ਬ੍ਰਿਜ ਰਾਹੀਂ ਡਿਵਾਈਸ ਨੂੰ ਕੰਟਰੋਲ ਸਿਗਨਲ ਭੇਜਦਾ ਹੈ।
    ਕਿਉਂਕਿ ਹੋਸਟ ਤੋਂ ਡਿਵਾਈਸ ਤੱਕ ਕੰਟਰੋਲ ਸਿਗਨਲ ਘੱਟ-ਬੈਂਡਵਿਡਥ ਸਿਗਨਲ ਹਨ, ਇੱਕ LH2F ਬ੍ਰਿਜ ਕੰਮ ਲਈ ਆਦਰਸ਼ ਹੈ।

1.2 ਸੰਦਰਭ ਪਲੇਟਫਾਰਮ ਨੂੰ ਤੁਹਾਡੇ SoC FPGA ਬੋਰਡ ਵਿੱਚ ਪੋਰਟ ਕਰਨਾ
ਚੱਕਰਵਾਤ V SoC ਵਿਕਾਸ ਕਿੱਟ ਸੰਦਰਭ ਪਲੇਟਫਾਰਮ ਨੂੰ ਆਪਣੇ SoC FPGA ਬੋਰਡ ਵਿੱਚ ਪੋਰਟ ਕਰਨ ਲਈ, ਹੇਠਾਂ ਦਿੱਤੇ ਕਾਰਜ ਕਰੋ:

  1. ਆਪਣੇ ਡਿਜ਼ਾਈਨ ਦੇ ਸ਼ੁਰੂਆਤੀ ਬਿੰਦੂ ਦੇ ਤੌਰ 'ਤੇ c5soc ਰੈਫਰੈਂਸ ਪਲੇਟਫਾਰਮ ਦੇ ਇੱਕ DDR ਮੈਮੋਰੀ ਜਾਂ ਦੋ DDR ਯਾਦਾਂ ਦੇ ਸੰਸਕਰਣ ਨੂੰ ਚੁਣੋ।
  2. ALTERAOCLSDKROOT/board/c5soc/ ਵਿੱਚ ਪਿੰਨ ਸਥਾਨਾਂ ਨੂੰ ਅੱਪਡੇਟ ਕਰੋ /top.qsf file, ਜਿੱਥੇ ALTERAOCLSDKROOT OpenCL ਇੰਸਟਾਲੇਸ਼ਨ ਲਈ Intel FPGA SDK ਦੀ ਸਥਿਤੀ ਦਾ ਮਾਰਗ ਹੈ, ਅਤੇ ਬੋਰਡ ਵੇਰੀਐਂਟ ਦਾ ਡਾਇਰੈਕਟਰੀ ਨਾਮ ਹੈ। c5soc_sharedonly ਡਾਇਰੈਕਟਰੀ ਇੱਕ DDR ਮੈਮੋਰੀ ਸਿਸਟਮ ਵਾਲੇ ਬੋਰਡ ਵੇਰੀਐਂਟ ਲਈ ਹੈ। c5soc ਡਾਇਰੈਕਟਰੀ ਦੋ DDR ਮੈਮੋਰੀ ਸਿਸਟਮਾਂ ਵਾਲੇ ਬੋਰਡ ਵੇਰੀਐਂਟ ਲਈ ਹੈ।
  3.  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 ਨੂੰ ਹਟਾਓ।
    ਬੀ. 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 ਕਰਨਲ ਕੰਪਾਇਲ ਕਰੋ।
    d. ਜੇਕਰ ਲੋੜ ਹੋਵੇ, LogicLock ਖੇਤਰ ਦੇ ਆਕਾਰ ਅਤੇ ਸਥਾਨ ਨੂੰ ਵਿਵਸਥਿਤ ਕਰੋ।
    ਈ. ਜਦੋਂ ਤੁਸੀਂ ਸੰਤੁਸ਼ਟ ਹੋ ਜਾਂਦੇ ਹੋ ਕਿ ਤੁਹਾਡੇ ਡਿਜ਼ਾਈਨ ਦੀ ਪਲੇਸਮੈਂਟ ਦਾ ਸਮਾਂ ਸਾਫ਼ ਹੈ, ਤਾਂ ਉਸ ਭਾਗ ਨੂੰ acl_iface_partition.qxp Quartus Prime Exported Partition ਦੇ ਰੂਪ ਵਿੱਚ ਨਿਰਯਾਤ ਕਰੋ। File.
    ਜਿਵੇਂ ਕਿ OpenCL ਕਸਟਮ ਪਲੇਟਫਾਰਮ ਟੂਲਕਿੱਟ ਉਪਭੋਗਤਾ ਗਾਈਡ ਲਈ AIntel FPGA SDK ਦੇ ਸਥਾਪਤ ਕਰਨ ਦੀ ਗਾਰੰਟੀਸ਼ੁਦਾ ਸਮਾਂ ਪ੍ਰਵਾਹ ਸੈਕਸ਼ਨ ਵਿੱਚ ਦੱਸਿਆ ਗਿਆ ਹੈ, ਇਸ .qxp ਨੂੰ ਆਯਾਤ ਕਰਕੇ  file ਸਿਖਰ-ਪੱਧਰ ਦੇ ਡਿਜ਼ਾਈਨ ਵਿੱਚ, ਤੁਸੀਂ ਗਰੰਟੀਸ਼ੁਦਾ ਸਮੇਂ ਦੇ ਬੰਦ ਹੋਣ ਦੇ ਪ੍ਰਵਾਹ ਦੇ ਨਾਲ ਇੱਕ ਬੋਰਡ ਡਿਜ਼ਾਈਨ ਪ੍ਰਦਾਨ ਕਰਨ ਦੀ ਲੋੜ ਨੂੰ ਪੂਰਾ ਕਰਦੇ ਹੋ।
    ਉਹਨਾਂ ਕਾਰਕਾਂ ਲਈ ਜੋ ਤੁਹਾਡੇ ਨਿਰਯਾਤ ਕੀਤੇ ਭਾਗ ਦੇ ਨਤੀਜਿਆਂ ਦੀ ਗੁਣਵੱਤਾ (QoR) ਨੂੰ ਪ੍ਰਭਾਵਤ ਕਰ ਸਕਦੇ ਹਨ, OpenCL ਕਸਟਮ ਪਲੇਟਫਾਰਮ ਟੂਲਕਿੱਟ ਉਪਭੋਗਤਾ ਗਾਈਡ ਲਈ Intel FPGA SDK ਵਿੱਚ ਨਿਰਯਾਤ ਬੋਰਡ ਭਾਗ ਭਾਗ ਲਈ ਨਤੀਜਿਆਂ ਦੇ ਵਿਚਾਰਾਂ ਦੀ ਆਮ ਗੁਣਵੱਤਾ ਵੇਖੋ।
    f. ਸਟੈਪ 2 ਵਿੱਚ ਕਮਾਂਡ ਨੂੰ ਸੈੱਟ_ਗਲੋਬਲ_ਅਸਾਈਨਮੈਂਟ -ਨਾਮ LL_ENABLED OFF section_id acl_iface_region 'ਤੇ ਵਾਪਸ ਲੈ ਕੇ acl_iface_region LogicLock ਖੇਤਰ ਨੂੰ ਅਸਮਰੱਥ ਬਣਾਓ।
  4. ਜੇਕਰ ਤੁਹਾਡਾ SoC FPGA ਬੋਰਡ HPS ਬਲਾਕ ਦੇ ਵੱਖ-ਵੱਖ ਪਿੰਨਾਂ ਅਤੇ ਪੈਰੀਫੇਰੀਆਂ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ, ਤਾਂ ਪ੍ਰੀਲੋਡਰ ਅਤੇ ਡਿਵਾਈਸ ਟ੍ਰੀ ਸੋਰਸ (DTS) ਨੂੰ ਦੁਬਾਰਾ ਤਿਆਰ ਕਰੋ। file. ਜੇਕਰ ਤੁਸੀਂ HPS DDR ਮੈਮੋਰੀ ਕੰਟਰੋਲਰ ਸੈਟਿੰਗਾਂ ਬਦਲਦੇ ਹੋ, ਤਾਂ ਪ੍ਰੀਲੋਡਰ ਨੂੰ ਮੁੜ-ਜਨਰੇਟ ਕਰੋ।
  5. SD ਫਲੈਸ਼ ਕਾਰਡ ਚਿੱਤਰ ਬਣਾਓ।
  6. ਆਪਣਾ ਕਸਟਮ ਪਲੇਟਫਾਰਮ ਬਣਾਓ, ਜਿਸ ਵਿੱਚ SD ਫਲੈਸ਼ ਕਾਰਡ ਚਿੱਤਰ ਸ਼ਾਮਲ ਹੈ।
  7. OpenCL ਲਈ Intel FPGA Runtime Environment (RTE) ਦੇ ਨਾਲ ਵਰਤਣ ਲਈ ਆਪਣੇ ਕਸਟਮ ਪਲੇਟਫਾਰਮ ਦਾ ਇੱਕ ਰਨਟਾਈਮ ਵਾਤਾਵਰਣ ਸੰਸਕਰਣ ਬਣਾਉਣ 'ਤੇ ਵਿਚਾਰ ਕਰੋ। ਤੁਹਾਡੇ ਕਸਟਮ ਪਲੇਟਫਾਰਮ ਦੇ RTE ਸੰਸਕਰਣ ਵਿੱਚ ਹਾਰਡਵੇਅਰ ਡਾਇਰੈਕਟਰੀਆਂ ਅਤੇ SD ਫਲੈਸ਼ ਕਾਰਡ ਚਿੱਤਰ ਸ਼ਾਮਲ ਨਹੀਂ ਹਨ। ਹੋਸਟ ਐਪਲੀਕੇਸ਼ਨਾਂ ਨੂੰ ਚੱਲਣ ਦੇਣ ਲਈ ਇਹ ਕਸਟਮ ਪਲੇਟਫਾਰਮ SoC FPGA ਸਿਸਟਮ ਉੱਤੇ ਲੋਡ ਹੁੰਦਾ ਹੈ। ਇਸਦੇ ਉਲਟ, ਕਸਟਮ ਪਲੇਟਫਾਰਮ ਦਾ SDK ਸੰਸਕਰਣ SDK ਲਈ OpenCL ਕਰਨਲ ਕੰਪਾਇਲ ਕਰਨ ਲਈ ਜ਼ਰੂਰੀ ਹੈ।
    ਸੁਝਾਅ: ਤੁਸੀਂ RTE ਲਈ ਆਪਣੇ ਕਸਟਮ ਪਲੇਟਫਾਰਮ ਦੇ SDK ਸੰਸਕਰਣ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ। ਨੂੰ ਬਚਾਉਣ ਲਈ
    ਸਪੇਸ, ਆਪਣੇ ਕਸਟਮ ਪਲੇਟਫਾਰਮ ਦੇ RTE ਸੰਸਕਰਣ ਤੋਂ SD ਫਲੈਸ਼ ਕਾਰਡ ਚਿੱਤਰ ਨੂੰ ਹਟਾਓ।
  8. ਆਪਣੇ ਕਸਟਮ ਪਲੇਟਫਾਰਮ ਦੀ ਜਾਂਚ ਕਰੋ।
    ਵਧੇਰੇ ਜਾਣਕਾਰੀ ਲਈ OpenCL ਕਸਟਮ ਪਲੇਟਫਾਰਮ ਟੂਲਕਿਟ ਉਪਭੋਗਤਾ ਗਾਈਡ ਲਈ Intel FPGA SDK ਦੇ ਹਾਰਡਵੇਅਰ ਡਿਜ਼ਾਈਨ ਸੈਕਸ਼ਨ ਦੀ ਜਾਂਚ ਕਰੋ।

ਸੰਬੰਧਿਤ ਲਿੰਕਸ

  • ਹਾਰਡਵੇਅਰ ਡਿਜ਼ਾਈਨ ਦੀ ਜਾਂਚ
  • ਲੜੀਵਾਰ ਅਤੇ ਟੀਮ-ਅਧਾਰਿਤ ਡਿਜ਼ਾਈਨ ਲਈ ਕੁਆਰਟਸ ਪ੍ਰਾਈਮ ਇਨਕਰੀਮੈਂਟਲ ਕੰਪਾਈਲੇਸ਼ਨ
  • ਗਾਰੰਟੀਸ਼ੁਦਾ ਸਮਾਂ ਪ੍ਰਵਾਹ ਸਥਾਪਤ ਕਰਨਾ
  • ਨਿਰਯਾਤ ਬੋਰਡ ਭਾਗ ਲਈ ਨਤੀਜਿਆਂ ਦੇ ਵਿਚਾਰਾਂ ਦੀ ਆਮ ਗੁਣਵੱਤਾ

1.2.1 ਪੋਰਟਡ ਰੈਫਰੈਂਸ ਪਲੇਟਫਾਰਮ ਨੂੰ ਅੱਪਡੇਟ ਕਰਨਾ
ਚੱਕਰਵਾਤ V SoC ਡਿਵੈਲਪਮੈਂਟ ਕਿੱਟ ਰੈਫਰੈਂਸ ਪਲੇਟਫਾਰਮ ਦੇ ਮੌਜੂਦਾ ਸੰਸਕਰਣ ਵਿੱਚ, HPS ਬਲਾਕ ਭਾਗ ਦੇ ਅੰਦਰ ਹੈ ਜੋ ਸਾਰੇ ਗੈਰ-ਕਰਨਲ ਤਰਕ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦਾ ਹੈ। ਹਾਲਾਂਕਿ, ਤੁਸੀਂ .qxp ਦੇ ਹਿੱਸੇ ਵਜੋਂ HPS ਨੂੰ ਨਿਰਯਾਤ ਨਹੀਂ ਕਰ ਸਕਦੇ ਹੋ file. ਮੌਜੂਦਾ ਕਸਟਮ ਪਲੇਟਫਾਰਮ ਨੂੰ ਅੱਪਡੇਟ ਕਰਨ ਲਈ ਜਿਸਨੂੰ ਤੁਸੀਂ c5soc ਦੇ ਪਿਛਲੇ ਸੰਸਕਰਣ ਤੋਂ ਸੋਧਿਆ ਹੈ, QXP ਸੰਭਾਲ ਪ੍ਰਵਾਹ ਨੂੰ ਲਾਗੂ ਕਰੋ, ਨਵੀਨਤਮ ਰਨਟਾਈਮ ਵਾਤਾਵਰਣ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ SD ਫਲੈਸ਼ ਕਾਰਡ ਚਿੱਤਰ ਨੂੰ ਅੱਪਡੇਟ ਕਰੋ, ਅਤੇ board_spec.xml ਨੂੰ ਅੱਪਡੇਟ ਕਰੋ file ਆਟੋਮਾਈਗਰੇਸ਼ਨ ਨੂੰ ਯੋਗ ਕਰਨ ਲਈ.
ਓਪਨਸੀਐਲ ਸੰਸਕਰਣ 14.1 ਅਤੇ ਇਸ ਤੋਂ ਬਾਅਦ ਦੀ ਪੜਤਾਲ ਲਈ Altera® SDK board_spec.xml file ਬੋਰਡ ਜਾਣਕਾਰੀ ਲਈ, ਅਤੇ ਆਟੋਮੈਟਿਕ ਅੱਪਡੇਟ ਲਾਗੂ ਕਰਦਾ ਹੈ। ਕਿਉਂਕਿ ਤੁਸੀਂ ਸੋਧਦੇ ਹੋ
QXP ਸੰਭਾਲ ਪ੍ਰਵਾਹ ਨੂੰ ਲਾਗੂ ਕਰਕੇ ਡਿਜ਼ਾਈਨ, ਤੁਹਾਨੂੰ board_spec.xml ਨੂੰ ਅੱਪਡੇਟ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ file ਮੌਜੂਦਾ ਸੰਸਕਰਣ ਵਿੱਚ ਇਸਦੇ ਫਾਰਮੈਟ ਵਿੱਚ. ਨੂੰ ਅਪਡੇਟ ਕਰ ਰਿਹਾ ਹੈ file SDK ਨੂੰ ਅਣਰੱਖਿਅਤ ਕਸਟਮ ਪਲੇਟਫਾਰਮਾਂ ਅਤੇ ਮੌਜੂਦਾ QXP-ਅਧਾਰਿਤ ਕਸਟਮ ਪਲੇਟਫਾਰਮਾਂ ਵਿਚਕਾਰ ਫਰਕ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਵਧੇਰੇ ਜਾਣਕਾਰੀ ਲਈ OpenCL ਕਸਟਮ ਪਲੇਟਫਾਰਮ ਟੂਲਕਿਟ ਉਪਭੋਗਤਾ ਗਾਈਡ ਲਈ Intel FPGA SDK ਵਿੱਚ ਫਾਰਵਰਡ ਅਨੁਕੂਲਤਾ ਲਈ ਕਸਟਮ ਪਲੇਟਫਾਰਮ ਆਟੋਮਾਈਗਰੇਸ਼ਨ ਵੇਖੋ।

  1. ਇੱਕ ਚੱਕਰਵਾਤ V SoC FPGA ਹਾਰਡਵੇਅਰ ਡਿਜ਼ਾਈਨ ਵਿੱਚ QXP ਸੰਭਾਲ ਪ੍ਰਵਾਹ ਨੂੰ ਲਾਗੂ ਕਰਨ ਲਈ ਜੋ c5soc ਦੇ ਪਿਛਲੇ ਸੰਸਕਰਣ ਤੋਂ ਪੋਰਟ ਕੀਤਾ ਗਿਆ ਹੈ, HPS ਨੂੰ .qxp ਤੋਂ ਬਾਹਰ ਕਰਨ ਲਈ ਇੱਕ ਸਬ-ਪਾਰਟੀਸ਼ਨ ਬਣਾਉਣ ਲਈ ਹੇਠਾਂ ਦਿੱਤੇ ਕਦਮਾਂ ਨੂੰ ਪੂਰਾ ਕਰੋ। file:
    a ਗੈਰ-ਕਰਨਲ ਤਰਕ ਦੇ ਦੁਆਲੇ ਇੱਕ ਭਾਗ ਬਣਾਉਣ ਤੋਂ ਪਹਿਲਾਂ, .qsf ਕੁਆਰਟਸ ਪ੍ਰਾਈਮ ਸੈਟਿੰਗਾਂ ਵਿੱਚ HPS ਦੇ ਦੁਆਲੇ ਇੱਕ ਭਾਗ ਬਣਾਓ। File.
    ਸਾਬਕਾ ਲਈampLe:
    # ਦਸਤੀ ਤੌਰ 'ਤੇ ਉਸ ਉਦਾਹਰਣ ਦਾ ਭਾਗ ਕਰੋ ਜੋ HPS-ਸਮਰਪਿਤ I/O set_instance_assignment -name PARTITION_HIERARCHY borde_18261 -to “system:the_system|system_acl_iface:acl_iface|system_acl_iface_hps_l_0|system_hps_hps_hps_0| ps_io| 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 -name PARTITION_TYPE HPS_PARTITION -section_id “system_acl_iface_hps_0_hps_io_border:border”
    quartus_cdb top -c ਸਿਖਰ
    -incremental_compilation_export=acl_iface_partition.qxp
    - incremental_compilation_export_partition_name=acl_iface_partition
    -ਇੰਕਰੀਮੈਂਟਲ_ਕੰਪਾਈਲੇਸ਼ਨ_ਐਕਸਪੋਰਟ_ਪੋਸਟ_ਸਿੰਥ=ਆਨ
    -ਇੰਕਰੀਮੈਂਟਲ_ਕੰਪਾਈਲੇਸ਼ਨ_ਐਕਸਪੋਰਟ_ਪੋਸਟ_ਫਿਟ=ਆਨ
    -ਇੰਕਰੀਮੈਂਟਲ_ਕੰਪਾਈਲੇਸ਼ਨ_ਐਕਸਪੋਰਟ_ਰੂਟਿੰਗ = ਚਾਲੂ
    -ਇੰਕਰੀਮੈਂਟਲ_ਕੰਪਾਈਲੇਸ਼ਨ_ਐਕਸਪੋਰਟ_ਫਲੈਟਨ=ਬੰਦ
    ਭਾਗ ਵਿੱਚੋਂ HPS ਨੂੰ ਬਾਹਰ ਕਰਨ ਤੋਂ ਬਾਅਦ, ਤੁਸੀਂ .qxp ਨੂੰ ਆਯਾਤ ਕਰ ਸਕਦੇ ਹੋ file ਅਤੇ ਆਪਣੇ ਡਿਜ਼ਾਈਨ ਨੂੰ ਕੰਪਾਇਲ ਕਰੋ।
  2. ਓਪਨਸੀਐਲ ਲਈ ਇੰਟੇਲ ਐੱਫਪੀਜੀਏ ਆਰਟੀਈ ਦੇ ਮੌਜੂਦਾ ਸੰਸਕਰਣ ਦੇ ਨਾਲ SD ਫਲੈਸ਼ ਕਾਰਡ ਚਿੱਤਰ ਨੂੰ ਹੇਠਾਂ ਦਿੱਤੇ ਕਾਰਜਾਂ ਨੂੰ ਪੂਰਾ ਕਰਕੇ ਅਪਡੇਟ ਕਰੋ:
    a ਨੂੰ ਮਾਊਂਟ ਕਰੋ file ਵੰਡ ਸਾਰਣੀ (fat32) ਅਤੇ ਵਿਸਤ੍ਰਿਤ file ਸਿਸਟਮ (ext3) ਭਾਗ ਮੌਜੂਦਾ ਚਿੱਤਰ ਵਿੱਚ ਲੂਪ-ਬੈਕ ਜੰਤਰਾਂ ਵਜੋਂ। ਵਿਸਤ੍ਰਿਤ ਹਦਾਇਤਾਂ ਲਈ, ਇੱਕ SD ਫਲੈਸ਼ ਕਾਰਡ ਚਿੱਤਰ ਬਣਾਉਣ ਵਿੱਚ ਕਦਮ 2 ਵੇਖੋ।
    ਬੀ. /home/root/opencl_arm32_rte ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ, ਹਟਾਓ files RTE ਦੇ ਪਿਛਲੇ ਸੰਸਕਰਣ ਤੋਂ.
    c. /home/root/opencl_arm32_rte ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ RTE ਦੇ ਮੌਜੂਦਾ ਸੰਸਕਰਣ ਨੂੰ ਡਾਉਨਲੋਡ ਅਤੇ ਅਨਪੈਕ ਕਰੋ।
    d. ਵਿੱਚ /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 ਕਰਨਲ ਲਈ ਤਰਜੀਹੀ ਮੈਮੋਰੀ ਹੈ। ਕਿਉਂਕਿ FPGA ਸ਼ੇਅਰਡ ਵਰਚੁਅਲ ਮੈਮੋਰੀ ਨੂੰ ਐਕਸੈਸ ਕਰਦਾ ਹੈ, ਸ਼ੇਅਰਡ ਵਰਚੁਅਲ ਮੈਮੋਰੀ ਦੇ ਉਲਟ, ਇਸ ਕੋਲ CPU ਦੇ ਪੇਜ ਟੇਬਲ ਤੱਕ ਪਹੁੰਚ ਨਹੀਂ ਹੈ ਜੋ ਉਪਭੋਗਤਾ ਦੇ ਵਰਚੁਅਲ ਪਤਿਆਂ ਨੂੰ ਭੌਤਿਕ ਪੰਨੇ ਦੇ ਪਤਿਆਂ ਨਾਲ ਮੈਪ ਕਰਦੇ ਹਨ।
ਹਾਰਡਵੇਅਰ ਦੇ ਸਬੰਧ ਵਿੱਚ, ਓਪਨਸੀਐਲ ਕਰਨਲ HPS DDR ਹਾਰਡ ਮੈਮੋਰੀ ਕੰਟਰੋਲਰ ਨਾਲ ਸਿੱਧੇ ਕੁਨੈਕਸ਼ਨ ਰਾਹੀਂ ਭੌਤਿਕ ਮੈਮੋਰੀ ਨੂੰ ਸਾਂਝਾ ਕਰਦੇ ਹਨ। ਸੌਫਟਵੇਅਰ ਦੇ ਸਬੰਧ ਵਿੱਚ, ਸਾਂਝੀ ਕੀਤੀ ਭੌਤਿਕ ਮੈਮੋਰੀ ਲਈ ਸਮਰਥਨ ਵਿੱਚ ਹੇਠਾਂ ਦਿੱਤੇ ਵਿਚਾਰ ਸ਼ਾਮਲ ਹਨ:

  1. CPU 'ਤੇ ਮੈਮੋਰੀ ਨਿਰਧਾਰਤ ਕਰਨ ਲਈ ਖਾਸ ਸਾਫਟਵੇਅਰ ਲਾਗੂਕਰਨ (ਉਦਾਹਰਨ ਲਈample, malloc() ਫੰਕਸ਼ਨ) ਇੱਕ ਮੈਮੋਰੀ ਖੇਤਰ ਨਿਰਧਾਰਤ ਨਹੀਂ ਕਰ ਸਕਦਾ ਹੈ ਜੋ FPGA ਵਰਤ ਸਕਦਾ ਹੈ।
    ਮੈਮੋਰੀ ਜੋ malloc() ਫੰਕਸ਼ਨ ਦੁਆਰਾ ਨਿਰਧਾਰਤ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਵਰਚੁਅਲ ਮੈਮੋਰੀ ਐਡਰੈੱਸ ਸਪੇਸ ਵਿੱਚ ਇਕਸਾਰ ਹੁੰਦੀ ਹੈ, ਪਰ ਕੋਈ ਵੀ ਅੰਡਰਲਾਈੰਗ ਭੌਤਿਕ ਪੰਨੇ ਭੌਤਿਕ ਤੌਰ 'ਤੇ ਇਕਸਾਰ ਹੋਣ ਦੀ ਸੰਭਾਵਨਾ ਨਹੀਂ ਹੁੰਦੀ ਹੈ। ਇਸ ਤਰ੍ਹਾਂ, ਹੋਸਟ ਨੂੰ ਭੌਤਿਕ ਤੌਰ 'ਤੇ ਜੁੜੇ ਮੈਮੋਰੀ ਖੇਤਰਾਂ ਨੂੰ ਨਿਰਧਾਰਤ ਕਰਨ ਦੇ ਯੋਗ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ। ਹਾਲਾਂਕਿ, ਇਹ ਯੋਗਤਾ ਲੀਨਕਸ ਉੱਤੇ ਉਪਭੋਗਤਾ-ਸਪੇਸ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵਿੱਚ ਮੌਜੂਦ ਨਹੀਂ ਹੈ। ਇਸ ਲਈ, ਲੀਨਕਸ ਕਰਨਲ ਡਰਾਈਵਰ ਨੂੰ ਨਿਰਧਾਰਤ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ।
  2. OpenCL SoC FPGA ਲੀਨਕਸ ਕਰਨਲ ਡਰਾਈਵਰ ਵਿੱਚ mmap() ਫੰਕਸ਼ਨ ਸ਼ਾਮਲ ਹੁੰਦਾ ਹੈ ਜੋ ਸ਼ੇਅਰਡ ਭੌਤਿਕ ਮੈਮੋਰੀ ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ ਅਤੇ ਇਸਨੂੰ ਉਪਭੋਗਤਾ ਸਪੇਸ ਵਿੱਚ ਮੈਪ ਕਰਦਾ ਹੈ। mmap() ਫੰਕਸ਼ਨ ਸਟੈਂਡਰਡ ਲੀਨਕਸ ਕਰਨਲ ਕਾਲ dma_alloc_coherent() ਦੀ ਵਰਤੋਂ ਜੰਤਰ ਨਾਲ ਸਾਂਝਾ ਕਰਨ ਲਈ ਭੌਤਿਕ ਤੌਰ 'ਤੇ ਜੁੜੇ ਮੈਮੋਰੀ ਖੇਤਰਾਂ ਦੀ ਬੇਨਤੀ ਕਰਨ ਲਈ ਕਰਦਾ ਹੈ।
  3. ਡਿਫਾਲਟ ਲੀਨਕਸ ਕਰਨਲ ਵਿੱਚ, dma_alloc_coherent() 0.5 ਮੈਗਾਬਾਈਟ (MB) ਤੋਂ ਵੱਧ ਆਕਾਰ ਵਿੱਚ ਭੌਤਿਕ-ਸੰਬੰਧਿਤ ਮੈਮੋਰੀ ਨਿਰਧਾਰਤ ਨਹੀਂ ਕਰਦਾ ਹੈ। dma_alloc_coherent() ਨੂੰ ਵੱਡੀ ਮਾਤਰਾ ਵਿੱਚ ਭੌਤਿਕ-ਸੰਬੰਧਿਤ ਮੈਮੋਰੀ ਨਿਰਧਾਰਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇਣ ਲਈ, ਲੀਨਕਸ ਕਰਨਲ ਦੀ ਕੰਟਿਗੁਅਸ ਮੈਮੋਰੀ ਅਲੋਕੇਟਰ (CMA) ਵਿਸ਼ੇਸ਼ਤਾ ਨੂੰ ਯੋਗ ਕਰੋ ਅਤੇ ਫਿਰ ਲੀਨਕਸ ਕਰਨਲ ਨੂੰ ਮੁੜ ਕੰਪਾਇਲ ਕਰੋ।
    ਚੱਕਰਵਾਤ V SoC ਵਿਕਾਸ ਕਿੱਟ ਸੰਦਰਭ ਪਲੇਟਫਾਰਮ ਲਈ, CMA ਭੌਤਿਕ ਮੈਮੋਰੀ ਦੇ 512 GB ਵਿੱਚੋਂ 1 MB ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਦਾ ਹੈ। ਤੁਸੀਂ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਲੋੜੀਂਦੀ ਸਾਂਝੀ ਮੈਮੋਰੀ ਦੀ ਮਾਤਰਾ 'ਤੇ ਨਿਰਭਰ ਕਰਦੇ ਹੋਏ, ਇਸ ਮੁੱਲ ਨੂੰ ਵਧਾ ਜਾਂ ਘਟਾ ਸਕਦੇ ਹੋ। dma_alloc_coherent() ਕਾਲ ਸ਼ਾਇਦ ਪੂਰੀ 512 MB ਭੌਤਿਕ-ਸੰਬੰਧਿਤ ਮੈਮੋਰੀ ਨਿਰਧਾਰਤ ਕਰਨ ਦੇ ਯੋਗ ਨਾ ਹੋਵੇ; ਹਾਲਾਂਕਿ, ਇਹ ਨਿਯਮਤ ਤੌਰ 'ਤੇ ਲਗਭਗ 450 MB ਮੈਮੋਰੀ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦਾ ਹੈ।
  4. CPU ਮੈਮੋਰੀ ਨੂੰ ਕੈਸ਼ ਕਰ ਸਕਦਾ ਹੈ ਜੋ dma_alloc_coherent() ਕਾਲ ਨਿਰਧਾਰਤ ਕਰਦੀ ਹੈ। ਖਾਸ ਤੌਰ 'ਤੇ, ਹੋਸਟ ਐਪਲੀਕੇਸ਼ਨ ਤੋਂ ਰਾਈਟ ਓਪਰੇਸ਼ਨ ਓਪਨਸੀਐਲ ਕਰਨਲ ਨੂੰ ਦਿਖਾਈ ਨਹੀਂ ਦਿੰਦੇ ਹਨ। OpenCL SoC FPGA ਲੀਨਕਸ ਕਰਨਲ ਡਰਾਈਵਰ ਵਿੱਚ mmap() ਫੰਕਸ਼ਨ ਵਿੱਚ pgprot_noncached() ਜਾਂ remap_pf_range() ਫੰਕਸ਼ਨ ਨੂੰ ਮੈਮੋਰੀ ਦੇ ਇਸ ਖੇਤਰ ਲਈ ਸਪੱਸ਼ਟ ਤੌਰ 'ਤੇ ਕੈਚਿੰਗ ਨੂੰ ਅਯੋਗ ਕਰਨ ਲਈ ਕਾਲਾਂ ਸ਼ਾਮਲ ਹਨ।
  5. dma_alloc_coherent() ਫੰਕਸ਼ਨ ਦੁਆਰਾ ਭੌਤਿਕ-ਸੰਬੰਧਿਤ ਮੈਮੋਰੀ ਨਿਰਧਾਰਤ ਕਰਨ ਤੋਂ ਬਾਅਦ, mmap() ਫੰਕਸ਼ਨ ਵਰਚੁਅਲ ਐਡਰੈੱਸ ਨੂੰ ਰੇਂਜ ਦੇ ਸ਼ੁਰੂ ਵਿੱਚ ਵਾਪਸ ਕਰਦਾ ਹੈ, ਜੋ ਕਿ ਤੁਹਾਡੇ ਦੁਆਰਾ ਨਿਰਧਾਰਤ ਕੀਤੀ ਗਈ ਮੈਮੋਰੀ ਦਾ ਪਤਾ ਸਪੈਨ ਹੈ। ਹੋਸਟ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਮੈਮੋਰੀ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਲਈ ਇਸ ਵਰਚੁਅਲ ਪਤੇ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। ਦੂਜੇ ਪਾਸੇ, OpenCL ਕਰਨਲ ਨੂੰ ਭੌਤਿਕ ਐਡਰੈੱਸ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। ਲੀਨਕਸ ਕਰਨਲ ਡਰਾਈਵਰ ਵਰਚੁਅਲ-ਟੂ-ਫਿਜ਼ੀਕਲ ਐਡਰੈੱਸ ਮੈਪਿੰਗ ਦਾ ਧਿਆਨ ਰੱਖਦਾ ਹੈ। ਤੁਸੀਂ ਭੌਤਿਕ ਪਤਿਆਂ ਨੂੰ ਮੈਪ ਕਰ ਸਕਦੇ ਹੋ ਜੋ mmap() ਡਰਾਈਵਰ ਨੂੰ ਇੱਕ ਪੁੱਛਗਿੱਛ ਜੋੜ ਕੇ ਅਸਲ ਭੌਤਿਕ ਪਤਿਆਂ 'ਤੇ ਵਾਪਸ ਆਉਂਦੇ ਹਨ।
    aocl_mmd_shared_mem_alloc() MMD ਐਪਲੀਕੇਸ਼ਨ ਪ੍ਰੋਗ੍ਰਾਮਿੰਗ ਇੰਟਰਫੇਸ (API) ਕਾਲ ਹੇਠ ਲਿਖੀਆਂ ਪੁੱਛਗਿੱਛਾਂ ਨੂੰ ਸ਼ਾਮਲ ਕਰਦੀ ਹੈ:
    a mmap() ਫੰਕਸ਼ਨ ਜੋ ਮੈਮੋਰੀ ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ ਅਤੇ ਵਰਚੁਅਲ ਐਡਰੈੱਸ ਵਾਪਸ ਕਰਦਾ ਹੈ।
    ਬੀ. ਵਾਧੂ ਪੁੱਛਗਿੱਛ ਜੋ ਵਾਪਸ ਕੀਤੇ ਵਰਚੁਅਲ ਪਤੇ ਨੂੰ ਭੌਤਿਕ ਪਤੇ ਨਾਲ ਮੈਪ ਕਰਦੀ ਹੈ।
    aocl_mmd_shared_mem_alloc() MMD API ਕਾਲ ਫਿਰ ਦੋ ਪਤੇ ਵਾਪਸ ਕਰਦੀ ਹੈ
    -ਅਸਲ ਵਾਪਸ ਕੀਤਾ ਪਤਾ ਵਰਚੁਅਲ ਪਤਾ ਹੈ, ਅਤੇ ਭੌਤਿਕ ਪਤਾ device_ptr_out 'ਤੇ ਜਾਂਦਾ ਹੈ।
    ਨੋਟ: ਡਰਾਈਵਰ ਕੇਵਲ ਵਰਚੁਅਲ ਪਤਿਆਂ ਨੂੰ ਮੈਪ ਕਰ ਸਕਦਾ ਹੈ ਜੋ mmap() ਫੰਕਸ਼ਨ ਭੌਤਿਕ ਪਤਿਆਂ ਤੇ ਵਾਪਸ ਆਉਂਦਾ ਹੈ। ਜੇਕਰ ਤੁਸੀਂ ਕਿਸੇ ਹੋਰ ਵਰਚੁਅਲ ਪੁਆਇੰਟਰ ਦੇ ਭੌਤਿਕ ਪਤੇ ਲਈ ਬੇਨਤੀ ਕਰਦੇ ਹੋ, ਤਾਂ ਡਰਾਈਵਰ ਇੱਕ NULL ਮੁੱਲ ਵਾਪਸ ਕਰਦਾ ਹੈ।

ਚੇਤਾਵਨੀ: OpenCL ਰਨਟਾਈਮ ਲਾਇਬ੍ਰੇਰੀਆਂ ਲਈ Intel FPGA SDK ਇਹ ਮੰਨਦਾ ਹੈ ਕਿ ਸ਼ੇਅਰਡ ਮੈਮੋਰੀ board_spec.xml ਵਿੱਚ ਸੂਚੀਬੱਧ ਪਹਿਲੀ ਮੈਮੋਰੀ ਹੈ। file. ਦੂਜੇ ਸ਼ਬਦਾਂ ਵਿੱਚ, ਭੌਤਿਕ ਪਤਾ ਜੋ ਲੀਨਕਸ ਕਰਨਲ ਡਰਾਈਵਰ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ Avalon® ਪਤਾ ਬਣ ਜਾਂਦਾ ਹੈ ਜੋ OpenCL ਕਰਨਲ HPS SDRAM ਨੂੰ ਦਿੰਦਾ ਹੈ।
ਰਨਟਾਈਮ ਲਾਇਬ੍ਰੇਰੀ ਦੇ ਸਬੰਧ ਵਿੱਚ, clCreateBuffer() ਕਾਲ ਦੀ ਵਰਤੋਂ ਇੱਕ ਡਿਵਾਈਸ ਬਫਰ ਦੇ ਤੌਰ ਤੇ ਸ਼ੇਅਰਡ ਮੈਮੋਰੀ ਨੂੰ ਹੇਠਾਂ ਦਿੱਤੇ ਤਰੀਕੇ ਨਾਲ ਕਰਨ ਲਈ ਕਰੋ:

  • ਸ਼ੇਅਰਡ ਅਤੇ ਗੈਰ-ਸ਼ੇਅਰਡ ਮੈਮੋਰੀ ਵਾਲੇ ਦੋ-DDR ਬੋਰਡ ਵੇਰੀਐਂਟ ਲਈ, clCreateBuffer() ਸ਼ੇਅਰਡ ਮੈਮੋਰੀ ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ ਜੇਕਰ ਤੁਸੀਂ CL_MEM_USE_HOST_PTR ਫਲੈਗ ਨਿਰਧਾਰਤ ਕਰਦੇ ਹੋ। ਹੋਰ ਫਲੈਗਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨ ਨਾਲ clCreateBuffer() ਨੂੰ ਗੈਰ-ਸ਼ੇਅਰਡ ਮੈਮੋਰੀ ਵਿੱਚ ਬਫਰ ਨਿਰਧਾਰਤ ਕਰਨ ਦਾ ਕਾਰਨ ਬਣਦਾ ਹੈ।
  • ਸਿਰਫ਼ ਸਾਂਝੀ ਕੀਤੀ ਮੈਮੋਰੀ ਵਾਲੇ ਇੱਕ-DDR ਬੋਰਡ ਵੇਰੀਐਂਟ ਲਈ, 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 ਮੁੜ ਸੰਰਚਨਾ ਕਰਦਾ ਹੈ। ਲੀਨਕਸ ਕਰਨਲ ਵਿੱਚ ਇੱਕ ਡਰਾਈਵਰ ਸ਼ਾਮਲ ਹੁੰਦਾ ਹੈ ਜੋ FPGA ਮੈਨੇਜਰ ਤੱਕ ਆਸਾਨ ਪਹੁੰਚ ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਂਦਾ ਹੈ।

  • ਨੂੰ view FPGA ਕੋਰ ਦੀ ਸਥਿਤੀ, cat /sys/class/fpga/fpga0/ ਸਥਿਤੀ ਕਮਾਂਡ ਨੂੰ ਚਲਾਓ।
    Cyclone 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 ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ।
ਯਾਦ ਰੱਖੋ ਕਿ ਓਪਨਸੀਐਲ ਸਿਸਟਮ, ਅਤੇ ਗੋਲਡਨ ਹਾਰਡਵੇਅਰ ਸੰਦਰਭ ਡਿਜ਼ਾਈਨ, ਜੋ ਕਿ 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) .rbf ਚਿੱਤਰ ਦੇ ਸੰਭਾਵਿਤ ਰੂਪ ਨੂੰ ਕੰਟਰੋਲ ਕਰਦਾ ਹੈ (ਯਾਨੀ ਕਿ file ਸੰਕੁਚਿਤ ਅਤੇ/ਜਾਂ ਐਨਕ੍ਰਿਪਟਡ) ਹੈ। C5soc, ਅਤੇ SoC EDS ਦੇ ਨਾਲ ਉਪਲਬਧ ਗੋਲਡਨ ਹਾਰਡਵੇਅਰ ਰੈਫਰੈਂਸ ਡਿਜ਼ਾਈਨ, ਸੰਕੁਚਿਤ ਪਰ ਅਣ-ਏਨਕ੍ਰਿਪਟਡ .rbf ਚਿੱਤਰ ਸ਼ਾਮਲ ਹਨ। OpenCL ਚੱਕਰਵਾਤ V SoC ਸ਼ੁਰੂਆਤੀ ਗਾਈਡ ਲਈ Intel FPGA SDK ਵਿੱਚ ਵਰਣਨ ਕੀਤੀਆਂ 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 ਫਲੈਸ਼ ਕਾਰਡ ਚਿੱਤਰ ਨੂੰ ਸੋਧਣਾ
Intel ਸਿਫ਼ਾਰਿਸ਼ ਕਰਦਾ ਹੈ ਕਿ ਤੁਸੀਂ ਸਾਈਕਲੋਨ V SoC ਨਾਲ ਉਪਲਬਧ ਚਿੱਤਰ ਨੂੰ ਸਿਰਫ਼ ਸੋਧੋ
ਵਿਕਾਸ ਕਿੱਟ ਸੰਦਰਭ ਪਲੇਟਫਾਰਮ। ਤੁਹਾਡੇ ਕੋਲ ਇੱਕ ਨਵਾਂ SD ਫਲੈਸ਼ ਕਾਰਡ ਚਿੱਤਰ ਬਣਾਉਣ ਦਾ ਵਿਕਲਪ ਵੀ ਹੈ।
c5soc linux_sd_card_image.tgz ਚਿੱਤਰ file ALTERAOCLSDKROOT/board/c5soc ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ ਉਪਲਬਧ ਹੈ, ਜਿੱਥੇ ALTERAOCLSDKROOT OpenCL ਦੀ ਇੰਸਟਾਲੇਸ਼ਨ ਡਾਇਰੈਕਟਰੀ ਲਈ Intel FPGA SDK ਦੇ ਮਾਰਗ ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਦਾ ਹੈ।

ਧਿਆਨ: SD ਫਲੈਸ਼ ਕਾਰਡ ਚਿੱਤਰ ਨੂੰ ਸੋਧਣ ਲਈ, ਤੁਹਾਡੇ ਕੋਲ ਰੂਟ ਜਾਂ ਸੂਡੋ ਵਿਸ਼ੇਸ਼ ਅਧਿਕਾਰ ਹੋਣੇ ਚਾਹੀਦੇ ਹਨ।

  1. $ALTERAOCLSDKROOT/board/c5soc/linux_sd_card_image.tgz ਨੂੰ ਡੀਕੰਪ੍ਰੈਸ ਕਰਨ ਲਈ file, tar xvfzlinux_sd_card_image.tgz ਕਮਾਂਡ ਚਲਾਓ।
  2. ਹੈਲੋ_ਵਰਲਡ ਓਪਨਸੀਐਲ ਐਕਸ ਕੰਪਾਇਲ ਕਰੋampਤੁਹਾਡੇ ਕਸਟਮ ਪਲੇਟਫਾਰਮ ਸਮਰਥਨ ਦੀ ਵਰਤੋਂ ਕਰਕੇ le ਡਿਜ਼ਾਈਨ. .rbf ਦਾ ਨਾਮ ਬਦਲੋ file ਕਿ OpenCL ਔਫਲਾਈਨ ਕੰਪਾਈਲਰ ਲਈ Intel FPGA SDK opencl.rbf ਦੇ ਰੂਪ ਵਿੱਚ ਤਿਆਰ ਕਰਦਾ ਹੈ, ਅਤੇ ਇਸਨੂੰ SD ਫਲੈਸ਼ ਕਾਰਡ ਚਿੱਤਰ ਦੇ ਅੰਦਰ fat32 ਭਾਗ 'ਤੇ ਰੱਖੋ।
    ਤੁਸੀਂ hello_world ਸਾਬਕਾ ਨੂੰ ਡਾਊਨਲੋਡ ਕਰ ਸਕਦੇ ਹੋampਓਪਨਸੀਐਲ ਡਿਜ਼ਾਈਨ ਐਕਸ ਤੋਂ le ਡਿਜ਼ਾਈਨampAltera 'ਤੇ les ਪੰਨਾ webਸਾਈਟ.
  3. .rbf ਰੱਖੋ file ਫਲੈਸ਼ ਕਾਰਡ ਚਿੱਤਰ ਦੇ fat32 ਭਾਗ ਵਿੱਚ.
    ਧਿਆਨ: fat32 ਭਾਗ ਵਿੱਚ ਦੋਵੇਂ zImage ਹੋਣੇ ਚਾਹੀਦੇ ਹਨ file ਅਤੇ .rbf file. .rbf ਤੋਂ ਬਿਨਾਂ file, ਇੱਕ ਘਾਤਕ ਗਲਤੀ ਹੋ ਸਕਦੀ ਹੈ ਜਦੋਂ ਤੁਸੀਂ ਡਰਾਈਵਰ ਨੂੰ ਸੰਮਿਲਿਤ ਕਰਦੇ ਹੋ।
  4. ਤੁਹਾਡੇ ਦੁਆਰਾ SD ਕਾਰਡ ਚਿੱਤਰ ਬਣਾਉਣ ਤੋਂ ਬਾਅਦ, ਹੇਠ ਦਿੱਤੀ ਕਮਾਂਡ ਨੂੰ ਚਲਾ ਕੇ ਇਸਨੂੰ ਮਾਈਕ੍ਰੋ SD ਕਾਰਡ ਵਿੱਚ ਲਿਖੋ: sudo dd if=/path/to/sdcard/image.bin of=/dev/sdcard
  5. ਆਪਣੇ SD ਫਲੈਸ਼ ਕਾਰਡ ਚਿੱਤਰ ਦੀ ਜਾਂਚ ਕਰਨ ਲਈ, ਹੇਠਾਂ ਦਿੱਤੇ ਕਾਰਜ ਕਰੋ:
    a SoC FPGA ਬੋਰਡ ਵਿੱਚ ਮਾਈਕ੍ਰੋ SD ਫਲੈਸ਼ ਕਾਰਡ ਪਾਓ।
    ਬੀ. ਬੋਰਡ ਨੂੰ ਪਾਵਰ ਕਰੋ।
    c. aocl diagnose ਉਪਯੋਗਤਾ ਕਮਾਂਡ ਨੂੰ ਚਲਾਓ।

1.5.2 ਇੱਕ SD ਫਲੈਸ਼ ਕਾਰਡ ਚਿੱਤਰ ਬਣਾਉਣਾ
ਤੁਹਾਡੇ ਕੋਲ ਇੱਕ ਨਵਾਂ SD ਫਲੈਸ਼ ਕਾਰਡ ਚਿੱਤਰ ਬਣਾਉਣ ਦਾ ਵਿਕਲਪ ਵੀ ਹੈ। ਇੱਕ ਨਵੀਂ SD ਫਲੈਸ਼ ਕਾਰਡ ਚਿੱਤਰ ਬਣਾਉਣ ਅਤੇ ਇੱਕ ਮੌਜੂਦਾ SD ਫਲੈਸ਼ ਕਾਰਡ ਚਿੱਤਰ ਨੂੰ ਦੁਬਾਰਾ ਬਣਾਉਣ ਲਈ ਆਮ ਹਦਾਇਤਾਂ RocketBoards.org ਦੇ GSRD v14.0.2 – SD ਕਾਰਡ ਪੰਨੇ 'ਤੇ ਉਪਲਬਧ ਹਨ। webਸਾਈਟ.
ਹੇਠਾਂ ਦਿੱਤੇ ਕਦਮ ਗੋਲਡਨ ਸਿਸਟਮ ਰੈਫਰੈਂਸ ਡਿਜ਼ਾਈਨ (GSRD) SD ਫਲੈਸ਼ ਕਾਰਡ ਚਿੱਤਰ ਤੋਂ linux_sd_card_image.tgz ਚਿੱਤਰ ਬਣਾਉਣ ਦੀ ਪ੍ਰਕਿਰਿਆ ਦਾ ਵਰਣਨ ਕਰਦੇ ਹਨ:
ਨੋਟ:
c5soc ਚਿੱਤਰ ਤੋਂ ਚਿੱਤਰ ਬਣਾਉਣ ਲਈ, ਇਸ ਵਿਧੀ ਵਿੱਚ ਦੱਸੇ ਗਏ ਸਾਰੇ ਲਾਗੂ ਕਾਰਜ ਕਰੋ।

  1. Rocketboards.org ਤੋਂ GSRD SD ਫਲੈਸ਼ ਕਾਰਡ ਚਿੱਤਰ ਸੰਸਕਰਣ 14.0 ਨੂੰ ਡਾਊਨਲੋਡ ਅਤੇ ਅਨਪੈਕ ਕਰੋ।
  2. ਨੂੰ ਮਾਊਂਟ ਕਰੋ file ਵੰਡ ਸਾਰਣੀ (fat32) ਅਤੇ ਵਿਸਤ੍ਰਿਤ file ਸਿਸਟਮ (ext3) ਭਾਗ ਇਸ ਚਿੱਤਰ ਵਿੱਚ ਲੂਪ-ਬੈਕ ਜੰਤਰਾਂ ਦੇ ਰੂਪ ਵਿੱਚ ਹਨ। ਇੱਕ ਭਾਗ ਮਾਊਂਟ ਕਰਨ ਲਈ, ਹੇਠ ਦਿੱਤੇ ਪਗ਼ ਕਰੋ:
    a /sbin/fdisk -lu ਚਿੱਤਰ_ ਨੂੰ ਚਲਾ ਕੇ ਚਿੱਤਰ ਦੇ ਅੰਦਰ ਭਾਗ ਦੀ ਬਾਈਟ ਸ਼ੁਰੂਆਤ ਦਾ ਪਤਾ ਲਗਾਓ।file ਹੁਕਮ.
    ਸਾਬਕਾ ਲਈample, W1 FAT ਕਿਸਮ ਦੇ ਭਾਗ ਨੰਬਰ 95 ਵਿੱਚ 2121728 ਦਾ ਇੱਕ ਬਲਾਕ ਆਫਸੈੱਟ ਹੈ। ਪ੍ਰਤੀ ਬਲਾਕ 512 ਬਾਈਟਸ ਦੇ ਨਾਲ, ਬਾਈਟ ਆਫਸੈੱਟ 512 ਬਾਈਟਸ x 2121728 = 1086324736 ਬਾਈਟਸ ਹੈ।
    ਬੀ. ਇੱਕ ਮੁਫਤ ਲੂਪ ਡਿਵਾਈਸ ਦੀ ਪਛਾਣ ਕਰੋ (ਉਦਾਹਰਨ ਲਈample, /dev/loop0) ਲੋਸਟਅੱਪ -f ਕਮਾਂਡ ਟਾਈਪ ਕਰਕੇ।
    c. ਇਹ ਮੰਨਦੇ ਹੋਏ ਕਿ /dev/loop0 ਇੱਕ ਮੁਫਤ ਲੂਪ ਡਿਵਾਈਸ ਹੈ, ਲੂਸਟਅੱਪ /dev/loop0 ਚਿੱਤਰ_ ਨੂੰ ਚਲਾ ਕੇ ਲੂਪ ਬਲਾਕ ਡਿਵਾਈਸ ਨੂੰ ਆਪਣੀ ਫਲੈਸ਼ ਕਾਰਡ ਚਿੱਤਰ ਨਿਰਧਾਰਤ ਕਰੋ।file -0 1086324736 ਕਮਾਂਡ।
    d. mount /dev/loop0 /media/disk1 ਕਮਾਂਡ ਚਲਾ ਕੇ ਲੂਪ ਜੰਤਰ ਨੂੰ ਮਾਊਂਟ ਕਰੋ।
    ਚਿੱਤਰ ਦੇ ਅੰਦਰ file, /media/disk1 ਹੁਣ ਇੱਕ ਮਾਊਂਟ ਕੀਤਾ fat32 ਭਾਗ ਹੈ।
    ਈ. ext3 ਭਾਗ ਲਈ ਕਦਮ a ਤੋਂ d ਤੱਕ ਦੁਹਰਾਓ।
  3. Altera 'ਤੇ ਡਾਊਨਲੋਡ ਸੈਂਟਰ ਤੋਂ OpenCL ਪੈਕੇਜ ਲਈ Intel FPGA ਰਨਟਾਈਮ ਐਨਵਾਇਰਮੈਂਟ ਦਾ Cyclone V SoC FPGA ਸੰਸਕਰਣ ਡਾਊਨਲੋਡ ਕਰੋ। webਸਾਈਟ.
    a ਕੁਆਰਟਸ ਪ੍ਰਾਈਮ ਸਾਫਟਵੇਅਰ ਐਡੀਸ਼ਨ ਦੇ ਕੋਲ ਡਾਊਨਲੋਡ ਬਟਨ 'ਤੇ ਕਲਿੱਕ ਕਰੋ।
    ਬੀ. ਰੀਲੀਜ਼ ਸੰਸਕਰਣ, ਓਪਰੇਟਿੰਗ ਸਿਸਟਮ, ਅਤੇ ਡਾਊਨਲੋਡ ਵਿਧੀ ਨਿਸ਼ਚਿਤ ਕਰੋ।
    c. ਵਧੀਕ ਸਾਫਟਵੇਅਰ ਟੈਬ 'ਤੇ ਕਲਿੱਕ ਕਰੋ, ਅਤੇ Intel FPGA ਨੂੰ ਡਾਊਨਲੋਡ ਕਰਨ ਲਈ ਚੁਣੋ
    OpenCL Linux ਚੱਕਰਵਾਤ V SoC TGZ ਲਈ ਰਨਟਾਈਮ ਵਾਤਾਵਰਨ।
    d. ਤੁਹਾਡੇ ਦੁਆਰਾ ਡਾਉਨਲੋਡ ਕਰਨ ਤੋਂ ਬਾਅਦ aocl-rte- .arm32.tgz file, ਇਸ ਨੂੰ ਅਨਪੈਕ ਕਰੋ
    ਇੱਕ ਡਾਇਰੈਕਟਰੀ ਜੋ ਤੁਹਾਡੀ ਮਾਲਕੀ ਹੈ।
  4. ਅਨਪੈਕ ਕੀਤੇ aocl-rte- ਨੂੰ ਰੱਖੋ ਚਿੱਤਰ ਦੇ ext32 ਭਾਗ ਉੱਤੇ /home/root/opencl_arm32_rte ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ .arm3 ਡਾਇਰੈਕਟਰੀ file.
  5. ਆਪਣੇ ਕਸਟਮ ਪਲੇਟਫਾਰਮ ਦੇ ਹਾਰਡਵੇਅਰ ਫੋਲਡਰ ਨੂੰ ਮਿਟਾਓ, ਅਤੇ ਫਿਰ ਕਸਟਮ ਪਲੇਟਫਾਰਮ ਨੂੰ /home/root/ opencl_arm32_rte ਦੀ ਬੋਰਡ ਸਬ-ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ ਰੱਖੋ।
  6. 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 ਕਮਾਂਡ ਨੂੰ ਚਲਾਉਂਦਾ ਹੈ।
  7. ਜੇਕਰ ਤੁਹਾਨੂੰ ਪ੍ਰੀਲੋਡਰ ਨੂੰ ਅੱਪਡੇਟ ਕਰਨ ਦੀ ਲੋੜ ਹੈ, ਤਾਂ ਡੀ.ਟੀ.ਐਸ files, ਜਾਂ ਲੀਨਕਸ ਕਰਨਲ, ਤੁਹਾਨੂੰ SoC EDS ਤੋਂ arm-linux-gnueabihf-gcc ਕੰਪਾਈਲਰ ਦੀ ਲੋੜ ਹੈ। ਸੌਫਟਵੇਅਰ ਪ੍ਰਾਪਤ ਕਰਨ, ਉਹਨਾਂ ਨੂੰ ਦੁਬਾਰਾ ਕੰਪਾਇਲ ਕਰਨ ਅਤੇ ਸੰਬੰਧਿਤ ਨੂੰ ਅੱਪਡੇਟ ਕਰਨ ਲਈ Intel SoC FPGA ਏਮਬੈਡਡ ਡਿਜ਼ਾਈਨ ਸੂਟ ਯੂਜ਼ਰ ਗਾਈਡ ਵਿੱਚ ਦੱਸੇ ਗਏ ਨਿਰਦੇਸ਼ਾਂ ਦੀ ਪਾਲਣਾ ਕਰੋ। fileਮਾਊਂਟ ਕੀਤੇ fat32 ਭਾਗ ਉੱਤੇ s.
    ਧਿਆਨ: ਇਹ ਸਭ ਤੋਂ ਵੱਧ ਸੰਭਾਵਨਾ ਹੈ ਕਿ ਤੁਹਾਨੂੰ ਪ੍ਰੀਲੋਡਰ ਨੂੰ ਅੱਪਡੇਟ ਕਰਨ ਦੀ ਲੋੜ ਹੈ ਜੇਕਰ ਤੁਹਾਡੇ ਕਸਟਮ ਪਲੇਟਫਾਰਮ ਵਿੱਚ c5soc ਵਿੱਚ ਪਿੰਨ ਵਰਤੋਂ ਵੱਖਰੀਆਂ ਹਨ।
    ਯਾਦ ਰੱਖੋ: ਜੇਕਰ ਤੁਸੀਂ ਲੀਨਕਸ ਕਰਨਲ ਨੂੰ ਦੁਬਾਰਾ ਕੰਪਾਈਲ ਕਰਦੇ ਹੋ, ਤਾਂ ਉਸੇ ਲੀਨਕਸ ਕਰਨਲ ਸਰੋਤ ਨਾਲ ਲੀਨਕਸ ਕਰਨਲ ਡਰਾਈਵਰ ਨੂੰ ਦੁਬਾਰਾ ਕੰਪਾਇਲ ਕਰੋ। fileਐੱਸ. ਜੇਕਰ ਲੀਨਕਸ ਕਰਨਲ ਡਰਾਈਵਰ ਅਤੇ ਲੀਨਕਸ ਕਰਨਲ ਵਿਚਕਾਰ ਕੋਈ ਮੇਲ ਨਹੀਂ ਖਾਂਦਾ, ਤਾਂ ਡਰਾਈਵਰ ਲੋਡ ਨਹੀਂ ਹੋਵੇਗਾ। ਨਾਲ ਹੀ, ਤੁਹਾਨੂੰ CMA ਨੂੰ ਸਮਰੱਥ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ।
    ਵਧੇਰੇ ਜਾਣਕਾਰੀ ਲਈ ਲੀਨਕਸ ਕਰਨਲ ਨੂੰ ਮੁੜ ਕੰਪਾਇਲ ਕਰਨਾ ਵੇਖੋ।
  8. ਹੈਲੋ_ਵਰਲਡ ਓਪਨਸੀਐਲ ਐਕਸ ਕੰਪਾਇਲ ਕਰੋampਤੁਹਾਡੇ ਕਸਟਮ ਪਲੇਟਫਾਰਮ ਸਮਰਥਨ ਦੀ ਵਰਤੋਂ ਕਰਕੇ le ਡਿਜ਼ਾਈਨ. .rbf ਦਾ ਨਾਮ ਬਦਲੋ file ਕਿ OpenCL ਔਫਲਾਈਨ ਕੰਪਾਈਲਰ ਲਈ Intel FPGA SDK opencl.rbf ਦੇ ਰੂਪ ਵਿੱਚ ਤਿਆਰ ਕਰਦਾ ਹੈ, ਅਤੇ ਇਸਨੂੰ SD ਫਲੈਸ਼ ਕਾਰਡ ਚਿੱਤਰ ਦੇ ਅੰਦਰ fat32 ਭਾਗ 'ਤੇ ਰੱਖੋ।
    ਤੁਸੀਂ hello_world ਸਾਬਕਾ ਨੂੰ ਡਾਊਨਲੋਡ ਕਰ ਸਕਦੇ ਹੋampਓਪਨਸੀਐਲ ਡਿਜ਼ਾਈਨ ਐਕਸ ਤੋਂ le ਡਿਜ਼ਾਈਨampAltera 'ਤੇ les ਪੰਨਾ webਸਾਈਟ.
    9. ਤੁਹਾਨੂੰ ਸਭ ਜ਼ਰੂਰੀ ਸਟੋਰ ਕਰਨ ਦੇ ਬਾਅਦ files ਫਲੈਸ਼ ਕਾਰਡ ਚਿੱਤਰ ਉੱਤੇ, ਹੇਠ ਲਿਖੀਆਂ ਕਮਾਂਡਾਂ ਨੂੰ ਲਾਗੂ ਕਰੋ:
    a ਸਿੰਕ
    ਬੀ. ਅਨਮਾਊਂਟ /ਮੀਡੀਆ/ਡਿਸਕ1
    c. ਅਣਮਾਊਂਟ ਕਿੱਥੇ ਉਹ ਡਾਇਰੈਕਟਰੀ ਨਾਮ ਹੈ ਜੋ ਤੁਸੀਂ ਸਫ਼ਾ 3 'ਤੇ 3 ਵਿੱਚ ext3 ਭਾਗ ਮਾਊਂਟ ਕਰਨ ਲਈ ਵਰਤਦੇ ਹੋ (ਉਦਾਹਰਨ ਲਈample, /media/disk2)।
    d. Loestup -d /dev/loop0
    ਈ. Loestup -d /dev/loop1
  9. ਹੇਠ ਦਿੱਤੀ ਕਮਾਂਡ ਨੂੰ ਚਲਾ ਕੇ SD ਫਲੈਸ਼ ਕਾਰਡ ਚਿੱਤਰ ਨੂੰ ਸੰਕੁਚਿਤ ਕਰੋ: tar cvfz .tgz linux_sd_card_image
  10. ਡਿਲੀਵਰ ਕਰੋ .tgz file ਤੁਹਾਡੇ ਕਸਟਮ ਪਲੇਟਫਾਰਮ ਦੀ ਰੂਟ ਡਾਇਰੈਕਟਰੀ ਦੇ ਅੰਦਰ।
  11. ਆਪਣੇ SD ਫਲੈਸ਼ ਕਾਰਡ ਚਿੱਤਰ ਦੀ ਜਾਂਚ ਕਰਨ ਲਈ, ਹੇਠਾਂ ਦਿੱਤੇ ਕਾਰਜ ਕਰੋ:
    a ਨਤੀਜੇ ਵਜੋਂ ਅਣਕੰਪਰੈੱਸਡ ਚਿੱਤਰ ਨੂੰ ਮਾਈਕ੍ਰੋ SD ਫਲੈਸ਼ ਕਾਰਡ 'ਤੇ ਲਿਖੋ।
    ਬੀ. SoC FPGA ਬੋਰਡ ਵਿੱਚ ਮਾਈਕ੍ਰੋ SD ਫਲੈਸ਼ ਕਾਰਡ ਪਾਓ।
    c. ਬੋਰਡ ਨੂੰ ਪਾਵਰ ਕਰੋ।
    d. aocl diagnose ਉਪਯੋਗਤਾ ਕਮਾਂਡ ਨੂੰ ਚਲਾਓ।

ਸੰਬੰਧਿਤ ਲਿੰਕਸ

  • Intel SoC FPGA ਏਮਬੈਡਡ ਡਿਜ਼ਾਈਨ ਸੂਟ ਯੂਜ਼ਰ ਗਾਈਡ
  • OpenCL ਡਿਜ਼ਾਈਨ ਸਾਬਕਾampAltera 'ਤੇ les ਪੰਨਾ webਸਾਈਟ
  • ਪੰਨਾ 16 'ਤੇ ਲੀਨਕਸ ਕਰਨਲ ਨੂੰ ਮੁੜ ਕੰਪਾਇਲ ਕਰਨਾ
    CMA ਨੂੰ ਯੋਗ ਕਰਨ ਲਈ, ਤੁਹਾਨੂੰ ਪਹਿਲਾਂ ਲੀਨਕਸ ਕਰਨਲ ਨੂੰ ਦੁਬਾਰਾ ਕੰਪਾਇਲ ਕਰਨਾ ਪਵੇਗਾ।
  • ਤੁਹਾਡੇ FPGA ਬੋਰਡ ਦੇ ਡਿਵਾਈਸ ਦੇ ਨਾਮ ਦੀ ਪੁੱਛਗਿੱਛ ਕਰਨਾ (ਨਿਦਾਨ)

1.6 ਚੱਕਰਵਾਤ V SoC FPGA ਲਈ ਲੀਨਕਸ ਕਰਨਲ ਨੂੰ ਕੰਪਾਇਲ ਕਰਨਾ
Cyclone V SoC FPGA ਬੋਰਡ 'ਤੇ OpenCL ਐਪਲੀਕੇਸ਼ਨਾਂ ਨੂੰ ਚਲਾਉਣ ਤੋਂ ਪਹਿਲਾਂ, ਤੁਹਾਨੂੰ ਲੀਨਕਸ ਕਰਨਲ ਸਰੋਤ ਨੂੰ ਕੰਪਾਇਲ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ, ਅਤੇ OpenCL Linux ਕਰਨਲ ਡਰਾਈਵਰ ਨੂੰ ਕੰਪਾਇਲ ਅਤੇ ਇੰਸਟਾਲ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ।

  1. ਪੰਨਾ 16 'ਤੇ ਲੀਨਕਸ ਕਰਨਲ ਨੂੰ ਮੁੜ ਕੰਪਾਇਲ ਕਰਨਾ
    CMA ਨੂੰ ਯੋਗ ਕਰਨ ਲਈ, ਤੁਹਾਨੂੰ ਪਹਿਲਾਂ ਲੀਨਕਸ ਕਰਨਲ ਨੂੰ ਦੁਬਾਰਾ ਕੰਪਾਇਲ ਕਰਨਾ ਪਵੇਗਾ।
  2. ਪੰਨਾ 17 'ਤੇ OpenCL Linux ਕਰਨਲ ਡਰਾਈਵਰ ਨੂੰ ਕੰਪਾਈਲ ਕਰਨਾ ਅਤੇ ਇੰਸਟਾਲ ਕਰਨਾ ਕੰਪਾਇਲ ਕੀਤੇ ਕਰਨਲ ਸਰੋਤ ਦੇ ਵਿਰੁੱਧ OpenCL Linux ਕਰਨਲ ਡਰਾਈਵਰ ਨੂੰ ਕੰਪਾਈਲ ਕਰੋ।

1.6.1 ਲੀਨਕਸ ਕਰਨਲ ਨੂੰ ਮੁੜ ਕੰਪਾਇਲ ਕਰਨਾ
CMA ਨੂੰ ਯੋਗ ਕਰਨ ਲਈ, ਤੁਹਾਨੂੰ ਪਹਿਲਾਂ ਲੀਨਕਸ ਕਰਨਲ ਨੂੰ ਦੁਬਾਰਾ ਕੰਪਾਇਲ ਕਰਨਾ ਪਵੇਗਾ।

  1. GSRD v14.0 'ਤੇ ਕਲਿੱਕ ਕਰੋ - RocketBoards.org ਦੇ ਸਰੋਤ ਪੰਨੇ 'ਤੇ ਲੀਨਕਸ ਲਿੰਕ ਕੰਪਾਇਲ ਕਰਨਾ webਲੀਨਕਸ ਕਰਨਲ ਸੋਰਸ ਕੋਡ ਨੂੰ ਡਾਊਨਲੋਡ ਕਰਨ ਅਤੇ ਦੁਬਾਰਾ ਬਣਾਉਣ ਲਈ ਹਦਾਇਤਾਂ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਲਈ ਸਾਈਟ।
    OpenCL ਲਈ™ Intel FPGA SDK ਨਾਲ ਵਰਤਣ ਲਈ, socfpga-3.13-rel14.0 ਨੂੰ .
  2. ਨੋਟ: ਬਿਲਡਿੰਗ ਪ੍ਰਕਿਰਿਆ 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 ਕੌਂਫਿਗਰੇਸ਼ਨ ਮੁੱਲ ਉਪਲਬਧ ਭੌਤਿਕ ਤੌਰ 'ਤੇ ਇਕਸਾਰ ਮੈਮੋਰੀ ਦੀ ਕੁੱਲ ਸੰਖਿਆ 'ਤੇ ਉਪਰਲੀ ਸੀਮਾ ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ। ਜੇਕਰ ਤੁਹਾਨੂੰ ਹੋਰ ਮੈਮੋਰੀ ਦੀ ਲੋੜ ਹੈ ਤਾਂ ਤੁਸੀਂ ਇਸ ਮੁੱਲ ਨੂੰ ਵਧਾ ਸਕਦੇ ਹੋ।
  3. ਧਿਆਨ: SoC FPGA ਬੋਰਡ 'ਤੇ ARM ਪ੍ਰੋਸੈਸਰ ਲਈ ਉਪਲਬਧ ਭੌਤਿਕ ਮੈਮੋਰੀ ਦੀ ਕੁੱਲ ਮਾਤਰਾ 1 GB ਹੈ। Intel ਇਹ ਸਿਫਾਰਸ਼ ਨਹੀਂ ਕਰਦਾ ਹੈ ਕਿ ਤੁਸੀਂ CMA ਮੈਨੇਜਰ ਨੂੰ 1 GB ਦੇ ਨੇੜੇ ਸੈਟ ਕਰੋ।
  4. ਮੌਜੂਦਾ ਸੰਰਚਨਾ ਨੂੰ ਸਾਫ਼ ਕਰਨ ਲਈ make mrproper ਕਮਾਂਡ ਚਲਾਓ।
  5. make ARCH=arm socfpga_deconfig ਕਮਾਂਡ ਚਲਾਓ।
    ARCH=arm ਦਰਸਾਉਂਦਾ ਹੈ ਕਿ ਤੁਸੀਂ ARM ਆਰਕੀਟੈਕਚਰ ਨੂੰ ਸੰਰਚਿਤ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ।
    socfpga_defconfig ਦਰਸਾਉਂਦਾ ਹੈ ਕਿ ਤੁਸੀਂ ਡਿਫਾਲਟ socfpga ਸੰਰਚਨਾ ਨੂੰ ਵਰਤਣਾ ਚਾਹੁੰਦੇ ਹੋ।
  6. ਐਕਸਪੋਰਟ CROSS_COMPILE=arm-linux-gnueabihf- ਕਮਾਂਡ ਚਲਾਓ।
    ਇਹ ਕਮਾਂਡ CROSS_COMPILE ਵਾਤਾਵਰਨ ਵੇਰੀਏਬਲ ਨੂੰ ਲੋੜੀਦੀ ਟੂਲ ਚੇਨ ਦੇ ਅਗੇਤਰ ਨੂੰ ਨਿਰਧਾਰਤ ਕਰਨ ਲਈ ਸੈੱਟ ਕਰਦੀ ਹੈ।
  7. ਮੇਕ ARCH=arm zImage ਕਮਾਂਡ ਚਲਾਓ। ਨਤੀਜਾ ਚਿੱਤਰ arch/arm/boot/zImage ਵਿੱਚ ਉਪਲਬਧ ਹੈ file.
  8. zImage ਰੱਖੋ file ਫਲੈਸ਼ ਕਾਰਡ ਚਿੱਤਰ ਦੇ fat32 ਭਾਗ ਵਿੱਚ. ਵਿਸਤ੍ਰਿਤ ਹਿਦਾਇਤਾਂ ਲਈ, Rocketboards.org 'ਤੇ ਚੱਕਰਵਾਤ V SoC FPGA-ਵਿਸ਼ੇਸ਼ GSRD ਯੂਜ਼ਰ ਮੈਨੂਅਲ ਵੇਖੋ।
  9. ਨੋਟ: ਓਪਨਸੀਐਲ ਲੀਨਕਸ ਕਰਨਲ ਡਰਾਈਵਰ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਪਾਉਣ ਲਈ, ਪਹਿਲਾਂ ਇੱਕ SDKgenerated.rbf ਲੋਡ ਕਰੋ file FPGA ਉੱਤੇ।
    .rbf ਬਣਾਉਣ ਲਈ file, ਇੱਕ SDK ਡਿਜ਼ਾਈਨ ਸਾਬਕਾampਟਾਰਗੇਟਡ ਕਸਟਮ ਪਲੇਟਫਾਰਮ ਦੇ ਤੌਰ 'ਤੇ ਚੱਕਰਵਾਤ V SoC ਡਿਵੈਲਪਮੈਂਟ ਕਿੱਟ ਰੈਫਰੈਂਸ ਪਲੇਟਫਾਰਮ ਦੇ ਨਾਲ।
    9. .rbf ਰੱਖੋ file ਫਲੈਸ਼ ਕਾਰਡ ਚਿੱਤਰ ਦੇ fat32 ਭਾਗ ਵਿੱਚ.
    ਧਿਆਨ ਦਿਓ: fat32 ਭਾਗ ਵਿੱਚ zImage ਦੋਵੇਂ ਹੋਣੇ ਚਾਹੀਦੇ ਹਨ file ਅਤੇ .rbf file. .rbf ਤੋਂ ਬਿਨਾਂ file, ਇੱਕ ਘਾਤਕ ਗਲਤੀ ਹੋ ਸਕਦੀ ਹੈ ਜਦੋਂ ਤੁਸੀਂ ਡਰਾਈਵਰ ਨੂੰ ਸੰਮਿਲਿਤ ਕਰਦੇ ਹੋ।
  10. ਪ੍ਰੋਗਰਾਮ ਕੀਤੇ ਮਾਈਕ੍ਰੋ SD ਕਾਰਡ, ਜਿਸ ਵਿੱਚ ਤੁਹਾਡੇ ਦੁਆਰਾ ਸੋਧਿਆ ਜਾਂ ਪਹਿਲਾਂ ਬਣਾਇਆ ਗਿਆ SD ਕਾਰਡ ਚਿੱਤਰ ਸ਼ਾਮਲ ਹੈ, ਨੂੰ ਸਾਈਕਲੋਨ V SoC ਵਿਕਾਸ ਕਿੱਟ ਵਿੱਚ ਪਾਓ ਅਤੇ ਫਿਰ SoC FPGA ਬੋਰਡ ਨੂੰ ਪਾਵਰ ਅਪ ਕਰੋ।
  11. uname -r ਕਮਾਂਡ ਚਲਾ ਕੇ ਇੰਸਟਾਲ ਕੀਤੇ ਲੀਨਕਸ ਕਰਨਲ ਦੇ ਵਰਜਨ ਦੀ ਜਾਂਚ ਕਰੋ।
  12. ਇਹ ਪੁਸ਼ਟੀ ਕਰਨ ਲਈ ਕਿ ਤੁਸੀਂ ਕਰਨਲ ਵਿੱਚ CMA ਨੂੰ ਸਫਲਤਾਪੂਰਵਕ ਯੋਗ ਕੀਤਾ ਹੈ, SoC FPGA ਬੋਰਡ ਦੇ ਨਾਲ, grep init_cma /proc/kallsyms ਕਮਾਂਡ ਚਲਾਓ।
    ਜੇਕਰ ਆਉਟਪੁੱਟ ਗੈਰ-ਖਾਲੀ ਹੈ ਤਾਂ CMA ਸਮਰਥਿਤ ਹੈ।
  13. SDK ਨਾਲ ਦੁਬਾਰਾ ਕੰਪਾਇਲ ਕੀਤੇ ਲੀਨਕਸ ਕਰਨਲ ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ, ਲੀਨਕਸ ਕਰਨਲ ਡਰਾਈਵਰ ਨੂੰ ਕੰਪਾਇਲ ਅਤੇ ਇੰਸਟਾਲ ਕਰੋ।

ਸੰਬੰਧਿਤ ਲਿੰਕਸ

  • ਗੋਲਡਨ ਸਿਸਟਮ ਰੈਫਰੈਂਸ ਡਿਜ਼ਾਈਨ (GSRD) ਯੂਜ਼ਰ ਮੈਨੂਅਲ
  • ਪੰਨਾ 13 'ਤੇ SD ਫਲੈਸ਼ ਕਾਰਡ ਚਿੱਤਰ ਬਣਾਉਣਾ
    ਕਿਉਂਕਿ ਚੱਕਰਵਾਤ V SoC FPGA ਇੱਕ ਚਿੱਪ 'ਤੇ ਇੱਕ ਪੂਰਾ ਸਿਸਟਮ ਹੈ, ਤੁਸੀਂ ਸਿਸਟਮ ਦੀ ਪੂਰੀ ਪਰਿਭਾਸ਼ਾ ਪ੍ਰਦਾਨ ਕਰਨ ਲਈ ਜ਼ਿੰਮੇਵਾਰ ਹੋ।

1.6.2 ਓਪਨਸੀਐਲ ਲੀਨਕਸ ਕਰਨਲ ਡਰਾਈਵਰ ਨੂੰ ਕੰਪਾਇਲ ਕਰਨਾ ਅਤੇ ਇੰਸਟਾਲ ਕਰਨਾ
ਕੰਪਾਇਲ ਕੀਤੇ ਕਰਨਲ ਸਰੋਤ ਦੇ ਵਿਰੁੱਧ OpenCL Linux ਕਰਨਲ ਡਰਾਈਵਰ ਨੂੰ ਕੰਪਾਇਲ ਕਰੋ।

ਡਰਾਈਵਰ ਸਰੋਤ OpenCL ਲਈ Intel FPGA ਰਨਟਾਈਮ ਵਾਤਾਵਰਣ ਦੇ ਸਾਈਕਲੋਨ V SoC FPGA ਸੰਸਕਰਣ ਵਿੱਚ ਉਪਲਬਧ ਹੈ। ਇਸ ਤੋਂ ਇਲਾਵਾ, ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਤੁਸੀਂ OpenCL-ਤਿਆਰ .rbf ਲਈ ਇੱਕ Intel FPGA SDK ਲੋਡ ਕੀਤਾ ਹੈ। file ਲੀਨਕਸ ਕਰਨਲ ਮੋਡੀਊਲ ਦੀ ਗਲਤ ਇੰਸਟਾਲੇਸ਼ਨ ਨੂੰ ਰੋਕਣ ਲਈ FPGA ਵਿੱਚ।

  1. Altera 'ਤੇ ਡਾਊਨਲੋਡ ਸੈਂਟਰ ਤੋਂ OpenCL ਪੈਕੇਜ ਲਈ Intel FPGA ਰਨਟਾਈਮ ਐਨਵਾਇਰਮੈਂਟ ਦਾ Cyclone V SoC FPGA ਸੰਸਕਰਣ ਡਾਊਨਲੋਡ ਕਰੋ। webਸਾਈਟ.
    a ਕੁਆਰਟਸ ਪ੍ਰਾਈਮ ਸਾਫਟਵੇਅਰ ਐਡੀਸ਼ਨ ਦੇ ਕੋਲ ਡਾਊਨਲੋਡ ਬਟਨ 'ਤੇ ਕਲਿੱਕ ਕਰੋ।
    ਬੀ. ਰੀਲੀਜ਼ ਸੰਸਕਰਣ, ਓਪਰੇਟਿੰਗ ਸਿਸਟਮ, ਅਤੇ ਡਾਊਨਲੋਡ ਵਿਧੀ ਨਿਸ਼ਚਿਤ ਕਰੋ।
    c. ਵਧੀਕ ਸਾਫਟਵੇਅਰ ਟੈਬ 'ਤੇ ਕਲਿੱਕ ਕਰੋ, ਅਤੇ Intel FPGA ਨੂੰ ਡਾਊਨਲੋਡ ਕਰਨ ਲਈ ਚੁਣੋ
    OpenCL Linux ਚੱਕਰਵਾਤ V SoC TGZ ਲਈ ਰਨਟਾਈਮ ਵਾਤਾਵਰਨ।
    d. ਤੁਹਾਡੇ ਦੁਆਰਾ ਡਾਉਨਲੋਡ ਕਰਨ ਤੋਂ ਬਾਅਦ aocl-rte- .arm32.tgz file, ਇਸ ਨੂੰ ਅਨਪੈਕ ਕਰੋ
    ਇੱਕ ਡਾਇਰੈਕਟਰੀ ਜੋ ਤੁਹਾਡੀ ਮਾਲਕੀ ਹੈ।
    ਡਰਾਈਵਰ ਸਰੋਤ aocl-rte- ਵਿੱਚ ਹੈ .arm32/board/c5soc/ ਡਰਾਈਵਰ ਡਾਇਰੈਕਟਰੀ।
  2. ਓਪਨਸੀਐਲ ਲੀਨਕਸ ਕਰਨਲ ਡਰਾਈਵਰ ਨੂੰ ਮੁੜ ਕੰਪਾਇਲ ਕਰਨ ਲਈ, ਡਰਾਈਵਰ ਮੇਕ ਵਿੱਚ ਕੇਡੀਆਈਆਰ ਮੁੱਲ ਸੈੱਟ ਕਰੋfile ਲੀਨਕਸ ਕਰਨਲ ਸਰੋਤ ਵਾਲੀ ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ files.
  3. ਆਪਣੀ ਟੂਲ ਚੇਨ ਦੇ ਅਗੇਤਰ ਨੂੰ ਦਰਸਾਉਣ ਲਈ ਨਿਰਯਾਤ CROSS_COMPILE=arm-linux-gnueabihf- ਕਮਾਂਡ ਚਲਾਓ।
  4. ਮੇਕ ਕਲੀਨ ਕਮਾਂਡ ਚਲਾਓ।
  5. aclsoc_drv.ko ਬਣਾਉਣ ਲਈ ਮੇਕ ਕਮਾਂਡ ਚਲਾਓ file.
  6. Opencl_arm32_rte ਡਾਇਰੈਕਟਰੀ ਨੂੰ ਸਾਈਕਲੋਨ V SoC FPGA ਬੋਰਡ ਵਿੱਚ ਟ੍ਰਾਂਸਫਰ ਕਰੋ।
    scp -r ਚੱਲ ਰਿਹਾ ਹੈ root@your-ipaddress: ਕਮਾਂਡ ਰਨਟਾਈਮ ਵਾਤਾਵਰਨ ਨੂੰ/home/root ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ ਰੱਖਦੀ ਹੈ।
  7. init_opencl.sh ਸਕ੍ਰਿਪਟ ਚਲਾਓ ਜੋ ਤੁਸੀਂ SD ਕਾਰਡਿਮੇਜ ਬਣਾਉਣ ਵੇਲੇ ਬਣਾਈ ਸੀ।
  8.  aocl diagnose ਉਪਯੋਗਤਾ ਕਮਾਂਡ ਨੂੰ ਚਲਾਓ। ਤੁਹਾਡੇ ਦੁਆਰਾ init_opencl.sh ਨੂੰ ਸਫਲਤਾਪੂਰਵਕ ਚਲਾਉਣ ਤੋਂ ਬਾਅਦ ਡਾਇਗਨੋਸ ਉਪਯੋਗਤਾ ਇੱਕ ਪਾਸ ਨਤੀਜਾ ਵਾਪਸ ਕਰੇਗੀ।

1.7 ਜਾਣੇ-ਪਛਾਣੇ ਮੁੱਦੇ
ਵਰਤਮਾਨ ਵਿੱਚ, Cyclone V SoC ਵਿਕਾਸ ਕਿੱਟ ਸੰਦਰਭ ਪਲੇਟਫਾਰਮ ਦੇ ਨਾਲ OpenCL ਲਈ Intel FPGA SDK ਦੀ ਵਰਤੋਂ 'ਤੇ ਕੁਝ ਸੀਮਾਵਾਂ ਹਨ।

  1. ਤੁਸੀਂ clGetDeviceInfo() ਕਾਲ ਦੇ CL_DEVICE_VENDOR ਅਤੇ CL_DEVICE_NAME ਸਤਰ ਦੁਆਰਾ ਰਿਪੋਰਟ ਕੀਤੇ ਵਿਕਰੇਤਾ ਅਤੇ ਬੋਰਡ ਦੇ ਨਾਵਾਂ ਨੂੰ ਓਵਰਰਾਈਡ ਨਹੀਂ ਕਰ ਸਕਦੇ।
  2. ਜੇ ਹੋਸਟ ਸ਼ੇਅਰਡ ਡੀਡੀਆਰ ਸਿਸਟਮ (ਜੋ ਕਿ, HPS DDR) ਵਿੱਚ ਸਥਿਰ ਮੈਮੋਰੀ ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ ਅਤੇ ਇਹ ਕਰਨਲ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਤੋਂ ਬਾਅਦ ਸਥਿਰ ਮੈਮੋਰੀ ਨੂੰ ਸੋਧਦਾ ਹੈ, ਤਾਂ ਮੈਮੋਰੀ ਵਿੱਚ ਡੇਟਾ ਪੁਰਾਣਾ ਹੋ ਸਕਦਾ ਹੈ। ਇਹ ਮੁੱਦਾ ਇਸ ਲਈ ਪੈਦਾ ਹੁੰਦਾ ਹੈ ਕਿਉਂਕਿ FPGA ਕੋਰ CPU-ਤੋਂ-HPS DDR ਟ੍ਰਾਂਜੈਕਸ਼ਨਾਂ 'ਤੇ ਸਨੂਪ ਨਹੀਂ ਕਰ ਸਕਦਾ ਹੈ।
    ਬਾਅਦ ਦੇ ਕਰਨਲ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਨੂੰ ਪੁਰਾਣੇ ਡੇਟਾ ਤੱਕ ਪਹੁੰਚਣ ਤੋਂ ਰੋਕਣ ਲਈ, ਹੇਠਾਂ ਦਿੱਤੇ ਹੱਲਾਂ ਵਿੱਚੋਂ ਇੱਕ ਨੂੰ ਲਾਗੂ ਕਰੋ:
    • ਸ਼ੁਰੂਆਤੀ ਹੋਣ ਤੋਂ ਬਾਅਦ ਲਗਾਤਾਰ ਮੈਮੋਰੀ ਨੂੰ ਨਾ ਬਦਲੋ।
    • ਜੇਕਰ ਤੁਹਾਨੂੰ ਕਈ __ਸਥਿਰ ਡਾਟਾ ਸੈੱਟਾਂ ਦੀ ਲੋੜ ਹੈ, ਤਾਂ ਮਲਟੀਪਲ ਸਥਿਰ ਮੈਮੋਰੀ ਬਫਰ ਬਣਾਓ।
    • ਜੇਕਰ ਉਪਲਬਧ ਹੋਵੇ, ਤਾਂ ਆਪਣੇ ਐਕਸਲੇਟਰ ਬੋਰਡ 'ਤੇ FPGA DDR ਵਿੱਚ ਸਥਿਰ ਮੈਮੋਰੀ ਨਿਰਧਾਰਤ ਕਰੋ।
  3. ARM 'ਤੇ SDK ਉਪਯੋਗਤਾ ਸਿਰਫ ਪ੍ਰੋਗਰਾਮ ਦਾ ਸਮਰਥਨ ਕਰਦੀ ਹੈ ਅਤੇ ਉਪਯੋਗਤਾ ਕਮਾਂਡਾਂ ਦਾ ਨਿਦਾਨ ਕਰਦੀ ਹੈ।
    ਫਲੈਸ਼, ਇੰਸਟੌਲ ਅਤੇ ਅਣਇੰਸਟੌਲ ਉਪਯੋਗਤਾ ਕਮਾਂਡਾਂ ਹੇਠ ਲਿਖੇ ਕਾਰਨਾਂ ਕਰਕੇ ਸਾਈਕਲੋਨ V SoC ਡਿਵੈਲਪਮੈਂਟ ਕਿੱਟ 'ਤੇ ਲਾਗੂ ਨਹੀਂ ਹੁੰਦੀਆਂ ਹਨ:
    a ਇੰਸਟਾਲ ਸਹੂਲਤ ਨੂੰ aclsoc_drv ਲੀਨਕਸ ਕਰਨਲ ਡਰਾਈਵਰ ਨੂੰ ਕੰਪਾਇਲ ਕਰਨਾ ਪੈਂਦਾ ਹੈ ਅਤੇ ਇਸਨੂੰ SoC FPGA 'ਤੇ ਯੋਗ ਕਰਨਾ ਪੈਂਦਾ ਹੈ। ਵਿਕਾਸ ਮਸ਼ੀਨ ਨੂੰ ਸੰਕਲਨ ਕਰਨਾ ਹੁੰਦਾ ਹੈ; ਹਾਲਾਂਕਿ, ਇਸ ਵਿੱਚ ਪਹਿਲਾਂ ਹੀ SoC FPGA ਲਈ ਲੀਨਕਸ ਕਰਨਲ ਸਰੋਤ ਹਨ। ਵਿਕਾਸ ਮਸ਼ੀਨ ਲਈ ਲੀਨਕਸ ਕਰਨਲ ਸਰੋਤ SoC FPGA ਲਈ ਉਹਨਾਂ ਨਾਲੋਂ ਵੱਖਰੇ ਹਨ। SoC FPGA ਲਈ ਲੀਨਕਸ ਕਰਨਲ ਸਰੋਤਾਂ ਦੀ ਸਥਿਤੀ SDK ਉਪਭੋਗਤਾ ਲਈ ਅਣਜਾਣ ਹੈ। ਇਸੇ ਤਰ੍ਹਾਂ, ਅਨਇੰਸਟਾਲ ਸਹੂਲਤ ਵੀ ਸਾਈਕਲੋਨ V SoC ਵਿਕਾਸ ਕਿੱਟ ਲਈ ਉਪਲਬਧ ਨਹੀਂ ਹੈ।
    ਨਾਲ ਹੀ, Aclsoc_drv ਨੂੰ SoC ਬੋਰਡ ਨੂੰ ਪ੍ਰਦਾਨ ਕਰਨਾ ਚੁਣੌਤੀਪੂਰਨ ਹੈ ਕਿਉਂਕਿ ਸਾਈਕਲੋਨ V SoC ਡਿਵੈਲਪਮੈਂਟ ਕਿੱਟ ਦੀ ਡਿਫੌਲਟ ਵੰਡ ਵਿੱਚ ਲੀਨਕਸ ਕਰਨਲ ਸ਼ਾਮਲ ਨਹੀਂ ਹਨ files ਜਾਂ GNU ਕੰਪਾਈਲਰ ਕਲੈਕਸ਼ਨ (GCC) ਕੰਪਾਈਲਰ।
    ਬੀ. ਫਲੈਸ਼ ਸਹੂਲਤ ਲਈ ਇੱਕ .rbf ਲਗਾਉਣ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ file ਮਾਈਕ੍ਰੋ SD ਫਲੈਸ਼ ਕਾਰਡ ਦੇ FAT32 ਭਾਗ ਉੱਤੇ ਇੱਕ OpenCL ਡਿਜ਼ਾਈਨ ਦਾ। ਵਰਤਮਾਨ ਵਿੱਚ, ਇਹ ਭਾਗ ਮਾਊਂਟ ਨਹੀਂ ਹੁੰਦਾ ਹੈ ਜਦੋਂ SDK ਉਪਭੋਗਤਾ ਬੋਰਡ ਨੂੰ ਪਾਵਰ ਕਰਦਾ ਹੈ। ਇਸ ਲਈ, ਭਾਗ ਨੂੰ ਅੱਪਡੇਟ ਕਰਨ ਦਾ ਸਭ ਤੋਂ ਵਧੀਆ ਤਰੀਕਾ ਫਲੈਸ਼ ਕਾਰਡ ਰੀਡਰ ਅਤੇ ਡਿਵੈਲਪਮੈਂਟ ਮਸ਼ੀਨ ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਹੈ।
  4. OpenCL ਔਫਲਾਈਨ ਕੰਪਾਈਲਰ ਐਗਜ਼ੀਕਿਊਟੇਬਲ ਲਈ Intel FPGA SDK ਵਿਚਕਾਰ ਸਵਿਚ ਕਰਨ ਵੇਲੇ files (.aocx) ਜੋ ਵੱਖ-ਵੱਖ ਬੋਰਡ ਰੂਪਾਂ ਨਾਲ ਮੇਲ ਖਾਂਦਾ ਹੈ (ਜਿਵੇਂ ਕਿ, c5soc ਅਤੇ c5soc_sharedonly), ਤੁਹਾਨੂੰ .aocx ਨੂੰ ਲੋਡ ਕਰਨ ਲਈ SDK ਦੀ ਪ੍ਰੋਗਰਾਮ ਉਪਯੋਗਤਾ ਦੀ ਵਰਤੋਂ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ। file ਪਹਿਲੀ ਵਾਰ ਨਵੇਂ ਬੋਰਡ ਵੇਰੀਐਂਟ ਲਈ। ਜੇਕਰ ਤੁਸੀਂ ਸਿਰਫ਼ ਇੱਕ ਨਵੇਂ ਬੋਰਡ ਵੇਰੀਐਂਟ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਹੋਸਟ ਐਪਲੀਕੇਸ਼ਨ ਚਲਾਉਂਦੇ ਹੋ ਪਰ FPGA ਵਿੱਚ ਕਿਸੇ ਹੋਰ ਬੋਰਡ ਵੇਰੀਐਂਟ ਤੋਂ ਚਿੱਤਰ ਸ਼ਾਮਲ ਹੈ, ਤਾਂ ਇੱਕ ਘਾਤਕ ਗਲਤੀ ਹੋ ਸਕਦੀ ਹੈ।
  5. .qxp file ਇੰਟਰਫੇਸ ਭਾਗ ਅਸਾਈਨਮੈਂਟ ਸ਼ਾਮਲ ਨਹੀਂ ਕਰਦਾ ਹੈ ਕਿਉਂਕਿ ਕੁਆਰਟਸ ਪ੍ਰਾਈਮ ਸੌਫਟਵੇਅਰ ਲਗਾਤਾਰ ਇਸ ਭਾਗ ਦੀਆਂ ਸਮਾਂ ਲੋੜਾਂ ਨੂੰ ਪੂਰਾ ਕਰਦਾ ਹੈ।
  6. ਜਦੋਂ ਤੁਸੀਂ ਬੋਰਡ ਨੂੰ ਪਾਵਰ ਅਪ ਕਰਦੇ ਹੋ, ਤਾਂ ਇਸਦਾ ਮੀਡੀਆ ਐਕਸੈਸ ਕੰਟਰੋਲ (MAC) ਪਤਾ ਇੱਕ ਬੇਤਰਤੀਬ ਨੰਬਰ 'ਤੇ ਸੈੱਟ ਹੁੰਦਾ ਹੈ। ਜੇਕਰ ਤੁਹਾਡੀ LAN ਨੀਤੀ ਇਸ ਵਿਵਹਾਰ ਦੀ ਇਜਾਜ਼ਤ ਨਹੀਂ ਦਿੰਦੀ ਹੈ, ਤਾਂ ਹੇਠਾਂ ਦਿੱਤੇ ਕੰਮ ਕਰਕੇ MAC ਐਡਰੈੱਸ ਸੈਟ ਕਰੋ:
    a ਯੂ-ਬੂਟ ਪਾਵਰ-ਅੱਪ ਦੇ ਦੌਰਾਨ, ਯੂ-ਬੂਟ ਕਮਾਂਡ ਪ੍ਰੋਂਪਟ ਵਿੱਚ ਦਾਖਲ ਹੋਣ ਲਈ ਕੋਈ ਵੀ ਕੁੰਜੀ ਦਬਾਓ।
    ਬੀ. ਕਮਾਂਡ ਪ੍ਰੋਂਪਟ 'ਤੇ setenv ethaddr 00:07:ed:00:00:03 ਟਾਈਪ ਕਰੋ।
    ਤੁਸੀਂ ਕੋਈ ਵੀ MAC ਪਤਾ ਚੁਣ ਸਕਦੇ ਹੋ।
    c. saveenv ਕਮਾਂਡ ਟਾਈਪ ਕਰੋ।
    d. ਬੋਰਡ ਨੂੰ ਰੀਬੂਟ ਕਰੋ.

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 ਫਲੈਸ਼ ਕਾਰਡ ਚਿੱਤਰ ਨੂੰ ਬਣਾਉਣ ਅਤੇ ਸੋਧਣ ਲਈ ਸੋਧੀਆਂ ਹਦਾਇਤਾਂ।
ਲੀਨਕਸ ਕਰਨਲ ਅਤੇ ਓਪਨਸੀਐਲ ਲੀਨਕਸ ਕਰਨਲ ਡਰਾਈਵਰ ਨੂੰ ਮੁੜ ਕੰਪਾਇਲ ਕਰਨ ਲਈ ਸੋਧੀਆਂ ਹਦਾਇਤਾਂ।
ਨਵੰਬਰ -15 2015.11.02 • ਮੇਨਟੇਨੈਂਸ ਰੀਲੀਜ਼, ਅਤੇ ਕੁਆਰਟਸ II ਦੀਆਂ ਸਥਿਤੀਆਂ ਨੂੰ ਕੁਆਰਟਸ ਪ੍ਰਾਈਮ ਵਿੱਚ ਬਦਲਿਆ ਗਿਆ।
ਮਈ-15 15.0.0 • FPGA ਮੁੜ ਸੰਰਚਨਾ ਵਿੱਚ, FPGA ਕੋਰ ਨੂੰ ਮੁੜ-ਪ੍ਰੋਗਰਾਮ ਕਰਨ ਲਈ ਹਦਾਇਤਾਂ ਨੂੰ ਹਟਾ ਦਿੱਤਾ ਗਿਆ ਹੈ
ਨਾਲ ਇੱਕ . ਬਿੱਲੀ ਨੂੰ ਬੁਲਾ ਕੇ rbf ਚਿੱਤਰ fileਨਾਮ>. rbf
> /dev/ fpga0 ਕਮਾਂਡ ਕਿਉਂਕਿ ਇਸ ਵਿਧੀ ਦੀ ਸਿਫ਼ਾਰਸ਼ ਨਹੀਂ ਕੀਤੀ ਗਈ ਹੈ।
ਦਸੰਬਰ -14 14.1.0 • ਦਸਤਾਵੇਜ਼ ਦਾ ਨਾਮ ਬਦਲ ਕੇ ਅਲਟੇਰਾ ਸਾਈਕਲੋਨ V SoC ਵਿਕਾਸ ਕਿੱਟ ਰੈਫਰੈਂਸ ਪਲੇਟਫਾਰਮ ਪੋਰਟਿੰਗ ਗਾਈਡ ਰੱਖਿਆ ਗਿਆ ਹੈ।
• reprogram ਸਹੂਲਤ ਨੂੰ aocl ਪ੍ਰੋਗਰਾਮ ਲਈ ਅੱਪਡੇਟ ਕੀਤਾfilename>.aocx ਉਪਯੋਗਤਾ ਕਮਾਂਡ।
• ਏਓਸੀਐਲ ਨਿਦਾਨ ਅਤੇ ਏਓਸੀਐਲ ਨਿਦਾਨ ਲਈ ਡਾਇਗਨੌਸਟਿਕ ਉਪਯੋਗਤਾ ਨੂੰ ਅਪਡੇਟ ਕੀਤਾ ਗਿਆ ਉਪਯੋਗਤਾ ਕਮਾਂਡ।
• ਗਾਰੰਟੀਸ਼ੁਦਾ ਸਮੇਂ ਦੇ ਬੰਦ ਹੋਣ ਦੇ ਪ੍ਰਵਾਹ ਲਈ ਟਾਈਮਿੰਗ-ਕਲੀਨ ਭਾਗ ਬਣਾਉਣ ਲਈ c5soc ਬੋਰਡ ਭਾਗ ਨੂੰ ਪੋਰਟ ਕਰਨ ਅਤੇ ਸੋਧਣ ਬਾਰੇ ਨਿਰਦੇਸ਼ਾਂ ਨੂੰ ਸ਼ਾਮਲ ਕਰਨ ਲਈ ਤੁਹਾਡੇ SoC ਬੋਰਡ ਭਾਗ ਵਿੱਚ ਸੰਦਰਭ ਪਲੇਟਫਾਰਮ ਨੂੰ ਪੋਰਟ ਕਰਨ ਦੀ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਅੱਪਡੇਟ ਕੀਤਾ ਗਿਆ ਹੈ।
• ਹੇਠਾਂ ਦਿੱਤੇ ਕੰਮਾਂ ਲਈ ਪ੍ਰਕਿਰਿਆਵਾਂ ਦੀ ਰੂਪਰੇਖਾ ਦੇਣ ਲਈ ਪੋਰਟਡ ਰੈਫਰੈਂਸ ਪਲੇਟਫਾਰਮ ਨੂੰ ਅਪਡੇਟ ਕਰਨਾ ਵਿਸ਼ਾ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ:
1. ਬੋਰਡ ਭਾਗ ਵਿੱਚ ਹਾਰਡ ਪ੍ਰੋਸੈਸਰ ਸਿਸਟਮ (HPS) ਬਲਾਕ ਨੂੰ ਛੱਡਣਾ
2. SD ਫਲੈਸ਼ ਕਾਰਡ ਚਿੱਤਰ ਨੂੰ ਅੱਪਡੇਟ ਕਰਨਾ
• ਇੱਕ SD ਫਲੈਸ਼ ਕਾਰਡ ਚਿੱਤਰ ਸੈਕਸ਼ਨ ਬਣਾਉਣ ਨੂੰ ਅੱਪਡੇਟ ਕੀਤਾ ਗਿਆ। SoC ਏਮਬੇਡਡ ਡਿਜ਼ਾਈਨ ਸੂਟ (EDS) ਨਾਲ ਉਪਲਬਧ ਚਿੱਤਰ ਦੀ ਬਜਾਏ ਸ਼ੁਰੂਆਤੀ ਬਿੰਦੂ ਵਜੋਂ ਗੋਲਡਨ ਸਿਸਟਮ ਰੈਫਰੈਂਸ ਡਿਜ਼ਾਈਨ (GSRD) ਚਿੱਤਰ ਦੇ ਸੰਸਕਰਣ 14.0 ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਸਿਫ਼ਾਰਸ਼ ਕੀਤੀ ਗਈ ਹੈ।
• ਲੀਨਕਸ ਕਰਨਲ ਅਤੇ ਓਪਨਸੀਐਲ ਲੀਨਕਸ ਕਰਨਲ ਡਰਾਈਵਰ ਸੈਕਸ਼ਨ ਨੂੰ ਮੁੜ ਕੰਪਾਇਲ ਕਰਨ ਨੂੰ ਅੱਪਡੇਟ ਕੀਤਾ:
1. CROSS COMPILE ਵੇਰੀਏਬਲ ਸੈੱਟ ਕਰਨ ਲਈ ਹਦਾਇਤਾਂ ਸ਼ਾਮਲ ਕੀਤੀਆਂ ਗਈਆਂ।
2. CMA ਸਫਲਤਾਪੂਰਵਕ ਸਮਰੱਥ ਹੋਣ ਦੀ ਪੁਸ਼ਟੀ ਕਰਨ ਲਈ ਤੁਹਾਡੇ ਦੁਆਰਾ ਚਲਾਏ ਗਏ ਕਮਾਂਡ ਨੂੰ ਬਦਲਿਆ ਗਿਆ ਹੈ।
ਜੁਲਾਈ-14 14.0.0 • ਸ਼ੁਰੂਆਤੀ ਰਿਲੀਜ਼।

ਦਸਤਾਵੇਜ਼ / ਸਰੋਤ

OpenCL ਲਈ intel FPGA SDK [pdf] ਯੂਜ਼ਰ ਗਾਈਡ
OpenCL ਲਈ FPGA SDK, FPGA SDK, OpenCL ਲਈ SDK, SDK

ਹਵਾਲੇ

ਇੱਕ ਟਿੱਪਣੀ ਛੱਡੋ

ਤੁਹਾਡਾ ਈਮੇਲ ਪਤਾ ਪ੍ਰਕਾਸ਼ਿਤ ਨਹੀਂ ਕੀਤਾ ਜਾਵੇਗਾ। ਲੋੜੀਂਦੇ ਖੇਤਰਾਂ ਨੂੰ ਚਿੰਨ੍ਹਿਤ ਕੀਤਾ ਗਿਆ ਹੈ *