Original title:
Generátor aritmetických obvodů
Translated title:
A Generator of Arithmetic Circuits
Authors:
Klhůfek, Jan ; Vašíček, Zdeněk (referee) ; Mrázek, Vojtěch (advisor) Document type: Bachelor's theses
Year:
2021
Language:
cze Publisher:
Vysoké učení technické v Brně. Fakulta informačních technologií Abstract:
[cze][eng]
Cílem této bakalářské práce je představení návrhu a implementace generátoru aritmetických obvodů v jazyce Python umožňující export těchto obvodů do různých reprezentací popisu v plochých a hierarchických podobách. Práce se nejprve věnuje specifikaci HW struktur jednotlivých typů aritmetických obvodů a způsobům popisu těchto struktur do různých reprezentací. Následuje představení koncepce a implementace nástroje zvaného ArithsGen schopného generovat aritmetické obvody a exportovat je do různých reprezentací popisu. Výstupní reprezentace pak slouží ke snadné simulaci funkčnosti navržených obvodů (C), k popisu hardwaru a logické syntéze (Verilog), k formální verifikaci (BLIF) či ke globální optimalizaci obvodů s využitím evoluční strategie (CGP). V závěru byly generované reprezentace jednotlivě otestovány a s využitím logické syntézy vzájemně porovnány.
The aim of this bachelor thesis is to present the design and implementation of an arithmetic circuit generator. The generator focuses on generating various output representations of arithmetic circuits in flattened and hierarchical forms using the Python programming language. The work first deals with the specification of HW structures of individual arithmetic circuits and the corresponding ways of describing these structures into various representations. Followed by an introduction to the concept and details of the implementation of a tool called ArithsGen, which is able to generate arithmetic circuits and export them to various output representations. The output representations are then used for fast and simple simulation of the designed circuits (C), to describe the hardware structures and perform logic synthesis (Verilog), to formal verify the designs (BLIF) or to globally optimize the circuits using the evolutionary strategy (CGP). Finally, the generated representations were individually tested and compared with each other using the results obtained from logic synthesis.
Keywords:
adder; arithmetic circuit; BLIF; C; Cartesian Genetic Programming (CGP); divider; flat design; generator; hierarchical design; logic gate; multiplier; Python; subtractor; Verilog; aritmetický obvod; BLIF; C; dělička; generátor; hierarchický popis; Kartézské Genetické Programování (CGP); logické hradlo; násobička; odčítačka; plochý popis; Python; sčítačka; Verilog
Institution: Brno University of Technology
(web)
Document availability information: Fulltext is available in the Brno University of Technology Digital Library. Original record: http://hdl.handle.net/11012/199324