Skip to content

Commit f9f71e8

Browse files
committed
Added OpenCV to xfOpenCV migration instructions
1 parent 419080e commit f9f71e8

24 files changed

+786
-14
lines changed

README.md

+2
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
<td width="17%" align="center">Overview</a></td>
1010
<td width="16%" align="center"><a href="./getting-started-tutorial/README.md">SDSoC Environment Tutorial: Introduction</a></td>
1111
<td width="17%" align="center"><a href="./platform-creation-tutorial/README.md">SDSoC Environment Tutorial: Platform Creation </a></td>
12+
<td width="17%" align="center"><a href="./opencv-to-xfopencv-migration-tutorial/README.md">SDSoC Environment Tutorial: Migrate OpenCV to xfOpenCV</a></td>
1213
</tr>
1314
</table>
1415

@@ -23,3 +24,4 @@ The SDSoC environment 2018.2 release includes support for the ZC702, ZC706, and
2324
## Related information
2425
- <a href="./getting-started-tutorial/README.md">SDSoC Environment Tutorial: Introduction</a>
2526
- <a href="./platform-creation-tutorial/README.md">SDSoC Environment Tutorial: Platform Creation </a>
27+
- <a href="./opencv-to-xfopencv-migration-tutorial/README.md">SDSoC Environment Tutorial: Migrate OpenCV to xfOpenCV</a>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
<!-- <div style="page-break-after: always;"></div> -->
2+
<!-- <div style="display: none;" media="print"> -->
3+
<table style="width:100%">
4+
<tr>
5+
<th width="100%" colspan="6"><img src="https://www.xilinx.com/content/dam/xilinx/imgs/press/media-kits/corporate/xilinx-logo.png" width="30%"/><h1>SDSoC Environment Tutorial: Migrate OpenCV to xfOpenCV</h2>
6+
</th>
7+
</tr>
8+
<tr>
9+
<td align="center"><a >Introduction</a></td>
10+
<td align="center"><a href="lab-1-migrate-opencv-to-xfopencv.md">Lab 1: Migrate OpenCV to xfOpenCV</a></td>
11+
<td align="center"><a href="lab2-build-sdsoc-acceleration-project.md">Lab 2: Build the SDSoC Acceleration Project</a></td>
12+
</tr>
13+
</table>
14+
<!-- </div> -->
15+
16+
# Introduction
17+
18+
xfOpenCV is hardware-accelerated OpenCV functions optimized for Xilinx SoCs and FPGAs. The functions are written completely in C/C++ that is targeted for High-level Synthesis (HLS). This lab is designed to be used with SDx 2018.2 and using the released ZCU102 reVISION Platform.
19+
20+
The major difference between OpenCV and xfOpenCV is that typical OpenCV is written for and run on CPUs (x86, Arm, etc), whereas xfOpenCV is written and optimized for running on Xilinx SoCs and FPGAs. By optimizing for SoCs and FPGAs the code is up to 40x faster than embedded GPUs and 100x faster than CPUs. Since all the code is written in C/C++ it is easier to customize to your own computer vision functions.
21+
22+
**:pushpin: NOTE**
23+
**This tutorial assumes you are already familiar with OpenCV and the reVISION platform as described at [reVISION Getting Started Guide](https://github.com/Xilinx/Revision-Getting-Started-Guide/blob/master/software-tools-system-requirements.md). You may want to review this information before proceeding.**
24+
25+
## Revision History
26+
This is the initial release of the tutorial.
27+
28+
## Change Log
29+
### 2018.2
30+
Initial Release
31+
32+
## Support
33+
To obtain technical support for the tutorial design, go to the:
34+
35+
* [Xilinx Community Forums](https://forums.xilinx.com/) to ask questions or discuss technical details and issues. Please make sure to browse the existing topics first before filing a new topic. If you do need to file a new topic, make sure it is filed in the sub-forum that best describes the issue or question and that it refers to the tutorial specifically.
36+
37+
<hr/>
38+
39+
:arrow_forward:**Next Topic:** [Lab 1 - Migrate OpenCV to xfOpenCV](lab-1-migrate-opencv-to-xfopencv.md)
40+
41+
<hr/>
42+
<p align="center"><sup>Copyright&copy; 2018 Xilinx</sup></p>
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading

opencv-to-xfopencv-migration-tutorial/lab-1-migrate-opencv-to-xfopencv.md

+431
Large diffs are not rendered by default.

opencv-to-xfopencv-migration-tutorial/lab2-build-sdsoc-acceleration-project.md

+295
Large diffs are not rendered by default.
1.63 MB
Binary file not shown.

platform-creation-tutorial/Lab1-Creating-DSA-for-Zynq-7000-SoC-Processor-Design.md

+9-7
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ Concat Block (PL)
183183

184184
Alternatively, you can click the Add IP button (**+**) on the IP integrator canvas.
185185

186-
![](/images/image13.png)
186+
![](./images/image13.png)
187187

188188
2. The IP catalog **Search** dialog box appears. In the Search field, type **zynq** to find the ZYNQ7 Processing System IP.
189189

@@ -529,20 +529,22 @@ You can now generate the HDL files for the design.
529529
530530
![](./images/image42.png)
531531
532-
4. Create an top-level HDL wrapper for the IP integrator block design.
533-
534-
5. Right-click on **zynq7_board.bd** in Sources window and click on **Create HDL Wrapper**.
532+
4. Right-click on **zynq7_board.bd** in Sources window and click on **Create HDL Wrapper** to create a top-level HDL wrapper for the IP integrator block design.
535533
536534
![](./images/image43.png)
537535
538-
6. Click **OK**.
536+
5. Click **OK**.
539537
540538
![](./images/image44.png)
541539
542-
7. In the Flow Navigator, click **Generate Bitstream**.
540+
6. In the Flow Navigator, click **Generate Bitstream**.
541+
542+
7. Click **File > Export > Export Hardware**.
543+
544+
8. Select the **Include Bitstream** checkbox.
543545
544546
545-
> You now have a Zynq-7000 SoC bitstream that includes a hardware design without any SDSoC accelerators. This bitstream can be used as a check of hardware functionality prior to running the design through the SDx IDE to generate hardware accelerators.
547+
> You now have a Zynq-7000 SoC bitstream that includes a hardware design without any SDSoC accelerators. This bitstream can be used as a check of hardware functionality before running the design through the SDx IDE to generate hardware accelerators.
546548
</details>
547549
548550
<details>

platform-creation-tutorial/Lab3-Creating-Custom-Platform-Using-the-SDx-IDE.md

+7-7
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@
1717
</div>
1818

1919

20-
## Lab 3: Creating a Custom Platform Using the SDx IDE
20+
## Lab 3: Creating a Custom Platform Using the SDx&trade; IDE
2121

22-
<details><summary><big><strong>Step 1: Invoking the SDx&trade; IDE and Creating a Platform Project</strong></big></summary>
22+
<details><summary><big><strong>Step 1: Invoking the SDx IDE and Creating a Platform Project</strong></big></summary>
2323

2424
#### On a Linux host machine:
2525

@@ -60,21 +60,21 @@ For a Windows host machine, use one of the following methods to launch Vivado&re
6060

6161
As an alternative, the SDx IDE menu selection **File \> New \> SDx Project** can be used.
6262

63-
1. Select **Platform** on the Project Type dialog.
63+
1. Select **Platform** on the Project Type dialog.
6464

6565
![](./images/image70.png)
6666

67-
We will create an SDSoC&trade; platform and populate it with the hardware and software components we created in the earlier labs.
67+
You will create an SDSoC&trade; platform and populate it with the hardware and software components created in the earlier labs.
6868

69-
2. Click **Next**.
69+
1. Click **Next**.
7070

71-
3. On the Platform Specification dialog.
71+
1. On the Platform Specification dialog.
7272

7373
1. Click **Browse** to select **/tmp/sdx\_workspace/zynq7\_board.dsa** for the Hardware specification file.
7474

7575
1. Leave the default to select Import software platform components.
7676

77-
4. Click **Finish**.
77+
1. Click **Finish**.
7878

7979
![](./images/image71.png)
8080
</details>

0 commit comments

Comments
 (0)