Lattice’s Avant™ platform expands into the mid-range FPGA market, building on its low-power legacy. Jungo WinDriver complements this by enabling fast, portable, user-mode PCIe driver development without kernel coding.
Lattice Avant™ Platform
Significant logic capacity, power-efficient performance, and advanced I/O capabilities
Lattice’s Avant™ platform expands into the mid-range FPGA market, building on its low-power legacy. Jungo WinDriver complements this by enabling fast, portable, user-mode PCIe driver development without kernel coding.
Home » WinDriver for FPGA » Lattice FPGA Boards » Lattice Avant-G/X FPGAs
Launched as part of Lattice’s expansion into high-capacity, low-power FPGAs, the Avant family includes:
Avant-G: Designed for general-purpose mid-range applications. Offers up to 637K system logic cells, DDR4/LPDDR4 memory support, and up to 28 SERDES channels at 12.5 Gbps.
Avant-X: Tailored for high-throughput, high-bandwidth applications. Supports DDR5, more robust SERDES (up to 25 Gbps), and advanced security features.
These FPGAs are built on a 16nm FinFET process, balancing performance with energy efficiency. Both support industry-standard interfaces, including PCI Express Gen4, which is crucial for high-bandwidth, host-to-device communication.
DMA (Direct Memory Access) is critical in FPGA applications where large data transfers must bypass the CPU. Lattice’s Avant FPGAs integrate PCIe blocks and memory-mapped register spaces suited for DMA engines.
Sample drivers for DMA read/write, buffer locking, and interrupt handling.
APIs such as WDC_DMAContigBufLock()
, WDC_DMASyncIoctl()
, and WDC_IntEnable()
to support bidirectional data flow.
User-mode access to BAR memory and DMA descriptor management.
While Lattice doesn’t yet provide official DMA samples specific to Avant-G/X with WinDriver, they do provide working DMA integration for their CertusPro-NX platform—another PCIe-capable FPGA series. These samples demonstrate DMA transactions via a PCIe endpoint and can be adapted to Avant-based systems due to architectural similarity in their PCIe interface.
Lattice’s development tools integrate well with system-level workflows:
Radiant® Software: For logic design, IP integration, synthesis, and simulation. Supports Avant-G/X.
Propel™ Builder: For creating and integrating soft processors and system IP.
PCIe IP Cores: Available for configuring custom endpoints with DMA logic.
When building a PCIe application on Avant FPGAs, Radiant can be used to assign BARs, implement AXI-based register maps, and instantiate custom DMA logic. WinDriver can then be configured to map these registers and manage host-side data transfer in minutes.
This allows a developer to go from FPGA image to working host communication using only Radiant and WinDriver—cutting development cycles and debugging overhead.
No Kernel Coding Required
Ready-Made Driver for Avant DMA IP
Faster Time-to-Market
Cross-Platform Support
Built-In Interrupt Handling
Easy Deployment and Distribution
Windows 11 /Windows 10 / Windows 8/ Windows Server 2022 / Server 2019/ Server 2016 32 bit or 64 bit (x64: AMD64 and Intel EM64T) processor (Legacy Version Windows 7 & XP)
WinDriver
"*" indicates required fields
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.
Join us for our Webinar on Upgrading your WinDriver Version (May 19, 2025 19:30 PM GMT+2)
|