The transmission card Xilinx chip
Next: Slow transmission
Up: The TAXI transmission cardandFairisle/Yes/Maybe
Previous: The TAXI transmission cardandFairisle/Yes/Maybe
The transmission card xilinx chip performs three main tasks. It
controls the transfer of data between the TAXIchips on the transmission
line and the FIFOs to the port controller. Also it can insert the
CCITT header error check CRC to cells being transmitted and check and
remove the CRC from received cells. The final task is to control
hardware handshaking over the transmission line using a simple Xon/Xoff
protocol.
Table 1: Pins on trans chip
Table 1 gives details of the pins on the xilinx chip. Most
are used to control the fifos or TAXIchips. The other pins are
discussed below.
To ensure correct behaviour in the presence of disconnected or noisy
transmission lines the xilinx chip will detect the ``violation''
signal from the receiving TAXIchip and stop accepting data. The line
has to be clear from violations for 64 character times before data
will again be accepted. While seeing violations, or in the recovery
period an indication is put out on the ``xilinxM2'' line.
This section discusses the special pins on the trans chip. Note that
commands and cell formats are as in the proposed Fairisle/Yes/Maybe
protocol. Both the Soc and Sno cell formats are supported, and the
transmission format may be changed from cell to cell
.
- txNoCrc. This pin is used to enable or disable the
insertion of the CRC into the transmitted data stream. If this pin is
low then a cell will be started with a Soc command and the CCITT CRC
of the first four (ie header) bytes will be inserted as the fifth in
the cell. If the pin is high then the Sno command is used to start the
cell and no CRC is inserted. The state of this pin should only be
changed between cells, if it is altered during transmission of a cell
then the cell being transmitted may be corrupted
.
- txNoHand. This pin is used to enable or disable the
Xon/Xoff handshaking. If this pin is set then the chip will never
generate or respond to Xoff. It will always send Xon as a response to
a Held command from the other end.
- rxDataNext. This pin is used to indicate valid data on the
rxfD[0-7] lines. It is intended for use when the trans chip is not
being used to drive a fifo directly
. The output changes on the falling edge on rxClk to
indicate the validity of data after the next rising edge. If
rxDataNext is high after falling rxClk then there will be valid data
placed on the lines after the next rising edge, otherwise the data is
undefined.
- rxCrcFailbar. This pin will go low if the received cell
contains a CRC and the CRC does not match that in the cell. The first
few bytes of the cell will have been presented on the output lines,
but no further bytes will be output until the start of cell for the
next cell. It is expected that the receiving system will be able to
deal with such short cells.
- rxNoCrcbar. This pin will go low if a cell is received
containing no CRC (ie one which starts with an Sno command) and go
high if a cell containing a CRC (ie starting with Soc) is received.
- xilinxM2. This pin has two uses. Until the xilinx chip
has been configured (or during reconfiguration) it is the M2 input
line, which indicates the programming method. For serial master mode
programming the line should be pulled low through a resistor. Once
configured the line becomes an output and indicates a violation on
the reception line, or the recovery period following a violation. The
output is driven low to indicate the violation state. On the Fairisle
card this signal is required for the driver of the ``violation''
LED
.
The hardware handshake is done on a per cell basis. If the receive
fifo is over half full when a start of cell command is received, and
handshaking is enabled, then an Xoff command will be sent. An Xon
command will be sent when the fifo falls below half full following
transmission of an Xoff, or if a Held command is received and the fifo
is less than half full.
If enabled in response to an Xoff the transmission system will stop
just before sending a start of cell command. It will then send
the Held command every 8th character time, with Sync commands in between,
until Xon is received.
The handshaking is of no use over long links (where many cells are
stored in the transmission medium) and is of doubtful value between
switches. However it may be of use on direct links between hosts, and on
host-switch links.
The transmission TAXIchip command line c[3] is not driven by the
xilinx, and should be tied low. This limits the xilinx to generating
commands 0-7, but most of the others should be avoided anyway.
Next: Slow transmission
Up: The TAXI transmission cardandFairisle/Yes/Maybe
Previous: The TAXI transmission cardandFairisle/Yes/Maybe
Mark Hayter