bachelorThesis
Síntese de circuitos combinacionais por meio de hardware evolutivo
Fecha
2019-06-25Registro en:
LOPES, Guilherme. Síntese de circuitos combinacionais por meio de hardware evolutivo. 2019. Trabalho de Conclusão de Curso (Engenharia de Elétrica) - Universidade Tecnológica Federal do Paraná (UTFPR), Pato Branco, 2019.
Autor
Lopes, Guilherme
Resumen
A computational tool for the automatic synthesis of combinational circuits has been developed and implemented whose operation is based on genetic algorithms. In order for the synthesis to occur through the tool, it is enough that the user provides the truth table. Therefore, there is no need for anyone who uses the tool to have prior knowledge in terms of bioinspired systems. As a final processing result, the combinational circuit corresponding to the requested response is provided in the hardware description language format, which can be configured in a programmable logic device. Although one could wait for a number of attempts until the desired result was obtained in a tool that was based on heuristics, a 100% success rate was achieved in the first run for the synthesis of any system with two or three inputs and all tests that were possible to perform with 4x1 systems. Therefore, the tool, based on heuristics, provides deterministic answers. The tool is made up of diferente modules, all developed in the C language, from modules previously developed by the scientific community, such as Simple Genetic Algorithm, as well as 100% own authorship modules. All modules are described and commented in detail. One of the contributions of this study is to collaborate in the area of fault-tolerant systems: self-recovery mechanisms commonly used in fault-tolerant systems are not capable of employing specialized algorithms such as Quine-McCluskey or Espresso because the number of logical elements available in a system in fault condition is uncertain. In contrast, bioinspired mechanisms such as the one used in this study do not require internal details of the system to function, only by searching for the fulfillment of the objective function at each iteration.