throbber
(19) United States
`(12) Patent Application Publication (10) Pub. No.: US 2004/0249964 A1
`Mougel
`(43) Pub. Date:
`Dec. 9, 2004
`
`US 2004O249964A1
`
`(54) METHOD OF DATA TRANSFER AND
`APPARATUS THEREFOR
`
`(76) Inventor: Thibault Mougel, West Lothian (GB)
`Correspondence Address:
`PERMAN & GREEN
`425 POST ROAD
`FAIRFIELD, CT 06824 (US)
`
`(21)
`(22)
`
`(51)
`
`Appl. No.:
`Filed:
`C
`
`10/382,547
`Mar. 6, 2003
`ar. 0,
`Publication Classification
`
`Int. Cl. ................................................ G06F 15/16
`
`(52) U.S. Cl. .............................................................. 709/231
`
`(57)
`
`ABSTRACT
`
`In the field of programmable devices, such as FPGAs,
`comprising multi-gigabit transceiver units, it is desirable to
`communicate a data Stream of a first data rate between the
`programmable devices at a Second data rate. In order to
`achieve this aim, the data Stream is read from a first buffer
`at the Second data rate by a first device and communicated
`to a second device at the second data rate. When the buffer
`empties, idle bits are inserted in the absence of data. Upon
`receipt by the second device, the idle bits are identified and
`removed prior to buffering.
`
`Optical
`Optical -----Transmission
`clock
`Transmitter
`102
`105
`
`
`
`
`
`Optical
`Receiver
`103
`
`- 5
`is
`
`O
`t
`t
`
`
`
`cg..." a
`Transmitter
`101
`
`a
`
`area
`
`A.
`Transceiver
`FPGA
`104.
`
`Recovered
`Clock from
`Optical
`Receiver
`
`110
`Processing
`FPGA 1
`112
`
`TX
`Processing
`FPGA2
`126
`
`S.
`
`
`
`100
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`To Main Processor
`
`114
`Processing
`FPGA1
`116
`
`RX
`Processing
`FPGA2
`132
`
`138
`
`Data to be processed
`Control, status and
`error signals
`
`Ex.1033
`CISCO SYSTEMS, INC. / Page 1 of 10
`
`

`

`Patent Application Publication Dec. 9, 2004 Sheet 1 of 3
`
`US 2004/0249964 A1
`
`Optical
`Transmitter
`102
`
`Optical
`---Transmission
`clock
`105
`
`
`
`
`
`Optical
`Receiver
`103
`
`C
`s
`
`Clock from
`--------
`Optical
`Transmitter
`
`
`
`Transceiver
`
`FPGA
`104
`
`a
`
`-
`
`a
`
`-
`
`-
`
`- Clock from
`
`Recovered
`Optical
`Receiver
`
`
`
`
`
`
`
`Processing
`T
`FPGA1
`112
`
`TX
`Processing
`FPGA2
`126
`
`
`
`
`
`
`
`Bridge
`150
`
`148
`
`To Main Processor
`
`Processing
`R
`FPGA1
`116
`
`RX
`Processing
`FPGA2
`132
`
`138
`
`Data to be processed
`Control, status and
`error signals
`
`Fig 1
`
`Ex.1033
`CISCO SYSTEMS, INC. / Page 2 of 10
`
`

`

`Patent Application Publication Dec. 9, 2004
`
`US 2004/0249964 A1
`
`
`
`
`
`
`
`
`
`
`
`
`
`Ex.1033
`CISCO SYSTEMS, INC. / Page 3 of 10
`
`

`

