VLSI Team 5 10/100 Ethernet MAC Chatziioannou Dimitris Delivos Giannis Katsiris Giannis.

Slides:



Advertisements
Similar presentations
University of Calgary – CPSC 441.  Ethernet, defined under IEEE 802.3, is one of today's most widely used data communications standards  It finds its.
Advertisements

Ethernet Risanuri Hidayat. Ethernet The term Ethernet refers to the family of local-area network (LAN) products covered by the IEEE standard. Three.
Repeaters can Mix PHY Standards Repeater NIC BNC AUI Connectors RJ-45 UTPDrop Cables 10Base5 Trunk Cable 10Base2 10Base-T.
© 2007 Cisco Systems, Inc. All rights reserved.ICND1 v1.0—1-1 Building a Simple Network Understanding Ethernet.
© 2002 JW Ryder CS 428 Computer Networks 1 Ethernet Properties 10Mbps/100Mbps broadcast bus technology –Bus: all stations share single channel –Broadcast:
1 Fall 2005 Hardware Addressing and Frame Identification Qutaibah Malluhi CSE Department Qatar University.
Department of Computer Engineering University of California at Santa Cruz Networking Systems (1) Hai Tao.
1 Shared Access Networks Outline Bus (Ethernet) Token ring (FDDI) Wireless (802.11)
Ethernet Kenneth Castelino. Network Architecture - Protocols Physical: Actual signal transmission Data-Link: Framing / Error Detection Network: Routing.
Spring 2002CS 4611 Shared Access Networks Outline Bus (Ethernet) Token ring (FDDI) Wireless (802.11)
Distributed systems Module 1 -Basic networking Teaching unit 1 – LAN standards Ernesto Damiani University of Bozen-Bolzano Lesson 4 – Ethernet frame.
EE 4272Spring, 2003 Chapter 14 LAN Systems Ethernet (CSMA/CD)  ALOHA  Slotted ALOHA  CSMA  CSMA/CD Token Ring /FDDI Fiber Channel  Fiber Channel Protocol.
5-1 Data Link Layer r Today, we will study the data link layer… r This is the last layer in the network protocol stack we will study in this class…
7-1 Digital Serial Input/Output Two basic approaches  Synchronous shared common clock signal all devices synchronised with the shared clock signal data.
CS335 Networking & Network Administration Tuesday, April 13, 2010.
Configuration. Mirjana Stojanovic Process of loading bitstream of a design into the configuration memory. Bitstream is the transmission.
Distributed Systems Module 1 -Basic networking Teaching unit 1 – LAN standards Ernesto Damiani University of Bozen-Bolzano Lesson 3 – Introduction to Ethernet.
Data Link Layer IS250 Spring 2010
Lecture 8: Ethernet and Token Ring Networks. Ethernet Carrier Sense, Multiple Access and Collision Detect (CSMA/CD) LAN Ethernet Standard-DEC, Intel,
Spring 2006CS 3321 Chapter 2 Tidbits Outline A little hardware Ethernet Realistic data transfer rates.
Chapter 1-3 The Ethernet LAN. Ethernet The networking protocol used in most modern computer networks is Ethernet. Ethernet is a CSMA/CD LAN protocol.
ICOM 6115©Manuel Rodriguez-Martinez ICOM 6115 – Computer Networks and the WWW Manuel Rodriguez-Martinez, Ph.D. Lecture 17.
جلسه دوازدهم شبکه های کامپیوتری به نــــــــــــام خدا.
Ethernet, MAC podvrstva
Chapter 13 Wired LANs: Ethernet
Introduction1-1 Data Communications and Computer Networks Chapter 5 CS 3830 Lecture 27 Omar Meqdadi Department of Computer Science and Software Engineering.
Wired LANs: Ethernet In Chapter 1, we learned that a local area network (LAN) is a computer network that is designed for a limited geographic area such.
Brierley 1 Module 4 Module 4 Introduction to LAN Switching.
1 LAN Technologies and Network Topology. 2 Direct Point-to-Point Communication.
1 Computer Communication & Networks Lecture 13 Datalink Layer: Local Area Network Waleed Ejaz
NUS.SOC.CS2105 Ooi Wei Tsang Application Transport Network Link Physical you are here.
LECTURE9 NET301. DYNAMIC MAC PROTOCOL: CONTENTION PROTOCOL Carrier Sense Multiple Access (CSMA): A protocol in which a node verifies the absence of other.
Universal Synchronous/Asynchronous Receiver/Transmitter (USART)
Network Technologies Chapter 2. Approaches to Network Communication Connection-Oriented –Circuit-switched –A dedicated connection (circuit) is formed.
Copyright CCNA 1 Chapter 5 Ethernet Fundamentals By Your Name.
S3C2 – LAN Switching Addressing LAN Problems. Congestion is Caused By Multitasking, Faster operating systems, More Web-based applications Client-Server.
Internetworking An internetwork is typically comprised of many physical networks over which data travels There are many different types of physical networks:
1 Ethernet & IEEE Cisco Section 7.3 Stephanie Hutter October 2000.
CCNA 3 Week 4 Switching Concepts. Copyright © 2005 University of Bolton Introduction Lan design has moved away from using shared media, hubs and repeaters.
Data Link Layer Moving Frames. Link Layer Protocols: ethernet, wireless, Token Ring and PPP Has node-to-node job of moving network layer.
NS Training Hardware.
Cisco 3 – Switching Concepts Perrine. J Page 16/1/2016 Module 4 The use of bridges and switches for segmentation results in ____? 1.Multiple broadcast.
1 © 2003, Cisco Systems, Inc. All rights reserved. CCNA 3 v3.0 Module 4 Switching Concepts.
Version 4.0 Ethernet Network Fundamentals – Chapter 9 Sandra Coleman, CCNA, CCAI.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Ethernet Network Fundamentals – Chapter 9.
Cisco 3 - Switching Perrine. J Page 16/4/2016 Chapter 4 Switches The performance of shared-medium Ethernet is affected by several factors: data frame broadcast.
1Ethernet Lecture # 12 Computer Communication & Networks.
Enterprise network 8.1:Introduction 8.2:LANs 8.3:Ethernet / IEEE :Token ring 8.5:Bridges.
Ethernet Overview it the IEEE standard for Ethernet.
Chapter 7 OSI Data Link Layer.
1 Hardware Addressing and Frame Type Identification.
Renesas Electronics America Inc. © 2010 Renesas Electronics America Inc. All rights reserved. Overview of Ethernet Networking A Rev /31/2011.
EE 122: Lecture 6 Ion Stoica September 13, 2001 (* this talk is based in part on the on-line slides of J. Kurose & K. Rose)
CCNA3 Module 4 Brierley Module 4. CCNA3 Module 4 Brierley Topics LAN congestion and its effect on network performance Advantages of LAN segmentation in.
1 Ethernet History –developed by Xerox PARC in mid-1970s –roots in Aloha packet-radio network –standardized by Xerox, DEC, and Intel in 1978 –similar to.
Simple LAN Topologies  Terminators stop signals after they have reached their destination  Signal bounce –Phenomenon in which signals travel endlessly.
+ Lecture#2: Ethernet Asma ALOsaimi. + Objectives In this chapter, you will learn to: Describe the operation of the Ethernet sublayers. Identify the major.
COMPUTER NETWORKS Lecture-8 Husnain Sherazi. Review Lecture 7  Shared Communication Channel  Locality of Reference Principle  LAN Topologies – Star.
Lec # 23 Data communucation Muhammad Waseem Iqbal 1ethernet.
1 CS716 Advanced Computer Networks By Dr. Amir Qayyum.
Introduction to Networks v6.0
Instructor Materials Chapter 5: Ethernet
Lab 7 – CSMA/CD (Data Link Layer Layer)
Ethernet Outline Multiple Access and Ethernet Intro Ethernet Framing
CS 457 – Lecture 6 Ethernet Spring 2012.
Data Link Issues Relates to Lab 2.
Protocol layering and data
CCNA 1 Chapter 5 Ethernet Fundamentals
Protocol layering and data
Chaithra Ashwin Sanjana
Presentation transcript:

