📄 decode.v
字号:
i12 <=9'd0;
if(sum12>=75)
begin
outdata <=1'b1;
state <=main_body;
end
else
state <=find_head;
end
end
if(flag[13])
begin
i14 <=i13;
if(indata[2]==m[i13])
sum13 <=sum13+{((indata[2]^indata[1])||((indata[2]
&&indata[1])&&(!indata[0]))),indata[0]};
else
sum13 <=sum13-{((indata[2]^indata[1])||((indata[2]
&&indata[1])&&(!indata[0]))),indata[0]};
if(i13==30)
begin
i13 <=9'd0;
if(sum13>=75)
begin
outdata <=1'b1;
state <=main_body;
end
else
state <=find_head;
end
end
if(flag[14])
begin
i15 <=i14;
if(indata[2]==m[i14])
sum14 <=sum14+{((indata[2]^indata[1])||((indata[2]
&&indata[1])&&(!indata[0]))),indata[0]};
else
sum14 <=sum14-{((indata[2]^indata[1])||((indata[2]
&&indata[1])&&(!indata[0]))),indata[0]};
if(i14==30)
begin
i14 <=9'd0;
if(sum14>=75)
begin
outdata <=1'b1;
state <=main_body;
end
else
state <=find_head;
end
end
if(flag[15])
begin
i16 <=i15;
if(indata[2]==m[i15])
sum15 <=sum15+{((indata[2]^indata[1])||((indata[2]
&&indata[1])&&(!indata[0]))),indata[0]};
else
sum15 <=sum15-{((indata[2]^indata[1])||((indata[2]
&&indata[1])&&(!indata[0]))),indata[0]};
if(i15==30)
begin
i15 <=9'd0;
if(sum15>=75)
begin
outdata <=1'b1;
state <=main_body;
end
else
state <=find_head;
end
end
if(flag[16])
begin
i17 <=i16;
if(indata[2]==m[i16])
sum16 <=sum16+{((indata[2]^indata[1])||((indata[2]
&&indata[1])&&(!indata[0]))),indata[0]};
else
sum16 <=sum16-{((indata[2]^indata[1])||((indata[2]
&&indata[1])&&(!indata[0]))),indata[0]};
if(i16==30)
begin
i16 <=9'd0;
if(sum16>=75)
begin
outdata <=1'b1;
state <=main_body;
end
else
state <=find_head;
end
end
if(flag[17])
begin
i18 <=i17;
if(indata[2]==m[i17])
sum17 <=sum17+{((indata[2]^indata[1])||((indata[2]
&&indata[1])&&(!indata[0]))),indata[0]};
else
sum17 <=sum17-{((indata[2]^indata[1])||((indata[2]
&&indata[1])&&(!indata[0]))),indata[0]};
if(i17==30)
begin
i17 <=9'd0;
if(sum17>=75)
begin
outdata <=1'b1;
state <=main_body;
end
else
state <=find_head;
end
end
if(flag[18])
begin
i19 <=i18;
if(indata[2]==m[i18])
sum18 <=sum18+{((indata[2]^indata[1])||((indata[2]
&&indata[1])&&(!indata[0]))),indata[0]};
else
sum18 <=sum18-{((indata[2]^indata[1])||((indata[2]
&&indata[1])&&(!indata[0]))),indata[0]};
if(i18==30)
begin
i18 <=9'd0;
if(sum18>=75)
begin
outdata <=1'b1;
state <=main_body;
end
else
state <=find_head;
end
end
if(flag[19])
begin
i20 <=i19;
if(indata[2]==m[i19])
sum19 <=sum19+{((indata[2]^indata[1])||((indata[2]
&&indata[1])&&(!indata[0]))),indata[0]};
else
sum19 <=sum19-{((indata[2]^indata[1])||((indata[2]
&&indata[1])&&(!indata[0]))),indata[0]};
if(i19==30)
begin
i19 <=9'd0;
if(sum19>=75)
begin
outdata <=1'b1;
state <=main_body;
end
else
state <=find_head;
end
end
if(flag[20])
begin
i21 <=i20;
if(indata[2]==m[i20])
sum20 <=sum20+{((indata[2]^indata[1])||((indata[2]
&&indata[1])&&(!indata[0]))),indata[0]};
else
sum20 <=sum20-{((indata[2]^indata[1])||((indata[2]
&&indata[1])&&(!indata[0]))),indata[0]};
if(i20==30)
begin
i20 <=9'd0;
if(sum20>=75)
begin
outdata <=1'b1;
state <=main_body;
end
else
state <=find_head;
end
end
if(flag[21])
begin
i22 <=i21;
if(indata[2]==m[i21])
sum21 <=sum21+{((indata[2]^indata[1])||((indata[2]
&&indata[1])&&(!indata[0]))),indata[0]};
else
sum21 <=sum21-{((indata[2]^indata[1])||((indata[2]
&&indata[1])&&(!indata[0]))),indata[0]};
if(i21==30)
begin
i21 <=9'd0;
if(sum21>=75)
begin
outdata <=1'b1;
state <=main_body;
end
else
state <=find_head;
end
end
if(flag[22])
begin
i23 <=i22;
if(indata[2]==m[i22])
sum22 <=sum22+{((indata[2]^indata[1])||((indata[2]
&&indata[1])&&(!indata[0]))),indata[0]};
else
sum22 <=sum22-{((indata[2]^indata[1])||((indata[2]
&&indata[1])&&(!indata[0]))),indata[0]};
if(i22==30)
begin
i22 <=9'd0;
if(sum22>=75)
begin
outdata <=1'b1;
state <=main_body;
end
else
state <=find_head;
end
end
if(flag[23])
begin
i24 <=i23;
if(indata[2]==m[i23])
sum23 <=sum23+{((indata[2]^indata[1])||((indata[2]
&&indata[1])&&(!indata[0]))),indata[0]};
else
sum23 <=sum23-{((indata[2]^indata[1])||((indata[2]
&&indata[1])&&(!indata[0]))),indata[0]};
if(i23==30)
begin
i23 <=9'd0;
if(sum23>=75)
begin
outdata <=1'b1;
state <=main_body;
end
else
state <=find_head;
end
end
if(flag[24])
begin
i25 <=i24;
if(indata[2]==m[i24])
sum24 <=sum24+{((indata[2]^indata[1])||((indata[2]
&&indata[1])&&(!indata[0]))),indata[0]};
else
sum24 <=sum24-{((indata[2]^indata[1])||((indata[2]
&&indata[1])&&(!indata[0]))),indata[0]};
if(i24==30)
begin
i24 <=9'd0;
if(sum24>=75)
begin
outdata <=1'b1;
state <=main_body;
end
else
state <=find_head;
end
end
if(flag[25])
begin
i26 <=i25;
if(indata[2]==m[i25])
sum25 <=sum25+{((indata[2]^indata[1])||((indata[2]
&&indata[1])&&(!indata[0]))),indata[0]};
else
sum25 <=sum25-{((indata[2]^indata[1])||((indata[2]
&&indata[1])&&(!indata[0]))),indata[0]};
if(i25==30)
begin
i25 <=9'd0;
if(sum25>=75)
begin
outdata <=1'b1;
state <=main_body;
end
else
state <=find_head;
end
end
if(flag[26])
begin
i27 <=i26;
if(indata[2]==m[i26])
sum26 <=sum26+{((indata[2]^indata[1])||((indata[2]
&&indata[1])&&(!indata[0]))),indata[0]};
else
sum26 <=sum26-{((indata[2]^indata[1])||((indata[2]
&&indata[1])&&(!indata[0]))),indata[0]};
if(i26==30)
begin
i26 <=9'd0;
if(sum26>=75)
begin
outdata <=1'b1;
state <=main_body;
end
else
state <=find_head;
end
end
if(flag[27])
begin
i28 <=i27;
if(indata[2]==m[i27])
sum27 <=sum27+{((indata[2]^indata[1])||((indata[2]
&&indata[1])&&(!indata[0]))),indata[0]};
else
sum27 <=sum27-{((indata[2]^indata[1])||((indata[2]
&&indata[1])&&(!indata[0]))),indata[0]};
if(i27==30)
begin
i27 <=9'd0;
if(sum27>=75)
begin
outdata <=1'b1;
state <=main_body;
end
else
state <=find_head;
end
end
if(flag[28])
begin
i29 <=i28;
if(indata[2]==m[i28])
sum28 <=sum28+{((indata[2]^indata[1])||((indata[2]
&&indata[1])&&(!indata[0]))),indata[0]};
else
sum28 <=sum28-{((indata[2]^indata[1])||((indata[2]
&&indata[1])&&(!indata[0]))),indata[0]};
if(i28==30)
begin
i28 <=9'd0;
if(sum28>=75)
begin
outdata <=1'b1;
state <=main_body;
end
else
state <=find_head;
end
end
if(flag[29])
begin
i30 <=i29;
if(indata[2]==m[i29])
sum29 <=sum29+{((indata[2]^indata[1])||((indata[2]
&&indata[1])&&(!indata[0]))),indata[0]};
else
sum29 <=sum29-{((indata[2]^indata[1])||((indata[2]
&&indata[1])&&(!indata[0]))),indata[0]};
if(i29==30)
begin
i29 <=9'd0;
if(sum22>=75)
begin
outdata <=1'b1;
state <=main_body;
end
else
state <=find_head;
end
end
if(flag[30])
begin
if(indata[2]==m[i30])
sum30 <=sum30+{((indata[2]^indata[1])||((indata[2]
&&indata[1])&&(!indata[0]))),indata[0]};
else
sum30 <=sum30-{((indata[2]^indata[1])||((indata[2]
&&indata[1])&&(!indata[0]))),indata[0]};
if(i30==30)
begin
i30 <=9'd0;
if(sum30>=75)
begin
outdata <=1'b1;
state <=main_body;
end
else
state <=find_head;
end
end
end
end
main_body:
begin
if(j!=30)
begin
if(indata[2]==m[j])
sum <=sum+{((indata[2]^indata[1])||((indata[2]
&&indata[1])&&(!indata[0]))),indata[0]};
//推算出来的3位2进制带符号数与原有m序列相乘的公式
else
sum <=sum-{((indata[2]^indata[1])||((indata[2]
&&indata[1])&&(!indata[0]))),indata[0]};
j <=j+1;
end
else
begin
if(sum>50)
outdata <=1;
else
outdata <=0;
j <=0;
if(indata[2]==m[0])
sum <=9'd50+{((indata[2]^indata[1])||((indata[2]&&indata[1])
&&(!indata[0]))),indata[0]};
else
sum <=9'd50-{((indata[2]^indata[1])||((indata[2]&&indata[1])
&&(!indata[0]))),indata[0]};
end
end
endcase
end
end
endmodule
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -