DE10-Advanced revC demo: PCIe Reference Design - Fundamental
From Terasic Wiki
Contents |
Demonstration Files Location
The demo file is located in the batch folder: CDROM\Demonstrations\ PCIe_Fundamental\demo_batch
- FPGA Configuration File: PCIe_Fundamental.sof
- Download Batch file: test.bat
- Windows Application Software folder : windows_app, includes
- PCIE_FUNDAMENTAL.exe
- TERASIC_PCIE_AVMM.DLL
Demonstration Setup
- Install the FPGA board on your PC as shown in Figure 7-3.
- Configure FPGA with PCIe_Fundamental.sof by executing the test.bat.
- Install PCIe driver if necessary. The driver is located in the folder: CDROM\Demonstration\PCIe_SW_KIT\Windows\PCIe_Driver.
- Make sure the Windows has detected the FPGA Board by checking the Windows Control panel as shown in Figure 7-10.
500px</div>
Figure 7-10 Screenshot for PCIe Driver</div># Goto windows_app folder, execute PCIE_FUNDAMENTAL.exe. A menu will appear as shown in Figure 7-11.
500px</div>
Figure 7-11 Screenshot of Program Menu</div># Type 0 followed by a ENTER key to select Led Control item, then input 15 (hex 0x0f) will make all led on as shown in Figure 7-12. If input 0 (hex 0x00), all led will be turn off.
500px</div>
Figure 7-12 Screenshot of LED Control</div># Type 1 followed by an ENTER key to select Button Status Read item. The button status will be report as shown in Figure 7-13.
500px</div>
Figure 7-13 Screenshot of Button Status Report</div># Type 2 followed by an ENTER key to select DMA Testing item. The DMA test result will be report as shown in Figure 7-14.
Figure 7-14 Screenshot of DMA Memory Test Result</div># Type 99 followed by an ENTER key to exit this test program
'Development Tools
- Quartus Prime 18.0 Standard Edition
- Visual C++ 2012
Demonstration Source Code Location
- Quartus Project: Demonstrations\PCIe_Fundamental
- C++ Project: Demonstrations\PCIe_SW_KIT\Windows\PCIE_FUNDAMENTAL
FPGA Application Design
Figure 7-15 shows the system block diagram in the FPGA system. In the Qsys, Altera PIO controller is used to control the LED and monitor the Button Status, and the On-Chip memory is used for performing DMA testing. The PIO controllers and the On-Chip memory are connected to the PCI Express Hard IP controller through the Memory-Mapped Interface.
Windows Based Application Software Design
Name | Description |
PCIE_FUNDAMENTAL.cpp | Main program |
PCIE.c | Implement dynamically load for TERAISC_PCIE_AVMM.DLL |
PCIE.h | |
TERASIC_PCIE_AVMM.h | SDK library file, defines constant and data structure |
- The PCI express driver is loaded successfully.
500px |
500px |