A
aeneas81
Guest
Уважаемые,
Я написал следующую процедуру для вычисления CRC-5 из 11 бит данных для USB цели.Она принимает один данных в такт и магазины по сигналу, а затем в 12 такт будет выполнять расчет.Однако, по неизвестной причине, Цюй (AT) rtus II держать синтезированных с меня регистры, и я не могу получить правильный вывод.
Кстати, я читал из книги, что переменные, не выдерживает это значение как сигналы, но я видел коды с переменными, которые могут проводить свои часы стоимостью свыше края как сигнала делает, почему?
Спасибо за вашу помощь и советы.КПР-5 код, который я сейчас работаю:СИГНАЛ stuffed_dataSig: std_logic_vector (10 DOWNTO 0);
Процесс (CLK, RST, DIN)
Переменная stuffed_data: std_logic_vector (10 DOWNTO 0);
Переменная crc5_state: std_logic_vector (4 DOWNTO 0);
начинать
если RST = '1 ', то
количество <= 0;
out_crc5 <= "11111";
stuffed_dataSig <= "00000000000";
ELSIF clk'EVENT И CLK = '1 'THEN
Если количество <11, то
- Получить исходные данные
stuffed_dataSig (кол-во) <= DIN;
кол-во <= кол-1;
- Чтобы убедиться, что данные хранятся в настоящее время
testout <= stuffed_dataSig;
ELSIF Count = 11, то - вычислить CRC
stuffed_data: = stuffed_dataSig;
crc5_state: = "11111";
я в 0 до 10 петля
crc5_state (0): = stuffed_data (I) XOR crc5_state (4);
crc5_state (1): = crc5_state (0);
crc5_state (2): = crc5_state (1) XOR crc5_state (4) XOR stuffed_data (I);
crc5_state (3): = crc5_state (2);
crc5_state (4): = crc5_state (3);
конец цикла;
out_crc5 <= НЕ crc5_state;
End If;
End If;
конце процесса;
Я написал следующую процедуру для вычисления CRC-5 из 11 бит данных для USB цели.Она принимает один данных в такт и магазины по сигналу, а затем в 12 такт будет выполнять расчет.Однако, по неизвестной причине, Цюй (AT) rtus II держать синтезированных с меня регистры, и я не могу получить правильный вывод.
Кстати, я читал из книги, что переменные, не выдерживает это значение как сигналы, но я видел коды с переменными, которые могут проводить свои часы стоимостью свыше края как сигнала делает, почему?
Спасибо за вашу помощь и советы.КПР-5 код, который я сейчас работаю:СИГНАЛ stuffed_dataSig: std_logic_vector (10 DOWNTO 0);
Процесс (CLK, RST, DIN)
Переменная stuffed_data: std_logic_vector (10 DOWNTO 0);
Переменная crc5_state: std_logic_vector (4 DOWNTO 0);
начинать
если RST = '1 ', то
количество <= 0;
out_crc5 <= "11111";
stuffed_dataSig <= "00000000000";
ELSIF clk'EVENT И CLK = '1 'THEN
Если количество <11, то
- Получить исходные данные
stuffed_dataSig (кол-во) <= DIN;
кол-во <= кол-1;
- Чтобы убедиться, что данные хранятся в настоящее время
testout <= stuffed_dataSig;
ELSIF Count = 11, то - вычислить CRC
stuffed_data: = stuffed_dataSig;
crc5_state: = "11111";
я в 0 до 10 петля
crc5_state (0): = stuffed_data (I) XOR crc5_state (4);
crc5_state (1): = crc5_state (0);
crc5_state (2): = crc5_state (1) XOR crc5_state (4) XOR stuffed_data (I);
crc5_state (3): = crc5_state (2);
crc5_state (4): = crc5_state (3);
конец цикла;
out_crc5 <= НЕ crc5_state;
End If;
End If;
конце процесса;