AMC13 IP and MAC Address Assignment

The AMC13 has two PCB Tongues. Tongue 1 (T1) and Tongue 2 (T2) each has their own FPGA (Virtex6/Kintex7 for T1, Spartan6 for T2) and therefore each has their own IP address. Typically T2 has an IP address one higher in the last octet than T1.

How the IP Address is assigned

1. Via the Serial Number

This scheme acts as the "backup" plan, using the jumper connections on T2 to assign IP addresses to both tongues The address is 192.168.1.x
  • Final Byte for Spartan Chip = 254 - 2*SN
  • Final Byte for Virtex/Kintex Chip = 255 - 2*SN


In this scheme, the MMC sends a configuration packet which contains the IP address to be assigned from non-volitile EEPROM to the Spartan and Virtex chips at powerup. For information on how to load new configuration information into the SPI, see the MMC software page

3. RARP from a software daemon.

RARP is enabled with an IP address beginning with 00 in the first octet is set using method 2 above.

Note that we are working out a new scheme as we go into mass production in early 2014. We expect that the default addresses will be in the range 192.168.x.y where x is 1-4 and y is 128-254. HCAL will use a crate-based scheme where x is the crate and y is 4*slot.

AMC13 MAC address assignment

For all boards produced through 2013 (Serial numbers below 64) the MAC address is as follows: 08-00-30-F3-00-xx With xx:

  bits 0-5  complement of serial number 0-63
  bit 6   =0 for T2 board (lower IP)
          =1 for T1 board (upper IP)
  bit 7   =0


If we have a board with serial number 37, we can calculate the last digit of the MAC address:

xx = hex(63 - (SN))  

63-37 = 26, which is 0x1a in hex

SN37 MAC addresses:

08-00-30-F3-00-1a (for T2, low IP)and

08-00-30-F3-00-5a (for T1, higher IP)

For modules with serial numbers above 63 the upper two bits are complemented and assigned to MAC address bits 7, 8.

-- EricHazen - 12 Mar 2014

This topic: BUCMSPublic > WebHome > HcalDTC > IPaddressAssignment
Topic revision: r13 - 28 Apr 2014 - EricHazen
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2023 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback