Wykrywanie i korekcja błędów MICROCHIP w pamięci RTG4 LSRAM
Historia rewizji
Historia rewizji opisuje zmiany, które zostały wprowadzone w dokumencie. Zmiany są wymienione według rewizji, zaczynając od najnowszej publikacji.
Wersja 4.0
Poniżej znajduje się podsumowanie zmian wprowadzonych w tej wersji.
- Zaktualizowano dokument dla Libero SoC v2021.2.
- Dodano Dodatek 1: Programowanie urządzenia za pomocą FlashPro Express, strona 14.
- Dodano Dodatek 2: Uruchamianie skryptu TCL, strona 16.
- Usunięto odniesienia do numerów wersji Libero.
Wersja 3.0
Zaktualizowano dokument wersji oprogramowania Libero v11.9 SP1.
Wersja 2.0
Zaktualizowano dokument wersji oprogramowania Libero v11.8 SP2.
Wersja 1.0
Pierwsza publikacja tego dokumentu.
Wykrywanie i korekcja błędów w pamięci RTG4 LSRAM
Ten projekt referencyjny opisuje możliwości wykrywania i korekcji błędów (EDAC) RTG4™ FPGA LSRAM. W środowisku podatnym na pojedyncze zdarzenie (SEU) pamięć RAM jest podatna na przejściowe błędy powodowane przez ciężkie jony. Błędy te można wykrywać i korygować za pomocą kodów korekcji błędów (ECC). Bloki RTG4 FPGA RAM mają wbudowane kontrolery EDAC do generowania kodów korekcji błędów w celu skorygowania błędu 1-bitowego lub wykrycia błędu 2-bitowego.
Jeśli zostanie wykryty błąd 1-bitowy, kontroler EDAC koryguje bit błędu i ustawia flagę korekcji błędów (SB_CORRECT) na aktywny stan wysoki. W przypadku wykrycia błędu 2-bitowego kontroler EDAC ustawia flagę wykrywania błędów (DB_DETECT) na aktywną wysoką.
Aby uzyskać więcej informacji na temat funkcji RTG4 LSRAM EDAC, patrz UG0574: RTG4 FPGA Fabric
Instrukcja użytkownika.
W tym projekcie referencyjnym błąd 1-bitowy lub błąd 2-bitowy jest wprowadzany za pośrednictwem GUI SmartDebug. EDAC jest obserwowany za pomocą graficznego interfejsu użytkownika (GUI), wykorzystującego interfejs UART do dostępu do LSRAM w celu odczytu/zapisu danych, Libero® System-on-Chip (SoC) SmartDebug (JTAG) służy do wstrzykiwania błędów do pamięci LSRAM.
Wymagania projektowe
W tabeli 1 wymieniono referencyjne wymagania projektowe dotyczące uruchamiania wersji demonstracyjnej RTG4 LSRAM EDAC.
Tabela 1 • Wymagania projektowe
Oprogramowanie
- SoC Libero
- FlashPro Express
- Inteligentne debugowanie
- Sterowniki komputera hosta Sterowniki USB do UART
Notatka: Libero SmartDesign i zrzuty ekranowe konfiguracji pokazane w tej instrukcji służą wyłącznie celom ilustracyjnym.
Otwórz projekt Libero, aby zobaczyć najnowsze aktualizacje.
Wymagania wstępne
Zanim zaczniesz:
Pobierz i zainstaluj Libero SoC (jak wskazano w pliku webwitrynę dla tego projektu) na komputerze hosta z następującej lokalizacji: https://www.microsemi.com/product-directory/design-resources/1750-libero-soc
Projekt demonstracyjny
Pobierz projekt demonstracyjny files z Microsemi webstrona pod adresem: http://soc.microsemi.com/download/rsc/?f=rtg4_dg0703_df
Projekt demonstracyjny fileobejmują:
- Projekt Libero SoC
- Instalator GUI
- Programowanie files
- Przeczytaj mnie.txt file
- Skrypty_TCL
Aplikacja GUI na komputerze hosta wydaje polecenia do urządzenia RTG4 przez interfejs USB-UART. Ten interfejs UART został zaprojektowany z CoreUART, który jest logicznym adresem IP z katalogu Libero SoC IP. CoreUART IP w strukturze RTG4 odbiera polecenia i przesyła je do logiki dekodera poleceń. Logika dekodera poleceń dekoduje polecenie odczytu lub zapisu, które jest wykonywane przy użyciu logiki interfejsu pamięci.
Blok interfejsu pamięci jest używany do odczytu/zapisu i monitorowania flag błędów LSRAM. Wbudowany EDAC koryguje 1-bitowy błąd podczas odczytu z LSRAM i dostarcza poprawione dane do interfejsu użytkownika, ale nie zapisuje poprawionych danych z powrotem do LSRAM. Wbudowana pamięć LSRAM EDAC nie obsługuje funkcji przewijania. Projekt demonstracyjny implementuje logikę czyszczenia, która monitoruje 1-bitową flagę korekcji i aktualizuje LSRAM skorygowanymi danymi, jeśli wystąpi błąd pojedynczego bitu.
GUI SmartDebug służy do wstrzykiwania 1-bitowego lub 2-bitowego błędu do danych LSRAM.
Rysunek 1 przedstawia schemat blokowy najwyższego poziomu projektu demonstracyjnego RTG4 LSRAM EDAC.
Rysunek 1 • Diagram blokowy najwyższego poziomu
Poniżej przedstawiono konfiguracje projektu demonstracyjnego:
- LSRAM jest skonfigurowany do trybu ×18, a EDAC jest włączany przez podłączenie sygnału LSRAM ECC_EN do stanu wysokiego.
Notatka: LSRAM EDAC jest obsługiwany tylko w trybach ×18 i ×36. - CoreUART IP jest skonfigurowany do komunikowania się z aplikacją komputera hosta z szybkością 115200 bodów.
- RTG4FCCCECALIB_C0 jest skonfigurowany do taktowania CoreUART i innych układów logicznych z częstotliwością 80 MHz.
Cechy
Poniżej przedstawiono funkcje projektu demonstracyjnego:
- Odczyt i zapis do LSRAM
- Wstrzyknij 1-bitowy i 2-bitowy błąd za pomocą SmartDebug
- Wyświetla 1-bitowe i 2-bitowe wartości liczby błędów
- Przepis, aby wyczyścić wartości licznika błędów
- Włącz lub wyłącz logikę czyszczenia pamięci
Opis
Ten projekt demonstracyjny obejmuje realizację następujących zadań:
- Inicjowanie i dostęp do LSRAM
Logika interfejsu pamięci zaimplementowana w logice sieci szkieletowej otrzymuje polecenie inicjalizacji z GUI i inicjalizuje pierwsze 256 lokalizacji pamięci LSRAM danymi przyrostowymi. Wykonuje również operacje odczytu i zapisu w 256 lokalizacjach pamięci LSRAM, odbierając adres i dane z GUI. W przypadku operacji odczytu projekt pobiera dane z LSRAM i dostarcza je do GUI w celu wyświetlenia. Oczekuje się, że projekt nie spowoduje błędów przed użyciem SmartDebug.
Notatka: Niezainicjowane lokalizacje pamięci mogą mieć losowe wartości, a SmartDebug może pokazywać błędy jednobitowe lub dwubitowe w tych lokalizacjach.
- Wstrzykiwanie błędów 1-bitowych lub 2-bitowych
GUI SmartDebug służy do wstrzykiwania błędów 1-bitowych lub 2-bitowych do określonej lokalizacji pamięci LSRAM. Następujące operacje są wykonywane przy użyciu SmartDebug w celu wstrzyknięcia 1-bitowych i 2-bitowych błędów do LSRAM:- Otwórz GUI SmartDebug, kliknij Debuguj tablicę FPGA.
- Przejdź do zakładki Memory Blocks, wybierz instancję pamięci i kliknij prawym przyciskiem myszy Add.
- Aby odczytać blok pamięci, kliknij opcję Czytaj blok.
- Wstrzyknij błąd jednobitowy lub dwubitowy do dowolnej lokalizacji LSRAM o określonej głębokości.
- Aby zapisać w zmodyfikowanej lokalizacji, kliknij Zapisz blok.
Podczas operacji odczytu i zapisu LSRAM przez SmartDebug (JTAG), kontroler EDAC jest pomijany i nie oblicza bitów ECC dla operacji zapisu w kroku e.
- Liczenie błędów
Liczniki 8-bitowe służą do zliczania błędów i są zaprojektowane w logice sieci szkieletowej do zliczania błędów 1-bitowych lub 2-bitowych. Logika dekodera poleceń dostarcza wartości liczbowe do GUI podczas odbierania poleceń z GUI.
Struktura taktowania
W tym projekcie demonstracyjnym istnieje jedna domena zegara. Wewnętrzny oscylator 50 MHz napędza RTG4FCCC, który dodatkowo steruje RTG4FCCCECALIB_C0. RTG4FCCCECALIB_C0 generuje zegar 80 MHz, który zapewnia źródło zegara dla modułów COREUART, cmd_decoder, TPSRAM_ECC i RAM_RW.
Poniższy rysunek przedstawia strukturę taktowania projektu demonstracyjnego.
Rysunek 2 • Struktura taktowania
Zresetuj strukturę
W tym projekcie demonstracyjnym sygnał resetowania do modułów COREUART, cmd_decoder i RAM_RW jest dostarczany przez port LOCK RTG4FCCCECALIB_C0. Poniższy rysunek przedstawia strukturę resetowania projektu demonstracyjnego.
Rysunek 3 • Resetowanie struktury
Konfigurowanie projektu demonstracyjnego
W poniższych sekcjach opisano, jak skonfigurować zestaw deweloperski RTG4 i graficzny interfejs użytkownika, aby uruchomić projekt demonstracyjny.
Ustawienia zworki
- Podłącz zworki zestawu rozwojowego RTG4, jak pokazano w tabeli 2.
Tabela 2 • Ustawienia zworekSweter Przypnij (od) Przypnij (do) Uwagi J11, J17, J19, J21, J23, J26, J27, J28 1 2 Domyślny J16 2 3 Domyślny J32 1 2 Domyślny J33 1 3 Domyślny 2 4 Notatka: Wyłącz przełącznik zasilania, SW6, podczas podłączania zworek.
- Podłącz kabel USB (kabel mini USB do USB typu A) do złącza J47 zestawu deweloperskiego RTG4, a drugi koniec kabla do portu USB komputera głównego.
- Upewnij się, że sterowniki mostka USB do UART są wykrywane automatycznie. Można to zweryfikować w menedżerze urządzeń komputera hosta.
Rysunek 4 przedstawia właściwości portu szeregowego USB 2.0 oraz podłączony szeregowy konwerter COM31 i USB C.
Rysunek 4 • Sterowniki mostka USB do UART
Notatka: Jeśli sterowniki mostka USB do UART nie są zainstalowane, pobierz i zainstaluj sterowniki ze strony www.microsemi.com//documents/CDM_2.08.24_WHQL_Certified.zip
Rysunek 5 przedstawia konfigurację płyty do uruchomienia wersji demonstracyjnej EDAC na zestawie rozwojowym RTG4.
Programowanie projektu demonstracyjnego
- Uruchom oprogramowanie Libero SOC.
- Aby zaprogramować zestaw rozwojowy RTG4 z zadaniem file dostarczane jako część projektu files przy użyciu oprogramowania FlashPro Express, patrz Dodatek 1: Programowanie urządzenia za pomocą FlashPro Express, strona 14.
Notatka: Po zakończeniu programowania z zadaniem file przez oprogramowanie FlashPro Express, przejdź do EDAC Demo GUI, strona 9. W przeciwnym razie przejdź do następnego kroku. - W przepływie projektowania Libero kliknij czynność Uruchom program.
- Gdy programowanie zostanie zakończone, zielony haczyk pojawi się przed poleceniem „Uruchom program” wskazując pomyślne zaprogramowanie projektu demonstracyjnego.
Graficzny interfejs demonstracyjny EDAC
Demo EDAC jest dostarczane z przyjaznym dla użytkownika graficznym interfejsem użytkownika, jak pokazano na rysunku 7, który działa na komputerze hosta i komunikuje się z zestawem rozwojowym RTG4. UART jest używany jako podstawowy protokół komunikacyjny między komputerem głównym a zestawem rozwojowym RTG4.
GUI zawiera następujące sekcje:
- Wybór portu COM do nawiązania połączenia UART z RTG4 FPGA z szybkością 115200 bodów.
- Zapis pamięci LSRAM: Aby zapisać dane 8-bitowe pod określonym adresem pamięci LSRAM.
- Czyszczenie pamięci: Aby włączyć lub wyłączyć logikę czyszczenia.
- Odczyt pamięci LSRAM: Odczyt danych 8-bitowych z określonego adresu pamięci LSRAM.
- Liczba błędów: Wyświetla liczbę błędów i udostępnia opcję wyzerowania wartości licznika.
- 1-bitowa liczba błędów: Wyświetla 1-bitową liczbę błędów i udostępnia opcję wyzerowania wartości licznika.
- 2-bitowa liczba błędów: Wyświetla 2-bitową liczbę błędów i udostępnia opcję wyzerowania wartości licznika.
- Dane dziennika: Zawiera informacje o stanie każdej operacji wykonanej za pomocą GUI.
Uruchamianie wersji demonstracyjnej
Poniższe kroki opisują sposób uruchamiania wersji demonstracyjnej:
- Iść do \v1.2.2\v1.2.2\Exe i kliknij dwukrotnie plik EDAC_GUI.exe, jak pokazano na rysunku 8.
- Wybierz port COM31 z listy i kliknij Połącz.
Jednobitowe wstrzykiwanie i korekcja błędów
- W dostarczonym projekcie Libero kliknij dwukrotnie projekt SmartDebug w przepływie projektowania.
- W graficznym interfejsie użytkownika SmartDebug kliknij opcję Debuguj macierz FPGA.
- W oknie Debug FPGA Array przejdź do zakładki Memory Blocks. Pokaże blok LSRAM w projekcie z logicznym i fizycznym view. Bloki logiczne są oznaczone ikoną L, a bloki fizyczne ikoną P.
- Wybierz wystąpienie bloku fizycznego i kliknij prawym przyciskiem myszy Dodaj.
- Aby odczytać blok pamięci, kliknij opcję Czytaj blok.
- Wprowadź 1-bitowy błąd do 8-bitowych danych w dowolnej lokalizacji LSRAM aż do głębokości 256, jak pokazano na poniższym rysunku, gdzie 1-bitowy błąd jest wstrzykiwany w 0-tej lokalizacji LSRAM.
- Kliknij opcję Zapisz blok, aby zapisać zmodyfikowane dane w wybranej lokalizacji.
- Przejdź do GUI EDAC i wprowadź adres w sekcji Odczyt pamięci LSRAM i kliknij Odczyt, jak pokazano na poniższym rysunku.
- Obserwuj pola Licznik błędów 1-bitowych i Odczyt danych w interfejsie GUI. Wartość licznika błędów wzrasta o 1.
Pole Odczyt danych wyświetla prawidłowe dane, gdy EDAC poprawia bit błędu.
Notatka: Jeśli czyszczenie pamięci nie jest włączone, liczba błędów jest zwiększana dla każdego odczytu z tego samego adresu LSRAM, ponieważ powoduje to błąd 1-bitowy.
Dwubitowe wstrzykiwanie i wykrywanie błędów
- Wykonaj kroki od 1 do 5 zgodnie z opisem w Wstrzykiwanie i korekcja błędów jednobitowych, strona 10.
- Wprowadź 2-bitowy błąd do 8-bitowych danych w dowolnej lokalizacji LSRAM aż do głębokości 256, jak pokazano na poniższym rysunku, gdzie 2-bitowy błąd jest wstrzykiwany w lokalizacji „A” LSRAM.
- Kliknij opcję Zapisz blok, aby zapisać zmodyfikowane dane w wybranej lokalizacji.
- Przejdź do GUI EDAC i wprowadź adres w sekcji Odczyt pamięci LSRAM i kliknij Odczyt, jak pokazano na poniższym rysunku.
- Obserwuj pola 2-bitowej liczby błędów i danych odczytu w interfejsie GUI. Wartość licznika błędów wzrasta o 1.
Pole Odczyt danych wyświetla uszkodzone dane.
Wszystkie działania wykonane w RTG4 są rejestrowane w sekcji konsoli szeregowej GUI.
Wniosek
To demo przedstawia możliwości EDAC pamięci RTG4 LSRAM. Błąd 1-bitowy lub błąd 2-bitowy są wprowadzane przez GUI SmartDebug. 1-bitowa korekcja błędów i 2-bitowe wykrywanie błędów są obserwowane przy użyciu graficznego interfejsu użytkownika EDAC.
Programowanie urządzenia za pomocą FlashPro Express
W tej sekcji opisano, jak zaprogramować urządzenie RTG4 za pomocą zadania programowania file za pomocą FlashPro Express.
Aby zaprogramować urządzenie, wykonaj następujące czynności:
- Upewnij się, że ustawienia zworek na płycie są takie same, jak podane w tabeli 3 w UG0617:
Podręcznik użytkownika zestawu deweloperskiego RTG4. - Opcjonalnie zworkę J32 można ustawić tak, aby łączyła styki 2-3 w przypadku korzystania z zewnętrznego programatora FlashPro4, FlashPro5 lub FlashPro6 zamiast domyślnego ustawienia zworki umożliwiającego korzystanie z wbudowanego programu FlashPro5.
Notatka: Przełącznik zasilania SW6 musi być wyłączony podczas wykonywania połączeń zworkowych. - Podłącz kabel zasilający do złącza J9 na płytce.
- WŁĄCZ przełącznik zasilania SW6.
- Jeśli używasz wbudowanego FlashPro5, podłącz kabel USB do złącza J47 i komputera głównego.
Alternatywnie, jeśli używasz zewnętrznego programatora, podłącz kabel taśmowy do złącza JTAG nagłówek J22 i podłącz programator do komputera hosta. - Na komputerze głównym uruchom oprogramowanie FlashPro Express.
- Kliknij Nowy lub wybierz Nowy projekt zadania z FlashPro Express Job z menu Projekt, aby utworzyć nowy projekt zadania, jak pokazano na poniższym rysunku.
- Wprowadź następujące informacje w oknie dialogowym Nowy projekt zadania z programu FlashPro Express Job:
- Praca programistyczna file: Kliknij Przeglądaj i przejdź do lokalizacji, w której .job file znajduje się i wybierz file. Domyślna lokalizacja to: \rtg4_dg0703_df\Programowanie_zadania
- Lokalizacja projektu zadania FlashPro Express: Kliknij Przeglądaj i przejdź do żądanej lokalizacji projektu FlashPro Express.
- Kliknij OK. Wymagane programowanie file jest wybrany i gotowy do zaprogramowania w urządzeniu.
- Pojawi się okno FlashPro Express, potwierdź, że w polu Programista pojawił się numer programatora. Jeśli tak się nie stanie, potwierdź połączenia płyty i kliknij Odśwież/Przeskanuj ponownie programistów.
- Kliknij URUCHOM. Gdy urządzenie zostanie pomyślnie zaprogramowane, zostanie wyświetlony status RUN PASSED, jak pokazano na poniższym rysunku.
- Zamknij FlashPro Express lub kliknij Wyjdź w zakładce Projekt.
Uruchamianie skryptu TCL
Skrypty TCL są zawarte w projekcie files w katalogu TCL_Scripts. W razie potrzeby projekt
przepływ można odtworzyć od wdrożenia projektu do wygenerowania zadania file.
Aby uruchomić TCL, wykonaj poniższe czynności:
- Uruchom oprogramowanie Libero
- Wybierz Projekt > Wykonaj skrypt….
- Kliknij Przeglądaj i wybierz script.tcl z pobranego katalogu TCL_Scripts.
- Kliknij Uruchom.
Po pomyślnym wykonaniu skryptu TCL projekt Libero jest tworzony w katalogu TCL_Scripts.
Więcej informacji na temat skryptów TCL można znaleźć w pliku rtg4_dg0703_df/TCL_Scripts/readme.txt.
Więcej informacji na temat poleceń TCL można znaleźć w Podręczniku poleceń Libero® SoC TCL. Skontaktuj się z pomocą techniczną w przypadku jakichkolwiek zapytań napotkanych podczas uruchamiania skryptu TCL.
Microsemi nie udziela żadnych gwarancji, oświadczeń ani gwarancji dotyczących informacji zawartych w niniejszym dokumencie lub przydatności swoich produktów i usług do jakiegokolwiek konkretnego celu, a także nie ponosi żadnej odpowiedzialności wynikającej z zastosowania lub użytkowania jakiegokolwiek produktu lub obwodu. Produkty sprzedawane w ramach niniejszej Umowy oraz wszelkie inne produkty sprzedawane przez Microsemi zostały poddane ograniczonym testom i nie powinny być używane w połączeniu ze sprzętem lub aplikacjami o znaczeniu krytycznym. Wszelkie specyfikacje wydajności są uważane za wiarygodne, ale nie są weryfikowane, a Kupujący musi przeprowadzić i zakończyć wszystkie testy wydajności i inne testy produktów, samodzielnie i razem z dowolnymi produktami końcowymi lub zainstalowanymi w nich. Kupujący nie będzie polegał na żadnych danych i specyfikacjach wydajności lub parametrach dostarczonych przez Microsemi. Obowiązkiem Kupującego jest samodzielne określenie przydatności dowolnych produktów oraz ich przetestowanie i weryfikacja. Informacje dostarczone przez Microsemi są dostarczane „tak jak są, gdzie są” i ze wszystkimi wadami, a całe ryzyko związane z takimi informacjami jest w całości po stronie Kupującego. Microsemi nie przyznaje, w sposób wyraźny ani dorozumiany, żadnej stronie żadnych praw patentowych, licencji ani żadnych innych praw własności intelektualnej, czy to w odniesieniu do samych takich informacji, czy czegokolwiek opisanego w takich informacjach. Informacje zawarte w tym dokumencie są własnością firmy Microsemi i firma Microsemi zastrzega sobie prawo do wprowadzania zmian w informacjach zawartych w tym dokumencie lub w dowolnych produktach i usługach w dowolnym czasie bez powiadomienia.
O Microsemi Microsemi, spółka zależna należąca w całości do Microchip Technology Inc. (Nasdaq: MCHP), oferuje kompleksowe portfolio rozwiązań półprzewodnikowych i systemowych dla przemysłu lotniczego i obronnego, komunikacji, centrów danych i rynków przemysłowych. Produkty obejmują wysokowydajne i odporne na promieniowanie analogowe układy scalone z sygnałem mieszanym, FPGA, SoC i ASIC; produkty do zarządzania energią; urządzenia do pomiaru czasu i synchronizacji oraz rozwiązania precyzyjnego pomiaru czasu, wyznaczające światowy standard czasu; urządzenia do przetwarzania głosu; rozwiązania radiowe; elementy dyskretne; rozwiązań pamięci masowej i komunikacji dla przedsiębiorstw, technologii bezpieczeństwa i skalowalnych zabezpieczeń anty-tamper produkty; rozwiązania Ethernet; Układy scalone Power-over-Ethernet i urządzenia midspan; a także niestandardowe możliwości i usługi projektowe. Dowiedz się więcej na www.microsemi.com.
Siedziba Microsemi
Jedno Przedsiębiorstwo, Aliso Viejo,
CA 92656 Stany Zjednoczone
W USA: +1 800-713-4113
Poza USA: +1 949-380-6100
Sprzedaż: +1 949-380-6136
Faks: +1 949-215-4996
E-mail: sprzedaż.support@microsemi.com
www.microsemi.com
©2021 Microsemi, spółka zależna należąca w całości do Microchip Technology Inc. Wszelkie prawa zastrzeżone. Microsemi i logo Microsemi są zastrzeżonymi znakami towarowymi firmy Microsemi Corporation. Wszystkie inne znaki towarowe i znaki usługowe są własnością ich odpowiednich właścicieli.
Microsemi zastrzeżony DG0703 wersja 4.0
Dokumenty / Zasoby
![]() |
Wykrywanie i korekcja błędów MICROCHIP w pamięci RTG4 LSRAM [plik PDF] Instrukcja użytkownika Demo DG0703, wykrywanie i korekcja błędów w pamięci RTG4 LSRAM, wykrywanie i korekcja w pamięci RTG4 LSRAM, pamięć RTG4 LSRAM, pamięć LSRAM |