[an error occurred while processing this directive]
|
...elsif clk'event and clk = '1' then
......crc_reg(0) <= data_in xor crc_reg(7);
......crc_reg(1) <= crc_reg(0);
......сrc_reg(2) <= crc_reg(1);
......crc_reg(3) <= crc_reg(2);
......сrc_reg(4) <= crc_reg(3) xor (data_in xor crc_reg(7));
......crc_reg(5) <= crc_reg(4) xor (data_in xor crc_reg(7));
......crc_reg(6) <= crc_reg(5);
......crc_reg(7) <= crc_reg(6);
...end if;
такая схема работает, выдает Ваши желаемые результаты. единственное, если я правильно понял, надо позаботиться, чтобы перед поступлением байта в регистр, он был сброшен в ноль (0х00).
E-mail: info@telesys.ru