FPGA, SoC, And CPLD Boards And Kits
FPGA Evaluation and Development Kits
Announcements
The Intel sign-in experience is changing in February to support enhanced security controls. If you sign in, click here for more information.
5419 Discussions

How to access N3000 PAC registers?

EHuan
Beginner
754 Views

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.

 

0 Kudos
2 Replies
JonWay_C_Intel
Employee
625 Views

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
Beginner
517 Views

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? 

Reply