Przegląd
Algorytm cyklicznego sprawdzania redundancji (CRC) wykrywa uszkodzenie danych podczas transmisji i wykrywa wyższy odsetek błędów niż prosty sumę kontrolną. Obliczenia CRC składają się z iteracyjnego algorytmu obejmującego XORs i przesunięć, które wykonywane są znacznie szybciej w sprzęcie niż w oprogramowaniu. W tym projekcie zastosowano standard CRC-32. Jest on wdrażany jako komponent niestandardowy wraz z Nios II wbudowanym procesorem. Projekt osiąga przepustowość ponad 5 Gb/s, demonstrując poziomy poprawy wydajności, które można osiągnąć poprzez pełnienie funkcji w sprzęcie.
Funkcje
- Obsługuje dowolny algorytm CRC pomiędzy 1–128 bitami
- Przepustowość komponentu CRC 32 bitów na MHz
- 8, 16, 24 i 32-bitowe ścieżki danych
- Nawet 2000 razy większa prędkość w stosunku do implementacji wyłącznie dla oprogramowania
- Niska wydajność opóźnienia opóźnienia zapisu 0 cykli i opóźnienie odczytu 1 cyklu
- Dwa przykłady projektów ukierunkowanych na Stratix® II i Cyclone® II FPGAs
Schemat blokowy
Rys. 1 przedstawia schemat blokowy komponentu Avalon® CRC.
Uwaga:
- Ścieżka danych = crc_width.
Korzystanie z tego przykładu projektu
Pobierz przykładowy projekt CRC (plik.zip)
Korzystanie z tego projektu podlega warunkom umowy licencyjnej Intel® Design Example Agreementi podlega jej postanowień.
Plik .zip zawiera wszystkie pliki sprzętowe i programowe niezbędne do wyekskrypowania przykładu, a także plik readme.txt. Plik readme.txt zawiera instrukcje dotyczące przebudowania projektu.