`Patent Application Publication Dec. 9, 2004 Sheet 3 of 3
`
`US 2004/0249964 A1
`
`
`
`
`
`Receive SONET
`data stream
`
`Buffer <
`half full
`
`
`
`
`
`Insert idle
`bytes
`
`
`
`
`
`Split data
`Stream
`
`
`
`Clock data
`to databuS
`
`30
`
`308
`
`30
`4
`
`Fig. 3
`
`
`
`
`
`Receive Sub
`data Streams
`
`ReCOnstitute
`data Stream
`
`400
`
`402
`
`
`
`
`
`ldle bytes s Clock data
`?
`to FIFO
`
`408
`
`404
`
`
`
`
`
`Yes
`Remove idle
`bytes
`
`406
`
`F. 4
`
`Ex.1033
`CISCO SYSTEMS, INC. / Page 4 of 10
`
`

`

`US 2004/0249964 A1
`
`Dec. 9, 2004
`
`METHOD OF DATA TRANSFER AND APPARATUS
`THEREFOR
`
`FIELD OF THE INVENTION
`0001. The present invention relates, in general, to a
`method of transferring a data Stream of a first data rate over
`a data link at a Second data rate. The present invention also
`relates, in general, to an apparatus for transferring a data
`Stream of a first data rate over a data link at a Second data
`rate.
`
`DESCRIPTION OF THE BACKGROUND ART
`0002. In the field of optical communications, an optical
`communications network is formed from a large number of
`different hardware and Software components. Clearly, there
`is therefore a need for test equipment in order to measure the
`integrity of Signals generated in the network. Such test
`equipment is able to transmit test Signals comprising test
`frames representative of actual Signals communicated in the
`network. The test equipment may also receive the test
`frames, and detect and record any errors.
`0003) Certain test equipment comprises a number of
`Field Programmable Gate Arrays (FPGAS) and/or Applica
`tion Specific Integrated Circuits (ASICs) in order to com
`plete certain high-speed computational tasks associated with
`the tests to be performed. For example, it is known for Some
`test equipment to generate a So-called Bit-Error-Ratio Test
`(BERT) set, and/or error performance data. However, such
`tests are processing power intensive due to the amount of
`data that needs to be processed by a single FPGA at high
`Speed.
`0004) Of recent, manufacturers of FPGAs have begun to
`design the FPGAs with multi-gigabit serial transceivers that
`Support a communications protocol, Such as a So-called
`XAUIs (pronounced “Zowies'; X Attachment Unit Inter
`faces; the “X” representing the Roman numeral for ten)
`protocol to enable communication of data between FPGAs
`at high Speed, thereby allowing the computational burden to
`be shared between the FPGAs. The XAUI is a low pin count,
`self-clocked, serial bus protocol directly evolved from the
`Gigabit Ethernet (GbE). The XAUI protocol supports data
`rates 2.5 times that of GbE, and by Supporting communica
`tions over four serial “lanes” a 10 GbE communications link
`is achieved.
`0005. As mentioned above, for certain tests, it is desirable
`to communicate data between FPGAS in order to share a
`computational process, and multi-gigabit Serial transceivers
`provide a mechanism to achieve the desired data transfer via
`a relatively Small number of differential tracks constituting
`a communications link coupling the transceivers. Also, at
`least one known test requires data received by the test
`equipment from a network under test to be sent back to the
`network under test. Therefore, another application exists for
`an FPGA, that is part of a receiver unit of the test equipment,
`to comprise a first multi-gigabit Serial transceiver So as to
`permit communication of received data to another FPGA,
`that is part of a transmitter unit of the test equipment, the
`another FPGA comprising a Second multi-gigabit Serial
`transceiver.
`0006 The speed of the multi-gigabit serial transceivers
`permits the test equipment to process data borne using, for
`
`example, the American National Standards Institute (ANSI)
`Synchronous Optical NETwork (SONET) standard. Of
`course, data conforming to other Standards, Such as the
`Synchronous Digital Hierarchy (SDH) standard can also be
`processed. Indeed, in the case of a network analyser unit
`capable of testing both 10 GbE signals and SONET/SDH
`signals, the communications link between the FPGAs should
`be able to Support the respective data rates associated with
`the signal types to be tested, for example 10 Gbps for the
`GbE packets, or 9.953280 Gbps for SONET OC-192 frames.
`0007 One known multi-gigabit serial communications
`Specification for communicating data between FPGAS Sup
`ports data communications at a rate of 10 Gbps. AS men
`tioned above, one of the various data rates Supported by the
`SONET standard is 9.953280 Gbps for OC-192 frames. A
`data rate mismatch therefore clearly exists if an inter-FPGA
`multi-gigabit Serial communications link is used to commu
`nicate SONET OC-192 frames, which if not removed, will
`result in discrete-time jitter and data loSS.
`0008. In order to facilitate the transfer of an incoming
`data Stream, between FPGAS using the multi-gigabit Serial
`transceivers, when the data rate of the incoming data Stream
`and the data rate of the multi-gigabit Serial transceivers are
`different, it is known to provide an apparatus which adapts
`a clocking frequency of the multi-gigabit Serial transceivers
`to match the clock frequency of the incoming data Stream.
`The frequency matching is performed, for example, by
`coupling FPGAS to external components Such as a Phase
`Locked Loop (PLL) based clock generator, or a Voltage
`Controlled X Oscillator based clock generator, both of
`which are described in the XILINX Application Note
`entitled “SONET Rate Conversation in Virtex-II Pro
`Devices” (Application Note: Virtex-II Pro Family, XA
`pp649 (v1.1), May 14, 2002).
`0009. However, such known apparatus disadvanta
`geously use external components, thereby increasing manu
`facturing overheads. Also, maintaining accuracy of clock
`Synchronization is difficult and complex to achieve. Further
`more, once the apparatus is programmed to be adaptive to a
`Specific incoming data Stream dock frequency, the apparatus
`must be reprogrammed should a data Stream of a different
`frequency be received.
`0010. According to a first aspect of the present invention,
`there is provided a method of communicating a data Stream
`from a first communications unit of a first programmable
`logic device to a Second communications unit of a Second
`programmable logic device at a first data rate, the data
`Stream comprising a plurality of data units and having a
`Second data rate associated there with, the method compris
`ing the Steps of the first communications unit receiving the
`data Stream; generating idle units and transmitting the idle
`units to the Second communications unit when data is
`unavailable to be transmitted to the Second communications
`unit, and wherein the first data rate is greater than or
`Substantially equal to the Second data rate.
`0011. In the context of communication of a data stream,
`an idle unit is a bit pattern indicative of an absence of bits
`constituting the communication of at least part of the data
`Stream.
`0012. The method may further comprise the step of:
`temporarily Storing the data constituting the data Stream
`prior to transmission of the data Stream to the Second
`communications unit.
`
`Ex.1033
`CISCO SYSTEMS, INC. / Page 5 of 10
`
`

`

`US 2004/0249964 A1
`
`Dec. 9, 2004
`
`0013 The method may further comprise the step of:
`generating and transmitting the idle units in response to a
`quantity of the temporarily Stored data being equal to or leSS
`than a predetermined level.
`0.014. The communication of the data steam from the first
`communications unit to the Second communications unit
`may be in accordance with a predetermined communications
`protocol; the generation of the idle units may be in accor
`dance with the protocol. A combination of types of idle units
`may be in accordance with the protocol.
`0.015 The data may be temporarily stored in a first buffer;
`the buffer mat have a read-out rate corresponding to the first
`data rate.
`0016. The method may further comprise the step of:
`transmitting the data Stream to the Second communications
`unit at the first data rate.
`0.017. The method may further comprise the step of the
`Second communications unit receiving the data Stream from
`the first communications unit.
`0.018. The method may further comprise the step of:
`removing the idle units from the received data Stream.
`0019. The method may further comprise the step of:
`temporarily Storing the received data Stream after removal of
`the idle units therefrom.
`0020. The plurality of data units may be a plurality of
`packets.
`0021. The plurality of data units may be a plurality of
`frames.
`0022. The first device may be an ASIC or an FPGA.
`0023 The second device may be an ASIC or an FPGA.
`0024 Communication of the idle units between the first
`and Second communications units may result in the idle units
`being interleaved with the data constituting the data Stream.
`0.025 According to a second aspect of the present inven
`tion, there is provided a programmable logic device for
`communicating at a first data rate a data Stream comprising
`a plurality of data units and having a Second data rate
`asSociated there with, the device comprising: a communica
`tions unit arranged to receive, when in use, the data Stream
`at the Second data rate; wherein the communications unit is
`further arranged to generate idle units and transmit the idle
`units at the first data rate when data is unavailable for
`transmission to another programmable logic device at the
`first data rate; and the first data rate being greater than or
`Substantially equal to the Second data rate.
`0026. The communications unit may further comprise: a
`temporary Store for Storing the data constituting the data
`Stream prior to transmission of the data Stream.
`0027. The temporary store may be a first buffer, the first
`buffer may have a read-out rate corresponding to the first
`data rate.
`0028. The communications unit may further comprise: an
`idle unit insertion unit arranged to receive the data Stream
`prior to transmission, and to generate the idle units when
`data is unavailable for transmission to another program
`mable logic device.
`
`0029. The idle units may be generated and transmitted in
`response to a quantity of the temporarily Stored data being
`equal to or less than a predetermined level.
`0030 The idle unit insertion unit may be arranged to
`monitor the amount of data being Stored by the temporary
`StOre.
`0031. The communication of the data steam from the first
`communications unit to the Second communications unit
`may be in accordance with a predetermined communications
`protocol; the generation of the idle units may be in accor
`dance with the protocol. A combination of types of idle units
`may be in accordance with the protocol.
`0032. The idle units may be generated so as to be
`interleaved with data constituting the data Stream when the
`data constituting the data Stream is transmitted by the
`communications unit.
`0033 According to a third aspect of the present inven
`tion, there is provided a programmable logic device for
`receiving at a first data rate a data Stream comprising a
`plurality of data units and having a Second data rate asso
`ciated there with, the device comprising: a communications
`unit arranged to receive, when in use, the data Stream at the
`first data rate; wherein the communications unit is further
`arranged to remove idle units from the data Stream for
`onward communication of the data Stream at the Second data
`rate; and the first data rate is greater than or Substantially
`equal to the Second data rate.
`0034.
`It should be appreciated that onward communica
`tion of the data Stream embraces communication internal of
`a recipient programmable logic device and/or communica
`tion to an entity exterior to the recipient programmable logic
`device.
`0035. The communications device may comprise: an idle
`unit removal unit arranged to remove idle units from the data
`Stream.
`0036) The communications unit may further comprise: a
`temporary Store for receiving the received data Stream after
`removal of the idle units therefrom.
`0037. The temporary store may be arranged so as to
`permit, when in use, data to be read-out of the temporary
`Store at the Second data rate.
`0038. The temporary store may be a buffer having a
`read-out rate associated there with, the read-out rate corre
`sponding, when in use, to the Second data rate.
`0039. According to a fourth aspect of the present inven
`tion, there is provided a communications System for com
`municating at a first data rate a data Stream comprising a
`plurality of data units and having a Second data rate asso
`ciated there with, the System comprising: a first program
`mable logic device comprising a first communications unit
`capable of communicating the data Stream to a Second
`communications unit of a Second programmable logic
`device at the first data rate; wherein the first communications
`unit comprises an idle unit insertion unit arranged to receive
`the data Stream at the Second data rate prior to transmission
`to the Second communications unit, and generate, when in
`use, idle units when data is unavailable for transmission to
`the Second communications unit; the Second communica
`tions unit comprises an idle unit removal unit arranged to
`
`Ex.1033
`CISCO SYSTEMS, INC. / Page 6 of 10
`
`

`

`US 2004/0249964 A1
`
`Dec. 9, 2004
`
`remove the idle units from the data stream for onward
`communication of the data Stream at the Second data rate;
`and the first data rate is greater than or Substantially equal to
`the Second data rate.
`0040 According to a fifth aspect of the present invention,
`there is provided a communications network analyser com
`prising the communications System as Set forth above in
`relation to the fourth aspect of the present invention.
`0041. It is thus possible to provide an apparatus for
`transferring incoming data of a first data rate between
`programmable logic devices at different data rate, and a
`method of transferring incoming data of the first data rate
`between programmable logic devices at the different data
`rate. The complexity of the hardware constituting the appa
`ratus is therefore simplified considerably, without the diffi
`culties of clock synchronization. Additionally, the FPGAs do
`not require reprogramming in order to enable the data link
`between the programmable devices to communicate the
`incoming data when the data rate of the incoming data
`changes. It will be appreciated that the greater Simplicity
`reduces the cost of manufacture of test equipment.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`0.042 At least one embodiment of the present invention
`will now be described, by way of example only, with
`reference to the accompanying drawing, in which:
`0.043
`FIG. 1 is a Schematic diagram of an apparatus
`constituting a first embodiment of the invention;
`0044 FIG. 2 is a schematic diagram of a communica
`tions link of FIG. 1 in greater detail; and
`004.5 FIGS. 3 and 4 are flow diagrams of methods for
`use with the apparatus of FIG. 2.
`
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENTS
`Referring to FIG. 1, a telecommunications net
`0.046
`work analyser, capable of testing 10 GbE packets and
`SONET frames, comprises a processing card 100 interfaced
`with an optical transceiver card 101. The optical transceiver
`card 101 comprises, inter alia, an optical transmitter module
`102 comprising a transmitter port (not shown) and an optical
`receiver module 103 comprising a receiver port (not shown).
`The optical transmitter module 102 and the optical receiver
`module 103 are respectively coupled to a transceiver FPGA
`104 by respective standard bus interfaces, such as of a
`SERDES (Serializer-Dezerializer) Framer Interfaced (SFI
`4) type. The transceiver FPGA 104 has an input port 106 and
`an output port 108, the input port 106 of the transceiver
`FPGA 104 being coupled to an output port 110 of a first
`transmitter FPGA 112, and the output port 108 of the
`transceiver FPGA 104 being coupled to a first input port 114
`of a first receiver FPGA116. The input and output ports 106,
`108 of the transceiver FPGA 104 are respectively coupled to
`the output port 110 and the first input port 114 by a
`multi-gigabit data link that is supported by the XAUI
`protocol.
`0047 A first output port 118 of the first receiver FPGA
`116 is coupled to a first input port 120 of the first transmitter
`FPGA 112, a second input port 122 of the first transmitter
`FPGA112 being coupled to an output port 124 of a second
`
`transmitter FPGA 126. A first input port 128 of the second
`transmitter FPGA 126 is coupled to an output port 130 of a
`second receiver FPGA 132, a first input port 134 of the
`second receiver FPGA132 being coupled to a second output
`port 136 of the first receiver FPGA 116.
`0048. The inter-coupling of the first and second transmit
`ter FPGAS 112, 126 and the first and second receiver FPGAs
`116, 132 is by means of a further multi-gigabit data link that
`is supported by the XAUI protocol. A further data bus 138
`for communicating control, Status and/or error Signals is
`coupled to a third input port 140 of the first transmitter
`FPGA112, a second input port 142 of the second transmitter
`FPGA 126, a second input port 144 of the first receiver
`FPGA 116 and a second input port 146 of the second
`receiver FPGA132. The further data bus 138 is also coupled
`to an input port 148 of a bridge FPGA150, the bridge FPGA
`150 being coupled to a main processing unit (not shown), the
`details of which need not be described in further detail for
`the purposes of describing this embodiment of the invention.
`0049. Although not shown, the processing card 100 com
`prises Suitable circuitry, for example oscillator circuits, to
`generate a System clock Signal and a transmission clock
`Signal, the processing card 100 being appropriately config
`ured to communicate the System and transmission clock
`signals to the FPGAs populating the processing card 100.
`0050. The above example will now be described, for the
`purposes of clarity of description and Simplicity, in the
`context of a communications link between the first trans
`mitter FPGA112 and the first receiver FPGA116. However,
`it should be appreciated that the principles of the following
`example is applicable to other communications links
`between devices incorporating transceivers, Such as FPGAS
`and ASICs, and more particularly between the first and
`Second transmitter FPGAS 112, 126 and the first and second
`receiver FPGAs 116, 132.
`0051 Referring to FIG.2, the first transmitter FPGA112
`Supports a multi-gigabit data link 200 by comprising a first
`multi-gigabit Serial transceiver unit 202. In this example, the
`first transmitter FPGA112 is a XilinxCE) Virtex II Pro FPGA
`comprising a Xilinx(R) Rocket I/O transceiver as the first
`transceiver unit 202. The first transceiver unit 202 is pro
`grammed to Support the XAUI protocol.
`0052 The transceiver unit 202 is coupled to an idle byte
`insertion unit 204, via a first internal databuS 206, the idle
`byte insertion unit 204 being coupled to a first First-In-First
`Out (FIFO) buffer 208 via a second internal databus 210.
`The first FIFO buffer 208 comprises a first data-in port 212,
`a first data-out port 214 (coupled to the Second internal
`databus 210), a first write-in clock port 216, a first write
`enable clock port 218, a first read-out clock port 220, a first
`read-enable clock port 222 and a first FIFO status port 224.
`The read-out clock port 220 is coupled to a first serial
`transmission clock port 226 of the idle byte insertion unit
`204, and a first transceiver clock port 227 of the transceiver
`unit 202; the first read-enable clock port 222 is coupled to a
`“Read Data” port 228 of the idle byte insertion unit 204. A
`“Data Request” port 230 of the idle byte insertion unit 204
`is coupled to the first FIFO status port 224 of the first FIFO
`buffer 208.
`0053) The first receiver FPGA 116 also supports the data
`link 200 by comprising a Second multi-gigabit Serial trans
`
`Ex.1033
`CISCO SYSTEMS, INC. / Page 7 of 10
`
`