VLSI Team 5 10/100 Ethernet MAC Chatziioannou Dimitris Delivos Giannis Katsiris Giannis

Project Architecture Overview

Wishbone Bus ● Wishbone: A SoC interconnect standard for fostering design re-use ● Features: – Open specification, Patent & Royalty free – On-Off chip architecture – Point-to-point, shared bus, crossbar switch and switched fabric interconnections – 64 bit address space, 8-64 bit data bus width (easily expandable) – Handshaking protocol allows data transfer throttling – Supports single read and write cycles – Synchronous, all signals are triggered on the rising edge of the clock

Wishbone Common Signals CLK_I: Clock input, which coordinates all activities within the Wishbone interconnect. DAT_I(): The data input array. DAT_O(): The data output array. RST_I: Forces the Wishbone interface to restart. All internal state machines will be forced into an initial state. TGD_I(): Data tag type input. Contains information about the data in the input array. (parity protection, error correction etc.) TGD_O(): Data tag type output. Contains information about the data in the output array.

Wishbone Master Signals ACK_I: The acknowledge input. When asserted, indicates the normal termination of a bus cycle. ADR_O(): Used to pass a binary address. CYC_O: When asserted indicates that a valid bus cycle is in progress. Is asserted during the first data transfer and remains asserted until the last one. SEL_O(): Indicated whether valid data is expected on the DAT_I() / DAT_O() signal in read/write cycles. STB_O: Indicates a valid data transfer cycle. WE_O: Indictes whether the current local bus cycle is a read/write cycle.

