介绍
当输入n+1位宽的信号时,判断输入信号中1的个数,这就是奇偶校验。在我设计的电路中,当输入1的个数是偶数时,就输出0,输入1的个数是奇数时,就输出1。
我们这里设置的位宽为8。
另外,附录中的文件能够只输出偶数个1,有兴趣的小伙伴可以看看。
设计文件
library ieee;
use ieee.std_logic_1164.all;
entity parity_dat is
generic (n : integer := 7);
port(
input : in bit_vector (n downto 0);
output: out bit);
end parity_dat;
architecture parity_dat of parity_dat is
begin
process(input)
variable temp : bit;
begin
temp := '0';
for i in input'range loop
temp := temp xor input(i);
end loop;
output <= temp;
end process;
end parity_dat;
测试文件
library ieee;