High-speed data transfer is a critical component of FPGA development. Projects like these involve a multitude of complex computations and oftentimes real-time processing, so without efficient data transfer, optimal performance becomes impossible.
Direct Memory Access (DMA) is a great way of ensuring that data can flow directly between the FPGA and host system’s memory without CPU involvement. This reduces latency and improves overall throughput. Jungo WinDriver includes ready-made, fully functional samples for DMA implementations, such as XDMA, QDMA, CPNX, and AVANT IP. These samples afford developers the opportunity to quickly integrate DMA into their FPGA projects, significantly reducing development time.
These fully functional DMA samples can serve as a complete driver solution or as skeletal code for custom development. This flexibility is invaluable for developers who need to implement custom DMA solutions for specific applications. Furthermore, these ready-made solutions provides a powerful debugging tool, enabling developers to analyze and optimize data transfer between FPGA accelerators and host systems.
By leveraging these tested DMA implementations, WinDriver helps developers achieve low-latency, high-throughput data transfer between the host and the FPGA. This is essential for performance-intensive applications, such as those used in machine learning, artificial intelligence (AI), and high-frequency trading, where processing speed is critical.
In modern FPGA development, PCIe (Peripheral Component Interconnect Express) is a frequently used interface for high-speed communication. PCIe provides a fast and reliable connection between the FPGA and the host system, making it ideal for applications that require quick data transfer.
WinDriver makes PCIe integration seamless. The tool supports PCIe standards such as MSI-X (Message Signaled Interrupts) and other interrupt handling mechanisms. In addition to built-in PCIe support, WinDriver features a kernel plug-in that allows for custom low-level processing and an advanced interrupt handler to ensure efficient event-driven communication.
Developers can easily configure PCIe endpoints for FPGAs from major manufacturers like Altera, Xilinx, and Lattice. This ensures that the data transfer between the FPGA and host is optimized, reducing bottlenecks and improving overall performance. Whether the application is focused on AI, machine learning, automation, or embedded systems, WinDriver’s PCIe integration provides the speed and reliability needed for modern FPGA-based solutions.
AMD provides a wide range of evaluation kits to assist in the development of FPGA designs.
With high-performance adaptive computing and real-time processing, AMD (Xilinx) FPGAs benefit from WinDriver’s streamlined driver development, enabling rapid integration with PCIe-based applications. WinDriver includes ready-made DMA samples for XDMA and QDMA, providing a fully functional starting point for efficient data transfer, debugging, and customization.
Intel (Altera) FPGAs are a popular choice in AI, networking, industrial automation, embedded systems, and aerospace applications.
Intel (Altera) FPGAs offer advanced process technology, AI/ML acceleration, high-speed transceivers, and seamless CPU integration. WinDriver simplifies driver development, providing a streamlined approach for enabling efficient, low-latency communication with host systems. With ready-made DMA samples for Avalon MM and QSYS, developers can quickly implement high-speed data transfer.
Lattice is an industry leader in FPGA technology and focuses on affordability, low-latency, and energy-efficient solutions.
Known for their low-power, small-footprint, and cost-effective programmable logic, Lattice FPGAs are ideal for embedded and edge applications. WinDriver simplifies driver development by providing ready-made DMA IP samples for CPNX and Avant, enabling efficient, high-speed data transfer.
IMPORTANT – READ CAREFULLY: THIS SOFTWARE LICENSE AGREEMENT (“AGREEMENT”) IS A LEGAL AGREEMENT BETWEEN YOU AND JUNGO CONNECTIVITY LTD. (“JUNGO”), FOR THE WINDRIVER SOFTWARE PRODUCT ACCOMPANYING THIS LICENSE (THE “SOFTWARE”). BY INSTALLING, COPYING OR OTHERWISE USING THE SOFTWARE, YOU AGREE TO BE LEGALLY BOUND BY THE TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT, DO NOT INSTALL, COPY, OR OTHERWISE USE THE SOFTWARE.
– Individuals: Jungo grants you, as an individual, a personal, non-exclusive, “single-user” license to use the Software on a single computer, in the manner provided below, at the site for which the license was given.
– Entities: If you are an entity, Jungo grants you the right to designate one individual within your organization (and only one) to have the right to use the Software on a single computer, in the manner provided below, at the site for which the license was given.
– License Scope: A single user license allows usage of WinDriver and redistribution of certain components (as defined below) within a single end product SKU, for a single device (identified by its VID/PID (USB) or VID/DID (PCI)), and without SDK/API capabilities. If you need extended license or distribution rights, please contact Jungo.
RESTRICTIONS ON USE AND TRANSFER
(a) You may not distribute, or otherwise transfer or assign, any portion of the Software, including any of the headers or source files that are included in the Software, unless otherwise expressly permitted in this Agreement, subject to the provisions of Section 4 above.
(b) Subject to your full and continued compliance with the terms of this Agreement, including the ongoing payment of annual license fees, you may distribute the following files:
Windows:
-windrvr1640.sys
-windrvr1640_legacy.sys
-windrvr1640.inf
-windrvr1640.cat
-wdapi1640.dll
-wdapi1640_32.dll
-wdapi1640_arm64.dll
-wdapi_dotnet1640.dll
-wdapi_dotnet1640_32.dll
-wdapi_netcore1640.dll
-wdapi_java1640.dll
-wdapi_java1640.jar
-wdreg.exe
-difxapi.dll
-devcon.exe
-windrvr1630.sys
-windrvr1630.inf
-wd1630.cat
-wdapi1630.dll
-wdapi_dotnet1630.dll
-wdapi_java1630.dll wdapi_java1600.jar
-windrvr1220.dll
-wdapi1220.dll
Linux:
-windrvr_gcc_v3.o_shipped
-windrvr_gcc_v3_regparm.o_shipped
-kp_linux_gcc_v3.o
-kp_linux_gcc_v3_regparm.o
-libwdapi1640.so libwdapi1640_32.so
-libwdapi_java1640.so
-libwdapi_java1640_32.so
-wdapi_java1640.jar
-wdapi_netcore1640.dll
-kp_wdapi1640_gcc_v3.o_shipped
-kp_wdapi1640_gcc_v3_regparm.o_shipped
-linux_wrappers.c
-linux_wrappers.h
-wdusb_linux.c
-wdusb_interface.h
-wd_ver.h
-linux_common.h
-windrvr.h
-windrvr_usb.h
-wdsriov_interface.h
-wdsriov_linux.c
-wdreg
-configure makefile.in
-configure.wd makefile.wd.in
-makefile.wd.kbuild.in
-configure.usb
-makefile.usb.in
-makefile.usb.kbuild.in
-setup_inst_dir
-windrvr_gcc_v2.a windrvr_gcc_v3.a windrvr_gcc_v3_regparm.a
-kp_linux_gcc_v2.o kp_linux_gcc_v3.o kp_linux_gcc_v3_regparm.o
-libwdapi1630.so
-libwdapi_java1630.so wdapi_java1600.java
-kp_wdapi1630_gcc_v2.a kp_wdapi1600_gcc_v3.a kp_wdapi1600_gcc_v3_regparm.a
-linux_wrappers.c linux_wrappers.h wdusb_linux.c
-wdusb_interface.h wd_ver.h linux_common.h windrvr.h windrvr_usb.h
-configure.wd makefile.wd.in makefile.wd.kbuild.in
-configure.usb makefile.usb.in makefile.usb.kbuild.in
macOS:
-libwdapi1640.dyld
-libwdapi_java1640.jar
-libwdapi_java1640.dyld
-wdapi_netcore1640.dll
-WinDriver1640.kext
-WinDriver1640.dext
-wd_mac_install.sh
-wd_mac_uninstall.sh
(c) The files listed in Section 5.b above may be distributed only as part of a complete application that you distribute under your organization name, and only if they significantly contribute to the functionality of your application. For avoidance of doubt, each organization distributing these files as part of the organization products is required to have valid license(s) under the organization name/VID, irrespective of the party who actually performed the product development. Licenses granted to subcontractors do not grant distribution or other rights to the organizations for which they are developing.
(d) The distribution of the windrvr.h header file is permitted only on Linux.
(e) You may not modify the distributed files specified in Section 5.b of this Agreement.
(f) You may not distribute any header file that describes the WinDriver functions, or functions that call the WinDriver functions and have the same basic functionality as that of the WinDriver functions.
Web site: https://www.jungo.com
Email: [email protected]
Use, duplication, or disclosure by the Government is subject to restrictions set forth in subparagraph (c)(1) of The Rights in Technical Data and Computer Software clause at DFARS 252.227-7013 or subparagraphs (c)(1)(ii) and (2) of Commercial Computer Software – Restricted Rights at 48 CFR 52.227-19, as applicable.