|
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.
|
|
C++ knihovna pro práci s čísly v pohyblivé řádové čárce s libovolnou přesností
Závada, Vladislav ; Šnobl, Pavel (oponent) ; Hruška, Tomáš (vedoucí práce)
Tato práce se zabývá návrhem floating point modulu, který umožní provádět operace s floating point operandy které mají libovolnou bitovou šířku. K tomuto účelu je modul implementován jako šablonová třída v jazyce C++. Modul je navržen tak aby umožňoval jeho použití při návrhu aplikačně specifického procesoru. Nejprve je popsán standard floating point čísel a šablonové funkce v jazyce c++. V praktické části jsou poté popsány algoritmy jednotlivých operací a návrh samotného modulu jako šablonové knihovny.
|
|
Architecture Information for LLVM Compiler Optimizations
Svoboda, Jan ; Dolíhal, Luděk (oponent) ; Hruška, Tomáš (vedoucí práce)
This thesis deals with the automatic extraction of processor architecture information from the CodAL language. Extracted information is used as the base for a cost model of the optimizer in the LLVM compiler. In this thesis, a new system was implemented, that creates the cost model, transforms it into a C++ code and compiles it into a dynamic library. This library is loaded at run-time by the compiler and used for better decision-making during the optimization process. The system achieves an average reduction in program code size of 14% and up to 68% improvement in the performance of the generated code.
|
|
Automatizace analýzy výkonu a spotřeby zvoleného systému
Rudolf, Tomáš ; Jaroš, Jiří (oponent) ; Nikl, Vojtěch (vedoucí práce)
Tato práce se zabývá zvýšením efektivity superpočítačů. Vyšší efektivity lze dosáhnout pomocí snížení frekvence procesoru, pokud to daný algoritmus výrazně nezpomalí. Tato práce představuje sadu skriptů určených ke sledování spotřeby procesoru společně se skripty pro vizualizaci těchto naměřených hodnot. Dále také umožňuje jednoduché ovládání frekvence procesoru. Vytvořené řešení poskytuje uživateli možnost změřit efektivitu a optimalizovat výpočetní výkon počítače specificky pro jeho algoritmus. Díky této práci bude uživatel informován o tom, zda je výhodné provozovat jeho algoritmus na té či oné frekvenci procesoru.
|
|
Výukový simulátor počítačového systému
Friml, Dominik ; Macho, Tomáš (oponent) ; Petyovský, Petr (vedoucí práce)
Tato bakalářská práce se dělí na několik částí. První obsahuje seznámení s jednotlivými komponentami procesoru a několika jeho periferiemi. Další částí práce je rešerše reálných, výukových a demonstračních prostředků použitelných ve výuce. Z výsledků této rešerše byly vytvořeny požadavky na výukový systém. Podle požadavků byl proveden návrh architektury výukového procesoru pro výuku nejen na UAMT VUT. V práci je také popsán postup, který vedl k vytvoření fungujícího simulátoru navrženého procesoru. Poslední částí práce je návrh několika výukových úloh, které demonstrují principy fungování obecného počítačového systému a problematiku programování ve strojovém kódu a jazyku assembler.
|
|
Řízení vícesměrového podvozku
Krsek, Jiří ; Kopečný, Lukáš (oponent) ; Šolc, František (vedoucí práce)
Tématem bakalářské práce je vytvořit funkční model mobilního robota vybaveného vícesměrovým podvozkem. Robot bude osazen vlastní řídicí jednotkou skládající se z 32-bitového procesoru a komunikační bezdrátové jednotky, která zajišťuje spojení s nadřazeným systémem. Tento nadřazený systém slouží jako vizualizační rozhraní robot - operátor a s jeho pomocí bude možné zadávat údaje pro žádaný pohyb robota. Výpočet pohybu jednotlivých aktuátor je zajištěn řídicí jednotkou robota.
|
|
Zdroj vysokonapěťových pulzů pro elektroporaci buněk
Puczok, Václav ; Martiš, Jan (oponent) ; Červinka, Dalibor (vedoucí práce)
Hlavním cílem této práce je vytvoření řídící desky přístroje určeného pro ireverzibilní elektroporaci a napsání řídícího firmware pro použitý procesor. V první kapitole je pojednáno o samotném principu buněčné elektroporace. Je zde popsán model buňky v elektrickém poli, účinek elektroporace na živou tkáň a také simulace metody. Dále jsou definovány požadavky na parametry pulzů ireverzibilní elektroporace a také požadavky na bezpečí pacienta ve smyslu synchronizace pulzů se signálem EKG. Na konci první kapitoly je vysvětlen princip nové vysokofrekvenční elektroporační metody H-FIRE, při které jsou do tkáně aplikovány dávky bipolárních, vysokonapěťových, velmi krátkých pulzů. Ve druhé kapitole je stručně představeno komerční elektroporační zařízení Nanoknife. Je zde popsána jeho výkonová i řídící část, včetně uvedení mezních parametrů zařízení. Ve třetí kapitole je představen nový přístroj pro ireverzibilní elektroporaci vyvinutý na VUT v Brně a stručně popsáno zapojení jeho výkonové části. Čtvrtá kapitola se týká návrhu řídící desky. Jsou zde popsány jednotlivé schematické bloky celého zapojení. V páté kapitole je charakterizován algoritmus řídícího programu, následuje stručný manuál k přístroji.
|
|
Možnosti programování mikrořadičů
Šubrt, Stanislav ; Kovář, Jiří (oponent) ; Houška, Pavel (vedoucí práce)
Tato práce se zabývá vnitřní strukturou a možnostmi programování mikrořadičů. Cílem práce je popsat vnitřní strukturu mikrořadičů z pohledu programátora, zhodnotit výhody a nevýhody jejich programování v jazyce symbolických adres, jazyce C a nástrojích vyšší úrovně. Dále se práce zabývá přenositelností kódu mezi různými rodinami a architekturami mikrořadičů.
|
|
Periferie procesoru RISC-V
Vavro, Tomáš ; Kekely, Lukáš (oponent) ; Martínek, Tomáš (vedoucí práce)
Platforma RISC-V je jedným z lídrov v odvetví počítačových a vstavaných systémov. Pri čoraz väčšej miere využívania takýchto systémov rastie dopyt po dostupných perifériách pre implementácie tejto platformy. Táto práca sa zaoberá procesorom FU540-C000 od spoločnosti SiFive, ktorý je jednou z implementácií architektúry RISC-V, a jeho základnými perifériami. Na základe analýzy bol spomedzi periférií tohoto procesoru zvolený obvod UART slúžiaci pre asynchrónnu sériovú komunikáciu. Cieľom tejto diplomovej práce je danú perifériu navrhnúť a implementovať v niektorom z jazykov pre popis číslicových obvodov, a následne vytvoriť verifikačné prostredie, prostredníctvom ktorého bude overená funkčnosť implementácie.
|
|
Graphical Simulator of Superscalar Processors
Vávra, Jan ; Mrázek, Vojtěch (oponent) ; Jaroš, Jiří (vedoucí práce)
The focus of this thesis is implementation of the superscalar simulator. The implementation follows research of existing simulators and tries to implement missing features from them. Simulator uses RISC-V instruction set architecture, but architecture can be swapped for any RISC instruction set. Simulator implements deterministic branch prediction. Parts of the simulation can be configured. The simulator application also contains a text editor for inputting source code.
|