FPGA, SoC, And CPLD Boards And Kits
FPGA Evaluation and Development Kits
Announcements
Intel Support hours are Monday-Fridays, 8am-5pm PST, except Holidays. Thanks to our community members who provide support during our down time or before we get to your questions. We appreciate you!

Need Forum Guidance? Click here
Search our FPGA Knowledge Articles here.
5157 Discussions

How to access N3000 PAC registers?

EHuan
Beginner
567 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
438 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
330 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