3.3.1. Using the Intel® Quartus® Prime Programmer
You must have the micro USB cable connected between the Intel® FPGA PAC and the server to execute these steps:
- Find the Root Port and Endpoint of the Intel® FPGA PAC card:
$ lspci -tv | grep 09c4
Example output 1 shows that the Root Port is d7:0.0 and the Endpoint is d8:0.0 :
-+-[0000:d7]-+-00.0-[d8]----00.0 Intel Corporation Device 09c4
Example output 2 shows that the Root Port is 0:1.0 and the Endpoint is 3:0.0:
+-01.0-[03]----00.0 Intel Corporation Device 09c4
Example output 3 shows that the Root Port is 85:2.0 and the Endpoint is 86:0.0 and.:+-[0000:85]-+-02.0-[86]----00.0 Intel Corporation Device 09c4
Note: No output indicates a PCIe* device enumeration failure and that flash is not programmed.#Mask uncorrectable errors and correctable errors of FPGA$ sudo setpci -s d8:0.0 ECAP_AER+0x08.L=0xFFFFFFFF $ sudo setpci -s d8:0.0 ECAP_AER+0x14.L=0xFFFFFFFF
# Mask uncorrectable errors and Mask correctable errors of RP$ sudo setpci -s d7:0.0 ECAP_AER+0x08.L=0xFFFFFFFF $ sudo setpci -s d7:0.0 ECAP_AER+0x14.L=0xFFFFFFFF
- Run the following Intel® Quartus® Prime Programmer command:
sudo $QUARTUS_HOME/bin/quartus_pgm -m JTAG -o 'pvbi;afu_*.sof'
Info: ************************************************************** ***** Info: Running Quartus Prime Programmer Info: Version 17.0.0 Build 290 04/26/2017 SJ Pro Edition Info: Copyright (C) 2017 Intel Corporation. All rights reserved. Info: Your use of Intel Corporation's design tools, logic functions Info: and other software and tools, and its AMPP partner logic Info: functions, and any output files from any of the foregoing Info: (including device programming or simulation files), and any Info: associated documentation or information are expressly subject Info: to the terms and conditions of the Intel Program License Info: Subscription Agreement, the Intel Quartus Prime License Agreement, Info: the Intel MegaCore Function License Agreement, or other Info: applicable license agreement, including, without limitation, Info: that your use is for the sole purpose of programming logic Info: devices manufactured by Intel and sold by Intel or its Info: authorized distributors. Please refer to the applicable Info: agreement for further details. Info: Processing started: Sun Jan 21 06:39:24 2018 Info: Command: quartus_pgm -m JTAG -o pvbi;dcp_1_1.jic Info (213045): Using programming cable "A10SA4 [1-1.4.3.1]" Info (213011): Using programming file dcp_1_1.jic with checksum 0x237FE3AA for device 10AX115N3@1 Info (209060): Started Programmer operation at Sun Jan 21 06:39:37 2018 Info (209016): Configuring device index 1 Info (209017): Device 1 contains JTAG ID code 0x02E660DD Info (209007): Configuration succeeded -- 1 device(s) configured Info (209018): Device 1 silicon ID is 0x21 Info (209044): Erasing ASP configuration device(s) Info (209019): Blankchecking device(s) Info (209023): Programming device(s) Info (209021): Performing CRC verification on device(s) Info (209011): Successfully performed operation(s) Info (209061): Ended Programmer operation at Sun Jan 21 06:45:38 2018 Info: Quartus Prime Programmer was successful. 0 errors, 0 warnings Info: Peak virtual memory: 1871 megabytes Info: Processing ended: Sun Jan 21 06:45:38 2018 Info: Elapsed time: 00:06:14 Info: Total CPU time (on all processors): 00:00:45
- To unmask uncorrectable errors and mask correctable errors, run the following commands:
# Unmask uncorrectable errors and mask correctable errors of FPGA
$ sudo setpci -s d8:0.0 ECAP_AER+0x08.L=0x00000000 $ sudo setpci -s d8:0.0 ECAP_AER+0x14.L=0x00000000
# Unmask uncorrectable errors and mask correctable errors of RP:$ sudo setpci -s d7:0.0 ECAP_AER+0x08.L=0x00000000 $ sudo setpci -s d7:0.0 ECAP_AER+0x14.L=0x00000000
- Reboot.