76
Arasan Chip Systems Inc. 2010 North First Street, Suite #510, San Jose, CA 95131 Ph: 4082821600 Fax: 4082827800 www.arasan.com Datasheet Gigabit Ethernet Total IP Solution

Gigabit Ethernet Total IP Solution,May4, 2015

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

   

Arasan  Chip  Systems  Inc.  2010  North  First  Street,  Suite  #510,  San  Jose,  CA  95131  Ph:  408-­‐282-­‐1600  Fax:  408-­‐282-­‐7800  www.arasan.com    

Datasheet  Gigabit  Ethernet  Total  IP  Solution  

         

 

 

   

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.      

Disclaimer  This  document  is  written  in  good  faith  with  the  intent  to  assist  the  readers  in  the  use  of  the  product.  Circuit  diagrams  and  other  information  relating  to  Arasan  Chip  Systems’  products  are  included  as  a  means  of  illustrating  typical  applications.  Although  the  information  has  been  checked  and  is  believed  to  be  accurate,  no  responsibility  is  assumed  for  inaccuracies.  Information  contained  in  this  document  is  subject  to  continuous  improvement  and  development.  

Arasan  Chip  Systems’  products  are  not  designed,  intended,  authorized  or  warranted  for  use  in  any  life  support  or  other  application  where  product  failure  could  cause  or  contribute  to  personal  injury  or  severe  property  damage.  Any  and  all  such  uses  without  prior  written  approval  of  an  Officer  of  Arasan  Chip  Systems  Inc.  will  be  fully  at  the  risk  of  the  customer.  

Arasan  Chip  Systems  Inc.  disclaims  and  excludes  any  and  all  warranties,  including,  without  limitation,  any  and  all  implied  warranties  of  merchantability,  fitness  for  a  particular  purpose,  title,  and  infringement  and  the  like,  and  any  and  all  warranties  arising  from  any  course  or  dealing  or  usage  of  trade.  

This  document  may  not  be  copied,  reproduced,  or  transmitted  to  others  in  any  manner.  Nor  may  any  use  of  information  in  this  document  be  made,  except  for  the  specific  purposes  for  which  it  is  transmitted  to  the  recipient,  without  the  prior  written  consent  of  Arasan  Chip  Systems  Inc.  This  specification  is  subject  to  change  at  any  time  without  notice.  Arasan  Chip  Systems  Inc.  is  not  responsible  for  any  errors  contained  herein.  

In  no  event  shall  Arasan  Chip  Systems  Inc.  be  liable  for  any  direct,  indirect,  incidental,  special,  punitive,  or  consequential  damages;  or  for  loss  of  data,  profits,  savings  or  revenues  of  any  kind;  regardless  of  the  form  of  action,  whether  based  on  contract;  tort;  negligence  of  Arasan  Chip  Systems  Inc  or  others;  strict  liability;  breach  of  warranty;  or  otherwise;  whether  or  not  any  remedy  of  buyers  is  held  to  have  failed  of  its  essential  purpose,  and  whether  or  not  Arasan  Chip  Systems  Inc.  has  been  advised  of  the  possibility  of  such  damages.  

Restricted  Rights  

Use,  duplication,  or  disclosure  by  the  Government  is  subject  to  restrictions  as  set  forth  in  FAR52.227-­‐14  and  DFAR252.227-­‐7013  et  seq.  or  its  successor.  

Copyright  Notice  

No  part  of  this  specification  may  be  reproduced  in  any  form  or  means,  without  the  prior  written  consent  of  Arasan  Chip  Systems,  Inc.  

Questions  or  comments  may  be  directed  to:  

Arasan  Chip  Systems  Inc.    2010  North  First  Street,  Suite  510  San  Jose,  CA  95131  Ph:  408-­‐282-­‐1600  Fax:  408-­‐282-­‐7800  Email:  [email protected]    

     Datasheet      

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.      

Contents  

1   Introduction  ......................................................................................................  1  1.1   Arasan’s  Ethernet  Offerings  .............................................................................................  1  1.2   Total  IP  Solution  ...............................................................................................................  1  

2   Gigabit  Ethernet  MAC  Controller  ......................................................................  3  2.1   Overview  ..........................................................................................................................  3  2.2   Features  ...........................................................................................................................  3  2.3   Architecture  .....................................................................................................................  4  

2.3.1   Functional  Block  Diagram  ...............................................................................................  4  2.3.2   Functional  Block  Diagram  Description  ............................................................................  5  

2.4   Pinout  Diagrams  ..............................................................................................................  7  2.4.1   Gigabit  Ethernet  –  AHB  IP  Core  Pinout  Diagram  ............................................................  7  2.4.2   Signal  Descriptions  .........................................................................................................  8  2.4.3   GEMAC-­‐AXI  PinOut  Diagram  .........................................................................................  13  2.4.4   AXI  Interface  PinOut  Description  ..................................................................................  14  2.4.5   RGMII  Interface  ............................................................................................................  20  2.4.6   GEMAC-­‐AHB  PinOut  Block  Diagram  with  RGMII  Interface  ...........................................  22  2.4.7   GEMAC-­‐AXI  PinOut  Block  Diagram  with  RGMII  Interface  .............................................  23  2.4.8   RGMII  Signal  Description  ..............................................................................................  24  

2.5   SoC  Level  Integration  .....................................................................................................  26  2.5.1   Applications  ..................................................................................................................  26  2.5.2   IP  Deliverables  ..............................................................................................................  26  

3   10  Gigabit  Ethernet  MAC  Controller  ...............................................................  27  3.1   Overview  ........................................................................................................................  27  3.2   Features  .........................................................................................................................  27  3.3   Architecture  ...................................................................................................................  28  

3.3.1   Functional  Block  Diagram  .............................................................................................  28  3.3.2   Functional  Block  Diagram  Description  ..........................................................................  28  

3.4   PinOut  Diagrams  ............................................................................................................  31  3.4.1   XGMAC-­‐AHB  (XGMII32)  PinOut  Diagram  ......................................................................  31  3.4.2   XGMAC-­‐AHB  (XGMII64)  PinOut  Diagram  ......................................................................  32  3.4.3   XGMAC-­‐AXI  (XGMII32)  PinOut  Diagram  .......................................................................  33  3.4.4   XGMAC-­‐AXI  (XGMII64)  PinOut  Diagram  .......................................................................  34  3.4.5   XGMAC  Pinout  Descriptions  .........................................................................................  35  

3.5   Signal  Interfaces  ............................................................................................................  35  3.6   SoC  Level  Integration  .....................................................................................................  47  

3.6.1   XGMAC  Applications  .....................................................................................................  47  3.6.2   IP  Deliverables  ..............................................................................................................  48  

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.      

4   Gigabit  Ethernet  with  IEEE  1588  MAC  Controller  ............................................  49  4.1   Introduction  ...................................................................................................................  49  4.2   Overview  ........................................................................................................................  49  4.3   Features  .........................................................................................................................  50  4.4   Architecture  ...................................................................................................................  51  

4.4.1   Functional  Block  Diagram  .............................................................................................  51  4.4.2   Functional  Block  Diagram  .............................................................................................  51  

4.5   PinOut  Diagrams  ............................................................................................................  53  4.5.1   GEMAC-­‐AHB  Pinout  Diagram  ........................................................................................  53  4.5.2   GEMAC-­‐AXI  Core  Pin-­‐  Out  Diagram  ..............................................................................  54  4.5.3   Pinout  Descriptions  ......................................................................................................  55  4.5.4   Signal  Interfaces  ...........................................................................................................  55  

4.6   SoC  Level  Integration  .....................................................................................................  67  4.6.1   Applications  ..................................................................................................................  67  4.6.2   IP  Deliverables  ..............................................................................................................  68  

5   Ethernet  Device  Driver  ....................................................................................  69  5.1   Overview  ........................................................................................................................  69  5.2   Features  .........................................................................................................................  69  5.3   Description  ....................................................................................................................  70  5.4   Deliverables  ...................................................................................................................  70  

6   Services  &  Support  ..........................................................................................  71  6.1   Global  Support  ...............................................................................................................  71  6.2   Arasan  Support  Team  ....................................................................................................  71  6.3   Professional  Services  &  Customization  ..........................................................................  71  6.4   The  Arasan  Porting  Engine  ............................................................................................  71  6.5   Pricing  &  Licensing  .........................................................................................................  71      

Tables  Table  1:  Gigabit  Ethernet-­‐AHB  Core  Pin-­‐Out  Description  .....................................................................  8  Table  2:  M-­‐RX  Data  Interface  Signals  ..................................................................................................  14  Table  3:  AXI  Target  Interface  Signals  ...................................................................................................  18  Table  4:  RGMII  Signal  Description  .......................................................................................................  24  Table  5:  XGMII  Interface  Signal  Description  ........................................................................................  36  Table  6:  AHB  Interface  Signal  Description  ...........................................................................................  39  Table  7:  AXI  Interface  Signal  Description  ............................................................................................  40  Table  8:  MII/GMII  Interface  Signal  Description  ...................................................................................  55  Table  9:  AHB  Interface  Signal  Description  ...........................................................................................  58  

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.      

Table  10:  AXI  Interface  Signal  Description  ..........................................................................................  60  Table  11:  1588  Interface  Signal  Descriptions  ......................................................................................  66    

Figures  Figure  1:  Arasan's  Total  IP  Solution  .......................................................................................................  2  Figure  2:  Gigabit  Ethernet  Core  Block  Diagram  .....................................................................................  4  Figure  3:  Gigabit  Ethernet-­‐AHB  Core  Pinout  Diagram  ...........................................................................  7  Figure  4:  GEMAC-­‐AXI  PinOut  Diagram  ................................................................................................  13  Figure  5:  GMII  interface  to  RGMII  interface  signal  mapping  ...............................................................  21  Figure  6:  Gigabit  Ethernet-­‐AHB  Core  Pinout  Diagram  with  RGMII  Interface  ......................................  22  Figure  7:  GEMAC-­‐AXI  PinOut  Diagram  with  RGMII  Interface  ..............................................................  23  Figure  8:  Gigabit  Ethernet-­‐AHB  core  used  in  an  SOC  Implementation  ...............................................  26  Figure  9:  Gigabit  Ethernet-­‐AHB  core  Used  in  PCI/PCIExpress  Network  Interface  Card  .......................  26  Figure  10:  XGMAC  Core  Block  Diagram  ...............................................................................................  28  Figure  11:  XGMAC-­‐AHB  (XGMII32)  Core  PinOut  Diagram  ...................................................................  31  Figure  12:  XGMAC-­‐AHB  (XGMII64)  Core  PinOut  Diagram  ...................................................................  32  Figure  13:  XGMAC-­‐AXI  (XGMII32)  Core  PinOut  Diagram  .....................................................................  33  Figure  14:  XGMAC-­‐AXI  (XGMII64)  Core  PinOut  Diagram  .....................................................................  34  Figure  15:  Core  Configuration  Signals  .................................................................................................  35  Figure  16:  XGMAC  Core  used  in  PCIExpress  based  NIC  Controller  ......................................................  47  Figure  17:  XGMAC  Core  used  Aggregation/Switch  Device  ..................................................................  47  Figure  18:  GEMAC  Core  Block  Diagram  ...............................................................................................  51  Figure  19:  GEMAC-­‐AHB  Pinout  Diagram  .............................................................................................  53  Figure  20:  GEMAC-­‐  AXI  Core  Pin-­‐  Out  Diagram  ...................................................................................  54  Figure  21:  GEMAC  Core  in  a  SoC  Application  ......................................................................................  67  Figure  22:  GEMAC  Core  in  an  NIC  Application  ....................................................................................  67  Figure  23:  Ethernet  Device  Driver  .......................................................................................................  70    

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       1    

1 Introduction  1.1 Arasan’s  Ethernet  Offerings  Arasan  Chip  Systems  has  been  shipping  Ethernet  IP  for  more  than  10  years.    The  complete  portfolio  of  Gigabit  Ethernet  products  includes  Gigabit  (10/100/1000)  Mbps  and  10  Gigabit  Ethernet  MAC  Controllers  with  support  for  AVB  and  IEEE  1588,  Ethernet  Driver,  and  Development  Board  for  rapid  integration  into  SoC  and  FPGA.  The  high  quality  IP  has  completed  the  rigorous  interoperability  tests  at  UNH-­‐IOL  laboratories  and  has  been  widely  licensed.  Licensees  of  Arasan’s  Ethernet  IP  include  companies  such  as  Apple,  Infineon  Technologies,  Ikanos  Communications  among  others.    

1.2 Total  IP  Solution  Arasan’s  Total  IP  Solution,encompasses  all  aspects  of  IP  development  and  integration,  including  analog  and  digital  IP  cores,  verification  IP,  software  stacks  &  drivers,  and  hardware  validation  platforms.  Benefits  of  Total  IP  Solution:  

• Seamless  integration  from  PHY  to  Software  • Assured  compliance  across  all  components  • Single  point  of  support  • Easiest  acquisition  process  (one  licensing  source)  • Lowest  overall  cost  including  cost  of  integration  • Lowest  risk  for  fast  time  to  market    

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       2    

 

Figure  1:  Arasan's  Total  IP  Solution  

   

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       3    

2 Gigabit  Ethernet  MAC  Controller  2.1 Overview  The  Arasan  Gigabit  Ethernet  Media  Access  Controller  IP  is  compliant  with  the  Ethernet  IEEE  802.3-­‐2008  standard.  The  Gigabit  Ethernet  IP  provides  a  10/100  Mbps  Media  Independent  Interface  (MII)  and  a  1000  Mbps  Gigabit  Media  Independent  Interface  (GMII).  It  also  supports  optional  Reduced  MII  (RGMII),  and  Serial  GMII  (SGMII).  The  Gigabit  Ethernet  IP  also  implements  Hardware  assisted  1588  Protocol  for  Timestamping  the  Receive  and  Transmit  PTP  Packets.  The  Gigabit  Ethernet  IP  is  designed  for  SoC  and  mobile  applications  such  as  integrated  networking  devices,  PCI-­‐Express  Ethernet  controllers,  and  Ethernet  adapter  cards.  The  Gigabit  Ethernet  IP  supports  half-­‐duplex  mode  at  10/100  Mbps  and  full-­‐  duplex  mode  at  10/100/1000  Mbps.  

The  Gigabit  Ethernet  IP  core  consists  of  two  configurable  FIFOs  on  both  transmits  and  receive  sides  to  handle  the  application’s  latency  during  frame  transmission  and  reception.  A  processor  bus  master  and  a  32-­‐bit  scatter-­‐gather  DMA  transfer  packets  between  the  internal  FIFOs  and  the  host  memory  to  enhance  system  performance.  

The  Gigabit  Ethernet  IP  supports  4-­‐bit  MII  based  10/100  Mbps  PHY  and  8-­‐bit  GMII  based  10/100/1000  Mbps  PHY.  A  MDIO/MDC  (Management  Data  Input/Output  and  Management  Data  Clock)  management  interface  provides  control  and  management  functions  to  external  PHY  devices.  

2.2 Features  • Hardware  Assisted  1588  V1/V2  Support  • Full-­‐duplex  mode  at  10/100/1000  Mbps  • Half-­‐duplex  mode  at  10/100  Mbps  • Supports  IEEE  802.3-­‐2008  compliant  MII,  RMII,  SMII,  GMII,  RGMII,  and  SGMII  • Independent  32-­‐bit  scatter-­‐gather  DMA  with  big/  little  endian  operation  • Optional  VLAN  Q-­‐Tag  frame  support  • CSMA/CD  Protocol  for  half-­‐duplex  mode  • PAUSE  frame  based  flow  control  in  full-­‐duplex  mode  • MDIO/MDC  management  interface  • 802.3  compliant  MIB,  SNMP,  RMON  management  support  • Configurable  transmit  and  receive  FIFOs  • Supports  Jumbo  frames  • Supports  magic  packet  and  Wake-­‐Up  frames  • Optional  AXI,  AHB,  PCIe,  PCI  or  custom  bus  interface  • Variable  length  Inter  Frame  Gap  (IFG)  on  back  to  back  frame  transmission  Variable  length  (3,  5,  

7  bytes)  preamble  generation  • Automatic  generation  of  FCS  and  PAD  • Option  to  disable  PAD  or  CRC32  • Option  to  stop  frame  retransmission  on  collisions  

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       4    

• TimeStamps  the  specified  PTP  Packets  for  implementing  1588  Protocol  • Inter  Frame  Gap  checking  • Preamble  detection  and  stripping  • Flexible  address  filtering  modes  and  inverse  address  filtering  64-­‐bit  hash  table  to  filter  multicast  

addresses  • Promiscuous  mode  of  operation  • Reception  of  broadcast  frames  • Automatic  checking  the  FCS  field,  runt  frames,  and  data  field  length  • Detection  of  MaxFrameLen  frames,  receive  errors  • 32-­‐bit  status  information  on  each  receive  frame  • Identifies  PTP  Frames  (both  V1  and/or  V2)  in  L2/  L4  Encapsulation  and  TimeStamps  for  

implementing  1588  Protocol.  • Software  controlled  PAUSE  control  frame  generation  including  multicast  and  unicast  address  • Automatic  detection  and  checking  of  PAUSE  frames  

 

2.3 Architecture  2.3.1 Functional  Block  Diagram  

 

Figure  2:  Gigabit  Ethernet  Core  Block  Diagram  

   

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       5    

2.3.2 Functional  Block  Diagram  Description  

2.3.2.1 AHB/AXI  Master  

This  module  provides  the  AHB/AXI  Master  functionality  to  generate  transactions  on  the  AHB/AXI  Bus.  The  transactions  are  generated  based  on  the  requests  from  the  Transmit/Receive  DMA’s.  

2.3.2.2 AHB/AXI  Slave  (Target)  

This  module  provides  the  AHB/AXI  Target  functionality  to  the  AHB/AXI  Host  (CPU).  This  interface  is  used  to  access  all  the  DMA/MAC  registers  in  the  Registers  Module.  

2.3.2.3 TX  _DMA  

This  module  implements  the  Transmit  DMA  to  transfer  the  frames  from  the  Host  Memory  to  the  Transmit  FIFO  using  the  Transmit  Descriptors.  

2.3.2.4 EMAC_TXFIFO  

This  module  has  a  configurable  FIFO  to  store  the  Frames  that  are  received  from  the  Host  memory  before  the  frames  are  transferred  onto  Ethernet  Interface.  This  module  also  has  additional  FIFO  control  logic  that  helps  in  frame  retransmission  during  Collisions.  

2.3.2.5 EMAC_TX  

This  module  implements  the  Frame  Transmit  State  Machine  of  the  CSMA/CD  protocol  by  transmitting  frames  onto  either  MII  or  GMII  Interface  based  on  the  Speed.  

2.3.2.6 DMA_CSR  

This  module  implements  the  Control  and  Status  Registers  to  control  the  operation  of  Receive  and  Transmit  DMA  and  also  the  Receive  and  Transmit  operations  of  the  Ethernet  Interface.  This  module  also  provides  access  to  the  Statistics  Counters  and  provides  interrupt/status  information  to  the  AHB  Host.  

2.3.2.7 STATISTICS  

This  module  maintains  various  counters  to  perform  Statistics  for  both  Transmit  and  Receive  operation  

2.3.2.8 PAUSE_FC  

This  module  decodes  the  Pause  Frames  received  when  the  EMAC  Core  is  in  Full  Duplex  Mode  and  implements  the  PAUSE_TIMER  to  disable  the  EMAC_TX  module.  Also  this  module  generates  Pause  Frames  on  Software  request  

2.3.2.9 2.9  MDC/MDIO  Controller  

This  module  generates  MDIO  Frames  to  talk  to  external  PHY  Devices  

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       6    

