Forum Discussion

EHuan's avatar
EHuan
Icon for New Contributor rankNew Contributor
6 years ago

How to access N3000 PAC registers?

Hi Sir,

We have several N3000 FPGA cards and want to access N3000 FPGA registers.

lspci:

60:00.0 Ethernet controller: Intel Corporation Ethernet Controller XXV710 Intel(R) FPGA Programmable Acceleration Card N3000 for Networking (rev 02)

60:00.1 Ethernet controller: Intel Corporation Ethernet Controller XXV710 Intel(R) FPGA Programmable Acceleration Card N3000 for Networking (rev 02)

61:00.0 Processing accelerators: Intel Corporation Device 0b30

62:00.0 Ethernet controller: Intel Corporation Ethernet Controller XXV710 Intel(R) FPGA Programmable Acceleration Card N3000 for Networking (rev 02)

62:00.1 Ethernet controller: Intel Corporation Ethernet Controller XXV710 Intel(R) FPGA Programmable Acceleration Card N3000 for Networking (rev 02)

63:00.0 Processing accelerators: Intel Corporation Device 0d8f (rev 01)

63:00.1 Processing accelerators: Intel Corporation Device 0d90 (rev 01)

63:00.2 Processing accelerators: Intel Corporation Device 0d90 (rev 01)

63:00.3 Processing accelerators: Intel Corporation Device 0d90 (rev 01)

63:00.4 Processing accelerators: Intel Corporation Device 0d90 (rev 01)

We traced DPDK BBDEV library code and only know 61:00.0 and 63:00.* are FPGAs.

According to lspci information, we want to read/write the resource addr by mmio.

Could you please tell us above base addrs is OK and supply N3000 register tables?

Thanks.

2 Replies

  • JonWay_altera's avatar
    JonWay_altera
    Icon for Frequent Contributor rankFrequent Contributor

    Hi @EHuan​ DID 0b30 is the N3000 card. Did you load a different workload that is defined with a different DID?

    The 61:00.0 or 63:00.*...those are Bus Device Function

    Probably, you start with something simpler. After you have installed the Development Stack (not the RTE), there is a hello_afu folder that you can begin with.

    Try to load the hello_afu binary into the card, and then run the hello_afu executable (after compiling the hello_afu.c).

    You can find the steps from the AFU UserGuide here: https://www.intel.com/content/www/us/en/programmable/documentation/rjg1562957780901.html

    • ahaa's avatar
      ahaa
      Icon for Occasional Contributor rankOccasional Contributor

      And then?

      We had done these things like write binary file into PAC or run hello_afu.c.

      How should we do if we would like to access the register and modify registers?