OpenCores
no use no use 1/1 no use no use
Parallel BCH decoder Implemenation
by zoomkrupesh on Oct 23, 2009
zoomkrupesh
Posts: 5
Joined: Jun 1, 2008
Last seen: Dec 26, 2022
HI,

I want to know how to implement the parallel syndrome for bch code.

Thanks in advance

Krupesh
RE: Parallel BCH decoder Implemenation
by willow.liu on Nov 3, 2009
willow.liu
Posts: 2
Joined: Dec 8, 2008
Last seen: Dec 1, 2009
If the bus width is 8 bits in your design. We will get the following
equation that will be iterated in the sydrome stage.
Sub(r[7:0]) = r[0]*a^0 + r[1]*a^1 + ... + r[7]*a^7
And then:
S1_clk0 = Sub(r[7:0])
S1_clk1 = Sub(r[7:0])*(a^8) + S1_clk0;
S1_clk2 = Sub(r[7:0])*(a^8) + S1_clk1;
...
S1_clkn = Sub(r[7:0])*(a^8) + S1_clk(n-1);
The S1_clkn will be the sydrome 1. And you can caculate other
syndromes in this way.
Good Luck.
RE: Parallel BCH decoder Implemenation
by zoomkrupesh on Nov 6, 2009
zoomkrupesh
Posts: 5
Joined: Jun 1, 2008
Last seen: Dec 26, 2022
Thank you very much for your reply.

From your reply I have designed the required syndromes.

I need one more favor from you.

I want to implement parallel chien search machine.Do you have any material for that? or can you guide me to implement that?

Again thank you very much for your reply.

Regards,

Krupesh
RE: Parallel BCH decoder Implemenation
by willow.liu on Nov 11, 2009
willow.liu
Posts: 2
Joined: Dec 8, 2008
Last seen: Dec 1, 2009
I just can list some tips because of some business constrain.
see the equation : 1+sigma_1*a^1+...+sigma_v*a^v=0,
you just need find the "a" with that the equation value is zero.
so if you need a 8 bits parrel chien search, 8 equation is needed.
sum[0] = 1+sigma_1*((a^1)^1)+...+sigma_v*((a^1)^v)
sum[1] = 1+sigma_1*((a^2)^1)+...+sigma_v*((a^2)^v)
...
sum[7] = 1+sigma_1*((a^8)^1)+...+sigma_v*((a^8)^v)
Any bits in the sum[7:0] is zero, the error location is found.
RE: Parallel BCH decoder Implemenation
by zoomkrupesh on Nov 12, 2009
zoomkrupesh
Posts: 5
Joined: Jun 1, 2008
Last seen: Dec 26, 2022
Again Thank you very much for your reply.

The solution you provided is really helpful.Now I am about to complete my work.

I want to ask you a last question regarding BCH decoder.My question is that How to find decoding failure?

I found some material in which it is mentioned that if the degree of lambda(error location polynomial) is greater then t(where t=no.of error correction bits) then it is a decoding failure.

Suppose after applying Chien Search algorithm,my lambda values are like this

lambda(0) = x^12+x^3+x+1
lambda(1) = x^3+x^2+x+1
lambda(2) = x^2+x+1
lambda[3] = x^4+x^3+x^2+x+1

From equation can we say that this is decoding failure because lambda(0) and lambda(3) are having a degree more then t(where t = 3).

Thanks in advance.
RE: Parallel BCH decoder Implemenation
by zoomkrupesh on Nov 12, 2009
zoomkrupesh
Posts: 5
Joined: Jun 1, 2008
Last seen: Dec 26, 2022
Again Thank you very much for your reply.

The solution you provided is really helpful.Now I am about to complete my work.

I want to ask you a last question regarding BCH decoder.My question is that How to find decoding failure?

I found some material in which it is mentioned that if the degree of lambda(error location polynomial) is greater then t(where t=no.of error correction bits) then it is a decoding failure.

Suppose after applying Chien Search algorithm,my lambda values are like this

lambda(0) = x^12+x^3+x+1
lambda(1) = x^3+x^2+x+1
lambda(2) = x^2+x+1
lambda[3] = x^4+x^3+x^2+x+1

From equation can we say that this is decoding failure because lambda(0) and lambda(3) are having a degree more then t(where t = 3).

Thanks in advance.
no use no use 1/1 no use no use
© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.