Apollo Carrier Board
User Manual
29
www.terasic.com
September 22, 2020
5.2
PC PCI Express Software SDK
The FPGA System CD contains a PC Windows based SDK to allow users to develop their 64-bit
software application on 64-bits Windows 7 or Window 10. The SDK is located in the
"CDROM\Demonstrations\PCIe_SW_KIT\Windows" folder which includes:
PCI Express Driver
PCI Express Library
PCI Express Examples
The kernel mode driver assumes the PCIe vendor ID (VID) is 0x1172 and the device ID (DID) is
0xE003. If different VID and DID are used in the design, users need to modify the PCIe vendor ID
(VID) and device ID (DID) in the driver INF file accordingly.
The PCI Express Library is implemented as a single DLL named TERASIC_PCIE_AVMM.DLL. This
file is a 64-bit DLL. When the DLL is exported to the software API, users can easily communicate
with the FPGA. The library provides the following functions:
Basic data read and write
Data read and write by DMA
For high performance data transmission, Altera AVMM DMA is required as the read and write
operations, which are specified under the hardware design on the FPGA.
5.3
PCI Express Software Stack
hows the software stack for the PCI Express application software on 64-bit Windows.
The PCIe library module TERASIC_PCIE_AVMM.dll provides DMA and direct I/O access allowing
user application program to communicate with FPGA. Users can develop their applications based
on this DLL. The altera_pcie_win_driver.sys kernel driver is provided by Intel.