Implementation of Xilinx Aurora protocol with error correction

Discussion in 'VHDL' started by S. Bernstein, Feb 3, 2009.

  1. S. Bernstein

    S. Bernstein Guest

    Hi,

    I implemented an Aurora link layer using EDK.Now I am concerned about
    reliability and want to implement a 64-Bit or 32-Bit Hamming Code to enable
    error detection and correction. Now I am wondering if that makes sense
    anyway, because if there are bit errors the 8B/10B coding featured in Aurora
    would dismiss erroneous data words anyway and the Hamming Code would not
    work. Please correct me if i'm wrong. So what means do I actually have to
    implement a fail-safe connection via Aurora?

    Thanks in advance,
    Saul
     
    S. Bernstein, Feb 3, 2009
    #1
    1. Advertising

  2. On Feb 3, 12:35 am, "S. Bernstein" <> wrote:
    > Please correct me if i'm wrong. So what means do I actually have to
    > implement a fail-safe connection via Aurora?
    >
    > Thanks in advance,
    > Saul


    It seems to me you should be asking why you want to make a fail-safe
    connection with Aurora. Aurora is only specified to a BER of 1E-12.
    Even if you manage to protect the data payload portion of the frames,
    your frame error rate will be limited by the control (K) characters
    used by Aurora, which won't be protected. Moreover, the specification
    tends to assert a hard error (and hence, reinitialize the link) when
    there is an error in these characters, which is somewhat inconvenient.

    Further, I'd suggest that Hamming codes are going to be difficult to
    use with 8b/10b encoding. Remember that a bit error in an 10b
    character can result in more than one bit error in the corresponding
    8b character. As a result, your Hamming code will probably be a lot
    less effective than you think it'd be. Of course, you can remove 8b/
    10b encoding, but then you're going to have a whole lot of trouble
    getting Aurora to work.

    As a practical matter, the question has to be asked - why do you want
    to do this? If this is an wired connection, there should be no bit
    errors. If there are bit errors in your system, the system is
    misconfigured or improperly designed. If this is an optical connection
    or something fancier, you should know the properties of your channel -
    most likely, Hamming codes are not nearly the most effective error
    correction mechanism available to you for even more reasons than I've
    specified. They may, however, be the cheapest, which definitely counts
    for something.

    The route I've considered, but not implemented, for something
    approximating this is to use an Aurora-like protocol (with all K
    characters being triplicated) with Reed Solomon encoding being done on
    the data at the 8b/10b level (using 10 bit symbols). If you'd like
    more detail, feel free to contact me.

    - Nathan
     
    Nathan Bialke, Feb 3, 2009
    #2
    1. Advertising

  3. S. Bernstein wrote:

    > Hi,
    >
    > I implemented an Aurora link layer using EDK.Now I am concerned about
    > reliability and want to implement a 64-Bit or 32-Bit Hamming Code to enable
    > error detection and correction. Now I am wondering if that makes sense
    > anyway, because if there are bit errors the 8B/10B coding featured in Aurora
    > would dismiss erroneous data words anyway and the Hamming Code would not
    > work. Please correct me if i'm wrong. So what means do I actually have to
    > implement a fail-safe connection via Aurora?


    Aurora assumes the link to be error free. If there is an occasional
    error, the connection is re-established. Hence the error correction
    coding is not going to make an improvement. If you are looking for the
    bullet proof link with ECC, you should use a different protocol.


    Vladimir Vassilevsky
    DSP and Mixed Signal Design Consultant
    http://www.abvolt.com
     
    Vladimir Vassilevsky, Feb 3, 2009
    #3
  4. S. Bernstein

    S. Bernstein Guest

    "Nathan Bialke" <> wrote:
    >
    >The route I've considered, but not implemented, for something
    >approximating this is to use an Aurora-like protocol (with all K
    >characters being triplicated) with Reed Solomon encoding being done on
    >the data at the 8b/10b level (using 10 bit symbols). If you'd like
    >more detail, feel free to contact me.


    Hi Nathan,

    thanks for your reply. I'd like to go into more details about your
    suggestion because it sounds very interesting. I'm familiar with
    Reed-Solomon encoding. So tell me, what's the point in triplicating all
    K-characters? Do you apply the RS on the 10 bit symbols, i.e. after the phy
    coding layer?

    Regards,
    Saul
     
    S. Bernstein, Feb 4, 2009
    #4
    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. Aurora Compiler

    , Mar 15, 2006, in forum: C Programming
    Replies:
    4
    Views:
    445
    Default User
    Mar 15, 2006
  2. Replies:
    1
    Views:
    994
    Mike Treseler
    Apr 27, 2007
  3. Alan Franzoni
    Replies:
    2
    Views:
    229
    Alan Franzoni
    Jan 27, 2011
  4. dimikaka
    Replies:
    0
    Views:
    210
    dimikaka
    Feb 16, 2005
  5. Ajit

    Protocol Implementation using WCF

    Ajit, Aug 14, 2007, in forum: ASP .Net Web Services
    Replies:
    0
    Views:
    141
Loading...

Share This Page