|
Automatizace tvorby scénářů přenositelných stimulů pomocí evolučních algoritmů
Tichý, Andrej ; Bardonek, Petr (oponent) ; Zachariášová, Marcela (vedoucí práce)
Táto práca sa zaoberá automatizáciou tvorby scenárov pre štandard Portable Stimulus. Hlavným cieľom práce je automatické generovanie testov, ktoré sú definované formou grafu pre nástroj Questa InFact od spoločnosti Mentor. K automatizácii som použil evolučný algoritmus s využitím gramatickej evolúcie. Pri implementácii som využil framework PonyGe2, ktorý zastrešuje implementáciu niektorých variačných operátorov gramatickej evolúcie. Vygenerované scenáre sa pripoja k existujúcemu verifikačnému prostrediu, založenom na metodike UVM, a následne je spustená verifikácia pripojeného komponentu. Na základe dosiahnutého funkčného a štrukturálneho pokrytia je vypočítaná fitness hodnota jedinca, ktorá je propagovaná do evolučného algoritmu. V závere práce sú vykonané experimenty nad komponentom časovač a vyhodnotený prínos navrhnutého evolučného algoritmu. Navrhnutý evolučný algoritmus je konfigurovateľný pomocou gramatiky a užívateľom definovaných základných transakcií, čo umožňuje široké spektrum použitia. Evolučný algoritmus dokázal na verifikovanom komponente časovač dosiahnuť vysoké funkčné a štrukturálne pokrytie.
|
|
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.
|
|
Automatizace verifikace pomocí neuronových sítí
Fajčík, Martin ; Husár, Adam (oponent) ; Zachariášová, Marcela (vedoucí práce)
Úlohou tejto práce je analýza a riešenie optimalizačných problémov vychádzajúcich z automatizácie funkčnej verifikácie hardvéru pomocou umelých neurónových sietí. Verifikácia ľubovoľného integrovaného obvodu (Design Under Verification, DUV) pomocou techniky verifikácie riadenej pokrytím (Coverage-Driven Verification) a metodiky UVM (Universal Verification Methodology) prebieha tak, že do DUV sú zasielané vstupné stimuly, pri ktorých verifikačné prostredie monitoruje percentuálne pokrytie DUV pomocou predom určenej špecifikácie sledovaných vlastností. Pokrytím v tomto kontexte myslíme merateľnú vlastnosť DUV, ako napríklad počet overených aritmetických operácií, či počet aktivovaných riadkov kódu. Na základe dosiahnutej veľkosti pokrytia a stanovenej špecifikácie je možné prehlásiť DUV za zverifikovaný. Súčasným trendom v automatizácii funkčnej verifikácie hardvéru je pseudonáhodné generovanie vstupných stimulov s obmedzeniami (constraints) pomocou techniky constrained-random stimulus generation. V tejto práci sa preto zaoberáme ovládaním pseudonáhodného generátoru stimulov (PNG), pričom obmedzenia pre generátor sú ovládané externým prostriedkom a to konkrétne neurónovou sieťou. Využívame tak vlastnosti neurónových sietí pre riešenie optimalizačných problémov vhodné pre prehľadávanie stavového priestoru pokrytia DUV. Riešenými optimalizačnými problémami sú priebežná úprava obmedzení PNG takým spôsobom, aby došlo k čo najrýchlejšiemu zverifikovaniu DUV a hľadanie najmenšej množiny stimulov takej, že táto množina zverifikuje DUV. Kvalitatívne vlastnosti navrhnutých riešení sú overené na 32-bitových aplikačne špecifických procesoroch (ASIPs) s názvom Codasip uRISC a Codix Cobalt.
|
|
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.
|
|
Automatizace verifikace řízené pokrytím pro procesory ASIP
Badáň, Filip ; Hynek, Jiří (oponent) ; Zachariášová, Marcela (vedoucí práce)
Táto práca sa zaoberá návrhom a implementáciou automatizácie verifikácie riadenej pokrytím pomocou genetického algoritmu pre aplikačne špecifické procesory. Cieľom práce je prepojiť verifikačné prostredie podľa metodiky UVM s už navrhnutým genetickým algoritmom a pripraviť ho na integráciu do vývojového prostredia Codasip Studio. Jadro finálneho riešenia spočíva v úprave UVM komponentov verifikačného prostredia a v zabezpečení správnej komunikácie genetického algoritmu s generátorom náhodných aplikácií.
|
|
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.
|
|
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í.
|
|
Hardwarově akcelerovaná funkční verifikace procesoru
Funiak, Martin ; Kajan, Michal (oponent) ; Zachariášová, Marcela (vedoucí práce)
Mezi aktuálně používané verifikační přístupy patří funkční verifikace. Při funkční verifikaci se ověřuje korektnost implementace počítačového systému vzhledem k specifikaci. Slabým místem v rámci přístupu funkční verifikace je její časová náročnost, na kterou má vliv pomalá softwarová simulace implicitně paralelních hardwarových systémů. V této práci je představeno řešení využívající hardwarovou akceleraci funkční verifikace procesoru. Úvodní kapitoly tvoří teoretický základ pro následující kapitoly, ve kterých se nachází analýza a výběr řešení, návrh verifikačního prostředí a implementační detaily. Závěr práce obsahuje testování výsledného produktu, zhodnocení výsledků práce a vyhlídky do budoucna.
|
|
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.
|
|
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.
|