Wishbone Slave Signals ACK_O: Indicates, when asserted, the termination of a normal bus cycle. ADR_I(): Used to pass a binary address. CYC_I: When asserted indicates that a valid bus cycle is in progress. Is asserted during the first data transfer and remains asserted until the last one. SEL_I(): Indicated whether valid data is expected on the DAT_I() / DAT_O() signal in read/write cycles. STB_I: Indicates a valid data transfer cycle. WE_I: Indictes whether the current local bus cycle is a read/write cycle.

Wishbone: Reset Operation ● All hardware interfaces are initialized to a pre- defined state. This is accomplished with the reset signal RST_O that can be asserted at any time. ● The reset signal RST_O is driven by the SYSCON module. It is connected to the RST_I signal on all MASTER and SLAVE interfaces. ● The reset signal RST_O can be extended for any length of time.

Wishbone: Handshake Protocol ● All bus cycles use a handshaking protocol between the Master and Slave interfaces. ● Master asserts STB_O when it's ready to transfer data. STB_O remains asserted until the Slave asserts one of the cycle terminating signals (ACK_I, ERR_I, RTY_I). The terminating signal is sampled at every rising clock edge, if it's asserted, STB_O is negated. This gives both Master and Slave interfaces the possibility control the rate at which data is transfered.

Wishbone: Single Read Cycle ● Clock edge 0: – Master presents a valid address on ADR_O() and TGA_O(). – Master negates WE_O to indicate a Read cycle. – Master presents bank select SEL_O() to indicate where it expects data. – Master asserts CYC_O and TGC_O() to indicate the start of the cycle and STB_O to indicate the start of the phase. ● Clock edge 1: – Slave presents valid data on DAT_I() and TGD_I(). – Slave asserts ACK_I in response to STB_O to indicate valid data. – Note that Slave may insert any number of wait states before asserting ACK_I, allowing it to throttle data transfer speed. – When ACK_I is asserted by the Slave, Master latches data on DAT_I() and TGD_I(). – Master negates STB_O / CYC_O to indicate the end of the cycle. Slave nagates ACK_I in response to the negated STB_O.