2.3.2.10 RX_DMA  

This  module  implements  the  Receive  DMA  to  transfer  the  frames  from  the  Internal  FIFO  to  the  Host  Memory  using  the  Receive  Descriptors  

2.3.2.11 EMAC_RXFIFO  

This  module  has  a  configurable  FIFO  to  store  the  received  frames  before  they  are  transferred  to  the  Host  memory.  This  module  also  has  additional  control  logic  to  flush  error  packets  from  the  FIFO.  

2.3.2.12 EMAC_RX  

This  module  implements  the  Frame  Receive  State  Machine  of  the  CSMA/CD  Protocol  by  receiving  frames  from  MII/GMII  Interface  and  performing  field  extraction  and  error  checking.  

2.3.2.13 AHB/AXI  Master  Interface  

The  AHB  Master  Interface  (32-­‐bit  or  64-­‐bit)  is  used  for  bus  mastering  capability  on  the  AHB  Bus  by  the  GEMAC  Core.  The  core  generates  transactions  on  this  interface  to  transfer  frame  data  between  the  Host  memory  and  the  internal  FIFO’s.  Using  this  interface  the  descriptors  are  transferred.  

2.3.2.14 AHB/AXI  Slave  (Target)  Interface  

The  AHB  or  AXI  Target  (also  called  as  Slave)  Interface  provides  a  32-­‐bit  data  interface  to  read/write  the  internal  registers  in  the  GEMAC  Core.  

2.3.2.15 MII/GMII  Interface  

The  GEMAC  Core  interfaces  to  the  external  PHY  device  using  the  IEEE802.3  compliant  GMII/MII  Interface.  In  case  of  10/100  Mbps,  the  MII  Interface  (4-­‐bit  wide)  is  used  and  when  operating  in  1000  Mbps  mode,  the  GMII  Interface  (8-­‐bit  wide)  is  used.  This  interface  is  specified  in  the  IEEE  802.3  specification.  Any  of  the  Standard  Ethernet  PHY  Controller  Chips  can  be  hooked  onto  this  interface  for  connecting  to  the  Ethernet  Cable  

2.3.2.16 MDC/MDIO  Interface  

This  is  a  2-­‐wire  interface  that  is  used  to  configure  and  control  an  external  IEEE802.3  Compliant  PHY  device  using  the  MII  Management  Frame  structure.  The  interface  is  defined  in  the  IEEE802.3  Specification.  

2.3.2.17 SGMII/RGMII  Interface  

The  GEMAC  Core  optionally  supports  Reduced  GMII  (RGMII)  and  Serial  GMII  (SGMII)  Interfaces  to  reduce  the  pin  count  on  the  Ethernet  Interface.  

   

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       7    

2.4 Pinout  Diagrams  2.4.1 Gigabit  Ethernet  –  AHB  IP  Core  Pinout  Diagram  

 

Figure  3:  Gigabit  Ethernet-­‐AHB  Core  Pinout  Diagram  

   

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       8    

2.4.2 Signal  Descriptions  The  following  table  describes  each  of  the  Gigabit  Ethernet-­‐AHB  signals  in  detail.  All  signals  are  active  high  unless  specified.  Active  low  signals  are  suffixed  with  “_n”  

• All  signals  that  Interface  to  the  MII/GMII  interface  are  prefixed  with  “gmii_”  • All  signals  that  Interface  to  the  AHB  master  Interface  are  prefixed  with  “ahbmaster_”  • All  signals  that  Interface  to  the  AHB  slave  Interface  are  prefixed  with  “ahbtarget_”  

Table  1:  Gigabit  Ethernet-­‐AHB  Core  Pin-­‐Out  Description  

Signal  Name   I/O   Description  

MII/GMII  Interface  

txclk   Input   txclk  (MII/GMII  Transmit  Clock)  is  a  continuous  clock  that  provides  for  the  timing  reference  for  the  transfer  of  the  gmii_txen,  gmii_txer,  and  gmii_txd[7:0]  signals  from  the  Gigbit  Ethernet-­‐AHB  Core  to  the  Ethernet  PHY  Controller.  In  the  MII  Mode  the  txclk  is  sourced  by  the  External  Ethernet  PHY  Controller  chip.  The  operating  frequency  of  the  txclk  is  25  MHz  when  operating  at  100-­‐Mb/s  and  2.5  MHz  when  operating  at  10-­‐Mb/s.  In  the  GMII  Mode  the  txclk  is  sourced  from  the  Application.  Also  this  is  sent  out  as  gmii_txclk.  The  operating  frequency  of  the  txclk  is  125  MHz  in  this  mode.  A  Clock  mux  is  required  to  multiplex  the  125  Mhz  (for  1000  Mbps)  Clock  and  MII_TXCLK  (for  10/100  Mbps)  outside  of  the  Core.    

gmii_txd[7:0]     Output   gmii_txd[7:0]  (GMII/MII  Transmit  Data)  is  driven  by  the  Gigabit  Ethernet-­‐AHB  Core  to  the  External  PHY  Controller/PCS  Module.  gmii_txd  will  transition  synchronously  with  respect  to  the  txclk.  For  each  txclk  period  in  which  gmii_txen  is  asserted,  gmii_txd  will  have  the  data  to  be  accepted  by  the  Ethernet  PHY  Controller  chip/PCS  Module.  gmii_txd[0]  is  the  least  significant  bit.  While  gmii_txen  is  de-­‐asserted  the  data  presented  on  gmii_txd  should  be  ignored.  When  the  Gigbit  Ethernet-­‐AHB  is  operating  in  MII  Mode  (10/  100  Mbps),  only  the  lower  4  bits  (gmii_txd[3:0])  are  used  to  drive  the  data.    

gmmi_txen   Output   gmii_txen  (GMII/MII  Transmit  Enable)  indicates  that  the  Gigbit  Ethernet-­‐AHB  Core  is  presenting  data  on  the  GMII/MII  for  transmission.  It  will  be  asserted  by  the  Gigbit  Ethernet-­‐AHB  Core  with  the  first  byte/nibble  of  the  preamble  and  will  remain  asserted  while  all  data  to  be  transmitted  are  presented  on  the  GMII/MII  Interface.  gmii_txen  will  be  negated  prior  to  the  first  clock  following  the  final  byte/nibble  of  the  frame.  gmii_txen  is  driven  by  the  Gigbit  Ethernet-­‐AHB  Core  and  will  

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       9    

transition  synchronously  with  respect  to  the  txclk.  When  asserted  the  gmii_txen  will  be  at  logic  '1'  and  it  will  be  at  logic  '0'  while  de-­‐asserted.    

gmii_txer     Output   gmii_txer  (GMII/MII  Transmit  Error)  indicates  that  the  current  frame  is  errored  by  the  Gigbit  Ethernet-­‐AHB.  gmii_txer  is  asserted  on  the  last  clock  of  the  frame  when  Gigabit  Ethernet-­‐  AHB  decides  to  force  an  EOP-­‐ERROR.  gmii_txer  is  driven  by  the  Gigabit  Ethernet-­‐AHB  Core  and  will  transition  synchronously  with  respect  to  the  txclk.  When  asserted  the  gmii_txer  will  be  at  logic  '1'  and  it  will  be  at  logic  '0'  while  de-­‐asserted.    

rxclk     Input   rxclk  (GMII/MII  Receive  Clock)  is  the  receive  clock  on  which  the  Receive  GMII/MII  Interface  signals  are  synchronous  with.  The  GMII/MII  based  external  PHY  derives  this  from  the  input  data  stream  and  passes  it  along  with  the  other  GMII  Receive  Interface  signals  to  the  Gigbit  Ethernet  Core.  The  “gmii_rxclk”  has  a  nominal  frequency  of  2.5  MHz  at  10  Mbps  speed,  25  MHz  at  100  Mbps  speed  and  125  MHz  at  1000  Mbps  speed.    

gmii_rxd[7:0]   Input   gmii_rxd[7:0]  (GMII/MII  Receive  Data)  driven  by  the  Ethernet  PHY  Controller  chip/PCS  Module.  gmii_rxd  will  transition  synchronously  with  respect  to  the  rxclk.  For  each  rxclk  period  in  which  gmii_rxdv  is  asserted,  gmii_rxd  contains  recovered  frame  data  byte/nibble  to  be  accepted  by  the  Gigabit  Ethernet-­‐AHB  Core.  gmii_rxd[0]  is  the  least  significant  bit.  While    gmii_rxdv  is  de-­‐asserted,  gmii_rxd  will  have  no  effect  on  the  Gigabit  Ethernet-­‐AHB  Core.  When  the  Gigabit  Ethernet-­‐AHB  is  operating  in  MII  Mode  (10/100  Mbps),  only  the  lower  4  bits  (gmii_rxd[3:0])  are  used  to  drive  the  data.    

gmii_rxdv      

Input   gmii_rxdv  (MII/GMII  Receive  Data  Valid)  is  driven  by  the  External  Ethernet  PHY  Controller/PCS  Module  to  indicate  the  Gigabit  Ethernet-­‐AHB  Core  that  it  is  presenting  the  recovered  and  decoded  data  on  the  gmii_rxd  bus.  gmii_rxdv  transitions  synchronously  with  respect  to  the  rxclk.  gmii_rxdv  will  be  asserted  continuously  from  the  first  recovered  data  byte/nibble  of  the  frame  through  the  final  recovered  data  byte/nibble,  and  will  be  negated  prior  to  the  first  rxclk  that  follows  the  final  data  byte/nibble.  When  asserted  the  gmii_rxdv  will  be  at  logic  ’1’  and  it  will  be  at  logic  ’0’  while  de-­‐asserted.    

gmii_rxer      

Input   gmii_rxer  (GMII/MII  Receive  Error)  is  driven  by  the  External  Ethernet  PHY  Controller  chip/PCS  Module  to  indicate  that  an  error  (example  -­‐  a  coding  error,  or  any  error  that  the  PHY/PCS  is  capable  of  detecting,  and  that  

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       10    

otherwise  be  undetectable  by  the  MAC)  was  detected  somewhere  in  the  frame  presently  being  transferred  from  the  PHY  to  the  Gigabit  Ethernet-­‐AHB  Core.  gmii_rxer  will  transition  synchronously  with  respect  to  rxclk  and  may  be  asserted  for  one  or  more  clocks  while  the  frame  is  being  received.  While  gmii_rxdv  is  de-­‐asserted,  gmii_rxer  will  have  no  effect  on  the  Gigbit  Ethernet-­‐AHB  Core.  When  asserted  the  gmii_rxer  will  be  at  logic  ’1’  and  it  will  be  at  logic  ’0’  while  de-­‐asserted.    

gmii_col      

Input   gmii_col  (GMII/MII  Collision)  is  asserted  by  the  External  Ethernet  PHY  Controller  Chip/PCS  Module  upon  detection  of  a  collision  on  the  medium,  and  remains  asserted  while  the  collision  condition  persists.  The  transitions  on  the  gmii_col  signal  are  not  synchronous  to  either  the  txclk  or  the  rxclk.  The  COL  signal  is  ignored  by  the  Gigabit  Ethernet-­‐AHB  Core  when  operating  in  the  Full-­‐Duplex  Mode  or  when  it  is  operating  in  GMII  mode.    

gmii_crs      

Input   gmii_crs  (GMII/MII  Carrier  Sense)  is  asserted  by  the  External  Ethernet  PHY  Controller  Chip/PCS  Module  when  either  Transmit  or  Receive  medium  is  non  idle.  gmii_crs  is  deasserted  when  both  the  Transmit  and  Receive  medium  are  idle.  The  PHY/PCS  should  ensure  that  gmii_crs  remains  asserted  throughout  the  duration  of  a  collision  condition.  The  transitions  on  the  gmii_crs  signal  are  not  synchronous  to  either  the  txclk  or  the  rxclk.    

MDIO  Interface  Signals  

gmii_mdc      

Output   gmii_mdc  (GMII/MII  MDC)  is  sourced  by  the  Gigabit  Ethernet-­‐  AHB  Core  to  the  External  Ethernet  PHY  Controller  as  the  timing  reference  for  transfer  of  information  on  the  gmii_mdi/  gmii_mdo  signals.  gmii_mdc  is  an  aperiodic  signal  that  has  no  maximum  high  or  low  times.  The  minimum  high  and  low  times  for  gmii_mdc  will  be  160  ns  each,  and  the  minimum  period  for  gmii_mdc  will  be  400  ns,  regardless  of  the  nominal  period  of  txclk  and  rxclk.    Note:  The  gmii_mdc  is  derived  from  the  ahbclk.  The  frequency  of  the  gmii_mdc  is  1/64th  of  the  ahbclk  frequency.    

gmii_mdi      

Input   gmii_mdi  (GMII/MII  MDI)  is  the  data  input  signal  from  the  External  Ethernet  PHY  Controller.  The  Read  Data  is  driven  by  the  PHY  synchronously  with  respect  to  the  gmii_mdc  clock  during  the  read  cycles.    

gmii_mdo      

Output   gmii_mdo  (GMII/MII  MDO)  is  the  data  output  signal  from  the  Gigabit  Ethernet-­‐AHB  Core  that  is  used  to  drive  the  control  information  during  the  Read/Write  cycles  to  the  External  PHY    Controller.  The  gmii_mdo  signal  is  driven  by  the  Gigabit  

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       11    

Ethernet-­‐AHB  Core  synchronously  with  respect  to  the  gmii_mdc.    

gmii_mdoen_n      

Output   gmii_mdoen_n  (GMII/MII  MDO  Enable)  is  the  tri-­‐state  enable  signal  to  drive  the  gmii_mdo  on  to  the  MDIO  pin.  This  is  a  low  asserted  signal.    

AHB  Master  Interface  Signals  

ahbclk      

Input   ahbclk  (AHB  Clock)  is  the  system  clock  on  which  both  the  AHB  Master  Interface  and  AHB  slave  Interface  is  synchronous  to.    

ahbreset_n      

Input   ahbreset_n  (AHB  Reset)  is  the  System  Reset  to  reset  the  Gigabit  Ethernet-­‐AHB  Core  to  the  default  State.  This  is  an  active  low  signal.  When  asserted,  this  signal  must  be  asserted  for  at  least  64  Clock  cycles.    

ahb_intr     Output   Interrupt  Output  to  the  AHB  Bus    ahbmaster_hbusreq   Output   Bus  Request  on  the  AHB  Master  Interface.    ahbmaster_hgrant     Input   Bus  Grant  on  the  AHB  Master  Interface.  ahbmaster_haddr[31:0]      

Output   Bus  Address  on  the  AHB  Master  Interface.  This  is  a  Byte  Addressable  Address.    

ahbmaster_hwdata[31:0]   Output   Write  Data  on  the  AHB  Master  Interface.      

ahbmaster_hrdata[31:0]      

Input   Read  Data  on  the  AHB  Master  Interface.      

ahbmaster_hwrite      

Output   Write  or  Read  Direction  Indication  for  the  current  AHB  Master  transaction.    1’b1:  Write    1’b0:  Read    

ahbmaster_hsize[2:0]   Output   Size  of  the  Data  width.      

