📄 degree_calc.v
字号:
// //Design : Reed-Solomon decoder RS(204,188) in QAM // //File Name : degree_calc.v // //Perpose : compute the polynomial degrees in MEA // module degree_calc ( clk , n_rst , start_calc , clken , R0 , Q0 , L0 , R1 , Q1 , L1 , R2 , Q2 , L2 , R3 , Q3 , L3 , R4 , Q4 , L4 , R5 , Q5 , L5 , R6 , Q6 , L6 , R7 , Q7 , L7 , R8 , Q8 , L8 , R9 , Q9 , L9 , R10 , Q10 , L10 , R11 , Q11 , L11 , R12 , Q12 , L12 , R13 , Q13 , L13 , R14 , Q14 , L14 , R15 , Q15 , L15 , R16 , Q16 , L16 , li , swap , stop , ai , bi , phase1 ) ; input clk , n_rst , start_calc , clken , phase1;input [7:0] R0 , Q0 , L0 ;input [7:0] R1 , Q1 , L1 ;input [7:0] R2 , Q2 , L2 ;input [7:0] R3 , Q3 , L3 ;input [7:0] R4 , Q4 , L4 ;input [7:0] R5 , Q5 , L5 ;input [7:0] R6 , Q6 , L6 ;input [7:0] R7 , Q7 , L7 ;input [7:0] R8 , Q8 , L8 ;input [7:0] R9 , Q9 , L9 ;input [7:0] R10 , Q10 , L10 ;input [7:0] R11 , Q11 , L11 ;input [7:0] R12 , Q12 , L12 ;input [7:0] R13 , Q13 , L13 ;input [7:0] R14 , Q14 , L14 ;input [7:0] R15 , Q15 , L15 ;input [7:0] R16 , Q16 , L16 ;output [4:0] li;output [7:0] ai,bi;output swap,stop;reg [4:0] degRx,degQx,degLx;reg [7:0] ai_temp,bi_temp; reg [7:0] ai,bi; reg [4:0] li; reg swap,stop;always@( R0 or R1 or R2 or R3 or R4 or R5 or R6 or R7 or R8 or R9 or R10 or R11 or R12 or R13 or R14 or R15 or R16) begin if ( R16 != 8'h0 ) begin degRx = 5'h10; ai_temp = R16; end else if ( R15 != 8'h0 ) begin degRx = 5'hf; ai_temp = R15; end else if ( R14 != 8'h0 ) begin degRx = 5'he; ai_temp = R14; end else if ( R13 != 8'h0 ) begin degRx = 5'hd; ai_temp = R13; end else if ( R12 != 8'h0 ) begin degRx = 5'hc; ai_temp = R12; end else if ( R11 != 8'h0 ) begin degRx = 5'hb; ai_temp = R11; end else if ( R10 != 8'h0 ) begin degRx = 5'ha; ai_temp = R10; end else if ( R9 != 8'h0 ) begin degRx = 5'h9; ai_temp = R9 ; end else if ( R8 != 8'h0 ) begin degRx = 5'h8; ai_temp = R8 ; end else if ( R7 != 8'h0 ) begin degRx = 5'h7; ai_temp = R7 ; end else if ( R6 != 8'h0 ) begin degRx = 5'h6; ai_temp = R6 ; end else if ( R5 != 8'h0 ) begin degRx = 5'h5; ai_temp = R5 ; end else if ( R4 != 8'h0 ) begin degRx = 5'h4; ai_temp = R4 ; end else if ( R3 != 8'h0 ) begin degRx = 5'h3; ai_temp = R3 ; end else if ( R2 != 8'h0 ) begin degRx = 5'h2; ai_temp = R2 ; end else if ( R1 != 8'h0 ) begin degRx = 5'h1; ai_temp = R1 ; end else begin degRx = 5'h0; ai_temp = R0 ; end end always@( Q0 or Q1 or Q2 or Q3 or Q4 or Q5 or Q6 or Q7 or Q8 or Q9 or Q10 or Q11 or Q12 or Q13 or Q14 or Q15 or Q16) begin if ( Q16 != 8'h0 ) begin degQx = 5'h10; bi_temp = Q16; end else if ( Q15 != 8'h0 ) begin degQx = 5'hf; bi_temp = Q15; end else if ( Q14 != 8'h0 ) begin degQx = 5'he; bi_temp = Q14; end else if ( Q13 != 8'h0 ) begin degQx = 5'hd; bi_temp = Q13;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -