gf_arith.v

来自「Verilog code for RS-(255,239) encoder.」· Verilog 代码 · 共 567 行 · 第 1/2 页

V
567
字号
gfmul_ab[3] = t[3] ^ t[9] ^ t[11] ^ t[12] ^ t[13] ^ t[14] ; 
gfmul_ab[4] = t[4] ^ t[10] ^ t[12] ^ t[13] ^ t[14] ; 
gfmul_ab[5] = t[5] ^ t[11] ^ t[13] ^ t[14] ; 
gfmul_ab[6] = t[6] ^ t[12] ^ t[14] ; 
gfmul_ab[7] = t[7] ^ t[8] ^ t[9] ^ t[10] ^ t[11] ^ t[12] ; 
end
endfunction
//
// c * a^1
//
function[7:0] gfmul_1 ;
input[7:0] c ;
begin
gfmul_1[0] = c[7] ; 
gfmul_1[1] = c[0] ^ c[7] ; 
gfmul_1[2] = c[1] ^ c[7] ; 
gfmul_1[3] = c[2] ; 
gfmul_1[4] = c[3] ; 
gfmul_1[5] = c[4] ; 
gfmul_1[6] = c[5] ; 
gfmul_1[7] = c[6] ^ c[7] ; 
end
endfunction
//
// c * a^2
//
function[7:0] gfmul_2 ;
input[7:0] c ;
begin
gfmul_2[0] = c[6] ^ c[7] ; 
gfmul_2[1] = c[6] ; 
gfmul_2[2] = c[0] ^ c[6] ; 
gfmul_2[3] = c[1] ^ c[7] ; 
gfmul_2[4] = c[2] ; 
gfmul_2[5] = c[3] ; 
gfmul_2[6] = c[4] ; 
gfmul_2[7] = c[5] ^ c[6] ^ c[7] ; 
end
endfunction
//
// c * a^3
//
function[7:0] gfmul_3 ;
input[7:0] c ;
begin
gfmul_3[0] = c[5] ^ c[6] ^ c[7] ; 
gfmul_3[1] = c[5] ; 
gfmul_3[2] = c[5] ^ c[7] ; 
gfmul_3[3] = c[0] ^ c[6] ; 
gfmul_3[4] = c[1] ^ c[7] ; 
gfmul_3[5] = c[2] ; 
gfmul_3[6] = c[3] ; 
gfmul_3[7] = c[4] ^ c[5] ^ c[6] ^ c[7] ; 
end
endfunction
//
// c * a^4
//
function[7:0] gfmul_4 ;
input[7:0] c ;
begin
gfmul_4[0] = c[4] ^ c[5] ^ c[6] ^ c[7] ; 
gfmul_4[1] = c[4] ; 
gfmul_4[2] = c[4] ^ c[6] ^ c[7] ; 
gfmul_4[3] = c[5] ^ c[7] ; 
gfmul_4[4] = c[0] ^ c[6] ; 
gfmul_4[5] = c[1] ^ c[7] ; 
gfmul_4[6] = c[2] ; 
gfmul_4[7] = c[3] ^ c[4] ^ c[5] ^ c[6] ^ c[7] ; 
end
endfunction
//
// c * a^5
//
function[7:0] gfmul_5 ;
input[7:0] c ;
begin
gfmul_5[0] = c[3] ^ c[4] ^ c[5] ^ c[6] ^ c[7] ; 
gfmul_5[1] = c[3] ; 
gfmul_5[2] = c[3] ^ c[5] ^ c[6] ^ c[7] ; 
gfmul_5[3] = c[4] ^ c[6] ^ c[7] ; 
gfmul_5[4] = c[5] ^ c[7] ; 
gfmul_5[5] = c[0] ^ c[6] ; 
gfmul_5[6] = c[1] ^ c[7] ; 
gfmul_5[7] = c[2] ^ c[3] ^ c[4] ^ c[5] ^ c[6] ^ c[7] ; 
end
endfunction
//
// c * a^6
//
function[7:0] gfmul_6 ;
input[7:0] c ;
begin
gfmul_6[0] = c[2] ^ c[3] ^ c[4] ^ c[5] ^ c[6] ^ c[7] ; 
gfmul_6[1] = c[2] ; 
gfmul_6[2] = c[2] ^ c[4] ^ c[5] ^ c[6] ^ c[7] ; 
gfmul_6[3] = c[3] ^ c[5] ^ c[6] ^ c[7] ; 
gfmul_6[4] = c[4] ^ c[6] ^ c[7] ; 
gfmul_6[5] = c[5] ^ c[7] ; 
gfmul_6[6] = c[0] ^ c[6] ; 
gfmul_6[7] = c[1] ^ c[2] ^ c[3] ^ c[4] ^ c[5] ^ c[6] ; 
end
endfunction
//
// c * a^7
//
function[7:0] gfmul_7 ;
input[7:0] c ;
begin
gfmul_7[0] = c[1] ^ c[2] ^ c[3] ^ c[4] ^ c[5] ^ c[6] ; 
gfmul_7[1] = c[1] ^ c[7] ; 
gfmul_7[2] = c[1] ^ c[3] ^ c[4] ^ c[5] ^ c[6] ; 
gfmul_7[3] = c[2] ^ c[4] ^ c[5] ^ c[6] ^ c[7] ; 
gfmul_7[4] = c[3] ^ c[5] ^ c[6] ^ c[7] ; 
gfmul_7[5] = c[4] ^ c[6] ^ c[7] ; 
gfmul_7[6] = c[5] ^ c[7] ; 
gfmul_7[7] = c[0] ^ c[1] ^ c[2] ^ c[3] ^ c[4] ^ c[5] ; 
end
endfunction
//
// c * a^8
//
function[7:0] gfmul_8 ;
input[7:0] c ;
begin
gfmul_8[0] = c[0] ^ c[1] ^ c[2] ^ c[3] ^ c[4] ^ c[5] ; 
gfmul_8[1] = c[0] ^ c[6] ; 
gfmul_8[2] = c[0] ^ c[2] ^ c[3] ^ c[4] ^ c[5] ^ c[7] ; 
gfmul_8[3] = c[1] ^ c[3] ^ c[4] ^ c[5] ^ c[6] ; 
gfmul_8[4] = c[2] ^ c[4] ^ c[5] ^ c[6] ^ c[7] ; 
gfmul_8[5] = c[3] ^ c[5] ^ c[6] ^ c[7] ; 
gfmul_8[6] = c[4] ^ c[6] ^ c[7] ; 
gfmul_8[7] = c[0] ^ c[1] ^ c[2] ^ c[3] ^ c[4] ^ c[7] ; 
end
endfunction
//
// c * a^9
//
function[7:0] gfmul_9 ;
input[7:0] c ;
begin
gfmul_9[0] = c[0] ^ c[1] ^ c[2] ^ c[3] ^ c[4] ^ c[7] ; 
gfmul_9[1] = c[5] ^ c[7] ; 
gfmul_9[2] = c[1] ^ c[2] ^ c[3] ^ c[4] ^ c[6] ^ c[7] ; 
gfmul_9[3] = c[0] ^ c[2] ^ c[3] ^ c[4] ^ c[5] ^ c[7] ; 
gfmul_9[4] = c[1] ^ c[3] ^ c[4] ^ c[5] ^ c[6] ; 
gfmul_9[5] = c[2] ^ c[4] ^ c[5] ^ c[6] ^ c[7] ; 
gfmul_9[6] = c[3] ^ c[5] ^ c[6] ^ c[7] ; 
gfmul_9[7] = c[0] ^ c[1] ^ c[2] ^ c[3] ^ c[6] ; 
end
endfunction
//
// c * a^10
//
function[7:0] gfmul_10 ;
input[7:0] c ;
begin
gfmul_10[0] = c[0] ^ c[1] ^ c[2] ^ c[3] ^ c[6] ; 
gfmul_10[1] = c[4] ^ c[6] ^ c[7] ; 
gfmul_10[2] = c[0] ^ c[1] ^ c[2] ^ c[3] ^ c[5] ^ c[6] ^ c[7] ; 
gfmul_10[3] = c[1] ^ c[2] ^ c[3] ^ c[4] ^ c[6] ^ c[7] ; 
gfmul_10[4] = c[0] ^ c[2] ^ c[3] ^ c[4] ^ c[5] ^ c[7] ; 
gfmul_10[5] = c[1] ^ c[3] ^ c[4] ^ c[5] ^ c[6] ; 
gfmul_10[6] = c[2] ^ c[4] ^ c[5] ^ c[6] ^ c[7] ; 
gfmul_10[7] = c[0] ^ c[1] ^ c[2] ^ c[5] ^ c[7] ; 
end
endfunction
//
// c * a^11
//
function[7:0] gfmul_11 ;
input[7:0] c ;
begin
gfmul_11[0] = c[0] ^ c[1] ^ c[2] ^ c[5] ^ c[7] ; 
gfmul_11[1] = c[3] ^ c[5] ^ c[6] ^ c[7] ; 
gfmul_11[2] = c[0] ^ c[1] ^ c[2] ^ c[4] ^ c[5] ^ c[6] ; 
gfmul_11[3] = c[0] ^ c[1] ^ c[2] ^ c[3] ^ c[5] ^ c[6] ^ c[7] ; 
gfmul_11[4] = c[1] ^ c[2] ^ c[3] ^ c[4] ^ c[6] ^ c[7] ; 
gfmul_11[5] = c[0] ^ c[2] ^ c[3] ^ c[4] ^ c[5] ^ c[7] ; 
gfmul_11[6] = c[1] ^ c[3] ^ c[4] ^ c[5] ^ c[6] ; 
gfmul_11[7] = c[0] ^ c[1] ^ c[4] ^ c[6] ; 
end
endfunction
//
// c * a^12
//
function[7:0] gfmul_12 ;
input[7:0] c ;
begin
gfmul_12[0] = c[0] ^ c[1] ^ c[4] ^ c[6] ; 
gfmul_12[1] = c[2] ^ c[4] ^ c[5] ^ c[6] ^ c[7] ; 
gfmul_12[2] = c[0] ^ c[1] ^ c[3] ^ c[4] ^ c[5] ^ c[7] ; 
gfmul_12[3] = c[0] ^ c[1] ^ c[2] ^ c[4] ^ c[5] ^ c[6] ; 
gfmul_12[4] = c[0] ^ c[1] ^ c[2] ^ c[3] ^ c[5] ^ c[6] ^ c[7] ; 
gfmul_12[5] = c[1] ^ c[2] ^ c[3] ^ c[4] ^ c[6] ^ c[7] ; 
gfmul_12[6] = c[0] ^ c[2] ^ c[3] ^ c[4] ^ c[5] ^ c[7] ; 
gfmul_12[7] = c[0] ^ c[3] ^ c[5] ; 
end
endfunction
//
// c * a^13
//
function[7:0] gfmul_13 ;
input[7:0] c ;
begin
gfmul_13[0] = c[0] ^ c[3] ^ c[5] ; 
gfmul_13[1] = c[1] ^ c[3] ^ c[4] ^ c[5] ^ c[6] ; 
gfmul_13[2] = c[0] ^ c[2] ^ c[3] ^ c[4] ^ c[6] ^ c[7] ; 
gfmul_13[3] = c[0] ^ c[1] ^ c[3] ^ c[4] ^ c[5] ^ c[7] ; 
gfmul_13[4] = c[0] ^ c[1] ^ c[2] ^ c[4] ^ c[5] ^ c[6] ; 
gfmul_13[5] = c[0] ^ c[1] ^ c[2] ^ c[3] ^ c[5] ^ c[6] ^ c[7] ; 
gfmul_13[6] = c[1] ^ c[2] ^ c[3] ^ c[4] ^ c[6] ^ c[7] ; 
gfmul_13[7] = c[2] ^ c[4] ^ c[7] ; 
end
endfunction
//
// c * a^14
//
function[7:0] gfmul_14 ;
input[7:0] c ;
begin
gfmul_14[0] = c[2] ^ c[4] ^ c[7] ; 
gfmul_14[1] = c[0] ^ c[2] ^ c[3] ^ c[4] ^ c[5] ^ c[7] ; 
gfmul_14[2] = c[1] ^ c[2] ^ c[3] ^ c[5] ^ c[6] ^ c[7] ; 
gfmul_14[3] = c[0] ^ c[2] ^ c[3] ^ c[4] ^ c[6] ^ c[7] ; 
gfmul_14[4] = c[0] ^ c[1] ^ c[3] ^ c[4] ^ c[5] ^ c[7] ; 
gfmul_14[5] = c[0] ^ c[1] ^ c[2] ^ c[4] ^ c[5] ^ c[6] ; 
gfmul_14[6] = c[0] ^ c[1] ^ c[2] ^ c[3] ^ c[5] ^ c[6] ^ c[7] ; 
gfmul_14[7] = c[1] ^ c[3] ^ c[6] ; 
end
endfunction
//
// c * a^15
//
function[7:0] gfmul_15 ;
input[7:0] c ;
begin
gfmul_15[0] = c[1] ^ c[3] ^ c[6] ; 
gfmul_15[1] = c[1] ^ c[2] ^ c[3] ^ c[4] ^ c[6] ^ c[7] ; 
gfmul_15[2] = c[0] ^ c[1] ^ c[2] ^ c[4] ^ c[5] ^ c[6] ^ c[7] ; 
gfmul_15[3] = c[1] ^ c[2] ^ c[3] ^ c[5] ^ c[6] ^ c[7] ; 
gfmul_15[4] = c[0] ^ c[2] ^ c[3] ^ c[4] ^ c[6] ^ c[7] ; 
gfmul_15[5] = c[0] ^ c[1] ^ c[3] ^ c[4] ^ c[5] ^ c[7] ; 
gfmul_15[6] = c[0] ^ c[1] ^ c[2] ^ c[4] ^ c[5] ^ c[6] ; 
gfmul_15[7] = c[0] ^ c[2] ^ c[5] ^ c[7] ; 
end
endfunction
//
// c * a^16
//
function[7:0] gfmul_16 ;
input[7:0] c ;
begin
gfmul_16[0] = c[0] ^ c[2] ^ c[5] ^ c[7] ; 
gfmul_16[1] = c[0] ^ c[1] ^ c[2] ^ c[3] ^ c[5] ^ c[6] ^ c[7] ; 
gfmul_16[2] = c[0] ^ c[1] ^ c[3] ^ c[4] ^ c[5] ^ c[6] ; 
gfmul_16[3] = c[0] ^ c[1] ^ c[2] ^ c[4] ^ c[5] ^ c[6] ^ c[7] ; 
gfmul_16[4] = c[1] ^ c[2] ^ c[3] ^ c[5] ^ c[6] ^ c[7] ; 
gfmul_16[5] = c[0] ^ c[2] ^ c[3] ^ c[4] ^ c[6] ^ c[7] ; 
gfmul_16[6] = c[0] ^ c[1] ^ c[3] ^ c[4] ^ c[5] ^ c[7] ; 
gfmul_16[7] = c[1] ^ c[4] ^ c[6] ^ c[7] ; 
end
endfunction
//
// c * a^0
//
function[7:0] gfmul_0 ;
input[7:0] c ;
begin
gfmul_0[0] = c[0] ; 
gfmul_0[1] = c[1] ; 
gfmul_0[2] = c[2] ; 
gfmul_0[3] = c[3] ; 
gfmul_0[4] = c[4] ; 
gfmul_0[5] = c[5] ; 
gfmul_0[6] = c[6] ; 
gfmul_0[7] = c[7] ; 
end
endfunction


//END gf_arith ;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?