• Nie Znaleziono Wyników

Index of /rozprawy2/11749

N/A
N/A
Protected

Academic year: 2021

Share "Index of /rozprawy2/11749"

Copied!
4
0
0

Pełen tekst

(1)

Testowanie rdzeni procesorowych implementowanych w FPGA

Rdzenie soft procesorowe, które są szeroko stosowane w układach programowalnych FPGA (Field Programmable Gate Arrays) bazujących na pamięciach SRAM, są szczególnie podatne na błędy indukowane typu SEU (Single Event Upset) i dlatego soft procesory powinny być gruntownie testowane. W aplikacjach użytkowych, rdzeń procesora jest normalnie testowany poprzez wykonywanie testu funkcjonalnego, podczas którego poszczególne instrukcje procesora są weryfikowane zestawem deterministycznych wzorców testowych i rezultaty są porównywane z zapisanymi referencyjnymi wartościami. Z powodu praktycznych ograniczeń, liczba wzorców testowych i odpowiadających im rezultatów jest zwykle mała, co naturalnie prowadzi do niskiego pokrycia błędów. Nowe podejście proponowane przez autora bazuje na ścieżce wrażliwej na dane, która ma nieco inną interpretacje jak ta, znana z bibliografii. W tej pracy autor rozwinął koncept który formuje bijektywną sekwencję testową złożoną z prawie wszystkich instrukcji procesora. Efektywność tego rozwiązania jest osiągnięta poprzez twardą zasadę, według której nowatorski sposób generacji sekwencji testowej wymaga bijektywnej relacji „jeden do jednego” pomiędzy wejściowymi wzorcami testowymi oraz rezultatami. W ten sposób autor aktywował duży procent ścieżek wrażliwych na dane. Związane z tym lepsze pokrycie błędów (85,6%) zostało osiągnięte przez program złożony z bijektywnych bloków (85,6%). Zdecydowanie najlepsze pokrycie błędów (94,76%) autor osiągnął kreując bijektywny program testowy, który generuje jednocześnie pełny cykl lokalnych wektorów. Podejście autora ilustruje eksperymentalny przypadek studyjny oraz ewaluację poprzez symulację błędów w rdzeniu procesora opisanym w języku HDL (Hardware Description Language). W celu określenia pokrycia błędów wymagane jest określenie sposobu wstrzykiwania błędów. Jako alternatywa do testów statystycznych bazujących na eksponowaniu FPGA na promieniowanie jonizujące, zostało opracowane oryginalne rozwiązanie oparte na symulacjach. Błędy w opisie HDL są modelowane poprzez zautomatyzowaną modyfikację indywidualnych bitów pamięci

(2)

LUT (Look Up Table). Zaproponowana zautomatyzowana symulacja wszystkich możliwych 1804 wstrzykniętych błędów jest bardzo bliska rzeczywistych błędów typu SEU co stanowi znaczące osiągnięcie tej pracy. Nowatorski model błędów przynosi podwójne korzyści: po pierwsze w ten sposób modelowane są błędy indukowane w pamięciach LUT typu SEU, które prowadzą do innej niż zamierzona implementacji funkcji logicznych. Drugą korzyścią jest możliwość interpretacji tych błędów w szczególnych przypadkach jako stuck-at na wejściach lub wyjściu LUT. Zatem zasoby programowalnych połączeń również są testowane. Stosując ten model, autor rozwinął kompletny system do ewaluacji programów testowych dedykowanych rdzeniom procesorowym implementowanym w FPGA. Dalsza część tej dysertacji jest poświęcona rozwijaniu metod optymalizacji. Zostały zaproponowane trzy metody optymalizacyjne. Ta część udowadnia, że zestaw wektorów testowych może być znacząco redukowany (dziewięć razy), co prowadzi do redukcji zasobów pamięci i czasu testowania. Autor zaprezentował również podejście do testowania poszczególnych bloków procesora i optymalizację zestawów lokalnych wektorów testowych. Ostatni rozdział przedstawia problem redundancji logicznych i hardwarowych, które uniemożliwiają uzyskanie 100% pokrycia błędów złożonego systemu implementowanego w FPGA. Rozdział ten przedstawia metody, przykłady, wyniki szczegółowych badań w tym zakresie oraz porównanie metod optymalizacyjnych i rezultatów pokrycia błędów uzyskanych przez różne aplikacje testowe z odniesieniem do bibliografii dziedziny.

