Functional Description
Decoder
Data and identified 10-bit special K codes are converted from 10 bits to 8
bits; see Table 3–1 on page 3–4 for a list of the valid K codes, and
Figure 3–1 on page 3–1 for an illustration of the conversion process.
When special 10-bit K codes are received, the special K codes are
translated to 8-bit values, and the koutsignal is asserted. The decoder
also checks for invalid 10-bit codes.
When the decoder receives an invalid code, it asserts the kerrsignal and
decodes the value to an arbitrary number.
1
The decoder flags the 10B_ERR characters as invalid codes
and asserts the kerrsignal.
When the idle_delsignal is asserted, it deletes all 10-bit words
identified as the special IDLE character of K28.5.
When the receiver detects a disparity error, the rderrsignal is asserted.
Figure 3–7 shows a block diagram of the decoder.
Figure 3–7. Decoder
clk
valid
dataout [7:0]
kout
reset_n
idle_del
ena
kerr
rderr
datain [9:0]
rdin
rdout
rdcascade
rdforce
Cascaded Decoding
Two decoders can be cascaded to decode two words simultaneously. The
decoders are cascaded—in a similar fashion as the encoders—by
connecting the rdcascadeoutput of the first decoder to the rdininput
of the second decoder, and by connecting the rdoutoutput of the second
decoder to the rdininput of the first decoder. The rdforceinputs of
both decoders must be tied high.
3–8
MegaCore Version 7.2
Altera Corporation
October 2007
8B10B Encoder/Decoder MegaCore Function User Guide