WO2001017166A2 - Ethernet 10/100 media access controller core - Google Patents
Ethernet 10/100 media access controller core Download PDFInfo
- Publication number
- WO2001017166A2 WO2001017166A2 PCT/US2000/023647 US0023647W WO0117166A2 WO 2001017166 A2 WO2001017166 A2 WO 2001017166A2 US 0023647 W US0023647 W US 0023647W WO 0117166 A2 WO0117166 A2 WO 0117166A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- interface
- functionality
- application
- core
- frame
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/351—Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/354—Switches specially adapted for specific applications for supporting virtual local area networks [VLAN]
Definitions
- the present invention relates generally to the field of digital communication and more particularly to the field of Ethernet medium access controllers.
- Designing controllers for communication devices can be a complicated process due, in part, to the large variety of functions that must be performed.
- Standards such as the Open Systems Interconnection model (the "OSI” model), promulgated by the International Standards Organization, provide a convenient and logical way to categorize the many functions involved in digital communication.
- the OSI model includes seven different layers, and the interfaces which are defined between these layers allow system developers to develop systems in a modular fashion.
- the seven layers are: (i) the physical layer, which is concerned with the connection to the communications medium, (ii) the data link layer, which is concerned with reliable data transfer, (iii) the network layer, which is concerned with data routing and addressing, (iv) the transport layer, which is concerned with connections between hosts and ensuring data reception, an example of a transport layer protocol being the TCP protocol, (v) the session layer, which is concerned with logical connections between hosts, as well as security, (vi) the presentation layer, which is concerned with file formats and data conversion, and (vii) the application layer, which is concerned with standards for user or application interfaces.
- the physical layer which is concerned with the connection to the communications medium
- the data link layer which is concerned with reliable data transfer
- the network layer which is concerned with data routing and addressing
- the transport layer which is concerned with connections between hosts and ensuring data reception
- an example of a transport layer protocol being the TCP protocol
- the session layer which is concerned with logical connections between hosts, as well as security
- the presentation layer which is concerned
- the OSI model has also served as a building block for various standards, such as the IEEE 802.3 Ethernet standards or the IEEE 1394 standards.
- the OSI model and the many standards built on top of it have a further advantage in that they allow third party developers to create design tools which incorporate much of the required functionality for the various layers and which are compatible with the interfaces defined by the relevant standards. System designers can then use a function call to implement a function, rather than coding it themselves.
- the present invention is directed to improving this situation.
- MAC medium access controller
- system-level functions such as support of additional physical layer interface protocols and application interface protocols, packet handling features, system management support, application interface functions, and a test environment.
- system-level functions simplifies the design of a MAC, reduces the time to market, ensures compatibility with the Ethernet standards, and enables increased certainty of design due to the built-in test environment.
- embodiments can be adapted to different standards and different layers of the OSI model, and be based on entirely different models altogether.
- a computer program product including computer readable program code for designing a controller.
- the computer readable program code includes three program parts.
- a first program part is for implementing an application interface.
- a second program part is for implementing a physical layer interface.
- a third program part is for implementing a system-level function.
- a computer program product including computer readable program code for designing a controller.
- the computer readable program code includes two program parts. A first program part is for substantially implementing a medium access control sublayer protocol, and a second program part is for implementing a system-level function.
- a method of designing a controller using a software package includes utilizing the software package which includes an application interface functionality, a physical layer interface functionality, and a system-level function functionality. The method further includes incorporating the application interface functionality, the physical layer interface functionality, and the system-level function functionality into a controller design
- a method of designing a controller using a software package includes utilizing the software package which includes a medium access control sublayer functionality and a system-level function functionality. The method further includes incorporating the medium access control sublayer functionality the system-level function functionality into a controller design.
- a design tool for designing a controller.
- the design tool includes a medium access control sublayer emulator which substantially emulates a medium access control sublayer protocol.
- the design tool also includes a system-level function emulator.
- FIG. 1 shows a high-level block diagram of a system which utilizes a MAC.
- FIG. 2 shows a high-level block diagram of main components in a MAC.
- FIG. 3 shows a high-level block diagram of a system which utilizes a MAC in a cable modem.
- FIG. 4 A shows a high-level block diagram of a system which utilizes a MAC in a PCI to Ethernet controller.
- FIG. 4B shows further details of the PCI to Ethernet controller of FIG. 4A.
- ASICs application specific integrated circuits
- the entire design can be done in software, for example Verilog, and then downloaded into a device.
- the system designer can utilize various design tools to assist in implementing a given standard, such as the IEEE 802.3 Ethernet standard, but must still develop the code for the rest of the system. This situation involves large design times and increased time to market, and requires substantial expertise and experience.
- An embodiment of the present invention simplifies the design process and reduces the design time required.
- This embodiment provides a design tool for designing for an Ethernet medium access controller ("MAC").
- the medium access control sublayer is the lower sublayer of the data link layer of the OSI model.
- the embodiment includes the functionality for implementing the Ethernet layer two protocol and also incorporates functionality for system-level functions.
- the availability of the system-level functions greatly simplifies the design process for a system designer and reduces the required design time.
- the embodiment is suited for a variety of design applications, including system-on- chip, switching, routing, and network interface card applications.
- FIG. 1 shows a high-level block diagram of a system 10 which utilizes a MAC.
- the MAC 12 interfaces, on one end, to one or more PHYs 14.
- a PHY 14 is a physical layer device, and the interface from the MAC 12 to the PHY 14 is a physical layer interface.
- the physical layer interface of the MAC 12 is preferably the media independent interface ("Mil") which defines the interface between the physical layer and the data link layer of the OSI model, and which is specified in the IEEE 802.3 standard.
- the MAC 12 also interfaces, on the other end, to an application 11.
- the application 11 is a generic element identifying the fact that the MAC is only a layer two device and that additional functionality is necessary before interfacing to a user.
- the application 11 could be a layer three networking device. If the MAC 12 also performs higher level functionality, however, then the application 11 could be a transport layer device, a session layer device, a presentation layer device, an application layer device, or any combination if the OSI model is not strictly followed.
- the interface between the MAC 12 and the application 11 is called the application interface.
- the application interface of the MAC 12 includes the Virtual Component Interface ("VCI") which was defined by the Virtual Socket Interface ("VSI”) Alliance.
- VCI contains transaction layer logic and FIFOs to handle data transfers between the application 11 and the MAC 12.
- the MAC 12 performs more than the layer two Ethernet protocol by including the VCI and various system-level functions which are described further below.
- the MAC 12 is not limited, therefore, to performing functionality in the OSI model or any particular standard.
- the MAC 12 performs the entire Ethernet standard as defined in IEEE standards 802.3 (half-duplex), 802.3 x (full-duplex), and 802.3u (100 Mbytes/sec or 100 Mbps).
- the MAC 12 also is preferably tested to verify compliance with these standards.
- Other embodiments provide only substantially all of the functionality of the data link layer protocol or the medium access control sublayer protocol. While a MAC 12 according to the present invention also could be designed with less than substantially all of the entire medium access control sublayer functionality, it would be less marketable.
- the MAC 12 is an Ethernet MAC.
- FIG. 1 illustrates such a case, by showing the PHYs 14 each connected an Ethernet cable 16.
- a suitably designed MAC 12 may be used with other communication standards, for example and without limitation, the 1394 standard.
- FIG. 2 shows a high-level block diagram of a MAC 12.
- the MAC 12 contains (i) a MAC Block 45, (ii) a Control Status Register Block ("CSR" Block) 41, (iii) a MAC Host Block 42, (iv) an Address Check Block 43, and (v) a Station Management Block 44.
- the MAC Block 45 implements the functionality of the Ethernet Medium Access Control sublayer for both transmit and receive operations.
- the MAC Block 45 contains a RX CRC block 46, a TX CRC block 50, a RX block 47, a TX block 49, a Flow Control block 48, a RX PHY Interface 51, and a TX PHY Interface 52.
- the CSR Block 41 contains control and status registers for the operation of the MAC 12 and also contains configurable counters, which are described further below.
- the MAC Host Block 42 handles the synchronization of control and data signals across the application interface (see FIG. 1)_.
- the Address Check Block 43 checks the destination address field of all the incoming packets.
- the Station Management Block 44 controls the read/write transactions to PHY registers which are located in a PHY.
- FIG. 3 shows the first, which is a PCI to Ethernet controller.
- FIGS. 4A-4B show the second, which is an Ethernet to Cable modem.
- FIG. 3 shows a high-level block diagram of a system 20 which utilizes a MAC 12 in a cable modem 21 which connects to both an Ethernet cable 16 and a coaxial cable 23.
- the cable modem 21 also includes the PHY 14 to connect to the Ethernet cable 16, and cable modem functionality 25 to perform all of the necessary functions on the other side of the MAC 12.
- FIG. 3 also shows a PC 27 and a host 28 connected to the Ethernet cable 16.
- FIG. 4A shows a high-level block diagram of a system 30 which utilizes a MAC 12 in a PCI to Ethernet controller 35.
- the PCI to Ethernet controller 35 connects to a motherboard 31 and both are shown as being inside of the PC 27 (see FIG. 3).
- the PCI to Ethernet controller 35 includes PCI functionality 33, as well as the MAC 12 and the PHY 14.
- FIG. 4B shows further detail, and illustrates the fact that the PCI Functionality 33 includes a PCI Core 39 and an Additional PCI Functionality 37.
- FIG. 4B highlights the communication between the MAC 12 and the PCI Core 39, which preferably is a VCI. As described in more detail below, the provision of VCI capability is a system-level function.
- the MAC 12 preferably includes a variety of system-level functions which simplify the process of designing a system on a chip.
- the MAC Block 45 (see FIG. 2) implements the basic functions of the Medium Access Control sublayer
- many of the system-level functions are provided by the CSR Block 41, the MAC Host Block 42, the Address Check Block 43, and the Station Management Block 44.
- system-level functions can include: (i) a reduced Mil interface (“RMII”), (ii) a serial Mil interface (“SMII”), (iii) a VCI, (iv) preamble generation and removal, (v) automatic thirty-two bit CRC generation and checking, (vi) insertion and stripping of padding bytes on transmission and reception, (vii) address filtering, (viii) a configurable counter for system management support, (ix) control of Mil compatible PHYs, (x) Carrier Sense Multiple Access Collision Detection (“CSMA/CD”), (xi) a test environment for verifying functional compliance of a system design with a specified standard, (xii) Virtual LAN (“VLAN”) support, (xiii) synchronization of the Mil clock(s) to the Application clock, and (xiv) Big/Little endian data format support for the application interface.
- RMII reduced Mil interface
- SMII serial Mil interface
- VCI reduced Mil interface
- VCI serial Mil interface
- Both RMII and SMII lower the pin count required to implement the interface between the physical layer and the data link layer. A lower pin count can be very useful in switch applications that integrate multiple PHYs.
- the VCI was described earlier.
- Several of the system-level functions deal with packet handling. These include preamble generation and removal, automatic or manual thirty -two bit CRC generation and checking, and insertion and stripping of padding bytes on transmission and reception. Further, overhead is minimized with the flexible address scheme which filters out data in the network that is not addressed to the node in which the MAC resides. Complete status for both transmit and receive packets is also preferably available.
- the configurable counters can be used to monitor the system by tracking various events such as the number of CRC errors, the number of network collisions, the number of runt frames, etc.
- Another system management support function is the control of Mil compatible PHYs. For example, this feature can force PHYs to run at 10 Mbps or 100 Mbps, and can configure them to run in full-duplex mode or half-duplex mode.
- the MAC also preferably has the additional system management support function of being able to shut down individual PHY ports, which can be a useful function in switch applications.
- the CSMA/CD protocol is used to control access to a communications medium by multiple devices and to handle collisions. In half-duplex mode, collision detection and auto-retransmission on collisions is preferably automatically handled. In full-duplex mode, flow control and automatic generation of control frames is also handled.
- VLAN support Several of the functions relate to the application interface. This includes VLAN support. Additionally, an internal synchronization block is preferably used to synchronize the signals from the Mil transmit and receive clocks to the application clock provided by the application. Further, the Big/Little endian data format support is for a data bus on an application bus, which is further described in the Appendix.
- the design can be tested for functional compliance with a given standard. Random test vectors can also be generated to test the actual design application output.
- an external or internal loop back capability is preferably provided for the Mil interface.
- the MAC embodiment of the present invention provides a design tool which can implement and/or emulate an application interface, a physical layer interface, and a system- level function.
- the design tool allows this functionality to be incorporated into the design of a controller by using an advanced set of libraries which are invoked with function calls, but it can make this capability available in other ways as well.
- the tool can be used to implement, or substantially implement, a medium access control sublayer protocol, a data link layer protocol, and/or a link layer core (also referred to as a data link layer core).
- the functionality disclosed in this application can be, at least partially, implemented by hardware, software, or a combination of both. This may be done, for example, with a computer system running Verilog, or other design programs.
- this functionality may be embodied in computer readable media or computer program products to be used in programming an information-processing apparatus to perform in accordance with the invention. Such media or products may include magnetic, magnetic-optical, optical, and other types of media, including for example 3.5 inch diskettes.
- This functionality may also be embodied in computer readable media such as a transmitted waveform to be used in transmitting the information or functionality.
- software implementations can be written in any suitable language, including without limitation high-level programming languages including high-level hardware description languages (“HDLs”) such as Verilog or VHDL, mid-level and low- level languages, assembly languages, and application-specific or device-specific languages.
- HDLs high-level hardware description languages
- Such software can run on a general purpose computer such as a 486 or a Pentium, an application specific piece of hardware, or other suitable device.
- the required logic may also be performed by an application specific integrated circuit ("ASIC") or other device.
- ASIC application specific integrated circuit
- the technique may use analog circuitry, digital circuitry, or a combination of both.
- Embodiments may also include various hardware components which are well known in the art, such as connectors, cables, and the like.
- the Ethernet Media Access Controller (MAC110) core incorporates the essential protocol requirements for operation of an Ethemet IEEE 802 3 compliant node, and provides interface between the host subsystem and the Media Independent Interface (Mil)
- the MAC110 core can operate either both in 100Mbps mode or the 10Mbps mode based on the clock provided on the Mil interface (25/2 5 MHz)
- the MAC110 Core operates both in half-duplex mode and full-duplex modes When operating in the half-duplex mode, the MAC110 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 MAC110 core is compliant to the IEEE 802 3x standard for full- duplex operations
- the MAC110 Core provides programmable enhanced features designed to minimize host supervision, bus utilization, and pre- or post-message processing These features include ability to disable ret ⁇ es after a collision, dynamic FCS generation on a frame-by-frame basis, automatic pad field insertion and deletion to enforce minimum frame size attributes, automatic retransmission and detection of collision frames
- the MAC110 core can sustain transmission or reception of mimmal-stzed back-to-back packets at full line speed with an mterpacket gap (IPG) of 90 6 us for 10-Mb/s and 0 96 us for 100-Mb/s
- IPG mterpacket gap
- the five primary attributes of the MAC block are
- the MAC110 core has the following features
- MAC Block This block handles all the functionality of the Ethernet MAC Layer for both transmit and receive operations CSMA/CD protocol is being implemented for half-duplex and the flow control for the full duplex
- MAC CSR (MCS) Block This block contains the control and status registers for the operation of the MAC110 Core This block also contains the Ethernet RMON counters The registers counters in this block can be accessed through the Host Interface on the Application bus
- MAC-Host(MHT) Block This block handles the synchronization of control and data signals between the Host bus and the MAC Interface This block also does the byte packing/unpacking and byte swapping to handle big/little endian data formats
- Address Check (ACH) Block This block checks the destination address field of all the incoming packets Based on the type of address decoding selected this will indicate the MAC RX Interface block the result of the Address checking
- MIM Mil Management Block
- MM Interface The MAC110 Core interfaces to the Ethernet cable with the IEEE defined Mil (Media Independent Interface) interface This is a 4-b ⁇ t parallel interface Any of the standard Ethernet PHY Controller chips can be hooked on to this interface for connecting to the Ethernet cable This interface is specified in the IEEE 802 3u specification This is the default interface on the Ethernet side
- the MAC110 Core also interfaces to the Ethernet cable with the industry standard Encoder/Decoder (ENDEC) interface, when this port is selected using the PortSelect bit in the MAC Control register This is 7-w ⁇ re se ⁇ al interface that operates at 10 MHz (for 10Mbps operation only) This interface can be used to connect to the external 10BASE-2 PHY chips
- the MAC110 Core also interfaces to the Ethernet PHY chip through an optional RMII Interface When operating with this interface, the MAC110 Core uses only 2-b ⁇ t for data on each direction.
- the detailed protocol is specified in the RMII specification
- Mil Management Interface The Mil Provides a two-wire management interface so that the MAC110 Core can control and receive status from external PHY devices
- Transmit Interface This interface is used to transmit the frames from the Application to the Ethernet Receive Interface This interface is used to receive the frames from the Ethernet to the Application Hosf Interface This interface is used to access the registers/counters in the CSR block 3 Signal Descriptions
- FIG. 3-1 MAC110 Pinout Diagram (Note: EPC Signal Description) 3.2 Signal Description
- the MAC110 Core needs three clock inputs The SysClk from the Application and the Mil TX_Clk and RX_Clk on the Mil Interface
- the signals that are output from the MAC110 Core to the Application are prefixed with "M110_”
- the signals that are input from the Application on the Transmit interface are prefixed with "MTI_” (MAC Transmit Interface)
- the signals that are on the Receive interface are prefixed with "MRI_” (MAC Receive Interface)
- HST_ All control signals that end with 'N' are low asserted signals, i e , when asserted they are at logic '0' and when de-asserted they are at logic
- the Application Bus for the MAC110 core is divided into three different interfaces, a Transmit interface, a Receive interface, and finally the Host bus interface to access MAC110 CSR registers
- the protocol on all the three interfaces is the (VSI's) VCI compliant protocol
- Each of these three interfaces is independent of one another, and the transactions on one interface are not affected by the transactions on the other interfaces
- the data bus width on each of these interfaces is 32-b ⁇ t wide
- Each of these interfaces contains a separate 16-b ⁇ t address bus that is used for identifying the different transactions
- the transaction is always initiated by the Application
- the Application initiates the transaction by asserting the MTI_CmdVal ⁇ d signal and placing the transaction address on the MTI_Addr[15 0] bus
- the MTI_RnW indicates whether the transaction is a read or write transaction If the application wants to do a burst transaction, the MTI_Burst should be asserted along with the MTI_CmdVal ⁇ d signal
- the data is placed on the MTI_Data[31 0] bus and the byte enables (MTI Ben ⁇ 0]) indicate the valid byte lines on the MTI_Data bus
- the MAC110 Core will assert either M110_TxAck indicating a successful completion of the transfer, or asserts M110_TxErr signal indicating the Application to retry the transaction at a later time
- the MAC110 core places the read data on the MHO TxData bus along with the M110_TxAck A
- Figure 4-1 Single Write Transaction with normal completion.
- Figure 4-1 shows a timing diagram in which the Application wants to do a single write transaction to address 16'h1000 (First word wnte in the transmit frame sequence)
- the Application asserts the MTI_CmdVall ⁇ d signal and places the address on the MTI_Addr bus
- the MTI_RnW is asserted low, indicating it as a w ⁇ te transaction
- the MTI Burst is deasserted and the MTI_Ben[3 0] is set approp ⁇ ately based on the valid byte lines on the data buse (it is set to all 1's in this example)
- the write data is placed on the MTI_Data bus along with the MTI_Cmdval ⁇ d signal
- the MAC110 Core asserted the M110_TxAck strobe for one clock, indicating the successful completion of the transaction and transfer of the write data 4.1.2 Single Read transaction with Normal completion
- ⁇ nac1lO/M110_TxAck I I 1/mart10/M110_TxErr nart 10/M110_TxAbort 10/M110_TxDatapi :0] Joooooooo ⁇ 5555AAAA Jxxxxxxxx
- Figure 4-2 shows a timing diagram in which the Application wants to do a single read transaction to address 16'h100C (Status Read)
- the Application asserts the MTI_CmdVall ⁇ d signal and places the address on the MTI_Addr bus
- the MTI_RnW is asserted high, indicating it as a read transaction, the MTI_Burst is deasserted, and the all the byte enables ail set to 1's
- the MAC110 Core asserts the M110_TxAck strobe for one clock, indicating the successful completion of the transaction and places the read data on the M110_TxData bus
- This transaction is used by the Application to read the transmit status after the successful transmission of the frame or on seeing an abort for the previous write transaction
- FIG. 4-3 shows a timing diagram in which the Application wants to do a single write transaction to address 16'h1004 (middle word w ⁇ te)
- the Application asserts the MTI_CmdVal ⁇ d signal and places the address on the MTI_Addr bus
- the MTI_RnW is asserted low, indicating it as a wnte transaction
- the MTI_Burst is deasserted and the byte-enables MTI_Ben[3 0] are set approp ⁇ ately based on the valid byte lines on the MTI_Data bus (In this case all the byte-enables are set to 1's)
- the w ⁇ te data is placed on the MTI Data bus along with the MTI Cmdvalid signal If the buffers become available with in the 15 clocks, the MAC110 core will assert the M110_TxAck and completes the transaction with data transfer As the buffers in the MAC110 core are full, it waits for 15 clocks before issuing the M110
- Figure 4-4 shows a timing diagram in which the Application wants to do a single read transaction to address 16'h100C (Status Read)
- the Application asserts the MTI_CmdVall ⁇ d signal and places the address on the MTI_Addr bus
- the MTI_RnW is asserted high, indicating it as a read transaction
- the MTI_Burst is deasserted, and the all the byte enables all set to 1's
- the MACHO Core t ⁇ es to return the Status data with in with in 15 clocks, but if the status data is not available with in 15 clocks, the MACHO core asserts the M110_TxErr signal indicating the Application to retry the transaction at a later time This is the case when the application after transfer ⁇ ng the frame data to the MACHO core is trying to read the transmit status, but the MACHO core may still be transmitting the frame (Pad/FCS fields) Hence the status is not available and issues retry to the status read transaction from the Application
- FIG. 4-5 shows a timing diagram in which the Application wants to do a single w ⁇ te transaction to address 16'h1004.
- the Application asserts the MTI_CmdVal d signal and places the address on the MTI_Addr bus.
- the MTI_RnW is asserted low, indicating it as a write transaction, the MTI_Burst is deasserted and the all the byte- enables MTI_Ben[3 0] are set approp ⁇ ately based on the valid byte lines on the MTI_Data bus (In this case all the byte-enables are set to 1's)
- the write data is placed on the MTI_Data bus along with the MTI_Cmdval ⁇ d signal If a regular collision or abort condition (late collision, under-run, excessive deferral, or excessive collisions) happens du ⁇ ng the current frame's transmission, the MAC110 Core indicates the condition to the Application by aborting the current w ⁇ te transaction The application has to deassert
- the Application initiates a new frame transmission by doing a w ⁇ te transaction on the transmit interface of the MACHO Core with Address equal to 0x1000
- the MACHO Core accepts the data transfer by asserting the M110_TxAck signal
- the MACHO Core at this point will initiate a new frame transmission sequence on the MAC Block's transmit interface to indicate the MAC to start a new frame transmission
- the Application will (can continue the burst to) do multiple w ⁇ tes (single/burst) transactions to the MAC110 Core with the Address equal to 0x1004
- the w ⁇ te transactions to this address indicate the continuation of the current frame transmission
- the MACHO Core either accepts the transfers or retries the transfers
- the Application should assume that the transmission of the frame on the Ethernet cable failed, and the Application must perform a read transaction with address equal to 0x100C to get the Transmit status vector
- the Application has to do a last word w ⁇ te transaction to the MACHO Core with Address equal to 0x1008
- the MACHO Core interprets a w ⁇ te transaction to this address as the last word transaction and the MACHO Core will try to complete the transaction on the MAC transmit interface Depending on the buffer status in the MAC110 Core, the MAC110 Core accepts the transaction or retries the transaction
- the application should set the approp ⁇ ate byte-enables bit (MTI_Ben[3 0]) to logic '1' Setting the byte enable bit to '1' indicates that the corresponding byte line is valid.
- the MAC110 core uses the data bytes that are valid (as indicated by the byte enables) and ignores the invalid byte lines
- the application has to read the Transmit status by doing a read transaction to the MAC110 Core with an Address equal to the 0x100C
- the MACHO Core returns the transmit status after the frame is completely transferred onto the Ethernet cable If the MAC is still transmitting the current frame, the MACHO Core will issue a retry to the read transaction
- the read transaction is completed only after the packet is completely transferred onto the Ethernet cable and the MAC block returns the packet status
- the Application has to restart the transmission of the frame by doing a w ⁇ te transaction to Address 0x1000
- the Application has to continue the rest of transactions until either the frame is successfully transmitted onto the Ethernet Cable or the frame is aborted because of an error condition
- the MACHO Core indicates the abort/retry condition on the Ethernet cable by aborting to any of the pending w ⁇ te transaction
- the Application has to prematurely end the rest of the w ⁇ te transactions on an abort condition and read the Transmit packet status
- Figure 4-6 shows the sequence of flow and different transactions that are used to transfer a frame from Application to MAC110 Core
- Table 4-1 shows the bit fields of the transmit status returned by the MAC110 Core
- Figure 4-6 Flow chart for Transmit frame operation on the Transmit interface.
- Disable Retry bit When set, indicates that the transmission was aborted after 16 successive collisions while attempting to transmit the current frame If the Disable Retry bit is set, this bit is set after the first collision and the transmission of the frame will be aborted This bit is valid only when the MAC110 core is operating in half-duplex mode
- Late Collision Control bit When set, indicates that the MAC observed a late collision (collision after 64 bytes into transmission of frame), but retransmitted the frame in the next retransmission attempt This is set when the Late Collision Control bit is set This bit is valid only when the MAC110 core is operating in half-duplex mode
- the 4-b ⁇ t counter indicates the number of collisions that occurred before the frame was transmitted
- This bit is valid only when the MAC110 core is operating in half-duplex mode
- this bit indicates a heartbeat collision check failure (the transceiver failed to return a collision pulse as a check after the transmission) This bit is not valid if underflow error bit is set
- Table 4-1 Bit fields of the Transmit Packet Status from the MAC110 Core
- the transaction is always initiated by the MACHO Core
- the MACHO Core initiates the transaction by asserting the M110_CmdVal ⁇ d signal and placing the transaction address on the M110_Addr[15 0] bus
- the M110_RnW is always asserted, as the MAC110 core does only w ⁇ te transactions to Application on the receive interface
- the M110_Burst will be asserted along with the M110_CmdVal ⁇ d signal
- the data is placed on the M110_Data[31 0] bus
- the application has to assert the MRI_Ack signal with in four clocks to accept the data from the MACHO core
- Application doesn't assert the MRI_Ack signal with in four clocks the MACHO can ignore the rest of the incoming frame from the Ethernet and sets the MissedFrame bit in the receive status
- the flushing of the frame and the setting of the MissedFrame bit is based on the buffer status inside the MAC110 Core
- the M110_CmdVal ⁇ d signal
- FIG. 4-7 shows a timing diagram in which the MAC110 Core wants to do a single write transaction to address 16'h2000
- the MACHO Core asserts the M110_CmdVall ⁇ d signal and places the address on the M110_Addr bus
- the M110_RnW is asserted low, indicating it as a w ⁇ te transaction, the M110_Burst is de-asserted and the all the byte enables all set to 1's
- the w ⁇ te data is placed on the M110_Data bus along with the M110_Cmdval ⁇ d signal
- the Application asserted the MRI_Ack strobe for one clock, indicating the successful completion of the transaction and transfer of the w ⁇ te data
- the MACHO Core uses this type of w ⁇ te transactions to transfer the frame information and transmit status word
- the Application has to assert the MRI_Ack with in four clocks If the Application delays the assertion of the MRI_Ack beyond 4 clocks, the MAC110 core can ignore
- Figure 4-8 shows a timing diagram in which the MAC110 Core wants to do a single write transaction to address 16'h2000
- the MACHO Core asserts the M110_CmdVall ⁇ d signal and places the address on the M110_Addr bus
- the M110_RnW is asserted low indicating it as a write transaction, the M110_Burst is deasserted and the all the byte enables all set to 1's
- the w ⁇ te data is placed on the M110_Data bus along with the M110_Cmdval ⁇ d signal
- the Application asserted the MRI_Err signal for one clock indicating that the application cannot accept data at this point
- the MACHO core can ignore the rest of the incoming receive frame and sets the MissedFrame bit in the receive status
- the flushing of the incoming frame and setting of the MissedFrame bit for a retry acknowledge from application is based on the MACHO Core's current FIFO conditions and the incoming data rate
- the MACHO Core initiates a transmission of the newly received frame by doing a w ⁇ te transaction on the Receive Interface with an Address equal to 0x2000
- the Application accepts the transaction, if the buffers in the Application are empty, by asserting the MRI_Ack signal
- the MACHO Core will (can also continue the burst to) do multiple w ⁇ te (single/burst) transactions on the Receive Interface with the Address equal to 0x2004
- the w ⁇ te transactions to this address indicate the continuation of the current receive frame transmission Depending on the buffer status in the Application, the Application accepts the transaction or ret ⁇ es the transaction
- the MACHO Core will do a last word w ⁇ te transaction to the Application with address equal to 0x2008
- the Application has to interpret a wnte transaction to this address as the last word transaction of the current received frame Depending on the buffer status in the Application, the Application accepts the transaction or retnes the transaction
- the MACHO Core will assert the byte-enables approp ⁇ ately to identify the correct byte lines on the M110_Data bus in the last wnte transaction
- the Application should use only the valid bytes in the last w ⁇ te transaction (For all other transfers, the MACHO core asserts all the byte enables)
- the MACHO Core transfers the receive status by doing a w ⁇ te transaction to the Application with an address equal to the 0x200C
- the Application has to acknowledge the data write transactions with in four clocks
- the MAC110 Core expects that the Application will acknowledge the data write transaction as soon as possible
- the MACHO Core can drop the current receive frame by flushing the receive buffers in the core and not transferring the remaining frame to the application
- the Receive status indicates the dropped frame condition (MissedFrame) and the Application should increment the missed frame counter approp ⁇ ately (if it is maintaining one)
- the MAC110 Core checks the incoming receive packet status from the MAC block and based on the control signals from the MCS block, it evaluates the Packet Filter status For example if the Pass Bad Frames bit is reset in the in the MCS control register and an error frame is received, it will reset the Packet Filter status in the status word that is passed to the Application
- the MACHO Core uses the Receive All, Pass Bad Frames, Pass Control Frames, Disable Broadcast Frames control signals from MCS and generates the Packet Filter status
- Figure 4-9 shows the sequence of flow and different transactions that are used to transfer a frame from MACHO to the Application Table 4-2 shows the bit fields of the receive status provided by the MAC110 Core
- the current reception is tagged with a VLAN1 ID
- the thirteenth and fourteenth bytes at the frame are compared to the one-level VLAN tag register This bit is set if there is a non-zero match
- the current reception is tagged with a VLAN2 ID
- the thirteenth and fourteenth bytes at the frame are compared to the two-level VLAN tag register This bit is set if there is a non-zero match
- the current frame is decoded as a control frame This bit is set only when the MAC is operating in the full-duplex mode
- Control Frame If the Control Frame is set and the Unsupported Control Frame is reset, it indicates that the MAC block received a valid Control Frame (PAUSE Command) and the transmitter is currently paused
- the packet filter When set, it indicates that the current frame passed the packet filter that is implemented in the MACHO Core
- the packet filter is based on the control signals from the MAC Control Register and the packet status from the MAC receive engine When reset, it indicates that the current frame failed the packet filter.
- the Application can use this bit to decide whether to keep the packet in the memory or flush the packet from the memory/FIFO Table 5-3 shows the Packet Filter output for va ⁇ ous combinations of the control signals and the status signals
- This bit is set when the Application violates the wait clock latency protocol If the Application doesn't assert the data acknowledge in 4 clocks for any of the write data transactions from MACHO core or the application retries any of the w ⁇ te transactions, the MAC110 core cam drop the rest of the frame and transfers the Packet Status to the Application If the application asserts the Abort signal for any of the w ⁇ te transactions, the MACHO core will drop the frame This bit is reset when the frame is received normally by the Application with out any latency/error violations
- Table 4-2 Bit fields of the Receive Packet Status from the MACHO Core.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
- Communication Control (AREA)
- Information Transfer Systems (AREA)
Abstract
Description
Claims
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU75735/00A AU7573500A (en) | 1999-09-01 | 2000-08-29 | Ethernet 10/100 media access controller core |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US38755899A | 1999-09-01 | 1999-09-01 | |
US09/387,558 | 1999-09-01 |
Publications (4)
Publication Number | Publication Date |
---|---|
WO2001017166A2 true WO2001017166A2 (en) | 2001-03-08 |
WO2001017166A3 WO2001017166A3 (en) | 2002-01-24 |
WO2001017166A9 WO2001017166A9 (en) | 2002-09-12 |
WO2001017166A8 WO2001017166A8 (en) | 2003-11-13 |
Family
ID=23530396
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2000/023647 WO2001017166A2 (en) | 1999-09-01 | 2000-08-29 | Ethernet 10/100 media access controller core |
Country Status (2)
Country | Link |
---|---|
AU (1) | AU7573500A (en) |
WO (1) | WO2001017166A2 (en) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1471705A1 (en) * | 2001-12-30 | 2004-10-27 | Legend (Beijing) Limited | A means and control method for adapting different media of transmission link of network on physical layer. |
KR100460149B1 (en) * | 2001-11-28 | 2004-12-08 | 주식회사 코어세스 | Apparatus and Method for arbitrating data transmission of devices based on SMII standard |
US7042893B1 (en) | 2001-12-05 | 2006-05-09 | Marvell International Ltd. | Serial media independent interface with double data rate |
WO2008035863A1 (en) * | 2006-09-22 | 2008-03-27 | Samsung Electronics Co, . Ltd. | Method and apparatus for synchronizing applications of terminals in communication network |
US7949800B2 (en) | 2006-02-09 | 2011-05-24 | Freescale Semiconductor, Inc. | Method for exchanging information with physical layer component registers |
KR101203529B1 (en) | 2006-09-22 | 2012-11-21 | 삼성전자주식회사 | Method and apparatus for synchronizing applications of terminals in a communication network |
KR101244915B1 (en) | 2006-10-20 | 2013-03-18 | 삼성전자주식회사 | Method for providing synchonizing information with application layer from medium access control layer and apparatus therefor |
CN104468071A (en) * | 2014-06-27 | 2015-03-25 | 许继电气股份有限公司 | Anti-interference method of synchronous clock device of intelligent substation |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106375155B (en) * | 2016-09-09 | 2019-09-27 | 盛科网络(苏州)有限公司 | The control method and control system of MAC simulating, verifying model |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5544067A (en) * | 1990-04-06 | 1996-08-06 | Lsi Logic Corporation | Method and system for creating, deriving and validating structural description of electronic system from higher level, behavior-oriented description, including interactive schematic design and simulation |
-
2000
- 2000-08-29 WO PCT/US2000/023647 patent/WO2001017166A2/en active Application Filing
- 2000-08-29 AU AU75735/00A patent/AU7573500A/en not_active Abandoned
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5544067A (en) * | 1990-04-06 | 1996-08-06 | Lsi Logic Corporation | Method and system for creating, deriving and validating structural description of electronic system from higher level, behavior-oriented description, including interactive schematic design and simulation |
Non-Patent Citations (3)
Title |
---|
T. GOODRICH; K. JONES: "Phoenix Technologies Announces First Virtual Component Interface Core" NEWS RELEASE PHOENIX/WWW.VSI.ORG, [Online] 17 May 1999 (1999-05-17), XP002179105 Retrieved from the Internet: <URL:http://www.vsi.org/library/pressrelea se/051799.pdf> [retrieved on 2001-10-02] * |
TANENBAUM A S: "IEEE STANDARD 802.3 AND ETHERNET" COMPUTER NETWORKS, ENGLEWOOD CLIFFS, PRENTICE HALL, US, pages 141-147, XP002057941 * |
TANENBAUM A: "Computer Networks - Third Edition" COMPUTER NETWORKS, LONDON: PRENTICE-HALL INTERNATIONAL, GB, 1996, pages 28-39, XP002161723 ISBN: 0-13-394248-1 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100460149B1 (en) * | 2001-11-28 | 2004-12-08 | 주식회사 코어세스 | Apparatus and Method for arbitrating data transmission of devices based on SMII standard |
US8094668B1 (en) | 2001-12-05 | 2012-01-10 | Marvell International Ltd. | Physical layer device including a serial media independent interface (SMII) |
US7042893B1 (en) | 2001-12-05 | 2006-05-09 | Marvell International Ltd. | Serial media independent interface with double data rate |
US7672326B1 (en) | 2001-12-05 | 2010-03-02 | Marvell International Ltd. | Serial media independent interface with double data rate |
EP1471705A1 (en) * | 2001-12-30 | 2004-10-27 | Legend (Beijing) Limited | A means and control method for adapting different media of transmission link of network on physical layer. |
EP1471705A4 (en) * | 2001-12-30 | 2010-10-27 | Lenovo Beijing Ltd | A means and control method for adapting different media of transmission link of network on physical layer. |
US7949800B2 (en) | 2006-02-09 | 2011-05-24 | Freescale Semiconductor, Inc. | Method for exchanging information with physical layer component registers |
WO2008035863A1 (en) * | 2006-09-22 | 2008-03-27 | Samsung Electronics Co, . Ltd. | Method and apparatus for synchronizing applications of terminals in communication network |
US8155157B2 (en) | 2006-09-22 | 2012-04-10 | Samsung Electronics Co., Ltd. | Method and apparatus for synchronizing applications of terminals in communication network |
KR101203529B1 (en) | 2006-09-22 | 2012-11-21 | 삼성전자주식회사 | Method and apparatus for synchronizing applications of terminals in a communication network |
KR101244915B1 (en) | 2006-10-20 | 2013-03-18 | 삼성전자주식회사 | Method for providing synchonizing information with application layer from medium access control layer and apparatus therefor |
CN104468071A (en) * | 2014-06-27 | 2015-03-25 | 许继电气股份有限公司 | Anti-interference method of synchronous clock device of intelligent substation |
CN104468071B (en) * | 2014-06-27 | 2017-08-22 | 许继电气股份有限公司 | A kind of intelligent substation Synchronization Clock anti-interference method |
Also Published As
Publication number | Publication date |
---|---|
WO2001017166A8 (en) | 2003-11-13 |
AU7573500A (en) | 2001-03-26 |
WO2001017166A3 (en) | 2002-01-24 |
WO2001017166A9 (en) | 2002-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5321819A (en) | Interface for coupling a host device having a network interface to a computer network having a predetermined communications medium and a predetermined communications physical layer | |
CN100473066C (en) | Reduced hardware network adapter and communication method | |
US5247626A (en) | Fddi controller having flexible buffer management | |
EP0980612B1 (en) | Physical layer device having a media independent interface for connecting to either media access control entities or other physical layer devices | |
US5299193A (en) | Signal interface for coupling a network front end circuit to a network adapter circuit | |
US6539488B1 (en) | System with a plurality of media access control circuits with a shared memory for storing data and synchronizing data from a clock domain to a host clock domain | |
KR100245903B1 (en) | Repeater interface controller | |
JP3485932B2 (en) | Scalable integrated circuit multiport repeater controller with multiple media independent interfaces and mixed media connections | |
US6701406B1 (en) | PCI and MII compatible home phoneline networking alliance (HPNA) interface device | |
US6839345B2 (en) | MAC/PHY interface | |
US7072349B2 (en) | Ethernet device and method for extending ethernet FIFO buffer | |
GB2264845A (en) | Local area network adaptive circuit for multiple network types | |
US6229817B1 (en) | System and method for programming late collision slot time | |
US5838688A (en) | Determining the number of active nudes on an ethernet network by counting a number of packet receptions | |
WO2001017166A2 (en) | Ethernet 10/100 media access controller core | |
US6778551B1 (en) | Collision control systems and methods utilizing an inter-frame gap code counter | |
Mohor | Ethernet IP core specification | |
US6947438B1 (en) | PCI and MII compatible home phoneline networking alliance (HPNA) interface device | |
Donchev et al. | Implementation of CAN controller with FPGA structures | |
KR100367138B1 (en) | Network Interface Controller | |
EP0567342A2 (en) | Signal interface for coupling a network front end circuit to a network adapter circuit | |
US6853645B1 (en) | PCI and MII compatible home phoneline networking alliance (HPNA) interface device | |
JP2001502855A (en) | End-of-packet detection for storing multiple packets in SRAM | |
Dobinson et al. | Interfacing to Ethernet using VLSI protocol chips | |
Protogeros et al. | Traffic analyser and generator Part 1: High-speed traffic capture for IEEE 802.3/Ethernet networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A2 Designated state(s): AE AG AL AM AT AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ CZ DE DE DK DK DM DZ EE EE ES FI FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A2 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
AK | Designated states |
Kind code of ref document: A3 Designated state(s): AE AG AL AM AT AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ CZ DE DE DK DK DM DZ EE EE ES FI FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A3 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
AK | Designated states |
Kind code of ref document: C2 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: C2 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
COP | Corrected version of pamphlet |
Free format text: PAGES 1-33, DESCRIPTION, REPLACED BY NEW PAGES 1-38; PAGES 34 AND 35, CLAIMS, REPLACED BY NEW PAGES39-41; PAGES 1/4-4/4, DRAWINGS, REPLACED BY NEW PAGES 1/2-2/2; DUE TO LATE TRANSMITTAL BY THE RECEIVING OFFICE |
|
122 | Ep: pct application non-entry in european phase | ||
CFP | Corrected version of a pamphlet front page | ||
CR1 | Correction of entry in section i |
Free format text: IN PCT GAZETTE 10/2001 DUE TO A TECHNICAL PROBLEM AT THE TIME OF INTERNATIONAL PUBLICATION, SOME INFORMATION WAS MISSING (81). THE MISSING INFORMATION NOW APPEARS IN THE CORRECTED VERSION. Free format text: IN PCT GAZETTE 10/2001 DUE TO A TECHNICAL PROBLEM AT THE TIME OF INTERNATIONAL PUBLICATION, SOME INFORMATION WAS MISSING (81). THE MISSING INFORMATION NOW APPEARS IN THE CORRECTED VERSION. |
|
NENP | Non-entry into the national phase in: |
Ref country code: JP |