没有合适的资源?快使用搜索试试~ 我知道了~
RS ENCODING AND DECODING
需积分: 9 8 下载量 17 浏览量
2010-09-03
10:00:37
上传
评论
收藏 9KB TXT 举报
温馨提示
试读
8页
this file is useful for the coding and encoding of rs
资源推荐
资源详情
资源评论
// Iterative computaion of error_value
// e = 汐^i*肋(汐^-I)/托`(汐^-i)^2
//---------------------------------------
`timescale 1ns/1ns
module error_valuator(clk, init, s,
Lmd0, Lmd1, Lmd2, Lmd3, Lmd4, Lmd5, Lmd6, Lmd7, Lmd8,
ErrorValue);
parameter t = 8, // t--The total number of errors that can be corrected
N = 204, // N--Codeword length
m = 8; // m--Extension of GF(2)
input clk, init;
input [m-1:0] s, Lmd0, Lmd1, Lmd2, Lmd3, Lmd4, Lmd5, Lmd6, Lmd7, Lmd8;
output [m-1:0] ErrorValue;
wire [m-1:0] InvDifLmdA;
//-----------------------------------------------
// Convolutional computaion of coefficient of 次i
//-----------------------------------------------
reg [m-1:0] OmegaC[t*2-1:0], SyndromeSR[t+1:1], LmdC[t:0];
wire[m-1:0] sLmdC[t:0];
integer counter1;
always @(posedge clk)begin:OMEGA_COEEFICIENT
integer j;
if(init)begin
for(j=2; j<=t+1; j=j+1) // Load syndrome sequences (from 1 to t*2)
SyndromeSR[j] <= 0;
SyndromeSR[1] <= s;
// e = 汐^i*肋(汐^-I)/托`(汐^-i)^2
//---------------------------------------
`timescale 1ns/1ns
module error_valuator(clk, init, s,
Lmd0, Lmd1, Lmd2, Lmd3, Lmd4, Lmd5, Lmd6, Lmd7, Lmd8,
ErrorValue);
parameter t = 8, // t--The total number of errors that can be corrected
N = 204, // N--Codeword length
m = 8; // m--Extension of GF(2)
input clk, init;
input [m-1:0] s, Lmd0, Lmd1, Lmd2, Lmd3, Lmd4, Lmd5, Lmd6, Lmd7, Lmd8;
output [m-1:0] ErrorValue;
wire [m-1:0] InvDifLmdA;
//-----------------------------------------------
// Convolutional computaion of coefficient of 次i
//-----------------------------------------------
reg [m-1:0] OmegaC[t*2-1:0], SyndromeSR[t+1:1], LmdC[t:0];
wire[m-1:0] sLmdC[t:0];
integer counter1;
always @(posedge clk)begin:OMEGA_COEEFICIENT
integer j;
if(init)begin
for(j=2; j<=t+1; j=j+1) // Load syndrome sequences (from 1 to t*2)
SyndromeSR[j] <= 0;
SyndromeSR[1] <= s;
// Load error-locator polynomial coefficients 次(x)
LmdC[0] <= Lmd0; LmdC[1] <= Lmd1; LmdC[2] <= Lmd2;
LmdC[3] <= Lmd3; LmdC[4] <= Lmd4; LmdC[5] <= Lmd5;
LmdC[6] <= Lmd6; LmdC[7] <= Lmd7; LmdC[8] <= Lmd8;
for(j=0; j<=t*2-1; j=j+1) // Initiate OmegaC[j] registers
OmegaC[j] <= 0;
counter1 <= 1;
end
else if((0<counter1) && (counter1 <= t*2))begin // Computation of 次0﹜次1﹜次2﹜次3
for(j=1; j<=t; j=j+1)
SyndromeSR[j+1] <= SyndromeSR[j];
SyndromeSR[1] <= s;
for(j=0; j<t*2-1; j=j+1)
OmegaC[j] <= OmegaC[j+1];
OmegaC[t*2-1] <= (sLmdC[0]^sLmdC[1])^(sLmdC[2]^sLmdC[3])
^(sLmdC[4]^sLmdC[5])^(sLmdC[6]^sLmdC[7])^sLmdC[8];
counter1 <= counter1 + 1;
end
else
counter1 <= 0;
end
FF_Mul s_x_Lmdc0(.A(SyndromeSR[1]), .B(LmdC[0]), .P(sLmdC[0]));
FF_Mul s_x_Lmdc1(.A(SyndromeSR[2]), .B(LmdC[1]), .P(sLmdC[1]));
FF_Mul s_x_Lmdc2(.A(SyndromeSR[3]), .B(LmdC[2]), .P(sLmdC[2]));
FF_Mul s_x_Lmdc3(.A(SyndromeSR[4]), .B(LmdC[3]), .P(sLmdC[3]));
剩余7页未读,继续阅读
资源评论
sanmumuren
- 粉丝: 0
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功