Title: | Adaptive Batch Size CGP: improving CGP logic optimization flow |
Author: | Lima, Bryan Martins |
Abstract: |
Síntese lógica é responsável por produzir um modelo detalhado a nível lógico a partir da abstração de um circuito digital realizada por um designer de circuitos. Ela permite a automação na produção de circuitos lógicos e é fundamental na automação de projetos eletrônicos, transformando especificações de circuitos de alto nível em uma descrição de conexões de um circuito, visando manter o número de componentes lógicos o menor possível. Além disso, o principal objetivo da síntese lógica é implementar o “melhor” circuito possível. No entanto, o melhor circuito é composto entre o equilíbrio entre área, atraso e consumo de energia. O setor industrial precisa criar novas técnicas que acompanhem a crescente complexidade dos circuitos integrados. Considerando que técnicas de Machine Learning (ML) estão sendo utilizadas em diversas áreas do conhecimento devido a suas habilidades de reconhecimento de padrões, classificação e previsão, era uma questão de tempo até que elas fossem utilizadas no processo de síntese lógica. Essas técnicas têm sido utilizadas antes mesmo da construção física de circuitos lógicos, prevendo o consumo de energia e diretamente no processo síntese lógica. Uma dessas técnicas é o Cartesian Genetic Programming (CGP). O CGP é uma forma de programação genética, que se enquadra no campo dos algoritmos evolutivos, em que uma aplicação tem a capacidade de evoluir automaticamente. Esse algoritmo utiliza grafos para representar programas sendo chamado de “cartesiano” porque representa esses programas com uma matriz bidimensional. As abordagens baseadas em CGP apresentam vantagens nos processos de aprendizagem e otimização lógica. No entanto, o principal desafio dos fluxos baseados em CGP é o tempo de execução extenso quando comparado com outras estratégias de síntese lógica. Este trabalho propõe uma técnica, chamada Adaptive Batch Size CGP, que visa reduzir o tempo de execução necessário para o algoritmo aprender circuitos lógicos. A estratégia proposta aumenta dinamicamente o número de termos selecionados da tabela-verdade usada para avaliar os indivíduos durante o processo evolutivo. Ao avaliar a estratégia proposta aplicando-a a um benchmark com exemplares dos domínios de Aritmética, Lógica Aleatória e Machine Learning, os resultados indicam uma redução média de 53,65% no número de avaliações necessárias em comparação com o fluxo CGP padrão; e, apresentaram um aumento geral de 2,66% na precisão, enquanto nenhum circuito sintetizado apresentou uma diminuição estatisticamente significativa na precisão. The main goal of logic synthesis of integrated circuits is to create a detailed logic-level model of a designers’ abstraction of a circuit. It allows automation in the production of logic circuits and is crucial in electronic design automation, transforming high-level circuit specifications into a description of connections of a circuit, keeping the number of logical components as small as possible. Furthermore, the main purpose of logic synthesis is to implement the “best” circuit possible. However, the best circuit is composed of a trade-off between area, delay, and power consumption. There is a need by the industry to create novel techniques that can keep up with the growing complexity of integrated circuits. Considering that Machine Learning (ML) techniques are being used in a varied number of human and technological domains due to the pattern recognition, classification, and prediction capabilities, it was a matter of time before the techniques would be used in the logic synthesis process. ML techniques have been used even before the physical construction of logic circuits, predicting the power consumption and directly in the logic synthesis process. One such technique is Cartesian Genetic Programming (CGP). CGP is a form of genetic programming, which falls into the field of evolutionary algorithms, in which a computer program has the ability to evolve automatically. This algorithm uses graphs to represent programs and is called “Cartesian” because it represents these programs with a two-dimensional matrix. CGP-based approaches show advantages in the logic learning and logic optimization processes. However, the main challenge of CGP-based flows is the extensive runtime compared to other logic synthesis strategies. This work proposes a strategy, called Adaptive Batch Size CGP, that aims to reduce the runtime required for the algorithm to learn logic circuits. The proposed strategy dynamically increases the number of selected terms of the Truth Table used for evaluating the individuals during the evolutionary process. By evaluating the proposed strategy on a benchmark with exemplars from the Arithmetic, Random Logic, and Machine Learning domains, the results indicate an average reduction of 53.65% in the number of evaluations needed compared to the standard CGP flow; Furthermore, they presented an overall increase of 2.66% in accuracy, while no synthesized circuit presented a statistically significant accuracy decrease. |
Description: | TCC (graduação) - Universidade Federal de Santa Catarina, Centro Tecnológico, Ciências da Computação. |
URI: | https://repositorio.ufsc.br/handle/123456789/248651 |
Date: | 2023-07-04 |
Files | Size | Format | View | Description |
---|---|---|---|---|
TCC.pdf | 1.723Mb |
View/ |
TCC |