⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gf_arith.v

📁 Verilog code for RS-(255,239) encoder.
💻 V
📖 第 1 页 / 共 2 页
字号:
//--------------------------------------------------------------------//
//                  Generated by RSTK                                 //
//                      gf_arith.c                                    //
//                                                                    //
//--------------------------------------------------------------------//
//
// c * a^136
//
function[7:0] gfmul_136 ;
input[7:0] c ;
begin
gfmul_136[0] = c[0] ^ c[2] ^ c[4] ^ c[5] ; 
gfmul_136[1] = c[1] ^ c[2] ^ c[3] ^ c[4] ^ c[6] ; 
gfmul_136[2] = c[0] ^ c[3] ^ c[7] ; 
gfmul_136[3] = c[1] ^ c[4] ; 
gfmul_136[4] = c[0] ^ c[2] ^ c[5] ; 
gfmul_136[5] = c[0] ^ c[1] ^ c[3] ^ c[6] ; 
gfmul_136[6] = c[0] ^ c[1] ^ c[2] ^ c[4] ^ c[7] ; 
gfmul_136[7] = c[1] ^ c[3] ^ c[4] ; 
end
endfunction
//
// c * a^75
//
function[7:0] gfmul_75 ;
input[7:0] c ;
begin
gfmul_75[0] = c[0] ^ c[1] ^ c[3] ^ c[7] ; 
gfmul_75[1] = c[2] ^ c[3] ^ c[4] ^ c[7] ; 
gfmul_75[2] = c[1] ^ c[4] ^ c[5] ^ c[7] ; 
gfmul_75[3] = c[2] ^ c[5] ^ c[6] ; 
gfmul_75[4] = c[0] ^ c[3] ^ c[6] ^ c[7] ; 
gfmul_75[5] = c[0] ^ c[1] ^ c[4] ^ c[7] ; 
gfmul_75[6] = c[0] ^ c[1] ^ c[2] ^ c[5] ; 
gfmul_75[7] = c[0] ^ c[2] ^ c[6] ^ c[7] ; 
end
endfunction
//
// c * a^99
//
function[7:0] gfmul_99 ;
input[7:0] c ;
begin
gfmul_99[0] = c[0] ^ c[7] ; 
gfmul_99[1] = c[0] ^ c[1] ^ c[7] ; 
gfmul_99[2] = c[1] ^ c[2] ^ c[7] ; 
gfmul_99[3] = c[2] ^ c[3] ; 
gfmul_99[4] = c[3] ^ c[4] ; 
gfmul_99[5] = c[4] ^ c[5] ; 
gfmul_99[6] = c[5] ^ c[6] ; 
gfmul_99[7] = c[6] ; 
end
endfunction
//
// c * a^196
//
function[7:0] gfmul_196 ;
input[7:0] c ;
begin
gfmul_196[0] = c[0] ^ c[1] ^ c[2] ; 
gfmul_196[1] = c[0] ^ c[3] ; 
gfmul_196[2] = c[2] ^ c[4] ; 
gfmul_196[3] = c[3] ^ c[5] ; 
gfmul_196[4] = c[4] ^ c[6] ; 
gfmul_196[5] = c[0] ^ c[5] ^ c[7] ; 
gfmul_196[6] = c[1] ^ c[6] ; 
gfmul_196[7] = c[0] ^ c[1] ^ c[7] ; 
end
endfunction
//
// c * a^86
//
function[7:0] gfmul_86 ;
input[7:0] c ;
begin
gfmul_86[0] = c[0] ^ c[1] ^ c[4] ^ c[5] ^ c[6] ^ c[7] ; 
gfmul_86[1] = c[0] ^ c[2] ^ c[4] ; 
gfmul_86[2] = c[3] ^ c[4] ^ c[6] ^ c[7] ; 
gfmul_86[3] = c[4] ^ c[5] ^ c[7] ; 
gfmul_86[4] = c[0] ^ c[5] ^ c[6] ; 
gfmul_86[5] = c[1] ^ c[6] ^ c[7] ; 
gfmul_86[6] = c[0] ^ c[2] ^ c[7] ; 
gfmul_86[7] = c[0] ^ c[3] ^ c[4] ^ c[5] ^ c[6] ^ c[7] ; 
end
endfunction
//
// c * a^42
//
function[7:0] gfmul_42 ;
input[7:0] c ;
begin
gfmul_42[0] = c[0] ^ c[5] ^ c[7] ; 
gfmul_42[1] = c[0] ^ c[1] ^ c[5] ^ c[6] ^ c[7] ; 
gfmul_42[2] = c[0] ^ c[1] ^ c[2] ^ c[5] ^ c[6] ; 
gfmul_42[3] = c[0] ^ c[1] ^ c[2] ^ c[3] ^ c[6] ^ c[7] ; 
gfmul_42[4] = c[1] ^ c[2] ^ c[3] ^ c[4] ^ c[7] ; 
gfmul_42[5] = c[2] ^ c[3] ^ c[4] ^ c[5] ; 
gfmul_42[6] = c[3] ^ c[4] ^ c[5] ^ c[6] ; 
gfmul_42[7] = c[4] ^ c[6] ; 
end
endfunction
//
// c * a^198
//
function[7:0] gfmul_198 ;
input[7:0] c ;
begin
gfmul_198[0] = c[0] ^ c[6] ^ c[7] ; 
gfmul_198[1] = c[1] ^ c[6] ; 
gfmul_198[2] = c[0] ^ c[2] ^ c[6] ; 
gfmul_198[3] = c[1] ^ c[3] ^ c[7] ; 
gfmul_198[4] = c[2] ^ c[4] ; 
gfmul_198[5] = c[3] ^ c[5] ; 
gfmul_198[6] = c[4] ^ c[6] ; 
gfmul_198[7] = c[5] ^ c[6] ; 
end
endfunction
//
// c * a^204
//
function[7:0] gfmul_204 ;
input[7:0] c ;
begin
gfmul_204[0] = c[0] ^ c[1] ^ c[6] ^ c[7] ; 
gfmul_204[1] = c[0] ^ c[2] ^ c[6] ; 
gfmul_204[2] = c[0] ^ c[3] ^ c[6] ; 
gfmul_204[3] = c[1] ^ c[4] ^ c[7] ; 
gfmul_204[4] = c[2] ^ c[5] ; 
gfmul_204[5] = c[3] ^ c[6] ; 
gfmul_204[6] = c[0] ^ c[4] ^ c[7] ; 
gfmul_204[7] = c[0] ^ c[5] ^ c[6] ^ c[7] ; 
end
endfunction
//
// c * a^57
//
function[7:0] gfmul_57 ;
input[7:0] c ;
begin
gfmul_57[0] = c[2] ^ c[4] ^ c[6] ; 
gfmul_57[1] = c[0] ^ c[2] ^ c[3] ^ c[4] ^ c[5] ^ c[6] ^ c[7] ; 
gfmul_57[2] = c[0] ^ c[1] ^ c[2] ^ c[3] ^ c[5] ^ c[7] ; 
gfmul_57[3] = c[0] ^ c[1] ^ c[2] ^ c[3] ^ c[4] ^ c[6] ; 
gfmul_57[4] = c[0] ^ c[1] ^ c[2] ^ c[3] ^ c[4] ^ c[5] ^ c[7] ; 
gfmul_57[5] = c[0] ^ c[1] ^ c[2] ^ c[3] ^ c[4] ^ c[5] ^ c[6] ; 
gfmul_57[6] = c[0] ^ c[1] ^ c[2] ^ c[3] ^ c[4] ^ c[5] ^ c[6] ^ c[7] ; 
gfmul_57[7] = c[1] ^ c[3] ^ c[5] ^ c[7] ; 
end
endfunction
//
// c * a^187
//
function[7:0] gfmul_187 ;
input[7:0] c ;
begin
gfmul_187[0] = c[1] ^ c[6] ^ c[7] ; 
gfmul_187[1] = c[0] ^ c[1] ^ c[2] ^ c[6] ; 
gfmul_187[2] = c[0] ^ c[2] ^ c[3] ^ c[6] ; 
gfmul_187[3] = c[1] ^ c[3] ^ c[4] ^ c[7] ; 
gfmul_187[4] = c[2] ^ c[4] ^ c[5] ; 
gfmul_187[5] = c[3] ^ c[5] ^ c[6] ; 
gfmul_187[6] = c[0] ^ c[4] ^ c[6] ^ c[7] ; 
gfmul_187[7] = c[0] ^ c[5] ^ c[6] ; 
end
endfunction
//
// c * a^164
//
function[7:0] gfmul_164 ;
input[7:0] c ;
begin
gfmul_164[0] = c[0] ^ c[2] ^ c[4] ^ c[6] ^ c[7] ; 
gfmul_164[1] = c[1] ^ c[2] ^ c[3] ^ c[4] ^ c[5] ^ c[6] ; 
gfmul_164[2] = c[0] ^ c[3] ^ c[5] ; 
gfmul_164[3] = c[0] ^ c[1] ^ c[4] ^ c[6] ; 
gfmul_164[4] = c[0] ^ c[1] ^ c[2] ^ c[5] ^ c[7] ; 
gfmul_164[5] = c[0] ^ c[1] ^ c[2] ^ c[3] ^ c[6] ; 
gfmul_164[6] = c[0] ^ c[1] ^ c[2] ^ c[3] ^ c[4] ^ c[7] ; 
gfmul_164[7] = c[1] ^ c[3] ^ c[5] ^ c[6] ^ c[7] ; 
end
endfunction
//
// c * a^246
//
function[7:0] gfmul_246 ;
input[7:0] c ;
begin
gfmul_246[0] = c[1] ^ c[3] ^ c[5] ^ c[6] ; 
gfmul_246[1] = c[1] ^ c[2] ^ c[3] ^ c[4] ^ c[5] ^ c[7] ; 
gfmul_246[2] = c[1] ^ c[2] ^ c[4] ; 
gfmul_246[3] = c[0] ^ c[2] ^ c[3] ^ c[5] ; 
gfmul_246[4] = c[0] ^ c[1] ^ c[3] ^ c[4] ^ c[6] ; 
gfmul_246[5] = c[0] ^ c[1] ^ c[2] ^ c[4] ^ c[5] ^ c[7] ; 
gfmul_246[6] = c[0] ^ c[1] ^ c[2] ^ c[3] ^ c[5] ^ c[6] ; 
gfmul_246[7] = c[0] ^ c[2] ^ c[4] ^ c[5] ^ c[7] ; 
end
endfunction
//
// c * a^18
//
function[7:0] gfmul_18 ;
input[7:0] c ;
begin
gfmul_18[0] = c[0] ^ c[3] ^ c[5] ^ c[6] ; 
gfmul_18[1] = c[0] ^ c[1] ^ c[3] ^ c[4] ^ c[5] ^ c[7] ; 
gfmul_18[2] = c[1] ^ c[2] ^ c[3] ^ c[4] ; 
gfmul_18[3] = c[0] ^ c[2] ^ c[3] ^ c[4] ^ c[5] ; 
gfmul_18[4] = c[0] ^ c[1] ^ c[3] ^ c[4] ^ c[5] ^ c[6] ; 
gfmul_18[5] = c[0] ^ c[1] ^ c[2] ^ c[4] ^ c[5] ^ c[6] ^ c[7] ; 
gfmul_18[6] = c[1] ^ c[2] ^ c[3] ^ c[5] ^ c[6] ^ c[7] ; 
gfmul_18[7] = c[2] ^ c[4] ^ c[5] ^ c[7] ; 
end
endfunction
//
// c * a^111
//
function[7:0] gfmul_111 ;
input[7:0] c ;
begin
gfmul_111[0] = c[1] ^ c[3] ^ c[4] ^ c[5] ^ c[6] ; 
gfmul_111[1] = c[1] ^ c[2] ^ c[3] ^ c[7] ; 
gfmul_111[2] = c[1] ^ c[2] ^ c[5] ^ c[6] ; 
gfmul_111[3] = c[2] ^ c[3] ^ c[6] ^ c[7] ; 
gfmul_111[4] = c[3] ^ c[4] ^ c[7] ; 
gfmul_111[5] = c[0] ^ c[4] ^ c[5] ; 
gfmul_111[6] = c[0] ^ c[1] ^ c[5] ^ c[6] ; 
gfmul_111[7] = c[0] ^ c[2] ^ c[3] ^ c[4] ^ c[5] ^ c[7] ; 
end
endfunction
//
// c * a^252
//
function[7:0] gfmul_252 ;
input[7:0] c ;
begin
gfmul_252[0] = c[0] ^ c[2] ^ c[3] ; 
gfmul_252[1] = c[1] ^ c[2] ^ c[4] ; 
gfmul_252[2] = c[5] ; 
gfmul_252[3] = c[6] ; 
gfmul_252[4] = c[0] ^ c[7] ; 
gfmul_252[5] = c[1] ; 
gfmul_252[6] = c[0] ^ c[2] ; 
gfmul_252[7] = c[1] ^ c[2] ; 
end
endfunction
//
// c * a^211
//
function[7:0] gfmul_211 ;
input[7:0] c ;
begin
gfmul_211[0] = c[0] ^ c[1] ^ c[5] ^ c[6] ; 
gfmul_211[1] = c[2] ^ c[5] ^ c[7] ; 
gfmul_211[2] = c[1] ^ c[3] ^ c[5] ; 
gfmul_211[3] = c[0] ^ c[2] ^ c[4] ^ c[6] ; 
gfmul_211[4] = c[1] ^ c[3] ^ c[5] ^ c[7] ; 
gfmul_211[5] = c[2] ^ c[4] ^ c[6] ; 
gfmul_211[6] = c[0] ^ c[3] ^ c[5] ^ c[7] ; 
gfmul_211[7] = c[0] ^ c[4] ^ c[5] ; 
end
endfunction
function[7:0] gfmul_ab  ;
input[7:0] a ;
input[7:0] b ;
reg[15:0] t ;
begin
t[0] = (a[0]&b[0]) ;
t[1] = (a[0]&b[1]) ^ (a[1]&b[0]) ;
t[2] = (a[0]&b[2]) ^ (a[1]&b[1]) ^ (a[2]&b[0]) ;
t[3] = (a[0]&b[3]) ^ (a[1]&b[2]) ^ (a[2]&b[1]) ^ (a[3]&b[0]) ;
t[4] = (a[0]&b[4]) ^ (a[1]&b[3]) ^ (a[2]&b[2]) ^ (a[3]&b[1]) ^ (a[4]&b[0]) ;
t[5] = (a[0]&b[5]) ^ (a[1]&b[4]) ^ (a[2]&b[3]) ^ (a[3]&b[2]) ^ (a[4]&b[1]) ^ (a[5]&b[0]) ;
t[6] = (a[0]&b[6]) ^ (a[1]&b[5]) ^ (a[2]&b[4]) ^ (a[3]&b[3]) ^ (a[4]&b[2]) ^ (a[5]&b[1]) ^ (a[6]&b[0]) ;
t[7] = (a[0]&b[7]) ^ (a[1]&b[6]) ^ (a[2]&b[5]) ^ (a[3]&b[4]) ^ (a[4]&b[3]) ^ (a[5]&b[2]) ^ (a[6]&b[1]) ^ (a[7]&b[0]) ;
t[8] = (a[1]&b[7]) ^ (a[2]&b[6]) ^ (a[3]&b[5]) ^ (a[4]&b[4]) ^ (a[5]&b[3]) ^ (a[6]&b[2]) ^ (a[7]&b[1]) ;
t[9] = (a[2]&b[7]) ^ (a[3]&b[6]) ^ (a[4]&b[5]) ^ (a[5]&b[4]) ^ (a[6]&b[3]) ^ (a[7]&b[2]) ;
t[10] = (a[3]&b[7]) ^ (a[4]&b[6]) ^ (a[5]&b[5]) ^ (a[6]&b[4]) ^ (a[7]&b[3]) ;
t[11] = (a[4]&b[7]) ^ (a[5]&b[6]) ^ (a[6]&b[5]) ^ (a[7]&b[4]) ;
t[12] = (a[5]&b[7]) ^ (a[6]&b[6]) ^ (a[7]&b[5]) ;
t[13] = (a[6]&b[7]) ^ (a[7]&b[6]) ;
t[14] = (a[7]&b[7]) ;
gfmul_ab[0] = t[0] ^ t[8] ^ t[9] ^ t[10] ^ t[11] ^ t[12] ^ t[13] ; 
gfmul_ab[1] = t[1] ^ t[8] ^ t[14] ; 
gfmul_ab[2] = t[2] ^ t[8] ^ t[10] ^ t[11] ^ t[12] ^ t[13] ; 

⌨️ 快捷键说明

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