`

`US 2004/0249964 A1
`
`Dec. 9, 2004
`
`ceiver unit 232. In this example, the first receiver FPGA 116
`is also a Xilinx(R) Virtex II Pro FPGA also comprising a
`Xilinx(E) Rocket I/O transceiver as the second transceiver
`unit 232, the Second transceiver unit 232 being programmed
`to support the XAUI protocol. The second transceiver unit
`232 is coupled to an idle byte removal unit 234, via a third
`internal databus 236, the idle byte removal unit 234 being
`coupled to a second FIFO buffer 238 via a fourth internal
`databus 240. The second FIFO buffer 238 comprises a
`Second data-in port 242, a Second data-out port 244, a Second
`write-in clock port 246, a Second write-enable clock port
`250, a second read-out clock port 252, a second read-enable
`clock port 254 and a second FIFO status port 256.
`0.054 The second write-in clock port 246 is coupled to a
`second serial transmission clock port 258 of the idle byte
`removal unit 234 and a second transceiver clock port 260 of
`the second transceiver 232. The second write-in clock port
`246, the second serial transmission clock port 258, the
`Second transceiver clock port 260, the first transceiver clock
`port 227, the first serial transmission clock port 226 and the
`first read-out clock port 220 are coupled to a Source of the
`transmission clock signal (not shown) already mentioned
`above in relation to FIG. 1. The second write-enable clock
`port 250 is coupled to a “Write Data” port 262 of the idle
`byte removal unit 234.
`0055. The first transceiver unit 202 is capable of com
`municating with the Second transceiver unit 232 via the
`muti-gigabit data link 200. The first transceiver unit 202 and
`the second transceiver unit 232 are therefore both coupled to
`the data link 200 at opposite ends. The data link 200
`comprises four data lanes 262 provided in accordance with
`the multi-gigabit Serial communications Specification being
`employed, in this example that Supporting the Rocket I/O
`transceivers.
`0056. The above described apparatus will now be
`described in the context of communication between the first
`transmitter FPGA 112 and the first receiver FPGA 116.
`However, as previously Stated, it should be appreciated that
`the following example is applicable to communications
`between other FPGAs comprising transceivers.
`0057. In operation, an incoming data stream (not shown)
`is received (step 300) by the first transmitter FPGA 112. In
`this example, the incoming data stream is a SONET OC-192
`Signal. The incoming data Stream is communicated to the
`first FIFO buffer 208 via the first data-in port 212 and written
`into the first FIFO buffer 208 at a first data rate of the
`incoming data Stream by applying the System clock signal to
`the first write-in clock port 216 and a first clock enable
`signal to the first write-enable port 218. Since the first
`transmitter FPGA112 can process data at a far greater Speed
`than the first data rate of the incoming datastream, the first
`clock enable signal is used to control the writing-in of data
`into the first FIFO buffer 208. The first clock enable signal
`is, in this example, generated Separately by the first trans
`mitter FPGA 112. For example, in the case of the SONET
`OC-192 Signal, the first data rate at which the incoming data
`Stream is written into the first FIFO buffer 208 is 9.953280
`Gbps. Given that the system clock frequency is 84 MHZ and
`the first transmitter FPGA112 can process 128 bits per cycle
`of the System clock, the first clock enable Signal is set to
`enable the system clock with respect to the first FIFO buffer
`208 once every 1.08 clock cycles of the system clock.
`
`0.058. In the first transmitter FPGA112, the transmission
`clock signal is applied to the first read-out clock port 220 of
`the first FIFO buffer 208, first serial transmission clock port
`226 of the idle byte insertion unit 204 and the transceiver
`clock port 227 in order to clock data from the first FIFO
`buffer 208 into the idle byte insertion unit 204 prior to
`communication to the first transceiver unit 202. The idle
`byte insertion unit 204 controls when data is read-out of the
`first FIFO buffer 208 by issuing a “read data” control signal
`at the read data port 228. The status of the read data control
`signal at the first read-enable port 222 of the first FIFO
`buffer 208 determines whether or not the transmission clock
`signal is enabled with respect to the first FIFO buffer 208 to
`allow data to be read-out of the first FIFO buffer 208. The
`transmission clock Signal is predetermined and corresponds
`to a Second data rate that is greater than or equal to, the
`maximum data rate of the incoming data Stream, i.e. the first
`data rate. Consequently, in this example, the frequency of
`the transmission clock signal is 156.25 MHz to accommo
`date a 10 Gbps data throughput across the four lanes 262 of
`the data link 200.
`0059) Clearly, the first FIFO buffer 208 is therefore being
`emptied at a rate greater than the first FIFO buffer 208 is
`being filled. Consequently, data is only read-out of the first
`FIFO buffer 208 when the first FIFO buffer 208 is half-full.
`The status of the first FIFO buffer 208 is monitored (step
`302) by the idle byte insertion unit 204 by monitoring the
`depth of the first FIFO buffer 208 via the first FIFO status
`port 224.
`0060. When the first FIFO buffer 208 is determined to be
`less than half-full by the idle byte insertion unit 204, the idle
`byte insertion unit 204 stops reading data out of the first
`FIFO buffer 208. Consequently, data to be communicated to
`the first transceiver unit 202 is absent, and so the idle byte
`insertion unit 204 replaces (step 304) the absence of data
`with one or more predetermined idle byte. In this example,
`the idle bytes can be a random distribution of the different
`types of idle bytes in accordance with rules Specified for the
`use of idle bytes by the XAUI protocol. For example, under
`the XAUI protocol three different types of idle bytes having
`different functions are specified and are termed types R, A
`and K.
`0061. In this example, the data is being transmitted
`between the first and second transceivers 202, 232 in pack
`ets, prior to the interleaving of the idle bytes. Each packet of
`data is preceded by a “Start’ octet and followed by a
`“Terminate” octet. The idle byte insertion unit 204 ensures
`that the idle bytes being interleaved are distributed in Such
`a manner that the distribution of idle bytes conforms to the
`Specification for multi-gigabit communications using the
`first and second transceivers 202,232. Once idle bytes have
`been interleaved, a number of the Start and terminate octets
`are separated by a group of bytes constituting at least one
`valid idle sequence as defined by the XAUI protocol.
`0062) The data stream, as adapted by the idle byte inser
`tion unit 204, is divided (step 306) into four separate sub-bit
`Streams for respective communication via the four lanes 262
`in accordance with the multi-gigabit communication Speci
`fication, the divided data being transmitted (step 308) to the
`Second transceiver unit 232. At the Second transceiver unit
`232, the Sub-bit streams are received (step 400) at the second
`data rate corresponding to the transmission clock frequency
`
`Ex.1033
`CISCO SYSTEMS, INC. / Page 8 of 10
`
`

`

`US 2004/0249964 A1
`
`Dec. 9, 2004
`
`and reconstituted (Step 402) to a single bit stream that was
`the incoming bit stream to the first transceiver 202. The
`reconstituted bit Stream is then communicated to the idle
`byte removal unit 234 of the first receiver FPGA 116 at the
`transmission clock frequency. The idle bytes interleaved
`amongst the packets of data of the reconstituted data Stream
`are then identified (step 404) by the idle byte removal unit
`234 and removed (step 406), when present, from the recon
`stituted stream prior to communication (step 408) of the
`processed data stream to the second FIFO buffer 238 at the
`transmission dock frequency. In this example, the idle bytes
`are removed by Simply not providing a write-enable Signal
`at the write data port 262, thereby preventing the idle bytes
`from being clocked into the second FIFO buffer 238.
`0.063. The data stream is clocked out of the idle byte
`removal unit 234 at the transmission clock frequency, which
`corresponds to a higher data rate than that of the originating
`SONET signal. Consequently, the data written into the
`Second FIFO buffer 218 is then readout of the Second FIFO
`buffer 218 at the clock frequency of the SONET signal, by
`the combined use of the System clock signal and a Second
`read-enable Signal applied to the Second read-out clock port
`252 and the second read-enable port 254 respectively,
`thereby reconstituting the SONET signal. The SONET sig
`nal is then processed further by the first receiver FPGA 116.
`In this example, the Second read-enable Signal is generated
`separately by the first receiver FPGA 116.
`0064. The above described technique for communicating
`SONET data streams between FPGAs is employed, in the
`embodiment described in relation to FIG. 2, in order to
`transmit a SONET data stream received from a network
`under test back to the network under test, with or without
`alterations as necessary for the particular test being carried
`out by the test equipment.
`0065. Alternatively, the same communications technique
`can be employed to communicate SONET data streams
`between the first transmitter FPGA 112 and the second
`transmitter FPGA 126 in order to reduce the processing
`burden on the first transmitter FPGA 112 when checking
`Transport Overhead (TOH) and payload data for errors
`during a test. In Such an example, the payload data can be
`transmitted from the first transmitter FPGA 112 to the
`second transmitter FPGA126 for analysing the payload data
`for errors and, for example, reporting the Status of certain
`bits in the payload, whilst the first transmitter FPGA 112
`analyses the TOH data for errors and, for example, reporting
`the status of certain bits. In the TOH data.
`0.066
`Status information and any errors found in the TOH
`data by the first transm

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket