logo资料库

奇偶校验原理 及Verilog源码.pdf

第1页 / 共2页
第2页 / 共2页
资料共2页,全文预览结束
淘宝店铺:小月电子 QQ:3181961725 clk, rst_n, [7:0] parity_even input input output ); data_bit7 ; ;//校验位 bit_add=data[6]+data[5]+data[4]+data[3]+data[2]+data[1]+data[0]; 奇校验(发送) //奇校验 数据中 1 的个数为奇数 //奇校验就是确保发送的数据位中 1 的个数为奇数,如果数据位中 1 的个数是奇数,那就给 校验位赋值 0, //如果数据位中 1 的个数是奇数,那就给校验位赋值 1.这样就确保发送的数据中 1 的个数是 奇数 module parity_even_tx( reg [6:0] data=7'b010_1010;//被校验的数据 reg wire bit_add assign always@(posedge clk or negedge rst_n) assign endmodule 奇校验(接收) //奇校验,如果数据中 1 的个数为奇数,则说明传输正确 module parity_even_rx( 有误 ); wire bit_add assign bit_add=data_in[7]+data_in[6]+data_in[5]+data_in[4]+data_in[3]+data_in[2]+data_in[1]+da ta_in[0]; clk, rst_n, [7:0] data_in, reg check_flag//校验成功标志,高电平表示数据正确,低电平表示传输数据 if(!rst_n) data_bit7<=0; else if(bit_add==1) data_bit7<=0; else data_bit7<=1; begin end always@(posedge clk or negedge rst_n) parity_even={data,data_bit7}; input input input output ; 淘宝店铺:小月电子 QQ:3181961725
淘宝店铺:小月电子 QQ:3181961725 if(!rst_n) check_flag<=0; else if(bit_add==1) check_flag<=1; else check_flag<=0; begin end endmodule 淘宝店铺:小月电子 QQ:3181961725
分享到:
收藏