logo资料库

dw_ethernet_databook_3.50a.pdf

第1页 / 共478页
第2页 / 共478页
第3页 / 共478页
第4页 / 共478页
第5页 / 共478页
第6页 / 共478页
第7页 / 共478页
第8页 / 共478页
资料共478页,剩余部分请下载后查看
Release Notes
Installation Guide
QuickStart
Contents
Revision History
Preface
Databook Organization
Reference Documentation
Authority
Customer Support
1 Product Overview
1.1 General Product Description
1.2 System Overview
1.2.1 System-Level Block Diagram
1.2.2 Interfaces
1.2.3 Transmit and Receive FIFOs
1.3 Features List
1.3.1 GMAC Core Features
1.3.2 DMA Block Features
1.3.3 Transaction Layer (MTL) Features
1.3.4 AMBA AHB Interface Features
1.3.5 AMBA AXI Interface Features
1.3.6 Monitoring, Test, and Debugging Support Features
1.4 Configurability
1.5 Deliverables
1.5.1 coreKit
1.5.2 Licensing Features
2 Building and Verifying Your Core
2.1 Setup Requirements
2.2 Basic Design Flow
2.3 Creating a Workspace
2.4 Configuration: Creating the RTL
2.5 Synthesis: Creating the Gate-Level Netlist
2.6 Simulation: Verifying DWC Ether MAC 10/100/1000 Universal
2.6.1 Generating a GTECH Model
2.6.2 Verifying DWC Ether MAC 10/100/1000 Universal
3 Architecture
3.1 Introduction
3.2 IEEE 1588-2002 Overview
3.2.1 Reference Timing Source
3.2.2 Transmit Path Functions
3.2.3 Receive Path Functions
3.2.4 Time Stamp Error Margin
3.2.5 Frequency Range of Reference Timing Clock
3.2.6 Advanced Time Stamp Feature Support
3.2.6.1 Peer-to-Peer PTP (Pdelay) Transparent Clock (P2P TC) Message Support
3.2.6.2 Clock Types
3.2.6.3 PTP Processing and Control
3.2.6.4 Reference Timing Source (for Advance Timestamp Feature)
3.2.6.5 Transmit Path Functions
3.2.6.6 Receive Path Functions
3.2.6.7 Auxiliary Snapshot
3.3 AHB Application Host Interface
3.3.1 AHB Slave Port Timing
3.3.2 AHB Master Port Timing
3.3.2.1 AHB Memory Read
3.3.2.2 AHB Memory Write
3.3.2.3 Early Burst Termination
3.3.2.4 Error Response and Fatal Bus Error Interrupt
3.3.2.5 Split/Retry Response
3.3.2.6 Descriptor Write-Back
3.4 AXI Application Host Interface
3.4.1 AXI Overview
3.4.2 Burst Splitting and Burst Selection
3.4.2.1 INCR Burst Type
3.4.2.2 INCR_ALIGNED Burst Type
3.4.3 Outstanding Transactions
3.4.4 Priority of AXI Requests
3.4.5 Bursts Reordering and Data Interleaving
3.4.6 AXI-ID Translation
3.4.7 Endianess
3.4.8 Posted Writes
3.4.9 Error Response Handling
3.4.10 AXI Memory Read
3.4.11 AXI Memory Write
3.4.12 AXI Early Burst Termination
3.4.13 Slave Interface Support and Timing
3.4.14 AXI Low Power Interface
3.5 DMA Controller
3.5.1 Initialization
3.5.1.1 Host Bus Burst Access
3.5.1.2 Host Data Buffer Alignment
3.5.1.3 Buffer Size Calculations
3.5.1.4 DMA Arbiter for GMAC-DMA and GMAC-AHB Cores
3.5.2 Transmission
3.5.2.1 TxDMA Operation: Default (Non-OSF) Mode
3.5.2.2 TxDMA Operation: OSF Mode
3.5.2.3 Transmit Frame Processing
3.5.2.4 Transmit Polling Suspended
3.5.3 Reception
3.5.3.1 Receive Descriptor Acquisition
3.5.3.2 Receive Frame Processing
3.5.3.3 Receive Process Suspended
3.5.4 Interrupts
3.5.5 Error Response to DMA
3.5.6 DMA Native Interface
3.5.6.1 Write Data Transfer
3.5.6.2 Read Data Transfer
3.5.6.3 Data Transfer With Error
3.6 MAC Transaction Layer (MTL)
3.6.1 Transmit Path
3.6.1.1 Initialization
3.6.1.2 Single-Packet Transmit Operation
3.6.1.3 Transmit Operation-Two Packets in the Buffer
3.6.1.4 Transmit Operation-Multiple Packets in Buffer
3.6.1.5 Retransmission During Collision
3.6.1.6 Transmit FIFO Flush Operation
3.6.1.7 Transmit Status Word
3.6.1.8 Transmit Checksum Offload Engine
3.6.1.9 Transmit Path Timing
3.6.2 Receive Path
3.6.2.1 Receive Operation
3.6.2.2 Receive Operation Multiframe Handling
3.6.2.3 GMAC Flow Control
3.6.2.4 Error Handling
3.6.2.5 Receive Status Word
3.6.2.6 Frame Length Interface
3.6.2.7 Receive Path Timing Diagrams
3.6.2.8 ARI with Advanced Time Stamping
3.6.3 Interfacing With External Two-Port RAMs
3.6.3.1 Low-Power, Synchronous Two-Port SRAM Connection
3.6.3.2 Low Power, Asynchronous Two-Port Register File Connection
3.6.3.3 High-Speed, Synchronous Two-Port SRAM Connection
3.6.3.4 High-Speed, Asynchronous Two-Port RAM Connection
3.7 GMAC Core
3.7.1 Transmission
3.7.1.1 Transmit Bus Interface Module
3.7.1.2 Transmit Frame Controller Module
3.7.1.3 Transmit Protocol Engine Module
3.7.1.4 Transmit Scheduler Module
3.7.1.5 Transmit CRC Generator Module
3.7.1.6 Transmit Flow Control Module
3.7.2 MAC Transmit Interface Protocol
3.7.3 MAC Transmit Timing
3.7.3.1 MAC Transmit Interface (MTI)
3.7.3.2 MTI With Time Stamping
3.7.3.3 Collision During Transmission
3.7.3.4 Underflow During Transmission
3.7.4 Reception
3.7.4.1 Receive Protocol Engine Module
3.7.4.2 Receive CRC Module
3.7.4.3 Receive Checksum Offload Engine
3.7.4.4 Receive Frame Controller Module
3.7.4.5 Receive Flow Control Module
3.7.4.6 Receive Bus Interface Unit Module
3.7.4.7 Address Filtering Module
3.7.5 MAC Receive Interface Protocol
3.7.6 MAC Receive Timing
3.7.6.1 MAC Receive Interface (MRI)
3.7.6.2 Reception of Frame With IP Payload Checksum (Type 1)
3.7.6.3 Frame Reception With Time-Stamping Enabled
3.7.6.4 Frame Transmission and Reception
3.7.7 MAC Control Interface Protocol
3.7.7.1 APB Port Timing
3.7.7.2 MCI Port Timing
3.7.8 System Time Register Module
3.8 MAC Management Counters
3.8.1 Address Assignments
3.8.2 MMC Register Description
3.8.2.1 MMC Control Register
3.8.2.2 MMC Receive Interrupt Register
3.8.2.3 MMC Transmit Interrupt Register
3.8.2.4 MMC Receive Interrupt Mask Register
3.8.2.5 MMC Transmit Interrupt Mask Register
3.8.2.6 MMC Receive Checksum Offload Interrupt Mask Register
3.8.2.7 MMC Receive Checksum Offload Interrupt Register
3.9 Power Management Block
3.9.1 PMT Block Description
3.9.1.1 PMT Control and Status Register
3.9.1.2 Remote Wake-Up Frame Filter Register
3.9.2 Remote Wake-Up Frame Detection
3.9.3 Magic Packet Detection
3.9.4 System Considerations During Power-Down
3.10 Station Management Agent
3.10.1 Functions
3.10.2 GMII/MII Management Write Operation
3.10.3 GMII/MII Management Read Operation
3.11 Physical Coding Sublayer (PCS)
3.11.1 PCS Functions
3.11.1.1 Transmit
3.11.1.2 Receive
3.11.1.3 Synchronization
3.11.1.4 Auto-Negotiation
3.11.1.5 PMA SerDes
3.12 Reduced Media Independent Interface
3.12.1 Block Diagram
3.12.2 Block Overview
3.12.3 Transmit Bit Ordering
3.12.4 RMII Transmit Timing Diagrams
3.13 Serial Media Independent Interface (SMII)
3.13.1 Block Diagram
3.13.2 Block Overview
3.13.2.1 GMII-SMII Transmit (SMI_XMT) Block
3.13.2.2 GMII-SMII Receive (SMI_RCV) Block
3.13.3 SMII Timing
3.14 Reduced Gigabit Media Independent Interface
3.14.1 Block Diagram
3.14.2 Block Overview
3.14.3 RGMII Clocks
3.14.4 Signal Conversion
3.14.4.1 Transmit Data Conversion
3.14.4.2 Transmit Control Signal Conversion
3.14.4.3 Receive Data Conversion
3.14.4.4 Receive Control Signal Conversion
3.14.4.5 Receive Status Signal Conversion
3.14.5 RGMII Transmit Timing
3.14.6 RGMII Receive Timing
3.15 Reduced Ten-Bit Interface
3.15.1 Block Diagram
3.15.2 Block Diagram Overview
3.15.3 RTBI Transmit Timing
3.16 Serial Gigabit Media Independent Interface
3.16.1 Block Diagram
3.16.2 Block Overview
3.16.3 Block Descriptions
3.16.3.1 Rate Adapter Layer (RAL)
3.16.3.2 Physical Coding Sub-Layer (PCS)
3.16.3.3 SerDes
3.16.3.4 High-Speed I/O
3.17 Multiple PHY Interfaces
3.18 Interrupts From the GMAC Core
4 Signal Descriptions
4.1 Top-Level I/O Diagram
4.2 Signal Descriptions
4.2.1 System Clock and Reset Signals (Default)
4.2.2 PHY Interface Signals (Default)
4.2.3 MAC Tx Interface Signals
4.2.4 MAC Rx Interface Signals
4.2.5 MAC Control Interface Signals
4.2.6 Application Clock and Reset Interface Signals
4.2.7 Application Transmit Interface (ATI) Signals
4.2.8 Application Receive Interface (ARI) Signals
4.2.9 MDC Interface Signals
4.2.10 AHB Master Interface Signals
4.2.11 AHB Slave Interface Signals
4.2.12 AXI Master Interface Signals
4.2.13 AXI Low Power Interface Signals
4.2.14 AXI Slave Interface Signals
4.2.15 External DPRAM Interface Signals
4.2.16 External DPRAM (Frame Length FIFO) Interface Signals
4.2.17 RGMII/RTBI Interface Signals (Optional)
4.2.18 RMII Interface Signals (Optional)
4.2.19 SMII Interface Signal (Optional)
4.2.20 PMT Interrupt Signal (Optional)
4.2.21 SGMII/TBI/RTBI Interface Signals (Optional)
4.2.22 SGMII Interface Signals (Optional)
4.2.23 TBI Interface Signals
4.2.24 SMA Interface Signals (Optional)
4.2.25 APB Interface Signals (Optional)
4.2.26 Sideband Signals (Optional)
4.2.27 IEEE 1588 Time Stamp Signals (Optional)
4.2.28 Test Mode
5 Registers
5.1 Register Maps
5.1.1 DMA Register Map
5.1.2 GMAC Register Map
5.2 Register Descriptions
5.2.1 DMA Register Description
5.2.1.1 Register 0 (Bus Mode Register)
5.2.1.2 Register 1 (Transmit Poll Demand Register)
5.2.1.3 Register 2 (Receive Poll Demand Register)
5.2.1.4 Register 3 (Receive Descriptor List Address Register)
5.2.1.5 Register 4 (Transmit Descriptor List Address Register)
5.2.1.6 Register 5 (Status Register)
5.2.1.7 Register 6 (Operation Mode Register)
5.2.1.8 Register 7 (Interrupt Enable Register)
5.2.1.9 Register 8 (Missed Frame and Buffer Overflow Counter Register)
5.2.1.10 Register 9 (Receive Interrupt Watchdog Timer Register)
5.2.1.11 Register 10 (AXI Bus Mode Register)
5.2.1.12 Register 11 (AXI Status Register)
5.2.1.13 Register 18 (Current Host Transmit Descriptor Register)
5.2.1.14 Register 19 (Current Host Receive Descriptor Register)
5.2.1.15 Register 20 (Current Host Transmit Buffer Address Register)
5.2.1.16 Register 21 (Current Host Receive Buffer Address Register)
5.2.1.17 Register 22 (HW Feature Register)
5.2.2 GMAC Register Description
5.2.2.1 Register 0 (MAC Configuration Register)
5.2.2.2 Register 1 (MAC Frame Filter)
5.2.2.3 Register 2 (Hash Table High Register)
5.2.2.4 Register 3 (Hash Table Low Register)
5.2.2.5 Register 4 (GMII Address Register)
5.2.2.6 Register 5 (GMII Data Register)
5.2.2.7 Register 6 (Flow Control Register)
5.2.2.8 Register 7 (VLAN Tag Register)
5.2.2.9 Register 8 (Version Register)
5.2.2.10 Register 9 (Debug Register)
5.2.2.11 Register 14 (Interrupt Status Register)
5.2.2.12 Register 15 (Interrupt Mask Register)
5.2.2.13 Register 16 (MAC Address0 High Register)
5.2.2.14 Register 17 (MAC Address0 Low Register)
5.2.2.15 Register 18 (MAC Address1 High Register)
5.2.2.16 Register 19 (MAC Address1 Low Register)
5.2.2.17 Register 48 (AN Control Register)
5.2.2.18 Register 49 (AN Status Register)
5.2.2.19 Register 50 (Auto-Negotiation Advertisement Register)
5.2.2.20 Register 51 (Auto-Negotiation Link Partner Ability Register)
5.2.2.21 Register 52 (Auto-Negotiation Expansion Register)
5.2.2.22 Register 53 (TBI Extended Status Register)
5.2.2.23 Register 54 (SGMII/RGMII/SMII Status Register)
5.2.3 IEEE 1588 Time Stamp Registers
5.2.3.1 Register 448 (Time Stamp Control Register)
5.2.3.2 Register 449 (Sub-Second Increment Register)
5.2.3.3 Register 450 (System Time - Seconds Register)
5.2.3.4 Register 451 (System Time - Nanoseconds Register)
5.2.3.5 Register 452 (System Time - Seconds Update Register)
5.2.3.6 Register 453 (System Time - Nanoseconds Update Register)
5.2.3.7 Register 454 (Time Stamp Addend Register)
5.2.3.8 Register 455 (Target Time Seconds Register)
5.2.3.9 Register 456 (Target Time Nanoseconds Register)
5.2.3.10 Register 457 (System Time - Higher Word Seconds Register)
5.2.3.11 Register 458 (Time Stamp Status Register)
5.2.3.12 Register 459 (PPS Control Register)
5.2.3.13 Register 460 (Auxiliary Time Stamp - Nanoseconds Register)
5.2.3.14 Register 461 (Auxiliary Time Stamp - Seconds Register)
6 Parameters
6.1 Features
6.1.1 System Interface
6.1.2 General Features
6.1.2.1 Buffer Management
6.1.2.2 MAC Address
6.1.2.3 Miscellaneous
6.1.3 PHY Line Interfaces (RGMII, RMII, SMII, SGMII, TBI, and RTBI)
6.2 Optional Modules
6.2.1 IEEE 1588 Time Stamp Block
6.2.2 Power Management Block
6.2.3 IP Checksum Block
6.2.4 GMAC Management (RMON) Counters
6.2.4.1 GMAC Management (RMON) Receive Counters
6.2.4.2 GMAC Management (RMON) Transmit Counters
6.2.4.3 GMAC Management (RMON) Receive IPC Counters
6.2.5 Station Management Block
7 Descriptors
7.1 Normal Descriptor Formats
7.1.1 Receive Descriptor
7.1.1.1 Receive Descriptor 0 (RDES0)
7.1.1.2 Receive Descriptor 1 (RDES1)
7.1.1.3 Receive Descriptor 2 (RDES2)
7.1.1.4 Receive Descriptor 3 (RDES3)
7.1.2 Transmit Descriptor
7.1.2.1 Transmit Descriptor 0 (TDES0)
7.1.2.2 Transmit Descriptor 1 (TDES1)
7.1.2.3 Transmit Descriptor 2 (TDES2)
7.1.2.4 Transmit Descriptor 3 (TDES3)
7.1.3 Descriptor Format With IEEE 1588 Time Stamping Enabled
7.1.3.1 Receive Descriptor
7.1.3.2 Transmit Descriptor
7.2 Alternate or Enhanced Descriptors
7.2.1 Transmit Descriptor
7.2.2 Receive Descriptor
8 Implementation Guidelines
8.1 Clocks With GMII/MII
8.2 Clocks With TBI
8.3 Clocks With SGMII
8.4 Clocks With RMII
8.5 Clocks With SMII
8.5.1 Non Source Synchronous Mode
8.5.2 Source Synchronous Mode
8.6 Clocks With RGMII
8.7 Clocks With RTBI
8.8 Host (System Interface) Clock
8.9 Resets
8.10 SMA to PHY Interface
8.11 Timing Guidelines for Dual Data Rate RGMII/RTBI Outputs
8.12 Synthesis Guidelines
A Workspace Directory and Files
A.1 Workspace File Directory Structure
A.1.1 Directory Structures of Files (For Multiple Configurations)
A.1.2 Directory Structures for the Simulation Environment
A.2 Workspace Directory and File Descriptions
B GMAC-AHB Verification Environment Using AMBA and Ethernet VIPs
B.1 VTB Overview
B.2 Verification Flow
B.2.1 Transmission Verification Flow
B.2.1.1 Application-Side Test Case Flow
B.2.1.2 Ethernet-Side Test Case Flow
B.2.2 Receive Verification Flow
B.2.2.1 Host-Side Test Case Flow (Rx)
B.2.2.2 Ethernet-Side Test Case Flow (Rx)
B.3 Directory Structure
B.4 GPIO
B.4.1 GPIO_OUT (Tx)
B.4.2 GPIO_IN(Tx)
B.4.3 GPIO_OUT (Rx)
B.4.4 GPIO_IN (Rx)
B.5 SoC-Level Verification Guidelines
B.6 Running Simulations
B.7 Simulation PASS/FAIL
C GMAC-AHB Verification Environment
C.1 VTB Overview
C.2 Initialization
C.3 Using VTB
C.4 Tool and Setup Requirements
C.5 Running Simulations
C.6 Simulation PASS/FAIL
D GMAC-DMA Verification Environment
D.1 Testbench Overview
D.2 Test Flow
D.2.1 Frame Receive Flow
D.2.2 Frame Transmit Flow
D.3 Directory Structure
D.4 Running Simulations
D.5 Simulation PASS/FAIL
E GMAC-MTL Verification Environment
E.1 Testbench Overview
E.2 Test Flow
E.3 Directory Structure
E.4 Running Simulations
E.5 Simulation PASS/FAIL
F GMAC-Core Verification Environment
F.1 Testbench Overview
F.2 Test Flow
F.3 Directory Structure
F.4 Running Simulations
F.5 Simulation PASS/FAIL
G GMAC-AXI Verification Environment
G.1 VTB Overview
G.2 Verification Flow
G.2.1 Transmission Verification Flow
G.2.1.1 Application-Side Test Case Flow
G.2.1.2 Ethernet-Side Test Case Flow
G.2.2 Receive Verification Flow
G.2.2.1 Application-Side Test Case Flow (Rx)
G.2.2.2 Ethernet-Side Test Case Flow (Rx)
G.2.3 Transmit-Receive Verification Flow
G.2.3.1 Application-Side Test Case Flow (TxRx)
G.2.3.2 Ethernet-side testcase flow (TxRx)
G.3 Directory Structure
G.4 GPIO
G.4.1 GPIO_OUT (Tx)
G.4.2 GPIO_IN (Tx)
G.4.3 GPIO_OUT (Rx)
G.4.4 GPIO_IN (Rx)
G.5 SoC-Level Verification Guidelines
G.6 Running Simulations
G.7 Simulation PASS/FAIL
H Area and Power
H.1 Area
H.1.1 Gate Count Summary
H.1.2 Area Differences Due to Scan Ready and Clock Gating
H.2 Power
I Programming Guide
I.1 DMA Initialization - Descriptors
I.2 MAC Initialization
I.3 Normal Receive and Transmit Operation
I.4 Stop and Start Operation
I.5 Programming Guideline for IEEE 1588 Time Stamping
I.5.1 Initialization Guideline for System Time Generation
I.5.2 System Time Correction
J Synchronizer Methods
J.1 Synchronizer 1: Simple Double Register Synchronizer (DWC_gmac_bcm21.v)
J.2 Synchronizer 2: Pulse Synchronizer (DWC_gmac_bcm22.v)
J.3 Synchronizer 3: Pulse Synchronizer with Acknowledge (DWC_gmac_bcm23.v)
J.4 Synchronizer 4: Gray Coded Synchronizer (DWC_gmac_bcm24.v)
DesignWare Cores Ethernet MAC Universal Databook DWC Ether MAC 10/100/1000 Universal DWC Ether MAC 10/100 Universal Version 3.50a February 2009
Ethernet MAC Universal Databook Copyright Notice and Proprietary Information Copyright © 2009 Synopsys, Inc. All rights reserved. This software and documentation contain confidential and proprietary information that is the property of Synopsys, Inc. The software and documentation are furnished under a license agreement and may be used or copied only in accordance with the terms of the license agreement. No part of the software and documentation may be reproduced, transmitted, or translated, in any form or by any means, electronic, mechanical, manual, optical, or otherwise, without prior written permission of Synopsys, Inc., or as expressly provided by the license agreement. Destination Control Statement All technical data contained in this publication is subject to the export control laws of the United States of America. Disclosure to nationals of other countries contrary to United States law is prohibited. It is the reader’s responsibility to determine the applicable regulations and to comply with them. Disclaimer SYNOPSYS, INC., AND ITS LICENSORS MAKE NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS MATERIAL, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. Registered Trademarks (®) Synopsys, AMPS, Cadabra, CATS, CRITIC, CSim, Design Compiler, DesignPower, DesignWare, EPIC, Formality, HSIM, HSPICE, iN- Phase, in-Sync, Leda, MAST, ModelTools, NanoSim, OpenVera, PathMill, Photolynx, Physical Compiler, PrimeTime, SiVL, SNUG, SolvNet, System Compiler, TetraMAX, VCS, and Vera are registered trademarks of Synopsys, Inc. Trademarks (™) Active Parasitics, AFGen, Apollo, Astro, Astro-Rail, Astro-Xtalk, Aurora, AvanTestchip, AvanWaves, BOA, BRT, ChipPlanner, Circuit Analysis, Columbia, Columbia-CE, Comet 3D, Cosmos, CosmosEnterprise, CosmosLE, CosmosScope, CosmosSE, Cyclelink, DC Expert, DC Professional, DC Ultra, Design Advisor, Design Analyzer, Design Vision, DesignerHDL, DesignTime, Direct RTL, Direct Silicon Access, Discovery, Dynamic-Macromodeling, Dynamic Model Switcher, EDAnavigator, Encore, Encore PQ, Evaccess, ExpressModel, Formal Model Checker, FoundryModel, Frame Compiler, Galaxy, Gatran, HANEX, HDL Advisor, HDL Compiler, Hercules, Hercules-II, Hierarchical Optimization Technology, High Performance Option, HotPlace, HSIMplus, HSPICE-Link, iN-Tandem, Integrator, Interactive Waveform Viewer, i-Virtual Stepper, Jupiter, Jupiter-DP, JupiterXT, JupiterXT-ASIC, JVXtreme, Liberty, Libra-Passport, Library Compiler, Libra-Visa, Magellan, Mars, Mars-Rail, Mars-Xtalk, Medici, Metacapture, Milkyway, ModelSource, Module Compiler, Nova-ExploreRTL, Nova-Trans, Nova-VeriLint, Orion_ec, Parasitic View, Passport, Planet, Planet-PL, Planet-RTL, Polaris, Power Compiler, PowerCODE, PowerGate, ProFPGA, ProGen, Prospector, Raphael, Raphael-NES, Saturn, ScanBand, Schematic Compiler, Scirocco, Scirocco-i, Shadow Debugger, Silicon Blueprint, Silicon Early Access, SinglePass-SoC, Smart Extraction, SmartLicense, Softwire, Source-Level Design, Star-RCXT, Star-SimXT, Taurus, TimeSlice, TimeTracker, Timing Annotator, TopoPlace, TopoRoute, Trace-On-Demand, True-Hspice, TSUPREM-4, TymeWare, VCS Express, VCSi, Verification Portal, VFormal, VHDL Compiler, VHDL System Simulator, VirSim, and VMC are trademarks of Synopsys, Inc. Service Marks (SM) MAP-in, SVP Café, and TAP-in are service marks of Synopsys, Inc. SystemC is a trademark of the Open SystemC Initiative and is used under license. ARM and AMBA are registered trademarks of ARM Limited. Saber is a registered trademark of SabreMark Limited Partnership and is used under license. All other product or company names may be trademarks of their respective owners. Synopsys, Inc. 700 E. Middlefield Road Mountain View, CA 94043 www.synopsys.com 2 Synopsys, Inc. February 2009
Ethernet MAC Universal Databook Contents Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11 Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13 Databook Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13 Reference Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14 Authority . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15 Customer Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16 Chapter 1 Product Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17 1.1 General Product Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17 1.2 System Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18 1.2.1 System-Level Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18 1.2.2 Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19 1.2.3 Transmit and Receive FIFOs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19 1.3 Features List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20 1.3.1 GMAC Core Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20 1.3.2 DMA Block Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21 1.3.3 Transaction Layer (MTL) Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21 1.3.4 AMBA AHB Interface Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22 1.3.5 AMBA AXI Interface Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23 1.3.6 Monitoring, Test, and Debugging Support Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23 1.4 Configurability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24 1.5 Deliverables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25 1.5.1 coreKit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25 1.5.2 Licensing Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 Chapter 2 Building and Verifying Your Core . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27 2.1 Setup Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27 2.2 Basic Design Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27 2.3 Creating a Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29 2.4 Configuration: Creating the RTL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30 2.5 Synthesis: Creating the Gate-Level Netlist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31 2.6 Simulation: Verifying DWC Ether MAC 10/100/1000 Universal . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31 2.6.1 Generating a GTECH Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31 2.6.2 Verifying DWC Ether MAC 10/100/1000 Universal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32 February 2009 Synopsys, Inc. 3
Contents Ethernet MAC Universal Databook Chapter 3 Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35 3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35 3.2 IEEE 1588-2002 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36 3.2.1 Reference Timing Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38 3.2.2 Transmit Path Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38 3.2.3 Receive Path Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38 3.2.4 Time Stamp Error Margin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39 3.2.5 Frequency Range of Reference Timing Clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39 3.2.6 Advanced Time Stamp Feature Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40 3.3 AHB Application Host Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50 3.3.1 AHB Slave Port Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51 3.3.2 AHB Master Port Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .53 3.4 AXI Application Host Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .56 3.4.1 AXI Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .56 3.4.2 Burst Splitting and Burst Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .56 3.4.3 Outstanding Transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .57 3.4.4 Priority of AXI Requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .57 3.4.5 Bursts Reordering and Data Interleaving . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .57 3.4.6 AXI-ID Translation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .58 3.4.7 Endianess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .58 3.4.8 Posted Writes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .58 3.4.9 Error Response Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .58 3.4.10 AXI Memory Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .59 3.4.11 AXI Memory Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .59 3.4.12 AXI Early Burst Termination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .60 3.4.13 Slave Interface Support and Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .61 3.4.14 AXI Low Power Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .63 3.5 DMA Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .64 3.5.1 Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .65 3.5.2 Transmission . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67 3.5.3 Reception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .72 3.5.4 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .76 3.5.5 Error Response to DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .76 3.5.6 DMA Native Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .76 3.6 MAC Transaction Layer (MTL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .81 3.6.1 Transmit Path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .81 3.6.2 Receive Path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .90 3.6.3 Interfacing With External Two-Port RAMs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .98 3.7 GMAC Core . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .102 3.7.1 Transmission . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .102 3.7.2 MAC Transmit Interface Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .106 3.7.3 MAC Transmit Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .109 3.7.4 Reception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .112 3.7.5 MAC Receive Interface Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .119 3.7.6 MAC Receive Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .124 3.7.7 MAC Control Interface Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .126 3.7.8 System Time Register Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .128 4 Synopsys, Inc. February 2009
Ethernet MAC Universal Databook Contents 3.8 MAC Management Counters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .130 3.8.1 Address Assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .131 3.8.2 MMC Register Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .137 3.9 Power Management Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .146 3.9.1 PMT Block Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .147 3.9.2 Remote Wake-Up Frame Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .149 3.9.3 Magic Packet Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .149 3.9.4 System Considerations During Power-Down . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .150 3.10 Station Management Agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .151 3.10.1 Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .151 3.10.2 GMII/MII Management Write Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .152 3.10.3 GMII/MII Management Read Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .153 3.11 Physical Coding Sublayer (PCS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .153 3.11.1 PCS Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .154 3.12 Reduced Media Independent Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .155 3.12.1 Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .156 3.12.2 Block Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .156 3.12.3 Transmit Bit Ordering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .157 3.12.4 RMII Transmit Timing Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .158 3.13 Serial Media Independent Interface (SMII) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .160 3.13.1 Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .161 3.13.2 Block Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .161 3.13.3 SMII Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .162 3.14 Reduced Gigabit Media Independent Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .164 3.14.1 Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .165 3.14.2 Block Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .165 3.14.3 RGMII Clocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .166 3.14.4 Signal Conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .166 3.14.5 RGMII Transmit Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .169 3.14.6 RGMII Receive Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .169 3.15 Reduced Ten-Bit Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .169 3.15.1 Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .170 3.15.2 Block Diagram Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .170 3.15.3 RTBI Transmit Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .171 3.16 Serial Gigabit Media Independent Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .171 3.16.1 Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .171 3.16.2 Block Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .171 3.16.3 Block Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .172 3.17 Multiple PHY Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .177 3.18 Interrupts From the GMAC Core . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .178 Chapter 4 Signal Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .179 4.1 Top-Level I/O Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .179 4.2 Signal Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .179 4.2.1 System Clock and Reset Signals (Default) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .186 4.2.2 PHY Interface Signals (Default) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .188 4.2.3 MAC Tx Interface Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .193 4.2.4 MAC Rx Interface Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .196 4.2.5 MAC Control Interface Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .197 February 2009 Synopsys, Inc. 5
Contents Ethernet MAC Universal Databook 4.2.6 Application Clock and Reset Interface Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .198 4.2.7 Application Transmit Interface (ATI) Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .199 4.2.8 Application Receive Interface (ARI) Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .202 4.2.9 MDC Interface Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .204 4.2.10 AHB Master Interface Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .207 4.2.11 AHB Slave Interface Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .210 4.2.12 AXI Master Interface Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .213 4.2.13 AXI Low Power Interface Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .220 4.2.14 AXI Slave Interface Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .221 4.2.15 External DPRAM Interface Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .228 4.2.16 External DPRAM (Frame Length FIFO) Interface Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . .231 4.2.17 RGMII/RTBI Interface Signals (Optional) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .233 4.2.18 RMII Interface Signals (Optional) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .233 4.2.19 SMII Interface Signal (Optional) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .234 4.2.20 PMT Interrupt Signal (Optional) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .234 4.2.21 SGMII/TBI/RTBI Interface Signals (Optional) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .235 4.2.22 SGMII Interface Signals (Optional) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .237 4.2.23 TBI Interface Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .237 4.2.24 SMA Interface Signals (Optional) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .238 4.2.25 APB Interface Signals (Optional) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .239 4.2.26 Sideband Signals (Optional) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .240 4.2.27 IEEE 1588 Time Stamp Signals (Optional) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .243 4.2.28 Test Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .245 Chapter 5 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .247 5.1 Register Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .247 5.1.1 DMA Register Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .247 5.1.2 GMAC Register Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .248 5.2 Register Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .256 5.2.1 DMA Register Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .257 5.2.2 GMAC Register Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .278 5.2.3 IEEE 1588 Time Stamp Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .301 Chapter 6 Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .309 6.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .310 6.1.1 System Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .310 6.1.2 General Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .314 6.1.3 PHY Line Interfaces (RGMII, RMII, SMII, SGMII, TBI, and RTBI) . . . . . . . . . . . . . . . . . . . . . . .318 6.2 Optional Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .320 6.2.1 IEEE 1588 Time Stamp Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .320 6.2.2 Power Management Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .321 6.2.3 IP Checksum Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .321 6.2.4 GMAC Management (RMON) Counters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322 6.2.5 Station Management Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .335 6 Synopsys, Inc. February 2009
Ethernet MAC Universal Databook Contents Chapter 7 Descriptors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .337 7.1 Normal Descriptor Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .337 7.1.1 Receive Descriptor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .341 7.1.2 Transmit Descriptor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .347 7.1.3 Descriptor Format With IEEE 1588 Time Stamping Enabled . . . . . . . . . . . . . . . . . . . . . . . . . . .352 7.2 Alternate or Enhanced Descriptors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .356 7.2.1 Transmit Descriptor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .356 7.2.2 Receive Descriptor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .362 Chapter 8 Implementation Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .371 8.1 Clocks With GMII/MII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .371 8.2 Clocks With TBI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .372 8.3 Clocks With SGMII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .373 8.4 Clocks With RMII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .375 8.5 Clocks With SMII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .376 8.5.1 Non Source Synchronous Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .376 8.5.2 Source Synchronous Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .377 8.6 Clocks With RGMII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .379 8.7 Clocks With RTBI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .380 8.8 Host (System Interface) Clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .381 8.9 Resets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .381 8.10 SMA to PHY Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .381 8.11 Timing Guidelines for Dual Data Rate RGMII/RTBI Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .383 8.12 Synthesis Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .389 Appendix A Workspace Directory and Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .391 A.1 Workspace File Directory Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .391 A.1.1 Directory Structures of Files (For Multiple Configurations) . . . . . . . . . . . . . . . . . . . . . . . . . . .391 A.1.2 Directory Structures for the Simulation Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .393 A.2 Workspace Directory and File Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .397 Appendix B GMAC-AHB Verification Environment Using AMBA and Ethernet VIPs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .399 B.1 VTB Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .399 B.2 Verification Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .401 B.2.1 Transmission Verification Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .401 B.2.2 Receive Verification Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .406 B.3 Directory Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .410 B.4 GPIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .411 B.4.1 GPIO_OUT (Tx) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .411 B.4.2 GPIO_IN(Tx) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .412 B.4.3 GPIO_OUT (Rx) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .412 B.4.4 GPIO_IN (Rx) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .413 B.5 SoC-Level Verification Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .413 B.6 Running Simulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .414 B.7 Simulation PASS/FAIL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .414 February 2009 Synopsys, Inc. 7
Contents Ethernet MAC Universal Databook Appendix C GMAC-AHB Verification Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .415 C.1 VTB Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .415 C.2 Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .417 C.3 Using VTB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .417 C.4 Tool and Setup Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .420 C.5 Running Simulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .420 C.6 Simulation PASS/FAIL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .420 Appendix D GMAC-DMA Verification Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .421 D.1 Testbench Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .421 D.2 Test Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .423 D.2.1 Frame Receive Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .423 D.2.2 Frame Transmit Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .423 D.3 Directory Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .424 D.4 Running Simulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .425 D.5 Simulation PASS/FAIL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .426 Appendix E GMAC-MTL Verification Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .427 E.1 Testbench Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .427 E.2 Test Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .429 E.3 Directory Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .430 E.4 Running Simulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .431 E.5 Simulation PASS/FAIL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .432 Appendix F GMAC-Core Verification Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .433 F.1 Testbench Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .433 F.2 Test Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .435 F.3 Directory Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .436 F.4 Running Simulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .437 F.5 Simulation PASS/FAIL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .438 Appendix G GMAC-AXI Verification Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .441 G.1 VTB Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .441 G.2 Verification Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .444 G.2.1 Transmission Verification Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .444 G.2.2 Receive Verification Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .448 G.2.3 Transmit-Receive Verification Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .451 G.3 Directory Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .456 G.4 GPIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .457 G.4.1 GPIO_OUT (Tx) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .457 G.4.2 GPIO_IN (Tx) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .457 G.4.3 GPIO_OUT (Rx) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .458 G.4.4 GPIO_IN (Rx) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .458 G.5 SoC-Level Verification Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .459 G.6 Running Simulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .460 G.7 Simulation PASS/FAIL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .460 8 Synopsys, Inc. February 2009
分享到:
收藏