Technical Support


This site is for customers who have purchased Netronome’s Agilio SmartNICs and software products in 2015 and beyond. The Netronome Legacy Support Site ensures seamless support for existing customers who have deployed Netronome Flow Processor solutions prior to 2015.

Add a New Topic

NFP-6000 Island Map

I am working on a MicroC application for a NFP-6000 card. I am having difficulties understanding the Island/MicroEngine/Memory/Peripheral layout. 

I have read the Programmer's Reference Manual but was unable to find any information on the mapping of each Island and the number MicroEngines/Memories/Peripherals available on each. Is there another datasheet that provides this information?

------------------------

Hi Peter,

I am taking some info from internal sources. I hope this will suffice. Otherwise, please let us know.

2. Functional Overview
...skipping...
2.2 Microengine
The Microengine provides programmers with storage of up to
16K instructions and 40-bit address space for programmable packet processing. Devices in the NFP-6xxx device
family contain up to a total of 120 MEs distributed among Class 1 Islands and Class 2 Islands.
The ME provides support for software controlled multi-threaded operation. Given the disparity between ME
frequency and external memory accesses, a single thread of execution would very frequently stall a processing
unit, simply waiting for memory operations to complete. Having multiple threads (such as the 8 available in the
Microengine) allows for "thread interleaving" where there is, very often, at least one thread ready for u-code
execution.
An outline of an ME's feature set is:
• 8k instruction control store, operating in pairs of MEs to provide 16k instruction shared control
store.
• Six stage main pipeline
• Single cycle 32-bit ALU, shift, multiply, CAM
• 896 General Purpose Registers with Parity Protection
• 1K 32-bit words Local Memory with ECC Protection
• Posted CPP transactions
• Eight threads with separate wakeup signal control and program counters
...skipping...
3.1 NFP-6xxx-xC Top Level Floorplan View
The NFP-6xxx is constructed from common blocks, referred to as islands. There are several different island
types in the NFP-6xxx:
• Class 1, Microengine- (ME-) only Island
• Class 2, PCIe Island
• Class 2, Cryptography Island
• Class 2, ARM Embedded Processor Island
• Class 2, Interlaken Look-Aside (ILA) Island
• Class 3, Network Block Interface (NBI) Island
• Class 3, Internal Memory Unit Engines
• Class 3, External Memory Unit Engines
• Class 3, Internal Memory Unit
• Class 3, External Memory Unit
• Class 3, Media Access Controller (MAC) Island
• Class 3, Clocks and Reset
With the exception of the four slave island types:
• Class 3, Internal Memory Unit (Slaved to an Internal Memory Unit Engines Island)
• Class 3, External Memory Unit (Slaved to an External Memory Unit Engines Island)
• Class 3, Media Access Controller (MAC) Island (Slaved to an NBI Island)
• Class 3, Clocks and Reset Island (Slaved to the ARM Island)
each instance of each of the above Island types has a unique Island ID as shown below. Also, take note of the
special status of Island Number 0, which is interpreted as 'Current Island'.
Table 3.1. NFP-6xxx-xC Island IDs
Island IDIsland Instance
0 (0x00)Current Island (See Note 1)
1 (0x01)ARM
4 (0x04)PCIe0
5 (0x05)PCIe1
6 (0x06)PCIe2
7 (0x07)PCIe3
8 (0x08)NBI0
9 (0x09)NBI1
12 (0x0C)Crypto0
13 (0x0D)Crypto1
24 (0x18)ExternalMUEng0
25 (0x19)ExternalMUEng1
26 (0x1A)ExternalMUEng2
28 (0x1C)InternalMUEng0
29 (0x1D)InternalMUEng1
32 (0x20)MECl0
33 (0x21)MECl1
34 (0x22)MECl2
35 (0x23)MECl3
36 (0x24)MECl4
37 (0x25)MECl5
38 (0x26)MECl6
48 (0x30)Interlaken-LA0
49 (0x31)Interlaken-LA1
Notes:
1. For addresses sent out over the CPP interface from a CPP master, a Target Island Number of 0x00 will result
in the Island Master Bridge re-directing the transaction back to the Island from which the request came. The
Island Number of 0x00 does not apply to Master Island Numbers. Master Island numbers must use the actual
Island Number of reference.
© 2006-2019 Netronome Systems, Inc. - Proprietary and Confidential. All

Have a nice day!
Octavio Herrera-Ruiz
Netronome SmartNIC Support
help.netronome.com | www.netronome.com
1-877-NETRO-A-Z (1-877-638-7629)
1-724-778-3290
For legacy products support please visit: support.netronome.com