Banca de TCC – Andrei Ali Odes Bubolz
UNIVERSIDADE FEDERAL DE PELOTAS
CENTRO DE DESENVOLVIMENTO TECNOLÓGICO
TRABALHO DE CONCLUSÃO DE CURSO
Apresentações Finais (2018/2)
Implementação de Um Método de Posicionamento de Transistores Baseado em Satisfatibilidade Booleana na Ferramenta ASTRAN
por
Andrei Ali Odes Bubolz
Curso:
Engenharia de Computação
Banca:
Prof. Felipe de Souza Marques (orientador(a))
Prof. Maicon Schneider Cardoso (coorientador(a))
Prof. Bruno Zatt
Prof. Julio Saraçol Domingues Junior
Data: 04 de dezembro de 2018
Hora: 10:00
Local: Lab 1
Resumo do Trabalho:
Este trabalho apresenta um método alternativo para a etapa de posicionamento de transistores da ferramenta de código aberto ASTRAN, um gerador automático de leiautes que atualmente utiliza a técnica de Threshold Accepting (TA) para esse propósito. Embora alcance soluções otimizadas, o TA não garante a solução com área mínima. O método apresentado neste trabalho baseia-se em satisfatibilidade Booleana e assegura a alocação de transistores em largura mínima em um leiaute 1-D. A proposta consiste em formular o problema de posicionamento através de um conjunto de variáveis Booleanas e cláusulas descritas em quatro restrições predefinidas. O algoritmo foi inserido na ferramenta ASTRAN a fim de ser comparado com o método atual (TA) a partir de portas lógicas complexas obtidas em catálogos com funções lógicas variadas. Experimentos foram realizados visando contrastar ambas as soluções em termos de largura final usando um modelo de pseudo-leiaute 1-D. Posteriormente, foram verificados aspectos geométricos tais como a área da célula, wirelength e número de contatos. Da mesma forma, foram comparados os tempos de execução tanto para a etapa de posicionamento, quanto para o fluxo completo de síntese. Com os resultados obtidos, conclui-se que, na maior parte dos casos, a otimização na área da célula está intrinsecamente ligada à minimização da largura do leiaute garantida pelo método proposto. Ademais, além do ganho geométrico, observou-se uma melhoria nos tempos de execução, seja considerando apenas a etapa de posicionamento ou o fluxo de síntese completo.