题解 | #奇偶校验#
奇偶校验
https://www.nowcoder.com/practice/67d4dd382bb44c559a1d0a023857a7a6
`timescale 1ns/1ns module odd_sel( input [31:0] bus, input sel, output check ); //*************code***********// // 缩减运算符 wire check_tmp; // reg [31:0] tmp = bus; assign check_tmp = ^ bus; assign check=sel?check_tmp:~check_tmp; //*************code***********// endmodule
两个点
- 缩进运算符:对多位数据进行递推的位运算(包括与&、或|、非~、异或^、同或^~);
- 奇偶校验运算为统计数据中1的个数,当设置为奇校验:数据中1个数为奇数个,输出1,否则输出0;偶校验反之
- 二进制加法:异或;
- wire型变量只能通过assign赋值;reg型变量只能在initial和always中赋值