ahbmaster_htrans[1:0    

Output   Transfer  Type      

ahbmaster_hburst[2:0]      

  Output  Burst  Size      

ahbmaster_hready_glbl      

Input   Global  Ready      

ahbmaster_hresp[1:0]      

Input   Transfer  Response      

ahbmaster_intr      

Output   Interrupt  Output  to  the  AHB  Bus.      

AHB  Slave  Interface  Signals  

ahbtarget_haddr[15:0]   Input   Bus  Address  on  the  AHB  slave  Interface.  This  is  a  Byte    Addressable  Address.    • Only  16-­‐bits  of  the  Address  are  used.    • All  Registers  in  the  Gigabit  Ethernet-­‐AHB  Core  are  

32-­‐bit  aligned.    ahbtarget_hwdata[31:0]   Input   Write  Data  on  the  AHB  slave  Interface.  

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       12    

ahbtarget_hwrite     Input   Write  or  Read  Direction  Indication  for  the  current  AHB  slave  transaction.    1’b1:  Write    1’b0:  Read    

ahbtarget_hsize[2:0]     Input   Size  of  the  Data  width.  ahbtarget_htrans[1:0]     Input   Transfer  Type.  ahbtarget_hburst[2:0]   Input   Burst  Size  for  the  current  AHB  transaction.    ahbtarget_hready_glbl     Output   Global  Ready  ahbtarget_hresp  [1:0]   Output   Transfer  Response  for  the  Current  AHB  slave  transaction    ahbtarget_hready_glbl     Input   Selected  HReady  from  all  Targets.  This  is  the  signal  that  

feeds  to  AHB  Targets      

   

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       13    

2.4.3 GEMAC-­‐AXI  PinOut  Diagram  

 

Figure  4:  GEMAC-­‐AXI  PinOut  Diagram  

   

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       14    

2.4.4 AXI  Interface  PinOut  Description  The  following  table  describes  each  of  the  GEMAC  Signal  in  detail.  All  signals  are  active  high  unless  specified.  

• Active  low  signals  are  suffixed  with  “_n”.  • All  signals  that  Interface  to  the  MII/GMII  Interface  are  prefixed  with  “gmii_”.  • The  AHB  Clock/Reset/Interrupt  signals  (when  AHB  Interface  is  used)  are  prefixed  with  “ahb_”  • All  signals  that  Interface  to  the  AHB  Master  Interface  (when  AHB  Interface  is  used)  are  prefixed  

with  “ahbmaster_”  • All  signals  that  Interface  to  the  AHB  Target  Interface  (when  AHB  Interface  is  used)  are  prefixed  

with“ahbtarget_”  • The  AXI  Clock/Reset/Interrupt  signals  (when  AHB  Interface  is  used)  are  prefixed  with  • “axi_”  • All  signals  that  Interface  to  the  AXI  Master  Interface  (when  AXI  Interface  is  used)  are  prefixed  

with  “aximst_”  • All  signals  that  Interface  to  the  AXI  Slave  (Target)  Interface  (when  AXI  Interface  is  used)  are  

prefixed  with  “axislv_”  

Table  2:  M-­‐RX  Data  Interface  Signals  

Signal   Direction   Description  

AXI  Clock/Reset/Interrupt  Signals  

axi_clk     Input   axi_clk  (AXI  Clock)  is  the  system  clock  on  which  both  the  AXI  Master  Interface  and  AXI  Slave  (Target)  Interface  is  synchronous  to.    

axi_reset_n   Input   axi_reset_n  (AXI  Reset)  is  the  System  Reset  to  reset  the  GEMAC  Core  to  the  default  State.  This  is  an  active  low  signal.  When  asserted,  this  signal  must  be  asserted  for  at  least  64  Clock  cycles.  

axi_intr   Output   Interrupt  Output  to  the  AXI  Bus    AXI  Master  Inter  

aximst_awid[3:0]   Output   Write  address  ID.  This  signal  is  the  identification  tag  for  the  write  address  group  of  signals.    

aximst_awaddr[31:0]      

Output   Write  address.  The  write  address  bus  gives  the  address  of  the  first  transfer  in  a  write  burst  transaction.  The  associated  control  signals  are  used  to  determine  the  addresses  of  the  remaining  transfers  in  the  burst.    

aximst_awlen[3:0]      

Output   Burst  length.  The  burst  length  gives  the  exact  number  of  transfers  in  a  burst.  This  information  determines  the  number  of  data  transfers  associated  with  the  address.    Refer  to  AMBA  Specification  for  encoding  of  this  field.    

aximst_awsize[2:0]   Output   Burst  size.  This  signal  indicates  the  size  of  each  transfer  in  the  burst.    Byte  lane  strobes  indicate  exactly  which  byte  lanes  to  update.    

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       15    

The  AXI  Master  interface  supports  8,  16,  32,  and  64-­‐bit  wide  data  transfers.  The  64-­‐bit  data  transfer  size  is  supported  only  when  the  Host  Data  Bus  Width  is  64-­‐bits.  The  following  are  the  valid  size  values  that  are  output  by  the  GEMAC  Core.    000:  8-­‐bit  Data  Transfer  Size    001:  16-­‐bit  Data  Transfer  Size    010:  32-­‐bit  Data  Transfer  Size    011:  64-­‐bit  Data  Transfer  Size.    

aximst_awburst[1:0]   Output   Burst  type.  The  burst  type,  coupled  with  the  size  information,  details  how  the  address  for  each  transfer  within  the  burst  is  calculated.    The  AXI  Master  interface  always  uses  INCR  Burst  with  value  of  2’b00    

aximst_awvalid   Output   Write  address  valid.  This  signal  indicates  that  valid  write  address  and  control  information  are  available:    1  =  address  and  control  information  available    0  =  address  and  control  information  not  available.    The  address  and  control  information  remain  stable  until  the  address  acknowledge  signal,  aximst_awready  (AWREADY),  goes  HIGH.    

aximst_awready      

Input   Write  address  ready.  This  signal  indicates  that  the  slave  is  ready  to  accept  an  address  and  associated  control  signals:    1  =  slave  ready    0  =  slave  not  ready.    

aximst_wid[3:0]     Output   Write  ID  tag.  This  signal  is  the  ID  tag  of  the  write  data  transfer.  The  aximst_wid  (WID)  value  matches  the  aximst_awid  (AWID)  value  of  the  write  transaction  

aximst_wdata[(DW-­‐1):0]   Output   Write  data.  The  write  data  bus  is  either  32-­‐bits  (DW=32)  or  64    (DW=64)  based  on  the  selected  Host  Data  Bus  Width    

aximst_wstrb[(BW-­‐1):0]     Output   Write  strobes.  This  signal  indicates  which  byte  lanes  are  valid  in  the  aximst_wdata  bus.  There  is  one  write  strobe  for  each  eight  bits  of  the  write  data  bus.  The  Write  strobe  bus  is  either  4  (BW=4)  when  the  Host  Bus  Width  is  32  or  8  (BW=8)  when  the  Host  Bus  Width  is  64.    

aximst_wlast     Output   Write  last.  This  signal  indicates  the  last  transfer  in  a  write  burst.    

aximst_wvalid     Output   Write  valid.  This  signal  indicates  that  valid  write  data  and  strobes  are  available:    1  =  write  data  and  strobes  available    0  =  write  data  and  strobes  not  available.    

aximst_wready      

Input   Write  ready.  This  signal  indicates  that  the  slave  can  accept  the  write  data:    1  =  slave  ready    0  =  slave  not  ready.    

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       16    

aximst_bid[3:0]   Input   Response  ID.  The  identification  tag  of  the  write  response.  The  aximst_bid  (BID)  value  must  match  the  aximst_awid  (AWID)  value  of  the  write  transaction  to  which  the  slave  is  responding.    

aximst_bresp[1:0]  I     Input   Write  response.  This  signal  indicates  the  status  of  the  write  transaction.    The  allowable  responses  are  as  follows:    2’b00  -­‐  OKAY    2’b01  -­‐  EXOKAY    2’b10  -­‐  SLVERR    2’b11  -­‐  DECERR.    The  Response  EXOKAY  should  never  be  asserted  as  the  Master  never  generates  Exclusive  access.    

aximst_bvalid   Input   Write  response  valid.  This  signal  indicates  that  a  valid  write  response  is  available:    1  =  write  response  available    0  =  write  response  not  available.    

aximst_bready   Output   Response  ready.  This  signal  indicates  that  the  GEMAC  Core  can  accept  the  response  information.    1  =  master  ready    0  =  master  not  ready.    

AXI  Master  Read  Interface  Signals  aximst_arid[3:0]   Output   Read  address  ID.  This  signal  is  the  identification  tag  for  

the  write  address  group  of  signals.    aximst_araddr[31:0]     Output   Read  address.  The  read  address  bus  gives  the  address  of  

the  first  transfer  in  a  read  burst  transaction.  The  associated  control  signals  are  used  to  determine  the  addresses  of  the  remaining  transfers  in  the  burst.    

aximst_arlen[3:0]   Output   Burst  length.  The  burst  length  gives  the  exact  number  of  transfers  in  a  burst.  This  information  determines  the  number  of  data  transfers  associated  with  the  address.    Refer  to  AMBA  Specification  for  encoding  of  this  field.    

aximst_arsize[2:0]   Output   Burst  size.  This  signal  indicates  the  size  of  each  transfer  in  the  burst.  Byte  lane  strobes  indicate  exactly  which  byte  lanes  to  update.    The  AXI  Master  interface  supports  8,  16,  32,  and  64-­‐bit  wide  data  transfers.  The  64-­‐bit  data  transfer  size  is  supported  only  when  the  Host  Data  Bus  Width  is  64-­‐bits.  The  following  are  the  valid  size  values  that  are  output  by  the  GEMAC  Core.    000:  8-­‐bit  Data  Transfer  Size    001:  16-­‐bit  Data  Transfer  Size    010:  32-­‐bit  Data  Transfer  Size    011:  64-­‐bit  Data  Transfer  Size    

aximst_arburst[1:0]      

Output   Burst  type.  The  burst  type,  coupled  with  the  size  information,  details  how  the  address  for  each  transfer  within  the  burst  is  calculated.  The  AXI  Master  interface  

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       17    

always  uses  INCR  Burst  with  value  of  2’b00.  aximst_arvalid   Output   Read  address  valid.  This  signal  indicates  that  valid  read  

address  and  control  information  are  available:    1  =  address  and  control  information  available    0  =  address  and  control  information  not  available.    The  address  and  control  information  remain  stable  until  the  address  acknowledge  signal,  aximst_arready  (ARREADY),  goes  HIGH.    

aximst_arready   Input   Read  address  ready.  This  signal  indicates  that  the  slave  is  ready  to  accept  an  address  and  associated  control  signals:    1  =  slave  ready    0  =  slave  not  ready.    

aximst_rid[3:0]   Input   Read  ID  tag.  This  signal  is  the  ID  tag  of  the  read  data  transfer.  The  aximst_rid  (RID)  value  matches  the  aximst_arid  (ARID)  value  of  the  read  transaction.  

aximst_rdata[(DW-­‐1):0]   Input   Read  data.  The  read  data  bus  is  either  32-­‐bits  (DW=32)  or  64    (DW=64)  based  on  the  selected  Host  Data  Bus  Width.    

aximst_rresp[1:0]   Input   Read  response.  This  signal  indicates  the  status  of  the  read  transaction.    The  allowable  responses  are  as  follows:    2’b00  -­‐  OKAY    2’b01  -­‐  EXOKAY    2’b10  -­‐  SLVERR    2’b11  -­‐  DECERR.    The  Response  EXOKAY  should  never  be  asserted  as  the  Master  never  generates  Exclusive  access.    

aximst_rlast     Input   Read  last.  This  signal  indicates  the  last  transfer  in  a  read  burst.    

aximst_rvalid     Input   Read  valid.  This  signal  indicates  that  valid  read  data  and  strobes  are  available:    1  =  read  data  and  strobes  available    0  =  read  data  and  strobes  not  available.    

aximst_rready   Output   Read  ready.  This  signal  indicates  that  the  GEMAC  Core  can  accept  the  read  data:    1  =  slave  ready    0  =  slave  not  ready.    

 

   

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       18    

Table  3:  AXI  Target  Interface  Signals  

Signal  Name   I/O   Description  

AXI  Target(Slave)  Write  Interface  Signals  axislv_awid[7:0]     Input   Write  address  ID.  This  signal  is  the  identification  tag  for  

the  write  address  group  of  signals.  axislv_awaddr[15:0]   Input   Write  address.  The  AXI  Slave  Interface  supports  only  

Single  length  transfers.  So  this  address  determines  the  address  of  the  transaction.    

axislv_awlen[3:0]   Input   Burst  length.  The  AXI  Slave  Interface  supports  only  Single  length  transfers.  So  this  value  had  to  be  set  to  4’b0000  for  all  transfers    

axislv_awsize[2:0]   Input   Burst  size.  This  signal  indicates  the  size  of  each  transfer  in  the  burst.  Byte  lane  strobes  indicate  exactly  which  byte  lanes  to  update.  The  AXI  Slave  interface  supports  only  32-­‐bit  wide  data  transfers.  So  this  value  had  to  be  set  to  3’b010  for  all  transfers.  

axislv_awburst[1:0]   Input   Burst  type.  The  AXI  Slave  interface  always  uses  INCR  Burst  with  value  of  2’b00.  

aximst_awvalid   Input   Write  address  valid.  This  signal  indicates  that  valid  write  address  and  control  information  are  available:    1  =  address  and  control  information  available    0  =  address  and  control  information  not  available.    The  address  and  control  information  remain  stable  until  the  address  acknowledge  signal,  axislv_awready  (AWREADY),  goes  HIGH.    

axislv_awready   Output   Write  address  ready.  This  signal  indicates  that  the  GEMAC  Core  is    ready  to  accept  an  address  and  associated  control  signals:    1  =  slave  ready    0  =  slave  not  ready.    

axislv_wid[7:0]   Input   Write  ID  tag.  This  signal  is  the  ID  tag  of  the  write  data  transfer.  The  axislv_wid  (WID)  value  should  match  the  axislv_awid  (AWID)  value  of  the  write  transaction.  

aximst_wdata[31:0]   Input   Write  data.  The  AXI  Slave  Interface  supports  only  32-­‐bit  wide  data  transfers  on  32-­‐bit  wide  data  bus.  

aximst_wstrb[3:0]   Input   Write  strobes.  This  signal  indicates  which  byte  lanes  are  valid  in  the  axislv_wdata  bus.  There  is  one  write  strobe  for  each  eight  bits  of  the  write  data  bus.    

axislv_wlast     Input   Write  last.  This  signal  indicates  the  last/only  transfer  in  a  write  burst.  

axislv_wvalid   Input   Write  valid.  This  signal  indicates  that  valid  write  data  and  strobes  are  available:    1  =  write  data  and  strobes  available    0  =  write  data  and  strobes  not  available.    

axislv_wready   Output   Write  ready.  This  signal  indicates  that  the  GEMAC  Core  

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       19    

Signal  Name   I/O   Description  

AXI  Target(Slave)  Write  Interface  Signals  can  accept  the  write  data:    1  =  slave  ready    0  =  slave  not  ready.    

axislv_bid[7:0]   Output   Response  ID.  The  identification  tag  of  the  write  response.  The  axislv_bid  (BID)  value  matches  the  axislv_awid  (AWID)  value  of  the  write  transaction  to  which  the  slave  is  responding.    

axislv_bresp[1:0]   Output   Write  response.  This  signal  indicates  the  status  of  the  write  transaction.  The  allowable  responses  are  as  follows:    2’b00  -­‐  OKAY    2’b01  -­‐  EXOKAY    2’b10  -­‐  SLVERR    2’b11  -­‐  DECERR.    The  Response  EXOKAY  will  never  be  asserted  as  the  Slave  does  not  support  Exclusive  access.    

axislv_bvalid   Output   Write  response  valid.  This  signal  indicates  that  a  valid  write  response  is  available:    1  =  write  response  available    0  =  write  response  not  available    

axislv_bready   Input   Response  ready.  This  signal  indicates  that  the  master  can  accept  the  response  information.    1  =  master  ready    0  =  master  not  ready.    

AXI  Target(Slave)  Read  Interface  Signals  axislv_arid[7:0]     Input     Read  address  ID.  This  signal  is  the  identification  tag  for  

the  write  address  group  of  signals    araddr[15:0]     Input     Read  address.  The  AXI  Slave  Interface  supports  only  

Single  length  transfers.  So  this  address  determines  the  address  of  the  transaction.    

axislv_arlen[3:0]     Input     Burst  length.  The  AXI  Slave  Interface  supports  only  Single  length  transfers.  So  this  value  had  to  be  set  to  4’b0000  for  all  transfers.    

axislv_arsize[2:0]     Input     Burst  size.  This  signal  indicates  the  size  of  each  transfer  in  the  burst.  Byte  lane  strobes  indicate  exactly  which  byte  lanes  to  update.  The  AXI  Slave  interface  supports  only  32-­‐bit  wide  data  transfers.  So  this  value  had  to  be  set  to  3’b010  for  all  transfers.    

axislv_arburst[1:0]     Input     Burst  type.  The  AXI  Slave  interface  always  uses  INCR  Burst  with  value  of  2’b00.    

axislv_arvalid     Input     Read  address  valid.  This  signal  indicates  that  valid  write  address  and  control  information  are  available:    1  =  address  and  control  information  available    0  =  address  and  control  information  not  available.    

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       20    

Signal  Name   I/O   Description  

AXI  Target(Slave)  Write  Interface  Signals  The  address  and  control  information  remain  stable  until  the  address  acknowledge  signal,  axislv_arready  (ARREADY),  goes  HIGH.    

axislv_arready     Output     Write  address  ready.  This  signal  indicates  that  the  GEMAC  Core  is    ready  to  accept  an  address  and  associated  control  signals:    1  =  slave  ready    0  =  slave  not  ready.    

axislv_rid[7:0]     Output     Read  ID  tag.  This  signal  is  the  ID  tag  of  the  read  data  transfer.  The  axislv_rid  (RID)  value  matches  the  axislv_arid  (ARID)  value  of  the  read  transaction    

aximst_rdata[31:0]     Output     Read  data.  The  AXI  Slave  Interface  supports  only  32-­‐bit  wide  data  transfers  on  32-­‐bit  wide  data  bus.    

axislv_rresp[1:0]     Output     Read  response.  This  signal  indicates  the  status  of  the  read  transaction.    The  allowable  responses  are  as  follows:    2’b00  -­‐  OKAY    2’b01  -­‐  EXOKAY    2’b10  -­‐  SLVERR    2’b11  -­‐  DECERR.    The  Response  EXOKAY  should  never  be  asserted  as  the  Master  never  generates  Exclusive  access.    

axislv_rlast     Output     Read  last.  This  signal  indicates  the  last  transfer  in  a  read  burst.    

axislv_rvalid     Output     Read  valid.  This  signal  indicates  that  valid  read  data  and  strobes  are  available:    1  =  read  data  and  strobes  available    0  =  read  data  and  strobes  not  available.    

axislv_rready     Input     Read  ready.  This  signal  indicates  that  the  Master  can  accept  the  read  data:    1  =  slave  ready    0  =  slave  not  ready.    

 

2.4.5 RGMII  Interface  The  Gigabit  Ethernet  -­‐  AHB  core  can  optionally  support  Reduced  GMII  (RGMII)  interface,  that  is  compliant  with  “RGMII  Specification  Rev  1.3”,  to  reduce  the  pin  count  on  the  GMII  interface.  The  GMII  interface  comprises  of  25  pins  for  data  and  control  signals.  The  RGMII  interface  has  four  bit  wide  data-­‐path  along  with  one  bit  control  for  each  transmit  and  receive  direction  resulting  in  a  total  of  12  pins.  The  MDC/MDIO  interface  is  unaffected  by  the  RGMII  interface.  The  RGMII  interface  has  the  following  characteristics:  

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       21    

• Capable  of  supporting  10  Mbps,  100  Mbps  and  1000  Mbps  data  rates.  • Independent  transmits  and  receives  clocks  whose  speed  is  based  on  data  rate  of  interface.  • Provides  independent  4-­‐bit  wide  transmit  and  receive  data  paths.  • Operates  on  both  edges  of  transmit  and  receive  clock.  

The  Gigabit  Ethernet  -­‐  AHB  core  implements  an  optional  RGMII  interface  module  that  is  connected  to  the  GMII  interface  of  the  core  and  provides  translation  between  the  GMII  interface  and  RGMII  interface.  The  RGMII  interface  module  also  decodes  the  Carrier  Sense  and  Collision  signals  from  the  receive  and  transmit  data  and  provides  it  to  the  GMII  Interface  of  the  core.  The  GMII  interface  is  not  visible  when  the  RGMII  interface  is  chosen.  

The  following  figure  shows  the  signal  reconciliation  mapping  between  the  GMII  interface  and  the  RGMII  interface.  

 

Figure  5:  GMII  interface  to  RGMII  interface  signal  mapping  

   

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       22    

2.4.6 GEMAC-­‐AHB  PinOut  Block  Diagram  with  RGMII  Interface  

 

Figure  6:  Gigabit  Ethernet-­‐AHB  Core  Pinout  Diagram  with  RGMII  Interface  

   

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       23    

2.4.7 GEMAC-­‐AXI  PinOut  Block  Diagram  with  RGMII  Interface  

 

Figure  7:  GEMAC-­‐AXI  PinOut  Diagram  with  RGMII  Interface  

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       24    

2.4.8 RGMII  Signal  Description  The  following  table  describes  the  RGMII’s  interface  signals  as  the  RGMII  interface.  The  RGMII  interface  replaces  the  GMII  interface  signals  in  the  Gigbit  Ethernet  -­‐  AHB  core  when  RGMII  Interface  is  selected.  The  RGMII  Signals  have  a  prefix  of  “rgmii_”.    

Table  4:  RGMII  Signal  Description  

Signal  Name   I/O   Description  

RGMII  Interace  txclk     Input     txclk  (RGMII  Transmit  Clock)  is  a  continuous  clock  that  

provides  for  the  timing  reference  for  the  transfer  of  the  rgmii_txctl,  and  gmii_txd[3:0]  signals  from  the  Gigabit  Ethernet-­‐AHB  Core  to  the  RGMII  based  Ethernet  PHY  Controller.  The  frequency  of  the  txclk  should  be  125  MHz,  25  MHz,  or  2.5  MHz  based  on  the  speed  of  the  operation.  The  txclk  will  be  sent  out  with  delay  (either  in  the  ASIC  or  on  the  Board)  as  rgmii_txc  to  the  PHY  device.    

rgmii_txctl     Output     rgmii_txctl  (RGMII  Transmit  Control)  contains  the  Transmit  Control  from  the  Gigabit  Ethernet-­‐AHB  Core.  rgmii_txctl  will  transition  synchronously  with  respect  to  the  txclk.  The  value  on  rgmii_txctl  indicates  gmii_txen  the  rising  edge  of  the  txclk  and  a  logical  derivative  of  gmii_txen  and  gmii_txer  (rgmii_txen    XOR  rgmii_txer)  on  the  falling  edge  of  the  txclk.    

rgmii_txd[3:0]     Output     rgmii_txd[3:0]  (RGMII  Transmit  Data)  is  driven  by  the  Gigabit  Ethernet-­‐AHB  Core  to  the  External  PHY  Controller  Module.  rgmii_txd  will  transition  synchronously  with  respect  to  the  txclk.  The  rgmii_txd[3:0]  contains  gmii_txd[3:0]  on  the  rising  edge  of  txclk  and  gmii_txd[7:4]  on  the  falling  edge  of  the  txclk    

rxclk     Input     rxclk  (RGMII  Receive  Clock)  is  the  receive  clock  on  which  the  Receive  RGMII  Interface  signals  are  synchronous  with.  The  RGMII  based  external  PHY  derives  this  from  the  input  data  stream  and  passes  it  along  with  the  other  RGMII  Receive  Interface  signals  to  the  Gigabit  Ethernet-­‐AHB  Core.  The  “rgmii_rxclk”  has  a  nominal  frequency  of  2.5  MHz  at  10  Mbps  speed,  25  MHz  at  100  Mbps  speed  and  125  MHz  at  1000  Mbps  speed.    

rgmii_rxctl     Input     rgmii_rxctl  (RGMII  Receive  Control)  is  driven  by  the  external  RGMII  based  Ethernet  PHY  Controller  Module.  rgmii_rxctl  will  transition  synchronously  with  respect  to  the  rxclk.  The  value  rgmii_rxctl  indicates  gmii_rxdv  on  the  rising  edge  of  the  rxclk  and  a  derivative  of  gmii_rxdv  and  gmii_rxer  (rgmii_rxdv  XOR  rgmii_rxer)  on  the  falling  edge  of  rxclk.    

rgmii_rxd[3:0]     Input     rgmii_rxd[3:0]  (RGMII  Receove  Data)  is  driven  by  the  

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       25    

Signal  Name   I/O   Description  

RGMII  Interace  External  PHY  Controller  Module.  rgmii_rxd  will  transition  synchronously  with  respect  to  the  rxclk.  The  rgmii_rxd[3:0]  contains  gmii_rxd  [3:0]  on  the  rising  edge  of  rxclk  and  gmii_rxd[7:4]  on  the  falling  edge  of  the  rxclk.    

MDIO  Interface  rgmii_mdc     Output     rgmii_mdc  (GMII/MII  MDC)  is  sourced  by  the  GEMAC  

Core  to  the  External  Ethernet  PHY  Controller  as  the  timing  reference  for  transfer  of  information  on  the  gmii_mdi/gmii_mdo  signals.  rgmii_mdc  is  an  aperiodic  signal  that  has  no  maximum  high  or  low  times.  The  minimum  high  and  low  times  for  gmii_mdc  will  be  160  ns  each,  and  the  minimum  period  for  rgmii_mdc  will  be  400  ns,  regardless  of  the  nominal  period  of  txclk  and  rxclk.  Note:  The  rgmii_mdc  is  derived  from  the  ahb_clk/axi_clk.  The  frequency  of  the  rgmii_mdc  is  1/64th  of  the  ahb_clk/axi_clk  frequency.    

rgmii_mdi     Input     rgmii_mdi  (GMII/MII  MDI)  is  the  data  input  signal  from  the  External  Ethernet  PHY  Controller.  The  Read  Data  is  driven  by  the  PHY  synchronously  with  respect  to  the  rgmii_mdc  clock  during  the  read  cycles.    

rgmii_mdo     Output     rgmii_mdo  (GMII/MII  MDO)  is  the  data  output  signal  from  the  GEMAC  Core  that  is  used  to  drive  the  control  information  during  the  Read/Write  cycles  to  the  External  PHY  Controller.  The  rgmii_mdo  signal  is  driven  by  the  GEMAC  Core  synchronously  with  respect  to  the  rgmii_mdc.    

rgmii_mdoen_n     Output     rgmii_mdoen_n  (GMII/MII  MDO  Enable)  is  the  tri-­‐state  enable  signal  to  drive  the  rgmii_mdo  on  to  the  MDIO  pin.  This  is  a  low  asserted  signal.    

 

   

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       26    

2.5 SoC  Level  Integration  2.5.1 Applications  The  Gigabit  Ethernet  -­‐  AHB  core  can  be  used  in  an  SOC  application  that  requires  Ethernet  connectivity.  Another  application  example  is  a  PCI/PCIExpress  Network  Interface  Card  (NIC)  with  a  Gigabit  Ethernet  interface.  The  followings  show  the  examples:  

 

Figure  8:  Gigabit  Ethernet-­‐AHB  core  used  in  an  SOC  Implementation  

 

Figure  9:  Gigabit  Ethernet-­‐AHB  core  Used  in  PCI/PCIExpress  Network  Interface  Card  

2.5.2 IP  Deliverables  The  IP  package  consists  of  the  following:    • RMM  Compliant  Synthesizable  RTL  design  in  Verilog    • Easy-­‐to-­‐use  test  environment    • Synthesis  scripts    • Technical  documents    

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       27    

3 10  Gigabit  Ethernet  MAC  Controller  3.1 Overview  Arasan’s  (XGMAC)  IP  is  compliant  with  the  Ethernet  IEEE  802.3-­‐2008  standard  and  provides  an  interface  between  AHB/AXI  Bus  and  the  10  Gigabit  Media  Independent  Interface  (XGMII)  using  a  powerful  64-­‐bit  Scatter  Gather  DMA.  The  10  Gigabit  Ethernet  IP  is  designed  for  applications  such  as  integrated  networking  devices,  host  bus  adapters,  PCI-­‐Express  Ethernet  controllers,  and  Ethernet  adapter  cards.

The  XGMAC  operates  at  a  speed  of  10  Gbps  in  full  duplex  mode  only.  The  XGMAC  provides  features  that  include  transmit  and  receive  message  data  encapsulation,  framing,  error  code  detection,  dynamic  FCS  generation  and  calculation  on  frame  by  frame  basis,  automatic  pad  insertion  and  deletion  to  enforce  minimum  frame  size  requirements.  The  XGMAC  also  supports  flow  control  operation  by  supporting  generation  and  decoding  of  PAUSE  control  frames.  The  XGMAC  also  supports  generation  of  Management  frames  on  MDC/MDIO  signals  to  communicate  with  an  external  PHY  device.

The  XGMAC  IP  core  consists  of  two  configurable  FIFOs  on  both  transmits  and  receives  sides  to  handle  the  application’s  latency  during  frame  transmission  and  reception.  To  enhance  the  system  performance,  an  AHB/AXI  master  and  a  64-­‐bit  scatter-­‐gather  DMA  transfer  packets  between  the  internal  FIFOs  and  host  memory.  The  XGMAC  IP  supports  the  XGMII  interface  and  a  MDIO/MDC  (Management  Data  Input/  Output  and  Management  Data  Clock)  management  interface  provides  control  and  management  functions  to  external  PHY  devices.  The  XGMAC  IP  also  provides  enhanced  programmable  features  for  minimizing  applications  complexity  and  pre/post  message  processing.  The  XGMAC  IP  supports  MIB,  SNMP,  RMON,  VLAN  Q-­‐Tag  frame,  and  Jumbo  frames.  It  also  includes  dynamic  generation,  checking,  and  stripping  of  FCS  field,  and  automatic  pad  field  insertion.  Other  features  of  the  XGMAC  IP  includes  generation  and  decoding  of  PAUSE  control  frames,  frame  boundary  delimitation,  frame  synchronization,  and  error  detection.

3.2 Features  • Full-­‐duplex  mode  at  10  Gbps    • Supports  XGMII  interface    • Independent  64-­‐bit  scatter-­‐gather  DMA  with  big/  little  endian  operation    • PAUSE  frame  based  flow  control  in  full-­‐duplex  mode    • MDIO/MDC  management  interface    • 802.3  compliant  MIB,  SNMP,  RMON  management  support    • Configurable  transmit  and  receive  FIFOs    • Supports  Jumbo  frames    • Supports  Magic  Packet  or  WakeonLan  packets    • Optional  ,  PCIe,  PCI,  or  custom  bus  interfaces    

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       28    

 

3.3 Architecture  3.3.1 Functional  Block  Diagram  The  following  figure  shows  the  high-­‐level  block  diagram  along  with  various  functional  blocks  of  the  XGMAC  Core.

 

Figure  10:  XGMAC  Core  Block  Diagram  

3.3.2 Functional  Block  Diagram  Description  

3.3.2.1 XGMII  Interface

The  XGMAC  Core  interfaces  to  the  external  PHY  device  using  the  IEEE802.3  compliant  XGMII  with  32-­‐bit  data  and  4-­‐bit  control  and  independent  receive  and  transmit  clocks  running  at  156.25  MHz.

3.3.2.2 XGMII  (64-­‐bit  data/8-­‐bit  control)  Interface

Optionally  provides  a  64-­‐bit  data  and  8-­‐bit  control  interface  to  interface  to  XG-­‐XAUI  or  XG-­‐64B66B  PCS  Modules.  In  this  mode  the  XGMAC  can  run  at  156.25  MHz  independent  transmit/receive  clocks  or  161.13  MHz  independent  transmit/receive  clocks.  

   

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       29    

3.3.2.3 MDC/MDIO  Interface

This  is  a  2-­‐wire  interface  that  is  used  to  configure  and  control  an  external  IEEE802.3  Compliant  PHY  device  using  the  MII  Management  Frame  structure.  The  interface  is  defined  in  the  IEEE802.3  Specification.

3.3.2.4 AHB/AXI  Target  (Slave)  Interface

The  AHB  or  AXI  Target  (also  called  as  Slave)  Interface  provides  a  32-­‐bit  data  interface  to  read/write  the  internal  registers  in  the  XGMAC  Core

3.3.2.5 AHB/AXI  Master  Interface

The  AHB  Master  Interface  (64-­‐bit  or  128-­‐bit)  is  used  for  bus  mastering  capability  on  the  AHB  Bus  by  the  XGMAC  Core.  The  core  generates  transactions  on  this  interface  to  transfer  frame  data  between  the  Host  memory  and  the  internal  FIFO’s.  Also  the  Descriptors  are  transferred  using  this  interface.

3.3.2.6 XGMAC_TX

This  module  implements  the  Frame  Transmit  State  Machine  by  transmitting  frames  onto  XGMII  Interface.

3.3.2.7 XGMAC_RX

This  module  implements  the  Frame  Receive  State  Machine  by  receiving  frames  from  XGMII  Interface  and  performing  field  extraction  and  error  checking.

3.3.2.8 PAUSE_FC

This  module  decodes  the  Pause  Frames  received  when  the  XGMAC  Core  is  in  Full  Duplex  Mode  and  implements  the  PAUSE_TIMER  to  disable  the  XGMAC_TX  module.  Also  this  module  generates  Pause  Frames  on  Software  request.

3.3.2.9 MDC/MDIO  Controller

This  module  generates  MDIO  Frames  (Clause22  or  Clause45  Compliant)  to  talk  to  external  PHY  Devices.

3.3.2.10 STATISTICS

This  module  maintains  various  counters  to  perform  Statistics  for  both  Transmit  and  Receive  operation.

3.3.2.11 XGMAC_RXFIFO

This  module  has  a  configurable  FIFO  to  store  the  received  frames  before  they  are  transferred  to  the  Host  memory.  This  module  also  has  additional  control  logic  to  flush  error  packets  from  the  FIFO.

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       30    

3.3.2.12 XGMAC_TXFIFO

This  module  has  a  configurable  FIFO  to  store  the  Frames  that  are  received  from  the  Host  memory  before  the  frames  are  transferred  onto  Ethernet  Interface.  This  module  also  has  additional  FIFO  control  logic  that  helps  in  frame  retransmission  during  Collisions.

3.3.2.13 TXDMA

This  module  implements  the  Transmit  DMA  to  transfer  the  frames  from  the  Host  Memory  to  the  Transmit  FIFO  using  the  Transmit  Descriptors.

3.3.2.14 RXDMA

This  module  implements  the  Receive  DMA  to  transfer  the  frames  from  the  Internal  FIFO  to  the  Host  Memory  using  the  Receive  Descriptors

3.3.2.15 Registers

This  module  implements  the  Control  and  Status  Registers  to  control  the  operation  of  Receive  and  Transmit  DMA  and  also  the  Receive  and  Transmit  operations  of  the  Ethernet  Interface.  This  module  also  provides  access  to  the  Statistics  Counters  and  provides  interrupt/status  information  to  the  AHB  Host.

3.3.2.16 AHB/AXI  Master  Interface

This  module  provides  the  AHB/AXI  Master  functionality  to  generate  transactions  on  the  AHB/AXI  Bus.  The  transactions  are  generated  based  on  the  requests  from  the  Transmit/Receive  DMA’s.

3.3.2.17 AHB/AXI  Target  Interface

This  module  provides  the  AHB/AXI  Target  functionality  to  the  AHB/AXI  Host  (CPU).  This  interface  is  used  to  access  all  the  DMA/MAC  registers  in  the  Registers  Module.  

   

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       31    

3.4 PinOut  Diagrams  3.4.1 XGMAC-­‐AHB  (XGMII32)  PinOut  Diagram  

 

Figure  11:  XGMAC-­‐AHB  (XGMII32)  Core  PinOut  Diagram  

   

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       32    

3.4.2 XGMAC-­‐AHB  (XGMII64)  PinOut  Diagram  

 

  Figure  12:  XGMAC-­‐AHB  (XGMII64)  Core  PinOut  Diagram  

   

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       33    

3.4.3 XGMAC-­‐AXI  (XGMII32)  PinOut  Diagram  

 

Figure  13:  XGMAC-­‐AXI  (XGMII32)  Core  PinOut  Diagram  

   

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       34    

3.4.4 XGMAC-­‐AXI  (XGMII64)  PinOut  Diagram  

 

Figure  14:  XGMAC-­‐AXI  (XGMII64)  Core  PinOut  Diagram      

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       35    

3.4.5 XGMAC  Pinout  Descriptions  The  following  table  describes  each  of  the  XGMAC  Signal  in  detail:  

• All  signals  are  active  high  unless  specified.  Active  low  signals  are  suffixed  with  “_n”    • All  signals  that  have  prefix  of  “corecfg_”  are  Core  configuration  signals  are  instantiation  time  

configuration.    • All  signals  that  Interface  to  the  XGMII  Interface  are  prefixed  with  “xgmii_”    • The  AHB  Clock/Reset/Interrupt  signals  (when  AHB  Interface  is  used)  are  prefixed  with  “ahb_”    • All  signals  that  Interface  to  the  AHB  Master  Interface  (when  AHB  Interface  is  used)  are  prefixed  

with  “ahbmaster_”    • All  signals  that  Interface  to  the  AHB  Target  Interface  (when  AHB  Interface  is  used)  are  prefixed  

with  “ahbtarget_”    • The  AXI  Clock/Reset/Interrupt  signals  (when  AHB  Interface  is  used)  are  prefixed  with  “axi_”    • All  signals  that  Interface  to  the  AXI  Master  Interface  (when  AXI  Interface  is  used)  are  prefixed  

with  “aximst_”    • All  signals  that  Interface  to  the  AXI  Slave(Target)  Interface  (when  AXI  Interface  is  used)  are  

prefixed  with  “axislv_”      

3.5 Signal  Interfaces  The  10  XGMAC  has  the  following  interfaces:    • Core  Configuration  Signals    • XGMII  Interface  Signal  Description    • AHB  Interface  Signal  Description    • AXI  Interface  Signal  Description      

Figure  15:  Core  Configuration  Signals  

Pins   Direction   Description  corecfg_64b66bmode     Input     This  is  an  instantiation  time  option  to  indicate  that  the  

XGMAC  Core  is  interfaced  to  a  XG_64B66B  PCS  Module  and  is  operating  at  161.13  MHz  clock.  This  enables  the  rate  matching  mode  in  the  XGMAC  using  the  xgmii_rxdtvld  and  xgmii_txdtvld  signals.    This  signal  is  not  visible  when  the  XGMII32  mode  is  selected.    This  signal  should  be  tied  to  1’b0,  when  the  XGMII64  mode  is  selected.  The  receive  and  transmit  clocks  are  at  156.25MHz.    

 

   

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       36    

Table  5:  XGMII  Interface  Signal  Description  

Pins   Direction   Description  txclk     Input     txclk  (XGMII  Transmit  Clock)  is  a  continuous  clock  that  

provides  for  the  timing  reference  for  the  transfer  of  the  xmii_txctrl,  xgmii_txdata  signals.  This  clock  should  be  connected  to  xgmii_txclk  to  connect  to  external  PHY.  In  XGMII32  mode,  this  clock  is  a  156.25  MHz  clock  and  the  transmit  interface  operates  on  both  positive  and  negative  edges  of  the  clock.  In  XGMII64  mode,  this  clock  can  be  either  a  156.25  MHz  clock  or  a  161.13  MHz  Clock  and  the  interface  operates  on  positive  edge  of  the  clock.  The  161.13  MHz  clock  can  be  used  when  the  XGMAC  module  interfaces  to  XG-­‐64B66B  PCS  module.  In  this  mode  the  XGMAC  will  utilize  the  xgmii_txdtvld  signal  to  perform  the  rate  matching  by  deasserting  xgmii_txdtvld  after  every  32  clocks.    

xgmii_txctrl[3:0]    (XGMII32)    Or    xgmii_txctrl[7:0]    (XGMII64)    

Output     xgmii_txctrl  (XGMII  Transmit  Control)  indicates  that  the  XGMAC  Core  is  presenting  data  or  control  characters  on  the  XGMII  interface.  For  each  bit  in  the  Transmit  Control,  the  bit  is  deasserted  when  a  data  octet  is  sent  on  the  correspondent  byte  lane  of  the  Transmit  Data  bus,  and  bit  is  asserted  when  control  octet  is  sent  on  the  correspondent  byte  lane  Transmit  Data  Bus.  In  case  of  XGMII32,  xgmii_txctrl[3:0]  is  driven  by  the  XGMAC  Core  and  will  transition  synchronously  with  respect  to  the  txclk  on  both  positive  and  negative  edges  of  the  clock.  In  case  of  XGMII64,  xgmii_txctrl[7:0]  is  driven  by  the  XGMAC  Core  and  will  transition  synchronously  with  respect  to  the  txclk  on  positive  edge  of  the  clock.    

xgmii_txdata[31:0]    (XGMII32)    Or    xgmii_txdata[63:0]    (XGMII64)    

Output     xgmii_txdata  (XGMII  Transmit  Data)  is  driven  by  the  XGMAC  Core  to  the  External  PHY  Controller/PCS  Module.  The  corresponding  Control  bit  in  the  Transmit  Control  Bus  determines  whether  the  byte  lane  has  Data  or  Control  character.  In  case  of  XGMII32  xgmii_txd[31:0]  will  transition  synchronously  with  respect  to  the  txclk  on  both  positive  and  negative  edges  of  the  clock.    xgmii_txd[7:0]  has  the  least  significant  byte  and  xgmii_txd[31:24]  has  the  most  significant  byte    In  case  of  XGMII64  xgmii_txd[63:0]  will  transition  synchronously  with  respect  to  the  txclk  on  positive  edge  of  the  clock.  xgmii_txd[7:0]  has  the  least  significant  byte  and  xgmii_txd[63:56]  has  the  most  significant  byte.    

xgmii_txdtvld     Output     xgmii_txdtvld  (XGMII  Transmit  Data  Valid)  is  used  only  when  the  XGMII64  interface  is  used  with  161.13  MHz  clock.  This  signal  is  not  present  for  XGMII32  mode  and  should  be  ignored  for  XGMII64  with  156.25  MHz  clock.    

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       37    

Pins   Direction   Description  This  signal  is  used  to  do  rate  matching  with  the  XG_64B66B  PCS  Module.  This  signal  is  deasserted  after  every  32  clocks  on  continuous  basis.    xgmii_txdtvld  is  driven  by  the  XGMAC  Core  and  will  transition  synchronously  with  respect  to  the  txclk.    When  asserted  the  xgmii_txdtvld  will  be  at  logic  '1'  and  it  will  be  at  logic  '0'  while  deasserted.    

rxclk     Input     rxclk  (XGMII  Receive  Clock)  is  the  receive  clock  on  which  the  Receive  XGMII  Interface  signals  are  synchronous  with.  The  XGMII  based  external  PHY  derives  this  from  the  input  data  stream  and  passes  it  along  with  the  other  XGMII  Receive  Interface  signals  to  the  XGMAC  Core.    In  XGMII32  mode,  this  clock  has  a  nominal  frequency  of  156.25  MHz  clock  and  the  receive  interface  operates  on  both  positive  and  negative  edges  of  the  clock.    In  XGMII64  mode,  this  clock  can  be  either  a  nominal  156.25  MHz  clock  or  a  nominal  161.13  MHz  Clock  and  the  receive  interface  operates  on  positive  edge  of  the  clock.    The  161.13  MHz  clock  can  be  used  when  the  XGMAC  module  interfaces  to  XG-­‐64B66B  PCS  module.  In  this  mode  the  XGMAC  utilizes  the  xgmii_rxdtvld  signal  to  determine  whether  the  xgmii_rxdata  and  xgmii_rxctrl  signals  are  valid    

xgmii_rxctrl[3:0]    (XGMII32)    Or    xgmii_rxctrl[7:0]    (XGMII64)    

Input     xgmii_rxctrl  (XGMII  Receive  Control)  indicates  that  the  PHY  is  presenting  data  or  control  characters  on  the  XGMII  interface.  For  each  bit  in  the  Receive  Control,  the  bit  is  deasserted  when  a  data  octet  is  sent  on  the  correspondent  byte  lane  of  the  Receive  Data  bus,  and  bit  is  asserted  when  control  octet  is  sent  on  the  correspondent  byte  lane  Receive  Data  Bus.    In  case  of  XGMII32,    xgmii_rxctrl[3:0]  is  driven  by  the  PHY  and  will  transition  synchronously  withrespect  to  the  rxclk  on  both  positive  and  negative  edges  of  the  clock.    In  case  of  XGMII64,    xgmii_rxctrl[7:0]  is  driven  by  the  PHY/PCS  Module  and  will  transition  synchronously  with  respect  to  the  rxclk  on  positive  edge  of  the  clock.    

xgmii_rxdata[31:0]    (XGMII32)    Or    xgmii_rxdata[63:0]    (XGMII64)    

Input     xgmii_rxdata  (XGMII  Receive  Data)  is  driven  by  the  External  PHY  Controller/PCS  Module.  The  corresponding  Control  bit  in  the  Receive  Control  Bus  determines  whether  the  byte  lane  has  Data  or  Control  character.    In  case  of  XGMII32    xgmii_rxd[31:0]  will  transition  synchronously  with  respect  to  the  rxclk  on  both  positive  and  negative  edges  

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       38    

Pins   Direction   Description  of  the  clock  xgmii_rxd[7:0]  has  the  least  significant  byte  and  xgmii_rxd[31:24]  has  the  most  significant  byte    In  case  of  XGMII64  xgmii_rxd[63:0]  will  transition  synchronously  with  respect  to  the  rxclk  on  positive  edge  of  the  clock  xgmii_rxd[7:0]  has  the  least  significant  byte  and  xgmii_rxd[63:56]  has  the  most  significant  byte    

xgmii_rxdtvld     Input     xgmii_rxdtvld  (XGMII  Receive  Data  Valid)  is  used  only  when  the  XGMII64  interface  is  used  with  161.13  MHz  clock.  This  signal  is  not  present  for  XGMII32  mode  and  should  be  tied  to  1’b1  for  XGMII64  mode  with  156.25  MHz  clock.  This  signal  is  used  to  do  rate  matching  by  the  XG_64B66B  PCS  Module.  This  signal  is  expected  to  be  deasserted  after  every  32  clocks  on  continuous  basis.  xgmii_txdtvld  is  driven  by  the  XG_64B66B  PCS  Module  and  will  transition  synchronously  with  respect  to  the  txclk.  When  asserted  the  xgmii_txdtvld  will  be  at  logic  '1'  and  it  will  be  at  logic  '0'  while  de-­‐asserted.    

MDIO  Interface  xgmii_mdc     Output     xgmii_mdc  (XGMII  MDC)  is  sourced  by  the  XGMAC  Core  

to  the  External  Ethernet  PHY  Controller  as  the  timing  reference  for  transfer  of  information  on  the  xgmii_mdi/xgmii_mdo  signals.  xgmii_mdc  is  an  a  periodic  signal  that  has  no  maximum  high  or  low  times.  The  minimum  high  and  low  times  for  gmii_mdc  will  be  160  ns  each,  and  the  minimum  period  for  xgmii_mdc  will  be  400  ns,  regardless  of  the  nominal  period  of  txclk  and  rxclk.    Note:  The  xgmii_mdc  is  derived  from  the  ahb_clk/axi_clk.  The  frequency  of  the  xgmii_mdc  is  1/64th  of  the  ahb_clk/axi_clk  frequency.    

xgmii_mdi     Input     xgmii_mdi  (XGMII  MDI)  is  the  data  input  signal  from  the  External  Ethernet  PHY  Controller.  The  Read  Data  is  driven  by  the  PHY  synchronously  with  respect  to  the  xgmii_mdc  clock  during  the  read  cycles.    

xgmii_mdo     Output     xgmii_mdo  (XGMII  MDO)  is  the  data  output  signal  from  the  XGMAC  Core  that  is  used  to  drive  the  control  information  during  the  Read/Write  cycles  to  the  External  PHY  Controller.  The  xgmii_mdo  signal  is  driven  by  the  XGMAC  Core  synchronously  with  respect  to  the  xgmii_mdc.    

xgmii_mdoen_n     Output     xgmii_mdoen_n  (XGMII  MDO  Enable)  is  the  tri-­‐state  enable  signal  to  drive  the  xgmii_mdo  on  to  the  MDIO  pin.  This  is  a  low  asserted  signal.    

 

   

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       39    

Table  6:  AHB  Interface  Signal  Description  

Pins   Direction   Description  

AHB  Clock/Reset/Interrupt  Signals  ahb_clk     Input     ahb_clk  (AHB  Clock)  is  the  system  clock  on  which  both  

the  AHB  Master  Interface  and  AHB  Target  Interface  is  synchronous  to    

ahb_reset_n     Input     ahb_reset_n  (AHB  Reset)  is  the  System  Reset  to  reset  the  XGMAC  Core  to  the  default  State.  This  is  an  active  low  signal.  When  asserted,  this  signal  must  be  asserted  for  at  least  64  Clock  cycles    

ahb_intr     Output     Interrupt  Output  to  the  AHB  Bus    

AHB  Master  Interface  Signals  ahbmaster_hbusreq     Output     Bus  Request  on  the  AHB  Master  Interface    

ahbmaster_hgrant     Input     Bus  Grant  on  the  AHB  Master  Interface    

ahbmaster_haddr    [31:0]    

Output     Bus  Address  on  the  AHB  Master  Interface.  This  is  a  Byte  Addressable  Address    

ahbmaster_hwdata    [(DW-­‐1):0]    

Output     Write  Data  on  the  AHB  Master  Interface.  The  Width  of  the  bus  is  based  on  the  Selected  Host  Data  Bus  Width.  Here  DW  is  64  for  64-­‐bit  bus,  and  DW  is  128  for  128-­‐bit  bus    

ahbmaster_hrdata    [(DW-­‐1):0]    

Input     Read  Data  on  the  AHB  Master  Interface.  The  Width  of  the  bus  is  based  on  the  Selected  Host  Data  Bus  Width.  Here  DW  is  64  for  64-­‐bit  bus,  and  DW  is  128  for  128-­‐bit  bus.    

ahbmaster_hwrite     Output     Write  or  Read  Direction  Indication  for  the  current  AHB  Master  transaction.    1’b1:  Write    1’b0:  Read    

ahbmaster_hsize    [2:0]    

Output     Size  of  the  Data  width.  The  AHB  Master  interface  supports  8,  16,  32,  64  and  128-­‐bit  data  transfers.  The  128-­‐bit  data  transfers  are  valid  only  when  the  Host  data  Bus  Width  is  128-­‐bits.  The  following  are  the  valid  size  values  that  are  output  by  the  XGMAC  Core.    000:  8-­‐bit  Data  Transfer  Size    001:  16-­‐bit  Data  Transfer  Size    010:  32-­‐bit  Data  Transfer  Size    011:  64-­‐bit  Data  Transfer  Size    100:  128-­‐bit  Data  Transfer  Size    

ahbmaster_htrans    [1:0]    

Output     Transfer  Type    

ahbmaster_hbusreq     Output     Bus  Request  on  the  AHB  Master  Interface    

ahbmaster_hgrant     Input     Bus  Grant  on  the  AHB  Master  Interface    

ahbmaster_haddr    [31:0]    

Output     Bus  Address  on  the  AHB  Master  Interface.  This  is  a  Byte  Addressable  Address    

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       40    

Pins   Direction   Description  

AHB  Target  Interface  Signals  ahbtarget_haddr  [15:0]     Input     Bus  Address  on  the  AHB  Target  Interface.  This  is  a  Byte  

Addressable  Address    Only  16-­‐bits  of  the  Address  are  used    All  Registers  in  the  XGMAC  Core  are  32-­‐bit  aligned  

ahbtarget_hwdata    [31:0]    

Input     Write  Data  on  the  AHB  Target  Interface    

ahbtarget_hrdata    [31:0]    

Output     Read  Data  on  the  AHB  Target  Interface    

ahbtarget_hwrite     Input     Write  or  Read  Direction  Indication  for  the  current  AHB  Target  transaction    1’b1:  Write    1’b0:  Read    

ahbtarget_hsize    [2:0]    

Input     Size  of  the  Data  width.  The  AHB  Target  Interface  supports  only  32-­‐bit  data  transfers.  Thus  the  Size  should  be  fixed  to  3’b010  for  all  data  transfers.    

ahbtarget_htrans    [1:0]    

Input     Transfer  Type    

ahbtarget_hburst    [2:0]    

Input     Burst  Size  for  the  current  AHB  Target  transaction.  The  Target  Interface  supports  only  SINGLE  transaction  and  no  burst  support.    

ahbtarget_hready     Output     Target  Ready  from  XGMAC    

ahbtarget_hresp    [1:0]    

Output     Transfer  Response  for  the  Current  AHB  Target  transaction    

ahbtarget_hready_glbl     Input     Selected  HReady  from  all  Targets.  This  is  the  signal  that  feeds  to  AHB  Targets    

 

Table  7:  AXI  Interface  Signal  Description  

Pins   Direction   Description  

AXI  Clock/Reset/Interrupt  Signals  axi_clk     Input     axi_clk  (AXI  Clock)  is  the  system  clock  on  which  both  the  

AXI  Master  Interface  and  AXI  Slave(Target)  Interface  is  synchronous  to    

axi_reset_n     Input     axi_reset_n  (AXI  Reset)  is  the  System  Reset  to  reset  the  XGMAC  Core  to  the  default  State.  This  is  an  active  low  signal.  When  asserted,  this  signal  must  be  asserted  for  at  least  64  Clock  cycles.    

axi_intr     Output     Interrupt  Output  to  the  AXI  Bus    

AXI  Master  Write  Interface  Signals  aximst_awid    [3:0]    

Output     Write  address  ID.  This  signal  is  the  identification  tag  for  the  write  address  group  of  signals.    

aximst_awaddr     Output     Write  address.  The  write  address  bus  gives  the  address  

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       41    

Pins   Direction   Description  [31:0]     of  the  first  transfer  in  a  write  burst  transaction.  The  

associated  control  signals  are  used  to  determine  the  addresses  of  the  remaining  transfers  in  the  burst    

aximst_awlen    [3:0]    

Output     Burst  length.  The  burst  length  gives  the  exact  number  of  transfers  in  a  burst.  This  information  determines  the  number  of  data  transfers  associated  with  the  address.  Refer  to  AMBA  Specification  for  encoding  of  this  field.    

aximst_awsize    [2:0]    

Output     Burst  size.  This  signal  indicates  the  size  of  each  transfer  in  the  burst.  Byte  lane  strobes  indicate  exactly  which  byte  lanes  to  update.  The  AXI  Master  interface  supports  8,  16,  32,  64  and  128-­‐bit  wide  data  transfers.  The  128-­‐bit  data  transfer  size  is  supported  only  when  the  Host  Data  Bus  Width  is  128-­‐bits.  The  following  are  the  valid  size  values  that  are  output  by  the  XGMAC  Core.    000:  8-­‐bit  Data  Transfer  Size    001:  16-­‐bit  Data  Transfer  Size    010:  32-­‐bit  Data  Transfer  Size    011:  64-­‐bit  Data  Transfer  Size    100:  128-­‐bit  Data  Transfer  Size    

aximst_awburst    [1:0]    

Output     Burst  type.  The  burst  type,  coupled  with  the  size  information,  details  how  the  address  for  each  transfer  within  the  burst  is  calculated.  The  AXI    Master  interface  always  uses  INCR  Burst  with  value  of  2’b00.    

aximst_awvalid     Output     Write  address  valid.  This  signal  indicates  that  valid    write  address  and  control  information  are  available:    1  =  address  and  control  information  available    0  =  address  and  control  information  not  available.    The  address  and  control  information  remain  stable  until  the  address  acknowledge  signal,  aximst_awready  (AWREADY),  goes  HIGH.    

aximst_awready     Input     Write  address  ready.  This  signal  indicates  that  the  slave  is  ready  to  accept  an  address  and  associated  control  signals:    1  =  slave  ready    0  =  slave  not  ready    

aximst_wid    [3:0]    

Output     Write  ID  tag.  This  signal  is  the  ID  tag  of  the  write  data  transfer.  The  aximst_wid  (WID)  value  matches  the  aximst_awid  (AWID)  value  of  the    write  transaction    

aximst_wdata    [(DW-­‐1):0]    

Output     Write  data.  The  write  data  bus  is  either  64-­‐bits  (DW=  64)  or  128  (DW=128)  based  on  the  selected  Host  Data  Bus  Width.    

aximst_wstrb    [(BW-­‐1):0]    

Output     Write  strobes.  This  signal  indicates  which  byte  lanes  to  are  valid  in  the  aximst_wdata  bus.  There  is  one  write  strobe  for  each  eight  bits  of  the  write  data  bus.  The  

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       42    

Pins   Direction   Description  Write  strobe  bus  is  either  8  (BW=8)  when  the  Host  Bus  Width  is  64  or  16  (BW=16)  when  the  Host  Bus  Width  is  128.    

aximst_wlast     Output     Write  last.  This  signal  indicates  the  last  transfer  in  a  write  burst    

aximst_wvalid     Output     Write  valid.  This  signal  indicates  that  valid  write  data  and  strobes  are  available:    1  =  write  data  and  strobes  available    0  =  write  data  and  strobes  not  available    

aximst_wready     Input     Write  ready.  This  signal  indicates  that  the  slave  can  accept  the  write  data:    1  =  slave  ready    0  =  slave  not  ready    

aximst_bid    [3:0]    

Input     Response  ID.  The  identification  tag  of  the  write  response.  The  aximst_bid  (BID)  value  must  match  the  aximst_awid  (AWID)  value  of  the  write  transaction  to  which  the  slave  is  responding    

aximst_bresp  [1:0]     Input     Write  response.  This  signal  indicates  the  status  of  the  write  transaction.  The  allowable  responses  are  as  follows:    2’b00  -­‐  OKAY    2’b01  -­‐  EXOKAY    2’b10  -­‐  SLVERR    2’b11  -­‐  DECERR.    The  Response  EXOKAY  should  never  be  asserted  as  the  Master  never  generates  Exclusive  access.    

aximst_bvalid     Input     Write  response  valid.  This  signal  indicates  that  a  valid  write  response  is  available:    1  =  write  response  available    0  =  write  response  not  available    

aximst_bready     Output     Response  ready.  This  signal  indicates  that  the  XGMAC  Core  can  accept  the  response  information.    1  =  master  ready    0  =  master  not  ready    

AXI  Master  Read  Interface  Signals  aximst_arid    [3:0]    

Output     Read  address  ID.  This  signal  is  the  identification  tag  for  the  write  address  group  of  signals.    

aximst_araddr    [31:0]    

Output     Read  address.  The  read  address  bus  gives  the  address  of  the  first  transfer  in  a  read  burst  transaction.  The  associated  control  signals  are  used  to  determine  the  addresses  of  the  remaining  transfers  in  the  burst.    

aximst_arlen    [3:0]    

Output     Burst  length.  The  burst  length  gives  the  exact  number  of  transfers  in  a  burst.  This  information  determines  the  number  of  data  transfers  associated  with  the  address.    Refer  to  AMBA  Specification  for  encoding  of  this  field.    

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       43    

Pins   Direction   Description  aximst_arsize    [2:0]    

Output     Burst  size.  This  signal  indicates  the  size  of  each  transfer  in  the  burst.  Byte  lane  strobes  indicate  exactly  which  byte  lanes  to  update.  The  AXI  Master  interface  supports  8,  16,  32,  64  and  128-­‐bit  wide  data  transfers.  The  128-­‐bit  data  transfer  size  is  supported  only  when  the  Host  Data  Bus  Width  is  128-­‐bits.  The  following  are  the  valid  size  values  that  are  output  by  the  XGMAC  Core.    000:  8-­‐bit  Data  Transfer  Size    001:  16-­‐bit  Data  Transfer  Size    010:  32-­‐bit  Data  Transfer  Size    011:  64-­‐bit  Data  Transfer  Size    100:  128-­‐bit  Data  Transfer  Size    

aximst_arburst    [1:0]    

Output     Burst  type.  The  burst  type,  coupled  with  the  size  information,  details  how  the  address  for  each  transfer  within  the  burst  is  calculated.  The  AXI    Master  interface  always  uses  INCR  Burst  with  value  of  2’b00.    

aximst_arvalid     Output     Read  address  valid.  This  signal  indicates  that  valid    read  address  and  control  information  are  available:    1  =  address  and  control  information  available    0  =  address  and  control  information  not  available.    The  address  and  control  information  remain  stable  until  the  address  acknowledge  signal,  aximst_arready  (ARREADY),  goes  HIGH.    

aximst_arready     Input     Read  address  ready.  This  signal  indicates  that  the  slave  is  ready  to  accept  an  address  and  associated  control  signals:    1  =  slave  ready    0  =  slave  not  ready.    

aximst_rid  [3:0]     Input     Read  ID  tag.  This  signal  is  the  ID  tag  of  the  read  data  transfer.  The  aximst_rid  (RID)  value  matches  the  aximst_arid  (ARID)  value  of  the    read  transaction    

aximst_rdata    [(DW-­‐1):0]    

Input     Read  data.  The  read  data  bus  is  either  64-­‐bits  (DW=64)  or  128  (DW=128)  based  on  the  selected  Host  Data  Bus  Width.    

aximst_rresp    [1:0]    

Input     Read  response.  This  signal  indicates  the  status  of  the  read  transaction.  The  allowable  responses  are  as  follows:    2’b00  -­‐  OKAY    2’b01  -­‐  EXOKAY    2’b10  -­‐  SLVERR    2’b11  -­‐  DECERR.    The  Response  EXOKAY  should  never  be  asserted  as  the  Master  never  generates  Exclusive  access    

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       44    

Pins   Direction   Description  aximst_rlast     Input     Read  last.  This  signal  indicates  the  last  transfer  in  a  read  

burst.    aximst_rvalid     Input     Read  valid.  This  signal  indicates  that  valid  read  data  and  

strobes  are  available:    1  =  read  data  and  strobes  available    0  =  read  data  and  strobes  not  available    

aximst_rready     Output     Read  ready.  This  signal  indicates  that  the  XGMAC  Core  can  accept  the  read  data:    1  =  slave  ready    0  =  slave  not  ready.    

AXI  Target(Slave)  Write  Interface  Signals  axislv_awid    [7:0]    

Input     Write  address  ID.  This  signal  is  the  identification  tag  for  the  write  address  group  of  signals    

axislv_awaddr    [15:0]    

Input     Write  address.  The  AXI  Slave  Interface  supports  only  Single  length  transfers.  So  this  address  determines  the  address  of  the  transaction    

axislv_awlen    [3:0]    

Input     Burst  length.  The  AXI  Slave  Interface  supports  only  Single  length  transfers.  So  this  value  had  to  be  set  to  4’b0000  for  all  transfers    

axislv_awsize    [2:0]    

Input     Burst  size.  This  signal  indicates  the  size  of  each  transfer  in  the  burst.  Byte  lane  strobes  indicate  exactly  which  byte  lanes  to  update.  The  AXI  Slave  interface  supports  only  32-­‐bit  wide  data  transfers.  So  this  value  had  to  be  set  to  3’b010  for  all  transfers    

axislv_awburst    [1:0]    

Input     Burst  type.  The  AXI  Slave  interface  always  uses  INCR  Burst  with  value  of  2’b00    

aximst_awvalid     Input     Write  address  valid.  This  signal  indicates  that  valid  write  address  and  control  information  are  available:    1  =  address  and  control  information  available    0  =  address  and  control  information  not  available.    The  address  and  control  information  remain  stable  until  the  address  acknowledge  signal,  axislv_awready  (AWREADY),  goes  HIGH    

axislv_awready     Output     Write  address  ready.  This  signal  indicates  that  the  XGMAC  Core  is  ready  to  accept  an  address  and  associated  control  signals:    1  =  slave  ready    0  =  slave  not  ready    

axislv_wid    [7:0]    

Input     Write  ID  tag.  This  signal  is  the  ID  tag  of  the  write  data  transfer.  The  axislv_wid  (WID)  value  should  match  the  axislv_awid  (AWID)  value  of  the  write  transaction    

aximst_wdata    [31:0]    

Input     Write  data.  The  AXI  Slave  Interface  supports  only  32-­‐bit  wide  data  transfers  on  32-­‐bit  wide  data  bus.    

aximst_wstrb    [3:0]    

Input     Write  strobes.  This  signal  indicates  which  byte  lanes  to  are  valid  in  the  axislv_wdata  bus.  There  is  one  write  

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       45    

Pins   Direction   Description  strobe  for  each  eight  bits  of  the  write  data  bus.    

axislv_wlast     Input     Write  last.  This  signal  indicates  the  last/only  transfer  in  a  write  burst    

axislv_wvalid     Input     Write  valid.  This  signal  indicates  that  valid  write  data  and  strobes  are  available:    1  =  write  data  and  strobes  available    0  =  write  data  and  strobes  not  available    

axislv_wready     Output     Write  ready.  This  signal  indicates  that  the  XGMAC  Core  can  accept  the  write  data:    1  =  slave  ready    0  =  slave  not  ready    

axislv_bid    [7:0]    

Output     Response  ID.  The  identification  tag  of  the  write  response.  The  axislv_bid  (BID)  value  matches  the  axislv_awid  (AWID)  value  of  the  write    transaction  to  which  the  slave  is  responding    

axislv_bresp    [1:0]    

Output     Write  response.  This  signal  indicates  the  status  of  the  write  transaction.  The  allowable  responses  are  as  follows:    2’b00  -­‐  OKAY    2’b01  -­‐  EXOKAY    2’b10  -­‐  SLVERR    2’b11  -­‐  DECERR.    The  Response  EXOKAY  will  never  be  asserted  as  the  Slave  does  not  support  Exclusive  access    

axislv_bvalid     Output     Write  response  valid.  This  signal  indicates  that  a  valid  write  response  is  available:    1  =  write  response  available    0  =  write  response  not  available    

axislv_bready     Input     Response  ready.  This  signal  indicates  that  the  master  can  accept  the  response  information    1  =  master  ready    0  =  master  not  ready    

AXI  Slave  Read  Interface  Signals  axislv_arid  [7:0]     Input     Read  address  ID.  This  signal  is  the  identification  tag  for  

the  write  address  group  of  signals    axislv_araddr    [15:0]    

Input     Read  address.  The  AXI  Slave  Interface  supports  only  Single  length  transfers.  So  this  address  determines  the  address  of  the  transaction.    

axislv_arlen    [3:0]    

Input     Burst  length.  The  AXI  Slave  Interface  supports  only  Single  length  transfers.  So  this  value  had  to  be  set  to  4’b0000  for  all  transfers.    

axislv_arsize    [2:0]    

Input     Burst  size.  This  signal  indicates  the  size  of  each  transfer  in  the  burst.  Byte  lane  strobes  indicate  exactly  which  byte  lanes  to  update.  The  AXI  Slave  interface  supports  only  32-­‐bit  wide  data  transfers.  So  this  value  had  to  be  

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       46    

Pins   Direction   Description  set  to  3’b010  for  all  transfers.    

axislv_arburst    [1:0]    

Input     Burst  type.  The  AXI  Slave  interface  always  uses  INCR  Burst  with  value  of  2’b00.    

axislv_arvalid     Input     Read  address  valid.  This  signal  indicates  that  valid  write  address  and  control  information  are  available:    1  =  address  and  control  information  available    0  =  address  and  control  information  not  available.    The  address  and  control  information  remain  stable  until  the  address  acknowledge  signal,  axislv_arready  (ARREADY),  goes  HIGH.    

axislv_arready     Output     Write  address  ready.  This  signal  indicates  that  the  XGMAC  Core  is  ready  to  accept  an  address  and  associated  control  signals:    1  =  slave  ready    0  =  slave  not  ready.    

axislv_rid    [7:0]    

Output     Read  ID  tag.  This  signal  is  the  ID  tag  of  the  read  data  transfer.  The  axislv_rid  (RID)  value  matches  the  axislv_arid  (ARID)  value  of  the  read    transaction    

aximst_rdata    [31:0]    

Output     Read  data.  The  AXI  Slave  Interface  supports  only  32-­‐bit  wide  data  transfers  on  32-­‐bit  wide  data  bus.    

axislv_rresp    [1:0]    

Output     Read  response.  This  signal  indicates  the  status  of  the  read  transaction.  The  allowable  responses  are  as  follows:    2’b00  -­‐  OKAY    2’b01  -­‐  EXOKAY    2’b10  -­‐  SLVERR    2’b11  –  DECERR    The  Response  EXOKAY  should  never  be  asserted  as  the  Master  never  generates  Exclusive  access    

axislv_rlast     Output     Read  last.  This  signal  indicates  the  last  transfer  in  a  read  burst    

axislv_rvalid     Output     Read  valid.  This  signal  indicates  that  valid  read  data  and  strobes  are  available:    1  =  read  data  and  strobes  available    0  =  read  data  and  strobes  not  available    

axislv_rready     Input     Read  ready.  This  signal  indicates  that  the  Master  can  accept  the  read  data:    1  =  slave  ready    0  =  slave  not  ready    

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       47    

3.6 SoC  Level  Integration  3.6.1 XGMAC  Applications  The  XGMAC  Core  can  be  used  in  a  PCI/PCIExpress  based  NIC  Controller  or  an  Aggregation/Switch  device  with  10G  Host  Interface.  The  following  are  two  simple  applications  of  the  XGMAC  Core:

• XGMAC  Core  in  a  SOC  Application    • XGMAC  Core  in  an  NIC  Application    

 

Figure  16:  XGMAC  Core  used  in  PCIExpress  based  NIC  Controller  

 

Figure  17:  XGMAC  Core  used  Aggregation/Switch  Device  

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       48    

3.6.2 IP  Deliverables  The  IP  package  consists  of  the  following:    

• RMM  Compliant  Synthesizable  RTL  design  in  Verilog    • Easy-­‐to-­‐use  test  environment    • Synthesis  scripts    • Technical  documents        

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       49    

4 Gigabit  Ethernet  with  IEEE  1588  MAC  Controller  

4.1 Introduction  The  Gigabit  Ethernet  Media  Access  Controller  (GEMAC)  with  AHB  or  AXI  Interface  (GEMAC)  core  incorporates  the  essential  protocol  requirements  for  operation  of  10/100/1000  Mbps  Ethernet/IEEE  802.3-­‐2008  compliant  node,  and  provides  interface  between  the  AHB  or  AXI  Interface  and  the  Media  Independent  Interface  (MII)  for  10/100  Mbps  speeds  and  Gigabit  Media  Independent  Interface  (GMII)  for  1000  Mbps  Speed  with  hardware  assisted  support  for  IEEE-­‐1588  protocol.  Optionally  the  core  supports  SGMII  (Serial  GMII  Interface)  and  GMII  (Reduced  GMII)  Interface  for  reducing  the  pin  count  to  interface  with  external  PHY  device.    

The  GEMAC  core  can  operate  at  10  Mbps  or  100  Mbps  (Fast  Ethernet)  or  1000  Mbps  (Gigabit  Ethernet).  On  the  System  side  the  GEMAC  Core  implements  32-­‐bit  or  64-­‐bit  AHB/AXI  Master  Interface  logic  and  32-­‐bit  AHB/AXI  Target  (Slave)  Interface  logic  to  interface  with  AHB/AXI  Bus  and  a  powerful  32-­‐bit  or  64-­‐bit  Scatter-­‐Gather  DMA  to  transfer  packets  between  HOST  Memory  and  Internal  FIFO’s.  The  GEMAC  Core  supports  configurable  FIFO’s  on  both  transmit  and  receive  side  to  handle  the  Application’s  latency  during  the  frame  transmission  and  reception.    

The  GEMAC  Core  supports  Half-­‐Duplex  mode  of  operation  for  10/100  Mbps  speeds  and  Full-­‐Duplex  mode  of  operation  for  10/100/1000  Mbps  speeds.  When  operating  in  the  half-­‐duplex  mode,  the  GEMAC  Core  is  fully  compliant  to  Section  4  of  ISO/IEC  8802-­‐3  (ANSI/IEEE  Standard)  and  ANSI/IEEE  802.3.  When  operating  in  the  full  duplex  mode,  the  GEMAC  core  is  compliant  to  the  IEEE  802.3x  standard  for  full-­‐duplex  operation.  

4.2 Overview  The  Arasan  Gigabit  Ethernet  Media  Access  Controller  IP  is  compliant  with  the  Ethernet  IEEE  802.3-­‐2008  standard.  The  Gigabit  Ethernet  IP  provides  a  10/100  Mbps  Media  Independent  Interface  (MII)  and  a  1000  Mbps  Gigabit  Media  Independent  Interface  (GMII).  It  also  supports  optional  Reduced  MII  (RGMII),  and  Serial  GMII  (SGMII).  The  Gigabit  Ethernet  IP  also  implements  Hardware  assisted  1588  Protocol  for  Time  stamping  the  Receive  and  Transmit  PTP  Packets.    

The  Gigabit  Ethernet  IP  is  designed  for  SoC  and  mobile  applications  such  as  integrated  networking  devices,  PCI-­‐Express  Ethernet  controllers,  and  Ethernet  adapter  cards.  The  Gigabit  Ethernet  IP  supports  half-­‐duplex  mode  at  10/100  Mbps  and  full-­‐duplex  mode  at  10/100/1000  Mbps.  The  Gigabit  Ethernet  IP  core  consists  of  two  configurable  FIFOs  on  both  transmits  and  receives  sides  to  handle  the  application’s  latency  during  frame  transmission  and  reception.  A  processor  bus  master  and  a  32-­‐bit  scatter-­‐gather  DMA  transfer  packets  between  the  internal  FIFOs  and  the  host  memory  to  enhance  system  performance.  The  Gigabit  Ethernet  IP  supports  4-­‐bit  MII  based  10/100  Mbps  PHY  and  8-­‐bit  GMII  based  10/100/1000  Mbps  PHY.  A  MDIO/MDC  (Management  Data  Input/Output  

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       50    

and  Management  Data  Clock)  management  interface  provides  control  and  management  functions  to  external  PHY  devices.    

The  Gigabit  Ethernet  IP  also  provides  enhanced  programmable  features  for  minimizing  applications  complexity  and  pre/post  message  processing.  The  Gigabit  Ethernet  IP  supports  MIB,  SNMP,  RMON,  VLAN  Q-­‐Tag  frame,  and  Jumbo  frames.  It  also  includes  dynamic  generation,  checking,  and  stripping  of  FCS  field,  automatic  pad  field  insertion,  automatic  retransmission  and  detection  of  collision  frames,  collision  avoidance  and  handling.  Other  features  of  the  Gigabit  Ethernet  IP  includes  generation  and  decoding  of  PAUSE  control  frames,  frame  boundary  delimitation,  frame  synchronization,  and  error  detection.    

The  GEMAC  Core  provides  programmable  enhanced  features  designed  to  minimize  Applications  complexity  and  pre/post  message  processing.  These  features  include  dynamic  FCS  generation  on  a  frame-­‐by-­‐frame  basis,  automatic  pad  field  insertion  to  enforce  minimum  frame  size  requirement,  automatic  retransmission  and  detection  of  collision  frames  (in  Half  Duplex  mode),  FCS  checking  on  incoming  frames,  optional  stripping  of  FCS  field,  automatic  detection  of  PAUSE  Control  frames  when  operating  in  Full-­‐Duplex  mode,  performing  Address  Filtering  on  receive  frames  and  so  on.    

The  GEMAC  Core  provides  hardware  assisted  IEEE-­‐1588  (both  V1  and  V2)  Protocol  Support  when  operating  in  Full-­‐Duplex  modes  at  10/100/1000  Mbps  speeds  of  operation.  The  GEMAC  Core  maintains  a  system  timer  and  provides  software  interface  for  adjusting  the  system  timer.  Also  provides  support  for  time  stamping  of  receive  and  transmit  Packets.    

The  DMA  Controller  in  the  GEMAC  Core  is  a  powerful  scatter-­‐gather  based  direct  memory  access  (DMA)  with  programmable  Burst  size,  providing  Low  CPU  utilization.  The  DMA  can  operate  either  in  32-­‐bit  data  transfer  mode  or  64-­‐bit  data  transfer  mode.  The  transfer  size  on  the  AHB/AXI  bus  is  sized  accordingly.  The  DMA  transfers  frames  to/from  the  internal  FIFO’s  and  the  data  buffers  in  the  Host  Memory.  Descriptors  that  reside  in  the  Host  memory  act  as  pointers  to  these  buffers.  The  DMA  supports  Transmit  and  Receive  operations  independently.  The  DMA  is  controlled  by  a  set  of  Registers  called  DMA  Registers.    

The  GEMAC  core  can  sustain  transmission  of  minimal-­‐sized  back-­‐to-­‐back  packets  at  full  line  speed  with  an  inter-­‐packet  gap  (IPG)  of  96  bit-­‐times  equivalent  to  90.6  us  for  10-­‐Mb/s,  0.96  us  for  100-­‐Mb/s,  and  0.096  us  for  1000-­‐Mbps  speed.  On  receive  side  the  GEMAC  core  can  handle  reception  of  minimal-­‐sized  back  to  back  frames  at  full  line  speed  with  IPG  of  64  bit  times.  

4.3 Features  • Hardware  Assisted  1588  V1/V2  Support    • Full-­‐duplex  mode  at  10/100/1000  Mbps    • Half-­‐duplex  mode  at  10/100  Mbps    • Supports  IEEE  802.3-­‐2008  compliant  MII,  RMII,  SMII,  GMII,  RGMII,  and  SGMII    • Independent  32-­‐bit  scatter-­‐gather  DMA  with  big/  little  endian  operation    • Optional  VLAN  Q-­‐Tag  frame  support    • CSMA/CD  Protocol  for  half-­‐duplex  mode    

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       51    

• PAUSE  frame  based  flow  control  in  full-­‐duplex  mode    • MDIO/MDC  management  interface    • 802.3  compliant  MIB,  SNMP,  RMON  management  support    • Configurable  transmit  and  receive  FIFOs    • Supports  Jumbo  frames    • Supports  magic  packet  and  Wake-­‐Up  frames    • Optional  AXI,  AHB,  PCIe,  PCI  or  custom  bus  interface      

4.4 Architecture  4.4.1 Functional  Block  Diagram  

 

Figure  18:  GEMAC  Core  Block  Diagram  

4.4.2 Functional  Block  Diagram  

4.4.2.1 AHB/AXI  Master  Interface

The  AHB  Master  Interface  (64-­‐bit  or  128-­‐bit)  is  used  for  bus  mastering  capability  on  the  AHB  Bus  by  the  XGMAC  Core.  The  core  generates  transactions  on  this  interface  to  transfer  frame  data  between  the  Host  memory  and  the  internal  FIFO’s.  Also  the  Descriptors  are  transferred  using  this  interface.

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       52    

4.4.2.2 AHB/AXI  Slave  (Target)  Interface

The  AHB  or  AXI  Target  (also  called  as  Slave)  Interface  provides  a  32-­‐bit  data  interface  to  read/write  the  internal  registers  in  the  GEMAC  Core.

4.4.2.3 GMII/MII  Interface

The  GEMAC  Core  interfaces  to  the  external  PHY  device  using  the  IEEE802.3  compliant  GMII/MII  Interface.  In  case  of  10/100  Mbps,  the  MII  Interface  (4-­‐bit  wide)  is  used  and  when  operating  in  1000  Mbps  mode,  the  GMII  Interface  (8-­‐bit  wide)  is  used.  This  interface  is  specified  in  the  IEEE  802.3  specification.  Any  of  the  Standard  Ethernet  PHY  Controller  Chips  can  be  hooked  onto  this  interface  for  connecting  to  the  Ethernet  Cable.

4.4.2.4 MDC/MDIO  Interface

This  is  a  2-­‐wire  interface  that  is  used  to  configure  and  control  an  external  IEEE802.3  Compliant  PHY  device  using  the  MII  Management  Frame  structure.  The  interface  is  defined  in  the  IEEE802.3  Specification.

4.4.2.5 SGMII/RGMII  Interface

The  GEMAC  Core  optionally  supports  Reduced  GMII  (RGMII)  and  Serial  GMII  (SGMII)  Interfaces  to  reduce  the  pin  count  on  the  Ethernet  Interface.

4.4.2.6 AHB/AXI  Master  Interface  Module

This  module  provides  the  AHB/AXI  Master  functionality  to  generate  transactions  on  the  AHB/AXI  Bus.  The  transactions  are  generated  based  on  the  requests  from  the  Transmit/Receive  DMA’s

4.4.2.7 AHB/AXI  Target  Interface  Module

This  module  provides  the  AHB/AXI  Target  functionality  to  the  AHB/AXI  Host  (CPU).  This  interface  is  used  to  access  all  the  DMA/MAC  registers  in  the  Registers  Module

4.4.2.8 TXDMA

This  module  implements  the  Transmit  DMA  to  transfer  the  frames  from  the  Host  Memory  to  the  Transmit  FIFO  using  the  Transmit  Descriptors

4.4.2.9 Registers

This  module  implements  the  Control  and  Status  Registers  to  control  the  operation  of  Receive  and  Transmit  DMA  and  also  the  Receive  and  Transmit  operations  of  the  Ethernet  Interface.  This  module  also  provides  access  to  the  Statistics  Counters  and  provides  interrupt/status  information  to  the  AHB  Host  

   

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       53    

4.4.2.10 RXDMA This  module  implements  the  Receive  DMA  to  transfer  the  frames  from  the  Internal  FIFO  to  the  Host  Memory  using  the  Receive  Descriptors

4.4.2.11 EMAC_TXFIFO

This  module  has  a  configurable  FIFO  to  store  the  Frames  that  are  received  from  the  Host  memory  before  the  frames  are  transferred  onto  Ethernet  Interface.  This  module  also  has  additional  FIFO  control  logic  that  helps  in  frame  retransmission  during  Collisions

4.5 PinOut  Diagrams  4.5.1 GEMAC-­‐AHB  Pinout  Diagram  

 

Figure  19:  GEMAC-­‐AHB  Pinout  Diagram  

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       54    

4.5.2 GEMAC-­‐AXI  Core  Pin-­‐  Out  Diagram  

 

Figure  20:  GEMAC-­‐  AXI  Core  Pin-­‐  Out  Diagram  

   

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       55    

4.5.3 Pinout  Descriptions  The  following  table  describes  each  of  the  GEMAC  Signal  in  detail.  All  signals  are  active  high  unless  specified.  

• Active  low  signals  are  suffixed  with  “_n”    • All  signals  that  Interface  to  the  MII/GMII  Interface  are  prefixed  with  “gmii_”    • The  AHB  Clock/Reset/Interrupt  signals  (when  AHB  Interface  is  used)  are  prefixed  with  “ahb_”    • All  signals  that  Interface  to  the  AHB  Master  Interface  (when  AHB  Interface  is  used)  are  prefixed  

with  “ahbmaster_”    • All  signals  that  Interface  to  the  AHB  Target  Interface  (when  AHB  Interface  is  used)  are  prefixed  

with  “ahbtarget_”    • The  AXI  Clock/Reset/Interrupt  signals  (when  AHB  Interface  is  used)  are  prefixed  with  “axi_”    • All  signals  that  Interface  to  the  AXI  Master  Interface  (when  AXI  Interface  is  used)  are  prefixed  

with  “aximst_”    • All  signals  that  Interface  to  the  AXI  Slave(Target)  Interface  (when  AXI  Interface  is  used)  are  

prefixed  with  “axislv_”    

4.5.4 Signal  Interfaces  The  10/100  Fast  Ethernet  MAC  with  IEEE  1588  has  the  following  interfaces:    

• MII/GMII  Interface  Signal  Description    • AHB  Interface  Signal  Description    • AXI  Interface  Signal  Description    • 1588  Interface  Signal  Description    

Table  8:  MII/GMII  Interface  Signal  Description  

Pins   Direction   Description  txclk     INPUT     txclk  (MII/GMII  Transmit  Clock)  is  a  continuous  clock  that  

provides  for  the  timing  reference  for  the  transfer  of  the  gmii_txen,  gmii_txer,  and  gmii_txd[7:0]  signals  from  the  GEMAC  Core  to  the  Ethernet  PHY  Controller.  In  the  MII  Mode  the  txclk  is  sourced  by  the  External  Ethernet  PHY  Controller  chip.  The  operating  frequency  of  the  txclk  is  25  MHz  when  operating  at  100-­‐Mb/s  and  2.5  MHz  when  operating  at  10-­‐Mb/s.    In  the  GMII  Mode  the  txclk  is  sourced  from  the  Application.  Also  this  is  to  be  sent  out  as  gmii_txclk.  The  operating  frequency  of  the  txclk  is  125  MHz  in  this  mode.  A  Clock  mux  is  required  to  multiplex  the  125  MHz  (for  1000  Mbps)  Clock  and  MII_TXCLK  (for  10/100  Mbps)  outside  of  the  Core.    

gmii_txd[7:0]     OUTPUT     gmii_txd[7:0]  (GMII/MII  Transmit  Data)  is  driven  by  the  GEMAC  Core  to  the  External  PHY  Controller/PCS  

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       56    

Pins   Direction   Description  Module.  gmii_txd  will  transition  synchronously  with  respect  to  the  txclk.  For  each  txclk  period  in  which  gmii_txen  is  asserted,  gmii_txd  will  have  the  data  to  be  accepted  by  the  Ethernet  PHY  Controller  chip/PCS  Module.  gmii_txd[0]  is  the  least  significant  bit.  While  gmii_txen  is  deasserted  the  data  presented  on  gmii_txd  should  be  ignored.  When  the  GEMAC  is  operating  in  MII  Mode  (10/100  Mbps),  only  the  lower  4  bits  (gmii_txd[3:0])  are  used  to  drive  the  data.    

gmii_txen     OUTPUT     gmii_txen  (GMII/MII  Transmit  Enable)  indicates  that  the  GEMAC  Core  is  presenting  data  on  the  GMII/MII  for  transmission.  It  will  be  asserted  by  the  GEMAC  Core  with  the  first  byte/nibble  of  the  preamble  and  will  remain  asserted  while  all  data  to  be  transmitted  are  presented  on  the  GMII/MII  Interface.  gmii_txen  will  be  negated  prior  to  the  first  clock  following  the  final  byte/nibble  of  the  frame.    gmii_txen  is  driven  by  the  GEMAC  Core  and  will  transition  synchronously  with  respect  to  the  txclk.  When  asserted  the  gmii_txen  will  be  at  logic  '1'  and  it  will  be  at  logic  '0'  while  de-­‐asserted.    

gmii_txer     OUTPUT     gmii_txer  (GMII/MII  Transmit  Error)  indicates  that  the  current  frame  is  an  error  by  the  GEMAC.  gmii_txer  is  asserted  on  the  last  clock  of  the  frame  when  GEMAC  decides  to  force  an  EOP-­‐ERROR.  gmii_txer  is  driven  by  the  GEMAC  Core  and  will  transition  synchronously  with  respect  to  the  txclk.  When  asserted  the  gmii_txer  will  be  at  logic  '1'  and  it  will  be  at  logic  '0'  while  de-­‐asserted.    

rxclk     INPUT     rxclk  (GMII/MII  Receive  Clock)  is  the  receive  clock  on  which  the  Receive  GMII/MII  Interface  signals  are  synchronous  with.  The  GMII/MII  based  external  PHY  derives  this  from  the  input  data  stream  and  passes  it  along  with  the  other  GMII  Receive  Interface    signals  to  the  EMAC  Core.  The  “gmii_rxclk”  has  a  nominal  frequency  of  2.5  MHz  at  10  Mbps  speed,  25  MHz  at  100  Mbps  speed  and  125  MHz  at  1000  Mbps  speed.    

gmii_rxd[7:0]     INPUT     gmii_rxd[7:0]  (GMII/MII  Receive  Data)  driven  by  the  Ethernet  PHY  Controller  chip/PCS  Module.  gmii_rxd  will  transition  synchronously  with  respect  to  the  rxclk.  For  each  rxclk  period  in  which  gmii_rxdv  is  asserted,  gmii_rxd  contains  recovered  frame  data  byte/nibble  to  be  accepted  by  the  GEMAC  Core.  gmii_rxd[0]  is  the  least  significant  bit.  While  gmii_rxdv  is  de-­‐asserted,  gmii_rxd  will  have  no  effect  on  the  GEMAC  Core.  When  the  GEMAC  is  operating  in  MII  Mode  (10/100  Mbps),  only  

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       57    

Pins   Direction   Description  the  lower  4  bits  (gmii_rxd[3:0])  are  used  to  drive  the  data.    

gmii_rxdv     INPUT     gmii_rxdv  (MII/GMII  Receive  Data  Valid)  is  driven  by  the  External  Ethernet  PHY  Controller/PCS  Module  to  indicate  the  GEMAC  Core  that  it  is  presenting  the  recovered  and  decoded  data  on  the  gmii_rxd  bus.  gmii_rxdv  transitions  synchronously  with  respect  to  the  rxclk.  gmii_rxdv  will  be  asserted  continuously  from  the  first  recovered  data  byte/nibble  of  the  frame  through  the  final  recovered  data  byte/  nibble,  and  will  be  negated  prior  to  the  first  rxclk  that  follows  the  final  data  byte/nibble.  When  asserted  the  gmii_rxdv  will  be  at  logic  ’1’  and  it  will  be  at  logic  ’0’  while  de-­‐asserted.    

gmii_rxer     INPUT     gmii_rxer  (GMII/MII  Receive  Error)  is  driven  by  the  External  Ethernet  PHY  Controller  chip/PCS  Module  to  indicate  that  an  error  (example  -­‐  a  coding  error,  or  any  error  that  the  PHY/PCS  is  capable  of  detecting,  and  that  otherwise  be  undetectable  by  the  MAC)  was  detected  some  where  in  the  frame  presently  being  transferred  from  the  PHYto  the  GEMAC  Core.  gmii_rxer  will  transition  synchronously  with  respect  to  rxclk  and  may  be  asserted  for  one  or  more  clocks  while  the  frame  is  being  received.  While  gmii_rxdv  is  de-­‐asserted,  gmii_rxer  will  have  no  effect  on  the  GEMAC  Core.    When  asserted  the  gmii_rxer  will  be  at  logic  ’1’  and  it  will  be  at  logic  ’0’  while  de-­‐asserted.    

gmii_col     INPUT     gmii_col  (GMII/MII  Collision)  is  asserted  by  the  External  Ethernet  PHY  Controller  Chip/PCS  Module  upon  detection  of  a  collision  on  the  medium,  and  remains  asserted  while  the  collision  condition  persists.  The  transitions  on  the  gmii_col  signal  are  not  synchronous  to  either  the  txclk  or  the  rxclk.  The  COL  signal  is  ignored  by  the  GEMAC  Core  when  operating  in  the  Full-­‐Duplex  Mode  or  when  it  is  operating  in  GMII  mode.    

gmii_crs     INPUT     gmii_crs  (GMII/MII  Carrier  Sense)  is  asserted  by  the  External  Ethernet  PHY  Controller  Chip/PCS  Module  when  either  Transmit  or  Receive  medium  is  non  idle.  gmii_crs  is  de-­‐asserted  when  both  the  Transmit  and  Receive  medium  are  idle.  The  PHY/PCS  should  ensure  that  gmii_crs  remains  asserted  throughout  the  duration  of  a  collision  condition.    The  transitions  on  the  gmii_crs  signal  are  not  synchronous  to  either  the  txclk  or  the  rxclk.    

MDIO  Interface  gmii_mdc     Output     gmii_mdc  (GMII/MII  MDC)  is  sourced  by  the  GEMAC  

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       58    

Pins   Direction   Description  Core  to  the  External  Ethernet  PHY  Controller  as  the  timing  reference  for  transfer  of  information  on  the  gmii_mdi/gmii_mdo  signals.  gmii_mdc  is  an  a  periodic  signal  that  has  no  maximum  high  or  low  times.  The  minimum  high  and  low  times  for  gmii_mdc  will  be  160  ns  each,  and  the  minimum  period  for  gmii_mdc  will  be  400  ns,  regardless  of  the  nominal  period  of  txclk  and  rxclk.    Note:  The  gmii_mdc  is  derived  from  the  ahb_clk/axi_clk.  The  frequency  of  the  gmii_mdc  is  1/64th  of  the  ahb_clk/axi_clk  frequency    

gmii_mdi     Input     gmii_mdi  (GMII/MII  MDI)  is  the  data  input  signal  from  the  External  Ethernet  PHY  Controller.  The  Read  Data  is  driven  by  the  PHY  synchronously  with  respect  to  the  gmii_mdc  clock  during  the  read  cycles.    

gmii_mdo     Output     gmii_mdo  (GMII/MII  MDO)  is  the  data  output  signal  from  the  GEMAC  Core  that  is  used  to  drive  the  control  information  during  the  Read/Write  cycles  to  the  External  PHY  Controller.  The  gmii_mdo  signal  is  driven  by  the  GEMAC  Core  synchronously  with  respect  to  the  gmii_mdc.    

gmii_mdoen_n     Output     gmii_mdoen_n  (GMII/MII  MDO  Enable)  is  the  tri-­‐state  enable  signal  to  drive  the  gmii_mdo  on  to  the  MDIO  pin.  This  is  a  low  asserted  signal.    

 

Table  9:  AHB  Interface  Signal  Description  

Pins   Direction   Description  AHB  Clock/Reset/Interrupt  Signals  

ahb_clk     INPUT     ahb_clk  (AHB  Clock)  is  the  system  clock  on  which  both  the  AHB  Master  Interface  and  AHB  Target  Interface  is  synchronous  to.    

ahb_reset_n     INPUT     ahb_reset_n  (AHB  Reset)  is  the  System  Reset  to  reset  the  GEMAC  Core  to  the  default  State.  This  is  an  active  low  signal.  When  asserted,  this  signal  must  be  asserted  for  at  least  64  Clock  cycles.    

ahb_reset_n    .    

INPUT     ahb_reset_n  (AHB  Reset)  is  the  System  Reset  to  reset  the  GEMAC  Core  to  the  default  State.  This  is  an  active  low  signal.  When  asserted,  this  signal  must  be  asserted  for  at  least  64  Clock  cycles    

AHB  Master  Interface  Signals  ahbmaster_hbusreq     OUTPUT     Bus  Request  on  the  AHB  Master  Interface.    

     

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       59    

Pins   Direction   Description  ahbmaster_hgrant     INPUT     Bus  Grant  on  the  AHB  Master  Interface.    

ahbmaster_haddr[31:0]     OUTPUT     Bus  Address  on  the  AHB  Master  Interface.  This  is  a  Byte  Addressable  Address.    

ahbmaster_hwdata[(DW-­‐    1):0]    

OUTPUT     Write  Data  on  the  AHB  Master  Interface.  The  Width  of  the  bus  is  based  on  the  Selected  Host  Data  Bus  Width.  Here  DW  is  64  for  64-­‐bit  bus,  and  DW  is  32  for  32-­‐bit  bus.    

ahbmaster_hrdata[(DW-­‐    1):0]    

INPUT     Read  Data  on  the  AHB  Master  Interface.  The  Width  of  the  bus  is  based  on  the  Selected  Host  Data  Bus  Width.  Here  DW  is  64  for  64-­‐bit  bus,  and  DW  is  32  for  32-­‐bit  bus.    

ahbmaster_hwrite     OUTPUT     Write  or  Read  Direction  Indication  for  the  current  AHB  Master  transaction.    1’b1:  Write    1’b0:  Read    

ahbmaster_hsize[2:0]     OUTPUT     Size  of  the  Data  width.  The  AHB  Master  interface  supports  8,  16,  32,  and  64-­‐bit  data  transfers.  The  64-­‐bit  data  transfers  are  valid  only  when  the  Host  data  Bus  Width  is  64-­‐bits.  The  following  are  the  valid  size  values  that  are  output  by  the  GEMAC  Core.    000:  8-­‐bit  Data  Transfer  Size    001:  16-­‐bit  Data  Transfer  Size    010:  32-­‐bit  Data  Transfer  Size    011:  64-­‐bit  Data  Transfer  Size    

ahbmaster_htrans[1:0]     OUTPUT     Transfer  Type    

ahbmaster_hburst[2:0]     OUTPUT     Burst  Size.  Supports  the  following  Burst  Sizes    000:  SINGLE    001:  INCR    011:  INCR4    101:  INCR8    111:  INCR16    

ahbmaster_hready     INPUT     Target  Ready    

ahbmaster_hresp[1:0]     INPUT     Transfer  Response    Note:  The  GEMAC  doesn’t  support  SPLIT  responses.    

AHB  Target  Interface  Signals  ahbtarget_haddr[15:0]     INPUT     Bus  Address  on  the  AHB  Target  Interface.  This  is  a  Byte    

Addressable  Address.    •  Only  16-­‐bits  of  the  Address  are  used.    •  All  Registers  in  the  GEMAC  Core  are  32-­‐bit  aligned.    

ahbtarget_hwdata[31:0]     INPUT     Write  Data  on  the  AHB  Target  Interface.    

ahbtarget_hrdata[31:0]     OUTPUT     Read  Data  on  the  AHB  Target  Interface.    

ahbtarget_hwrite     INPUT     Write  or  Read  Direction  Indication  for  the  current  AHB    Target  transaction.    1’b1:  Write    

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       60    

Pins   Direction   Description  1’b0:  Read    

ahbtarget_hsize[2:0]     INPUT     Size  of  the  Data  width.  The  AHB  Target  Interface  supports  only  32-­‐bit  data  transfers.  Thus  the  Size  should  be  fixed  to  3’b010  for  all  data  transfers    

ahbtarget_htrans[1:0]     INPUT     Transfer  Type.    

ahbtarget_hburst[2:0]     INPUT     Burst  Size  for  the  current  AHB  Target  transaction.  The  Target  Interface  supports  only  SINGLE  transaction  and  no  burst  support.    

ahbtarget_hready     OUTPUT     Target  Ready  from  GEMAC.    

ahbtarget_hresp[1:0]     OUTPUT     Transfer  Response  for  the  Current  AHB  Target  transaction    

ahbtarget_hready_glbl     INPUT     Selected  HReady  from  all  Targets.  This  is  the  signal  that  feeds  to  AHB  Targets.    

 

Table  10:  AXI  Interface  Signal  Description  

Pins   Direction   Description  

AXI  Clock/Reset/Interrupt  Signals  axi_clk     INPUT     axi_clk  (AXI  Clock)  is  the  system  clock  on  which  both  the  

AXI  Master  Interface  and  AXI  Slave(Target)  Interface  is  synchronous  to.    

axi_reset_n     INPUT     axi_reset_n  (AXI  Reset)  is  the  System  Reset  to  reset  the    GEMAC  Core  to  the  default  State.  This  is  an  active  low  signal.  When  asserted,  this  signal  must  be  asserted  for  at  least  64  Clock  cycles.    

axi_intr     OUTPUT     Interrupt  Output  to  the  AXI  Bus.    

AXI  Master  Interface  Signals  aximst_awid[3:0]     OUTPUT     Write  address  ID.  This  signal  is  the  identification  tag  for  

the  write  address  group  of  signals.    aximst_awaddr[31:0]     OUTPUT     Write  address.  The  write  address  bus  gives  the  address  

of  the  first  transfer  in  a  write  burst  transaction.  The  associated  control  signals  are  used  to  determine  the  addresses  of  the  remaining  transfers  in  the  burst.    

aximst_awlen[3:0]     OUTPUT     Burst  length.  The  burst  length  gives  the  exact  number  of  transfers  in  a  burst.  This  information  determines  the  number  of  data  transfers  associated  with  the  address.    Refer  to  AMBA  Specification  for  encoding  of  this  field.    

aximst_awsize[2:0]     OUTPUT     Burst  size.  This  signal  indicates  the  size  of  each  transfer  in  the  burst.  Byte  lane  strobes  indicate  exactly  which  byte  lanes  to  update.    The  AXI  Master  interface  supports  8,  16,  32,  and  64-­‐bit  wide  data  transfers.  The  64-­‐bit  data  transfer  size  is  supported  only  when  the  Host  Data  Bus  Width  is  64-­‐bits.  

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       61    

The  following  are  the  valid  size  values  that  are  output  by  the  GEMAC  Core.    000:  8-­‐bit  Data  Transfer  Size    001:  16-­‐bit  Data  Transfer  Size    010:  32-­‐bit  Data  Transfer  Size    011:  64-­‐bit  Data  Transfer  Size    

aximst_awburst[1:0]     OUTPUT     Burst  type.  The  burst  type,  coupled  with  the  size  information,  details  how  the  address  for  each  transfer  within  the  burst  is  calculated.    The  AXI  Master  interface  always  uses  INCR  Burst  with  value  of  2’b00    

aximst_awvalid     OUTPUT     Write  address  valid.  This  signal  indicates  that  valid  write    address  and  control  information  are  available:    1  =  address  and  control  information  available    0  =  address  and  control  information  not  available.    The  address  and  control  information  remain  stable  until  the  address  acknowledge  signal,  aximst_awready  (AWREADY),  goes  HIGH.    

aximst_awready     INPUT     Write  address  ready.  This  signal  indicates  that  the  slave  is  ready  to  accept  an  address  and  associated  control  signals:    1  =  slave  ready    0  =  slave  not  ready.    

aximst_wid[3:0]     OUTPUT     Write  ID  tag.  This  signal  is  the  ID  tag  of  the  write  data  transfer.    The  aximst_wid  (WID)  value  matches  the  aximst_awid    (AWID)  value  of  the  write  transaction    

aximst_wdata[(DW-­‐1):0]     OUTPUT     Write  data.  The  write  data  bus  is  either  32-­‐bits  (DW=32)  or  64  (DW=64)  based  on  the  selected  Host  Data  Bus  Width.    

aximst_wstrb[(BW-­‐1):0]     OUTPUT     Write  strobes.  This  signal  indicates  which  byte  lanes  to  are  valid  in  the  aximst_wdata  bus.  There  is  one  write  strobe  for  each  eight  bits  of  the  write  data  bus.  The  Write  strobe  bus  is  either  4  (BW=4)  when  the  Host  Bus  Width  is  32  or  8  (BW=8)  when  the  Host  Bus  Width  is  64.    

aximst_wlast     OUTPUT     Write  last.  This  signal  indicates  the  last  transfer  in  a  write  burst.    

aximst_wvalid     OUTPUT     Write  valid.  This  signal  indicates  that  valid  write  data  and  strobes  are  available:    1  =  write  data  and  strobes  available    0  =  write  data  and  strobes  not  available    

aximst_wready     INPUT     Write  ready.  This  signal  indicates  that  the  slave  can  accept    the  write  data:    1  =  slave  ready    0  =  slave  not  ready.    

aximst_bid[3:0]     INPUT     Response  ID.  The  identification  tag  of  the  write  

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       62    

response.    The  aximst_bid  (BID)  value  must  match  the  aximst_awid    (AWID)  value  of  the  write  transaction  to  which  the  slave  is  responding.    

aximst_bresp[1:0]     INPUT     Write  response.  This  signal  indicates  the  status  of  the  write  transaction.  The  allowable  responses  are  as  follows:    2’b00  -­‐  OKAY    2’b01  -­‐  EXOKAY    2’b10  -­‐  SLVERR    2’b11  -­‐  DECERR.    The  Response  EXOKAY  should  never  be  asserted  as  the    Master  never  generates  Exclusive  access.    

aximst_bvalid     INPUT     Write  response  valid.  This  signal  indicates  that  a  valid  write  response  is  available:    1  =  write  response  available    0  =  write  response  not  available.    

aximst_bready     OUTPUT     Response  ready.  This  signal  indicates  that  the  GEMAC  Core  can  accept  the  response  information.    1  =  master  ready    0  =  master  not  ready.    

AXI  Master  Read  Interface  Signals  aximst_arid[3:0]     OUTPUT     Read  address  ID.  This  signal  is  the  identification  tag  for  

the  write  address  group  of  signals    aximst_araddr[31:0]     OUTPUT     Read  address.  The  read  address  bus  gives  the  address  of  

the  first  transfer  in  a  read  burst  transaction.  The  associated  control  signals  are  used  to  determine  the  addresses  of  the  remaining  transfers  in  the  burst.    

aximst_arlen[3:0]     OUTPUT     Burst  length.  The  burst  length  gives  the  exact  number  of  transfers  in  a  burst.  This  information  determines  the  number  of  data  transfers  associated  with  the  address.    Refer  to  AMBA  Specification  for  encoding  of  this  field.    

aximst_arsize[2:0]     OUTPUT     Burst  size.  This  signal  indicates  the  size  of  each  transfer  in  the  burst.  Byte  lane  strobes  indicate  exactly  which  byte  lanes  to  update.    The  AXI  Master  interface  supports  8,  16,  32,  and  64-­‐bit  wide  data  transfers.  The  64-­‐bit  data  transfer  size  is  supported  only  when  the  Host  Data  Bus  Width  is  64-­‐bits.  The  following  are  the  valid  size  values  that  are  output  by  the  GEMAC  Core.    000:  8-­‐bit  Data  Transfer  Size    001:  16-­‐bit  Data  Transfer  Size    010:  32-­‐bit  Data  Transfer  Size    011:  64-­‐bit  Data  Transfer  Size    

aximst_arburst[1:0]     OUTPUT     Burst  type.  The  burst  type,  coupled  with  the  size  information,  details  how  the  address  for  each  transfer  within  the  burst  is  calculated.    

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       63    

The  AXI  Master  interface  always  uses  INCR  Burst  with  value  of  2’b00.    

aximst_arvalid     OUTPUT     Read  address  valid.  This  signal  indicates  that  valid  read  address  and  control  information  are  available:    1  =  address  and  control  information  available    0  =  address  and  control  information  not  available.    The  address  and  control  information  remain  stable  until  the  address  acknowledge  signal,  aximst_arready  (ARREADY),  goes  HIGH.    

aximst_arready     INPUT     Read  address  ready.  This  signal  indicates  that  the  slave  is  ready  to  accept  an  address  and  associated  control  signals:    1  =  slave  ready    0  =  slave  not  ready.    

aximst_rid[3:0]     INPUT     Read  ID  tag.  This  signal  is  the  ID  tag  of  the  read  data  transfer.  The  aximst_rid  (RID)  value  matches  the  aximst_arid  (ARID)  value  of  the  read  transaction    

aximst_rdata[(DW-­‐1):0]     INPUT     Read  data.  The  read  data  bus  is  either  32-­‐bits  (DW=32)  or  64  (DW=64)  based  on  the  selected  Host  Data  Bus  Width.    

aximst_rresp[1:0]     INPUT     Read  response.  This  signal  indicates  the  status  of  the  read  transaction.  The  allowable  responses  are  as  follows:    2’b00  -­‐  OKAY    2’b01  -­‐  EXOKAY    2’b10  -­‐  SLVERR    2’b11  -­‐  DECERR.    The  Response  EXOKAY  should  never  be  asserted  as  the    Master  never  generates  Exclusive  access.    

aximst_rlast     INPUT     Read  last.  This  signal  indicates  the  last  transfer  in  a  read  burst.    

aximst_rvalid     INPUT     Read  valid.  This  signal  indicates  that  valid  read  data  and    strobes  are  available:    1  =  read  data  and  strobes  available    0  =  read  data  and  strobes  not  available.    

aximst_rready     OUTPUT     Read  ready.  This  signal  indicates  that  the  GEMAC  Core  can  accept  the  read  data:    1  =  slave  ready    0  =  slave  not  ready.    

AXI  Target  (Slave)  Write  Interface  Signals  axislv_awid[7:0]     INPUT     Write  address  ID.  This  signal  is  the  identification  tag  for  

the  write  address  group  of  signals.    axislv_awaddr[15:0]     INPUT     Write  address.  The  AXI  Slave  Interface  supports  only  

Single    length  transfers.  So  this  address  determines  the  address  of  the  transaction.    

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       64    

axislv_awlen[3:0]     INPUT     Burst  length.  The  AXI  Slave  Interface  supports  only  Single    length  transfers.  So  this  value  had  to  be  set  to  4’b0000  for  all  transfers.    

axislv_awsize[2:0]     INPUT     Burst  size.  This  signal  indicates  the  size  of  each  transfer  in  the  burst.  Byte  lane  strobes  indicate  exactly  which  byte  lanes  to  update.    The  AXI  Slave  interface  supports  only  32-­‐bit  wide  data  transfers.  So  this  value  had  to  be  set  to  3’b010  for  all  transfers.    

axislv_awburst[1:0]     INPUT     Burst  type.  The  AXI  Slave  interface  always  uses  INCR  Burst  with  value  of  2’b00.    

aximst_awvalid     INPUT     Write  address  valid.  This  signal  indicates  that  valid  write    address  and  control  information  are  available:    1  =  address  and  control  information  available    0  =  address  and  control  information  not  available.    The  address  and  control  information  remain  stable  until  the  address  acknowledge  signal,  axislv_awready  (AWREADY),  goes  HIGH.    

axislv_awready     OUTPUT     Write  address  ready.  This  signal  indicates  that  the  GEMAC  Core  is  ready  to  accept  an  address  and  associated  control  signals:    1  =  slave  ready    0  =  slave  not  ready.    

axislv_wid[7:0]     INPUT     Write  ID  tag.  This  signal  is  the  ID  tag  of  the  write  data  transfer.  The  axislv_wid  (WID)  value  should  match  the    axislv_awid  (AWID)  value  of  the  write  transaction    

aximst_wdata[31:0]     INPUT     Write  data.  The  AXI  Slave  Interface  supports  only  32-­‐bit  wide  data  transfers  on  32-­‐bit  wide  data  bus.    

aximst_wstrb[3:0]     INPUT     Write  strobes.  This  signal  indicates  which  byte  lanes  to  are  valid  in  the  axislv_wdata  bus.  There  is  one  write  strobe  for  each  eight  bits  of  the  write  data  bus.    

axislv_wlast     INPUT     Write  last.  This  signal  indicates  the  last/only  transfer  in  a  write  burst.    

axislv_wvalid     INPUT     Write  valid.  This  signal  indicates  that  valid  write  data  and    strobes  are  available:    1  =  write  data  and  strobes  available    0  =  write  data  and  strobes  not  available    

axislv_wready     OUTPUT     Write  ready.  This  signal  indicates  that  the  GEMAC  Core  can    accept  the  write  data:    1  =  slave  ready    0  =  slave  not  ready.    

axislv_bid[7:0]     OUTPUT     Response  ID.  The  identification  tag  of  the  write  response.    The  axislv_bid  (BID)  value  matches  the  axislv_awid  (AWID)  value  of  the  write  transaction  to  which  the  slave  

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       65    

is  responding.    

axislv_bresp[1:0]     OUTPUT     Write  response.  This  signal  indicates  the  status  of  the  write  transaction.  The  allowable  responses  are  as  follows:    2’b00  -­‐  OKAY    2’b01  -­‐  EXOKAY    2’b10  -­‐  SLVERR    2’b11  -­‐  DECERR.    The  Response  EXOKAY  will  never  be  asserted  as  the  Slave  does  not  support  Exclusive  access.    

axislv_bvalid     OUTPUT     Write  response  valid.  This  signal  indicates  that  a  valid  write  response  is  available:    1  =  write  response  available    0  =  write  response  not  available.    

axislv_bready     INPUT     Response  ready.  This  signal  indicates  that  the  master  can  accept  the  response  information.    1  =  master  ready    0  =  master  not  ready    

AXI  Slave  Read  Interface  Signals  axislv_arid[7:0]     INPUT     Read  address  ID.  This  signal  is  the  identification  tag  for  

the  write  address  group  of  signals.    axislv_araddr[15:0]     INPUT     Read  address.  The  AXI  Slave  Interface  supports  only  

Single  length  transfers.  So  this  address  determines  the  address  of  the  transaction.    

axislv_arlen[3:0]     INPUT     Burst  length.  The  AXI  Slave  Interface  supports  only  Single  length  transfers.  So  this  value  had  to  be  set  to  4’b0000  for  all  transfers.    

axislv_arsize[2:0]     INPUT     Burst  size.  This  signal  indicates  the  size  of  each  transfer  in  the  burst.  Byte  lane  strobes  indicate  exactly  which  byte  lanes  to  update.  The  AXI  Slave  interface  supports  only  32-­‐bit  wide  data  transfers.  So  this  value  had  to  be  set  to  3’b010  for  all  transfers.    

axislv_arburst[1:0]     INPUT     Burst  type.  The  AXI  Slave  interface  always  uses  INCR  Burst  with  value  of  2’b00.    

axislv_arvalid     INPUT     Read  address  valid.  This  signal  indicates  that  valid  write    address  and  control  information  are  available:    1  =  address  and  control  information  available    0  =  address  and  control  information  not  available.    The  address  and  control  information  remain  stable  until  the  address  acknowledge  signal,  axislv_arready  (ARREADY),  goes  HIGH.    

axislv_arready     OUTPUT     Write  address  ready.  This  signal  indicates  that  the  GEMAC    Core  is  ready  to  accept  an  address  and  associated  control    signals:    1  =  slave  ready    

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       66    

0  =  slave  not  ready.    

axislv_rid[7:0]     OUTPUT     Read  ID  tag.  This  signal  is  the  ID  tag  of  the  read  data  transfer.  The  axislv_rid  (RID)  value  matches  the  axislv_arid  (ARID)  value  of  the  read  transaction    

aximst_rdata[31:0]     OUTPUT     Read  data.  The  AXI  Slave  Interface  supports  only  32-­‐bit  wide  data  transfers  on  32-­‐bit  wide  data  bus.    

axislv_rresp[1:0]     OUTPUT     Read  response.  This  signal  indicates  the  status  of  the  read  transaction.  The  allowable  responses  are  as  follows:    2’b00  -­‐  OKAY    2’b01  -­‐  EXOKAY    2’b10  -­‐  SLVERR    2’b11  -­‐  DECERR.    The  Response  EXOKAY  should  never  be  asserted  as  the    Master  never  generates  Exclusive  access.    

axislv_rlast       OUTPUT     Read  last.  This  signal  indicates  the  last  transfer  in  a  read    burst    

axislv_rvalid     OUTPUT     Read  valid.  This  signal  indicates  that  valid  read  data  and    strobes  are  available:    1  =  read  data  and  strobes  available    0  =  read  data  and  strobes  not  available.    

axislv_rready     INPUT     Read  ready.  This  signal  indicates  that  the  Master  can  accept    the  read  data:    1  =  slave  ready    0  =  slave  not  ready.    

 

Table  11:  1588  Interface  Signal  Descriptions  

Pins   Direction   Description  clk_1588     INPUT     clk_1588  (1588  Reference  Clock)  is  used  to  run  the  IEEE-­‐

1588  Module  in  the  GEMAC  Core.  The  System  Timer  runs  on  this  clock.  This  can  be  independent  of  host_clk.    

 

   

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       67    

4.6 SoC  Level  Integration  4.6.1 Applications  The  GEMAC  Core  can  be  used  in  an  SOC  application  that  requires  an  Ethernet  Connectivity  or  in  a  PCI/PCIExpress  based  NIC  Controller.  The  following  are  two  simple  applications  of  the  GEMAC  Core:    

• GEMAC  Core  in  a  SoC  Application    • GEMAC  Core  in  an  NIC  Application    

 

Figure  21:  GEMAC  Core  in  a  SoC  Application  

 

Figure  22:  GEMAC  Core  in  an  NIC  Application  

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       68    

4.6.2 IP  Deliverables  The  IP  package  consists  of  the  following:    

• RMM  Compliant  Synthesizable  RTL  design  in  Verilog    • Easy-­‐to-­‐use  test  environment    • Synthesis  scripts    • Technical  documents    

   

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       69    

5 Ethernet  Device  Driver  5.1 Overview  Arasan  Chip  Systems‘  802.3  Ethernet  Device  Driver  is  developed  to  support  both  the  10/  100  Ethernet  IP  as  well  as  its  Gigabit  Ethernet  IP.  The  device  driver  provides  communications  between  the  MAC  (Medium  Access  Control)  and  the  OS  (operating  System)  as  well  as  access  to  the  overlying  network  layer  protocol  and  the  applications  layer.  The  device  driver  provides  developers  a  complete  software  solution  for  quick  deployment  of  10/100  or  Gigabit  Ethernet  applications  in  a  Linux  based  network  environment.  The  software  driver  is  compliant  to  IEEE  802.3  standards.  It  is  written  in  ANSI  C  to  facilitate  quick  and  simple  migration  to  multiple  platforms  using  Arasan’s  Ethernet  IPs.  The  device  driver  can  be  used  in  PCs,  laptop  computers,  portable  media  devices  or  other  compatible  embedded  systems  using  Arasan’s  Ethernet  IPs.    

To  facilitate  the  development  of  new  network  systems,  the  Arasan  Ethernet  Linux  Device  Driver  supports  a  Windows  based  Ethereal  tool  for  network  packet  analysis,  and  a  FTP  Client  WinScp  for  handling  file  transfer  between  Windows  and  Linux  systems.  The  Gigabit  Ethernet  Linux  Driver  is  a  PCI  based  network  device  driver  that  the  system  uses  it  to  communicate  with  the  PCI-­‐Ethernet  network  card  and  provides  a  network  interface  to  the  system.    

5.2 Features  • Supports:  Arasan  Gigabit  Ethernet  and  10/100  Ethernet  IP  Cores  • Designed  and  developed  to  be  fully  integrated  with  the  Linux  OS  Fedora  Core  6.0  • Written  in  ANSI  C  for  portability    • Modular  design  • OS  abstraction  layer  • Hardware  abstraction  layer  • Supports  full  speed  Ethernet  up  to  10/100Mbps  and  • 1  Gbps  data  rates  • Implemented  and  tested  with  Arasan  IPcores  and  FPGA  platform  • Supports  Ethereal  for  debugging  • Supports  Ipref  for  throughput  analysis  • Supports  remote  debugging  • Scatter  Gather  DMA  to  minimize  CPU  load  • Low  number  of  interrupt  processing  results  in  power  saving  in  system  level  

   

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       70    

5.3 Description    The  network  subsystem  of  the  Linux  kernel  is  designed  to  be  completely  protocol  independent.  This  applies  to  both  networking  protocols  Internet  protocol  [IP]  and  hardware  Ethernet  protocols.  The  network  driver  and  the  kernel  properly  process  one  network  packet  at  a  time.  This  allows  protocol  issues  to  be  hidden  from  the  driver  and  the  physical  transmission  to  be  hidden  from  the  protocol.  The  below  picture  depicts  the  interaction  between  the  application  program,  OS  Kernel,  and  Device  Driver.    

 

Figure  23:  Ethernet  Device  Driver  

5.4 Deliverables  • C  source  code  • User’s  Manual  • API  User’s  Guide  

   

     Datasheet        

Copyright  ©  2015,  Arasan  Chip  Systems  Inc.       71    

6 Services  &  Support  6.1 Global  Support  Arasan  Chip  Systems  provide  global  support  to  its  IP  customers.  The  technical  support  is  not  geographically  bound  to  any  specific  site  or  location,  and  therefore  our  customers  can  easily  get  support  for  design  teams  that  are  distributed  in  several  locations  at  no  extra  cost.  

6.2 Arasan  Support  Team  Our  technical  support  is  provided  by  the  engineers  who  have  designed  the  IP.  That  is  a  huge  benefit  for  our  customers,  who  can  communicate  directly  with  the  engineers  who  have  the  deepest  knowledge  and  domain  expertise  of  the  IP,  and  the  standard  to  which  it  complies.  

6.3 Professional  Services  &  Customization  At  Arasan  Chip  Systems  we  understand  that  no  two  Application  Processors  are  the  same.  We  realize  that  often  the  standard  itself  needs  some  tweaks  and  optimizations  to  fit  your  design  better.  Sometimes,  the  interface  between  the  IP  blocks  and  your  design  need  some  customization.  Therefore,  we  provide  professional  services  and  customization  to  our  IP  customers.  We  do  not  sell  our  IP  blocks  as  “black  box”  that  cannot  be  touched.    Please  contact  us  for  more  details  on  our  customization  services.  

6.4 The  Arasan  Porting  Engine  Analog  IP  blocks,  such  as  eMMC  5.1  HS400  PHY,  are  designed  for  a  specific  Fab  and  process  technology.  Arasan’s  analog  design  team,  utilizing  its  deep  domain  expertise  and  vast  experience,  is  capable  of  porting  the  PHYs  into  any  specific  process  technology  required  by  the  customer.  That  is  “The  Arasan  Porting  Engine”.      

6.5 Pricing  &  Licensing  Arasan  charges  a  one-­‐time  licensing  fee,  with  no  additional  royalties.  The  licensing  fee  gives  the  right  to  use  our  IP  for  1  project.  Licensing  fee  for  additional  projects,  using  the  same  IP,  is  discounted.  We  also  offer  unlimited-­‐use  license.  For  any  additional  information  regarding  pricing  and  licensing  –  please  contact  our  sales  at:  [email protected].