1 奇偶效验(parity check)
是一种校验代码传输正确性的方法,根据被传输的一组二进制数位中“ 1” 的个数是奇数或者偶数来进行校验。采用奇数校验的称之为奇校验,反之称之为偶校验。采用哪种校验是事先规定的,通常会设置一个奇偶效验位,用它是这组代码中1的个数为奇数或者偶数,若奇校验,接收端,校验“1”的个数是奇数,
偶校验:数据和校验位中“1 ” 的总数为偶数,则数据无误,否则数据有误
奇校验:数据和校验位中“1” 的总数为奇数,则数据无误,否则数据有误。
2 输入数据的校验方法
奇校验实现方式:校验位默认为高电平,每检测到1,则状态翻转
偶校验实现方式:校验位默认为低电平,每检测到1,则状态翻转
Verilog实现
module odd_even(
input clk ,
input rst ,
input in ,
output reg odd , // 奇校验
output reg even //偶校验
);
always @(posedge clk ) begin
if(!rst)begin
odd <= 1'b0;
even <= 1'b0 ;
end
else if(in) begin
odd <= ~odd;
even <= ~even ;
end
else
begin
odd <= odd ;
even <= even ;
end
end
endmodule
3 输出数据校验方法
偶校验:将输入数据按位异或
奇校验:将输入数据按位异或再取反(与偶校验相反)
module odd_even(
input clk ,
input rst ,
input [7:0] in ,
output reg odd , // 奇校验
output reg even //偶校验
);
always @(posedge clk ) begin
if(!rst)begin
odd <= 1'b0;
even <= 1'b0 ;
end
else begin
odd <= ~^in;
even <= ^in ;
end
end
endmodule
总结:文章来源:https://www.toymoban.com/news/detail-845838.html
奇偶校验属于一种比较简单的校验方法,效率比较低,没办法纠错和改正。文章来源地址https://www.toymoban.com/news/detail-845838.html
到了这里,关于Verilog 实现奇偶校验的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!