VHDL CRC 校验码



crcin 是什么?为什么计算校验码结果不对呢?

library IEEE;
use IEEE.std_logic_1164.all;

entity crc is
port (
crcIn: in std_logic_vector(3 downto 0);
data: in std_logic_vector(7 downto 0);
crcOut: out std_logic_vector(3 downto 0)

);

end entity crc;

architecture Behavioral of crc is
begin
crcOut(0) <= (crcIn(0) xor crcIn(1) xor data(0) xor data(1) xor data(5) xor data(7));
crcOut(1) <= (crcIn(0) xor crcIn(2) xor data(0) xor data(2) xor data(5) xor data(6) xor data(7));
crcOut(2) <= (crcIn(3) xor data(3) xor data(5) xor data(6));
crcOut(3) <= (crcIn(0) xor data(0) xor data(4) xor data(6) xor data(7));
end architecture Behavioral;