(3)

Soft processor cores, which are widely used in SRAM-based FPGA (Field Programmable Gate Arrays) applications, are candidates for SEU-induced (Single Event Upset) faults and therefore these cores need to be thoroughly tested. In user applications, processor cores are normally tested by executing some kind of functional test in which the individual processor's instructions are tested with a set of deterministic test patterns, and the results are then compared with the stored reference values. For practical limitations the number of test patterns and corresponding results are usually small, which inherently leads to low fault coverage. The proposed approach is based on a data-sensitive path with slightly different meaning as known from bibliography. In this work the author has developed a concept that combines the whole instruction-set test into a bijective test sequence. According to this strict rule a novel test-sequence generation principle was introduced, where the test sequence requires one-to- one bijective correspondence between the input test pattern and the result. In this way the author has activated high percent of data sensitive paths. Hence, the program composed from bijective blocks achieved significantly better fault coverage (85,6%) than well- known computing application or test programs with simpler architectures. Definitively, the author has achieved the best fault coverage (94,76 %) by creating bijective test program, which generates simultaneously complete cycle of local test vectors. The approach is illustrated by an experimental case study and evaluated by simulating faults in the HDL (hardware description language) description of the processor core. In order to determine the fault coverage of SEU-induced faults a model of fault injection must be provided. As an alternative to the statistical-based radiation tests, an original simulation-based solution was invented by the author. The faults in an HDL description of a system are modeled by automated modifying the individual bits in LUT (Look Lip Table) memory. Behavior of each functional block is described by an HDL model, after a fault has been injected. Their HDL descriptions reflect the FPGA structure in order to efficiently use the FPGA resources. One of the most important novelty introduced hereby is a novel model of injected faults. Benefits of novelty proposed in this work are double, because in this way it is possible to model natural

(4)

SEU faults in LUTs, which lead to different implementations of logical functions as these intended. The second benefit is, that these faults can be interpreted in particular cases as a stuck-at „0” or stuck-at „1” faults at inputs or output of LUTs, so the FPGA routing resources are also simulated. The injected faults are equivalent to SEUs. The HDL model reflects the change of configuration, which is a consequence of the SEU effect. Using this model the author has elaborated complete system to evaluation test programs dedicated to test of processor cores implemented in FPGAs. The further part of the dissertation is devoted to development of the test optimization methods. This part proves, that the set of test vectors can be minimized nine times. Three optimization strategies are presented herein. These methods saved up memory resources and shortened testing time. The author has proposed an approach to testing of individual blocks of processor and optimization of sets of local test vectors. The last chapter describes the problem of logical and hardware redundancies, which make impossible achievement of 100% fault coverage for any complex system implemented in FPGA. This chapter presents methods, examples and results of detailed author’s researches in this matter. A comparison of these optimization methods is made at the end of the dissertation.

Cytaty

Powiązane dokumenty

The author conducted a survey of existing optical solutions for methane analysis with the use of optoelectronic components, identify problems in the implementation of

The fourth chapter describes the test methods the steel cord belt, which are currently the most widely used worldwide to test their technical condition.. The next chapter presents

The thesis presents a range of advanced hardware modules to realize image processing, analysis and encryption implemented in reprogrammable FPGA device.. Encryption with the

Computer  programs  are  increasingly  used  in  designing  room  acoustics,  but  the  problem  of  determining  the  reliability  of  these  simulations  are  so 

Thesis I The signal pre-processing algorithm based on filtration and estimation of statistics from the vibration signal and an artificial neural network dedicated for

Implementation of the architecture follows the standard MAPE (Monitoring, Analysis, Planning, Execution) adaptation pattern, in which the planning component is implemented by a

The presented doctoral dissertation summarizes several years of research conducted by the author on the archaeological site Tell el-Farkha in Egypt.. The paper is

The aim of the dissertation is the implementation of the pattern search mechanisms implemented entirely by hardware using the reconfigurable FPGA logic systems and the expansion