Wishbone: Single Write Cycle ● Clock edge 0: – Master presents a valid address on ADR_O() and TGA_O(). – Master presents valid data on DAT_O() and TGD_O(). – Master asserts WE_O to indicate a Write cycle. – Master presents bank select SEL_O() to indicate where it sends data. – Master asserts CYC_O and TGC_O() to indicate the start of the cycle and STB_O to indicate the start of the phase. ● Clock edge 1: – Slave prepares to latch data on DAT_O() and TGD_O(). – Slave asserts ACK_I in response to STB_O to indicate latched data. – Note that Slave may insert any number of wait states before asserting ACK_I, allowing it to throttle data transfer speed. – Slave latches data on DAT_O() and TGD_O(). – Master negates STB_O / CYC_O to indicate the end of the cycle. Slave nagates ACK_I in response to the negated STB_O.

Wishbone: Timings ● The Wishbone specification is designed to provide the end user with very simple timing constraints. Although the application specific circuit(s) will vary in this regard, the interface itself is designed to work without the need for detailed timing specifications. In all cases, the only timing information that is needed by the end user is the maximum clock frequency (for CLK_I) that is passed to a place & route tool. The maximum clock frequency is dictated by the time delay between a positive clock edge on CLK_I to the setup on a stage further down the logical signal path. This delay is defined as Tpd,clk-su. ●

Ethernet Overview ● History – Developed by Bob Metcalfe and others at Xerox PARC in mid-1970s. – Standardized by Xerox, DEC, and Intel in 1978 – LAN standards define MAC and physical layer connectivity ● IEEE (CSMA/CD - Ethernet) standard – originally 2Mbps ● IEEE 802.3u standard for 100Mbps Ethernet ● IEEE 802.3z standard for 1,000Mbps Ethernet ● CSMA/CD: Ethernet’s Media Access Control (MAC) policy – – CS = carrier sense ● Send only if medium is idle – MA = multiple access – CD = collision detection ● Stop sending immediately if collision is detected ● standard defines both MAC and physical layer details

Ethernet Overview ● Ethernet by definition is a broadcast protocol – Any signal can be received by all hosts – Switching enables individual hosts to communicate ● Network layer packets are transmitted over an Ethernet by encapsulating in frames ● Frame format (sizes in octets)

Ethernet Frames ● Preamble is a sequence of 7 bytes, each set to “ ” – Used to synchronize receiver before actual data is sent ● Addresses – unique, 48-bit unicast address assigned to each adapter ● example: 8:0:e4:b1:2 ● Each manufacturer gets their own address range – broadcast: all 1s – multicast: first bit is 1 ● Type field is a demultiplexing key used to determine which higher level protocol the frame should be delivered to ● Body can contain up to 1500 bytes of data ● Maximum 1500 bytes (= 05DCh)

Ethernet's MAC ● MAC: Media Access Control ● Ethernet uses CSMA/CD – listens to line before/during sending ● If line is idle (no carrier sensed) – Send packet immediately – Upper bound message size of 1500 bytes – Must wait 9.6 μs between back-to-back frames ● If line is busy (carrier sensed) – Wait until idle and transmit immediately ● Called 1-persistent sending ● If collision detected – Stop sending and jam signal – Try again later

Ethernet's MAC ● Senders handle all access control ● Receivers simply read frames with acceptable address – Address to host – Address to broadcast – Address to multicast to which host belongs – All frames if host is in promiscuous mode ● Frame CRC (CRC32) sent by sender, is checked at the receiver side. If CRC does not match, then frame is discarded.

Implementation in Verilog

