Simulating 8b/10b Encoder/Decoder

Discussion in 'VHDL' started by ALuPin@web.de, Oct 10, 2007.

  1. Guest

    Hello newsgroup,

    I am trying to understand the Xilinx reference design (XAPP391:
    Design
    of a 16b/20b Encoder/Decoder Using a CoolRunner-II CPLD)).
    When performing the functional simulation (which is included in the
    download files) the error detection signal of the decoder becomes
    active
    on decoding of 10bit words 0x1C7, 0x1BE, 0x13E, 0x0BE
    and 0x2BE.


    The testbench provided with the design connects the encoder
    and the decoder, so that only legal 10bit words get into the decoder.
    8bit --> enc --> 10bit --> dec --> 8bit

    I think that there is no error injection in the testbench. In the
    error cases
    the 8bit words presented by the decoder are OK.



    So why does these errors occur ? Has someone
    already used that reference design and has met
    difficulties in simulation or real hardware implementation ?


    Thank you.
    Best regards
    Andre
    , Oct 10, 2007
    #1
    1. Advertising

  2. "" <> writes:

    > Hello newsgroup,
    >
    > I am trying to understand the Xilinx reference design (XAPP391:
    > Design
    > of a 16b/20b Encoder/Decoder Using a CoolRunner-II CPLD)).
    > When performing the functional simulation (which is included in the
    > download files) the error detection signal of the decoder becomes
    > active
    > on decoding of 10bit words 0x1C7, 0x1BE, 0x13E, 0x0BE
    > and 0x2BE.


    I haven't used the Xilinx appnote, but since they are using the
    standard 8B/10B encoding, I can say that:
    - Definitely 0x1BE and 0x2BE are illegal 10b-codewords, as they have 7
    ones in the codework.
    - The other codewords have a positive disparity, which would lead me
    to guess that the receiver has a positive running disparity while
    receiving these symbols, and that would lead to a disparity error.

    Have you tried a different order of the codewords in your simulation,
    to force a negative disparity before sending the 0x1C7 and 0x13E
    codewords?

    Both point to possible errors in the encoding block.


    Kai
    --
    Kai Harrekilde-Petersen <khp(at)harrekilde(dot)dk>
    Kai Harrekilde-Petersen, Oct 10, 2007
    #2
    1. Advertising

  3. Guest

    Hi,

    when changing the order of 8bit words (integer) into the encoder from
    a)...236 - 237 - 238 - 239... to
    b)...236 - 8 - 238 ... (encoded word of 8 has negative
    disparity)


    the error detection module does not show an error for
    the 0x1C7 (encoded word of 238).

    The question is how to find the error in the encoder description ...

    Rgds
    Andre
    , Oct 11, 2007
    #3
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Ronny Hengst

    manchester encoder

    Ronny Hengst, Aug 7, 2003, in forum: VHDL
    Replies:
    4
    Views:
    6,751
    Jonathan Bromley
    Aug 8, 2003
  2. Gietek

    N_bit decoder/encoder

    Gietek, Dec 3, 2003, in forum: VHDL
    Replies:
    4
    Views:
    629
    Charles M. Elias
    Dec 4, 2003
  3. Fred Bartoli

    Pipelined binary encoder

    Fred Bartoli, Nov 7, 2004, in forum: VHDL
    Replies:
    1
    Views:
    710
    Jonathan Bromley
    Nov 10, 2004
  4. Doug Stell

    ASN.1 encoder & decoder

    Doug Stell, Aug 25, 2006, in forum: Python
    Replies:
    6
    Views:
    5,910
    Doug Stell
    Aug 28, 2006
  5. Bastian Preindl

    AX.25 protocol decoder/encoder for Java

    Bastian Preindl, Apr 14, 2008, in forum: Java
    Replies:
    1
    Views:
    772
    Bastian Preindl
    Apr 15, 2008
Loading...

Share This Page