Uso de Machine Learning para a Síntese Física de Circuitos Integrados Digitais
Author:
Müller, Gabriel Goulart
Abstract:
O projeto de circuitos integrados (chips) é uma tarefa de alta complexidade e exige uma metodologia rígida seguindo um fluxo de passos, cada qual sendo responsável por solucionar uma etapa. Tal fluxo se inicia com a descrição do comportamento que o chip deverá apresentar, passando por síntese lógica e projeto físico, agregam-se detalhes de implementação, até chegar em uma descrição que permite a fabricação. Em alguns casos, as ferramentas EDA (Eletronic Design Automation) disponíveis podem gerar soluções insatisfatórios que tornam inviáveis a continuidade da realização dos próximos passos do projeto, de tal modo que é necessário que o passo em questão seja refeito, e em algumas situações, até mesmo etapas anteriores a ele, o que leva a um aumento significativo no tempo total de realização do projeto. Visando mitigar este problema, este trabalho de iniciação científica estudou o uso de redes neurais convolucionais (CNNs), que são técnicas de aprendizado de máquina, para prever a qualidade e precisão das soluções geradas na etapa de síntese física. Estes estudos permitiram que se constata-se a grande dificuldades para se construir uma infraestrutura para realizar o treinamento das CNNs. Considerando tal dificuldade, bem como a limitação de tempo que um bolsista PIBIC dispõe para o projeto, o trabalho passou a focar no desenvolvimento e otimização de alguns algoritmos simples, mas extremamente úteis no contexto da síntese física, quais sejam: HPWL (Half Perimeter Wire Length), Simulated Annealing Placer e Steiner Tree. Tais algoritmos foram desenvolvidos em C++ e compilados para rodar na plataforma OpenROAD. Estima-se que a plataforma OpenROAD servirá de base para a construção da infraestrutura necessária para se levar a diante o treinamento das CNNs.