|
Principles of test stimuli generation
Čekan, Ondřej ; Kubátová, Hana (oponent) ; Plíva, Zdeněk (oponent) ; Kotásek, Zdeněk (vedoucí práce)
The research presented in this thesis is focused on the design of general principles in the field of generating stimuli for various systems. Stimuli represent the input data of a system that determines its behavior. A significant advantage is the use of these principles in the field of functional verification. Functional verification is one of the verification techniques that verifies the correct behavior of the system by monitoring its inputs and outputs. The proposal took into account four key criteria in terms of generating stimuli - parameterizability, speed, randomness, versatility. Based on the design, the architecture of stimuli generation for general use was defined. Input structures are used to describe stimuli, which define the desired stimulus format and the constraints imposed on it. Thanks to this, it is possible to obtain both a valid stimulus and change the constraints during the generation, which is especially suitable for obtaining higher coverage in functional verification. The general definition of stimuli is ensured by a formal description. The research defined the principles of creating stimuli for processors, functional units and application data. The presented method achieves an improvement over conventional approaches.
|
|
Use of verification for testing fault-tolerance in FPGA-based system
Podivínský, Jakub ; Fišer, Petr (oponent) ; Racek, Stanislav (oponent) ; Kotásek, Zdeněk (vedoucí práce)
Fault tolerance is one of the most commonly used techniques to eliminate the effect of faults on digital systems and increase their reliability. This work presents a platform for testing such fault tolerance techniques targeted to FPGA-based systems. The platform uses the principles of functional verification, while the experimental electronic controller is moved to the FPGA, which allows the use of fault injection directly into the FPGA. The platform makes it possible to use the electro-mechanical application as an experimental system and allows to monitor the effect of faults on both the electronic controller and the behavior of controlled mechanical part. This work presents experiments with two experimental systems - robot for finding a path through a maze and an electronic lock. The platform is designed to allow the use of any experimental system with an electronic control unit implemented in the FPGA
|
|
Verification environment for BLDC motor controller
Kalocsányi, Vít ; Kajan, Michal (oponent) ; Dvořák, Vojtěch (vedoucí práce)
This thesis addresses the need for thorough verification in the design of BLDC motor controllers. This paper explains functional verification of digital circuits and Universal Verification Methodology (UVM), and it focus on the design of verification environment using this methodology. In this work a typical structure of BLDC motor controller is explained and the verification method for this controller is suggested. Furthermore, implementation of the verification environment is described, and benefits of introducing the UVM into the verification workflow are discussed.
|
|
Hardware Accelerated Functional Verification
Zachariášová, Marcela ; Kotásek, Zdeněk (oponent) ; Kajan, Michal (vedoucí práce)
Functional verification is a widespread technique to check whether a hardware system satisfies a given correctness specification. The complexity of modern computer systems is rapidly rising and the verification process takes a significant amount of time. It is a challenging task to find appropriate acceleration techniques for this process. In this thesis, we describe theoretical principles of different verification approaches such as simulation and testing, functional verification, and formal analysis and verification. In particular, we focus on creating verification environments in the SystemVerilog language. The analysis part describes the requirements on a system for acceleration of functional verification, the most important being the option to easily enable acceleration and time equivalence of an accelerated and a non-accelerated run of a verification. The thesis further introduces a design of a verification framework that exploits the field-programmable gate array technology, while retaining the possibility to run verification in the user-friendly debugging environment of a simulator. According to the experiments carried out on a prototype implementation, the achieved acceleration is proportional to the number of checked transactions and the complexity of the verified system. The maximum acceleration achieved on the set of experiments was over 130 times.
|
|
Prostředí pro funkční verifikaci multi-sběrnic podle UVM standardu
Beneš, Tomáš ; Šišmiš, Lukáš (oponent) ; Kekely, Lukáš (vedoucí práce)
Práce se zabývá návrhem a následnou implementací prostředí pro verifikace multi-sběrnic s využitím principů univerzální verifikační metodologie (UVM). Dále se zabývá implementací verifikací tří FPGA konkrétních komponent využívající multi-sběrnice jako vstupní a výstupní rozhraní. Implementace prostředí i všech verifikací je napsaná v jazyce SystemVerilog s využitím knihovny implementující základní konstrukce pro UVM. Dosažené výsledky práce jsou funkční a jednoduše znovupoužitelné při tvorbě dalších verifikací využívající multi-sběrnic. Navržené prostředí se dají využít jako struktura pro tvorbu dalších verifikačních prostředí pro jiné sběrnice.
|
|
Specifikace scénářů portovatelných stimulů pro moduly procesoru RISC-V
Bardonek, Petr ; Bidlo, Michal (oponent) ; Zachariášová, Marcela (vedoucí práce)
Práce se zabývá návrhem a implementací verifikačních scénářů portovatelných stimulů pro vybrané moduly procesoru Berkelium implementujícím architekturu RISC-V od společnosti Codasip. Cílem této práce je s využitím nového standardu pro Portable Stimulus připravovaného organizací Accellera navrhnout a implementovat scénáře portovatelných stimulů za použití nástroje Questa InFact od společnosti Mentor. Takto navržené scénáře portovatelných stimulů se připojí k již existujícím verifikačním prostředím vytvořených podle metodiky UVM a následně se pomocí nich provede verifikace modulů procesoru Berkelium implementujícím architekturu RISC-V. Poslední částí práce je vyhodnocení úrovně portovatelnosti implementovaných scénářů do jednotlivých úrovní procesoru Berkelium implementujícím architekturu RISC-V (IP bloky, subsystémy, systémy jako celek), kdy je snahou využít navržené scénáře napříč všemi verifikovanými úrovněmi.
|
|
Funkční verifikace výpočetních jednotek procesoru
Valach, Lukáš ; Lengál, Ondřej (oponent) ; Masařík, Karel (vedoucí práce)
Práce se zaobírá začleněním procesu funkční verifikace do vývojového cyklu návrhu funkčních jednotek v prostředí pro souběžný návrh hardwaru a softwaru systému Codasip. Cílem bylo navrhnout a implementovat verifikační prostředí v jazyku SystemVerilog pro verifikaci automaticky generované hardwarové reprezentace těchto jednotek. Na začátku jsou rozebrány přínosy a obvyklé postupy při funkční verifikaci a vlastnosti systému Codasip. Dále je v práci popsán návrh, implementace, analýza průběhu a výsledků testů verifikace simulačního modelu aritmeticko-logické jednotky. Závěrem jsou zhodnoceny dosažené výsledky práce a navrhnuta zlepšení pro možný další rozvoj verifikačního prostředí.
|
|
New Methods for Increasing Efficiency and Speed of Functional Verification
Zachariášová, Marcela ; Dohnal, Jan (oponent) ; Steininger, Andreas (oponent) ; Kotásek, Zdeněk (vedoucí práce)
In the development of current hardware systems, e.g. embedded systems or computer hardware, new ways how to increase their reliability are highly investigated. One way how to tackle the issue of reliability is to increase the efficiency and the speed of verification processes that are performed in the early phases of the design cycle. In this Ph.D. thesis, the attention is focused on the verification approach called functional verification. Several challenges and problems connected with the efficiency and the speed of functional verification are identified and reflected in the goals of the Ph.D. thesis. The first goal focuses on the reduction of the simulation runtime when verifying complex hardware systems. The reason is that the simulation of inherently parallel hardware systems is very slow in comparison to the speed of real hardware. The optimization technique is proposed that moves the verified system into the FPGA acceleration board while the rest of the verification environment runs in simulation. By this single move, the simulation overhead can be significantly reduced. The second goal deals with manually written verification environments which represent a huge bottleneck in the verification productivity. However, it is not reasonable, because almost all verification environments have the same structure as they utilize libraries of basic components from the standard verification methodologies. They are only adjusted to the system that is verified. Therefore, the second optimization technique takes the high-level specification of the system and then automatically generates a comprehensive verification environment for this system. The third goal elaborates how the completeness of the verification process can be achieved using the intelligent automation. The completeness is measured by different coverage metrics and the verification is usually ended when a satisfying level of coverage is achieved. Therefore, the third optimization technique drives generation of input stimuli in order to activate multiple coverage points in the veri\-fied system and to enhance the overall coverage rate. As the main optimization tool the genetic algorithm is used, which is adopted for the functional verification purposes and its parameters are well-tuned for this domain. It is running in the background of the verification process, it analyses the coverage and it dynamically changes constraints of the stimuli generator. Constraints are represented by the probabilities using which particular values from the input domain are selected. The fourth goal discusses the re-usability of verification stimuli for regression testing and how these stimuli can be further optimized in order to speed-up the testing. It is quite common in verification that until a satisfying level of coverage is achieved, many redundant stimuli are evaluated as they are produced by pseudo-random generators. However, when creating optimal regression suites, redundancy is not needed anymore and can be removed. At the same time, it is important to retain the same level of coverage in order to check all the key properties of the system. The fourth optimization technique is also based on the genetic algorithm, but it is not integrated into the verification process but works offline after the verification is ended. It removes the redundancy from the original suite of stimuli very fast and effectively so the resulting verification runtime of the regression suite is significantly improved.
|
|
Zpětnovazební funkční verifikace hardware
Santa, Marek ; Kajan, Michal (oponent) ; Kořenek, Jan (vedoucí práce)
Vyhnout se chybám při vývoji číslicových systémů je téměř nemožné. Přitom brzké odhalení chyb pomáha šetřit čas i peníze. Tato práce se zabývá automatizací zpětné vazby ve funkčních verifikacích různých komponent na spracování dat. Automatická zpětná vazba má za úkol přinést nejen zkrácení času potřebného k ověření funkčnosti systému, ale zejména zlepšit prohledávání okrajových podmínek a zvýšit tak důvěru ve verifikovaný systém. V práci jsou diskutovány principy a postupy jak funkční tak i formální verifikace, metriky poskytující představu o tom, jaká část funkcionality byla pokryta, jsou popsány nedostatky zmíněných technik a identifikován prostor pro zlepšení současného stavu. Následně je představen návrh spětnovazebního verifikačního prostředí využívajícího genetický algoritmus. Na závěr práce jsou shrnuty dosažené výsledky verifikace.
|
|
Generátor změn obrazu burzy
Cienciala, Ondřej ; Zachariášová, Marcela (oponent) ; Dvořák, Milan (vedoucí práce)
Tento dokument analyzuje zprávy zasílané burzami NYSE Arca a ISE a popisuje návrh generátoru, který generuje zprávy měnící obraz burzy. Lze ho využít pro testování programů, které pracují s informacemi zasílanými elektronickými burzami. Jsou popsány techniky verifikace řízené pokrytím a generování náhodných vstupních vektorů. Generování zpráv je založeno na XML šabloně, díky čemuž může být generátor použit pro různé burzy.
|