Modules' Overview ● TX and RX Module ● Τhe TX and RX modules provide full transmit and receive functionality. CRC generators are incorporated in both modules for error detection purposes.. The modules also handle preamble generation and removal. Padding occurs automatically (when enabled) in compliance with the IEEE standard. When enabled, packets greater than the standard can be transmitted. ● Control Module ● The control module provides full duplex flow control, according to the IEEE 802.3u standard. Flow control is achieved by transfering the PAUSE control frames between thecommunicating stations. ● Management Module (MIIM) ● The management module provides the standard IEEE Media Independent Interface (MII) that defines the connection between the PHY and link layers. Using this interface, the device connected to the host interface can force PHY to run at 10Mbps versus 100Mbps or to configure it to run at full versus half duplex mode.

RX Module ● The Receive module consists of four sub modules: – eth_crc – Cyclic Redundancy Check (CRC) module – eth_rxaddrcheck – Address recognition module – eth_rxcounters – Various counters needed for packet reception – eth_rxstatem – State machine for Receive module

ΤΧ Module ● The Transmit module consists of four sub modules: – eth_crc – Cyclic Redundancy Check (CRC) module generates 32-bit CRC that is appended to the data field. – eth_random – Generates random delay that is needed when back off is performed (after the collision) – eth_txcounters – Various counters needed for packet transmission – eth_txstatem – State machine for TX module

Wishbone Module ● Module has multiple functions: – It is the interface between the Ethernet Core and other devices (memory, host). Two Wishbone interfaces (slave and master) are used for this manner. – Contains buffer descriptors (in the internal RAM). – Contains receive and transmit FIFO. – Contains synchronization logic for signals that spread through different clock domains. – Transmit related function that reads TX BD and then starts Wishbone master interface, fills the TX FIFO and then starts the transmission. At the end it writes status to the related TX BD. – Receive related function that reads RX BD, assembles incoming bytes to words and then writes them to the RX FIFO. They are then written to the memory through the Wishbone master interface. At the end it writes status to the related RX BD.

Wishbone Module ● Wishbone Master Interface – The ethernet core uses the master interface for accessing the memory where the buffers are stored. Both the receiver and the transmitter use the same wishbone interface ● Wishbone Slave Interface – Ethernet core's registers are all accessed through the Slave Wishbone interface. – Registers are located in the registers' module while BDs are saved in eth_wishbone module's internal RAM.

Schematic General View

Testbench: Memory/BD Clear ● Writing 0x0 starting from address base + offset (base is 0xd ) – TX buffer descriptors are at 0xd – RX buffer descriptors are at 0xd

Testbench: Register access/testing ● Writing and reading back, 0xffffffff to ETH_MAC_ADDR0 register – ETH_MAC_ADDR0 address is at 0xd x40

DesignCompiler Commands ● analyze -format verilog { } ● elaborate ethmac -architecture verilog -library DEFAULT ● create_clock -name "wbclk" -period 15 -waveform { 1 2 } { wb_clk_i } ● create_clock -name "rxclk" -period 20 -waveform { 1 2 } { mrx_clk_pad_i } ● create_clock -name "txclk" -period 20 -waveform { 1 2 } { mtx_clk_pad_i } ● set_dont_touch_network wbclk ● set_dont_touch_network txclk ● set_dont_touch_network rxclk ● set_clock_transition 0.1 wbclk ● set_clock_transition 0.1 txclk ● set_clock_transition 0.1 rxclk ● set_clock_uncertainty 0.1 wbclk ● set_clock_uncertainty 0.1 txclk ● set_clock_uncertainty 0.1 rxclk ● write -hierarchy -format ddc ● compile -exact_map -map_effort high -area_effort none -power_effort high

Compilation Results

Routing with Cadence Encounter

● 112 modules ● stdCells ● 5 Metal layers – Total wire length on LAYER metal1 = 156 um. – Total wire length on LAYER metal2 = um. – Total wire length on LAYER metal3 = um. – Total wire length on LAYER metal4 = um. – Total wire length on LAYER metal5 = um. – Total wire length on LAYER metal6 = um. ● Total number of vias: