Resumo |
Um paradigma promissor de computação, conhecido como Field-Coupled Nanocomputing, FCN, está sendo explorado extensivamente, em diversas publicações e trabalhos acadêmicos. Esta nova forma de processar dados não utiliza transistores, ela é aplicada em novas estruturas que são englobadas em seu paradigma por possuírem características similares. Estas características são atrativas em termos energéticos e de poder computacional. Ferramentas da categoria Electronic Design Automation, EDA, são essenciais para a geração de circuitos com um grande número de portas lógicas, fios e cruzamentos. Com o surgimento do previamente mencionado paradigma de computação, este problema surge novamente com diferentes formulações e restrições, estas que devem ser atendidas para manter a integridade da representação de um circuito. O trabalho desenvolvido consiste na elaboração de uma ferramenta EDA, para produzir representações de circuitos para tecnologias do paradigma FCN. Esta ferramenta serve como suporte para resolver o problema do Posicionamento e Roteamento, P&R, de circuitos de forma escalável. O que significa, resolver o problema em um tempo aceitável dado circuitos de tamanhos incrementalmente maiores e mais complexos. Inicialmente foi feito um estudo extensivo das tecnologias FCN, com o intuito de entender melhor os problemas a serem resolvidos e, ao mesmo tempo, encontrar similaridades e dissimilaridades entre elas. Essas características podem ser utilizadas para produzir soluções genéricas que atendem a diversas tecnologias do paradigma simultaneamente. Tendo disponíveis as informações mencionadas previamente, foi criada uma ferramenta de roteamento de circuitos, ropper, a qual utiliza sofisticadas estratégias para amortizar o custo computacional do cálculo de rotas válidas para circuitos de tecnologias FCN. Ropper, foi implementado utilizando construtos genéricos da linguagem de programação C++, conhecidas como templates, com o objetivo de aumentar o reúso, a modularidade, a extensibilidade, e a concisão das implementações. Neste trabalho é discutido em detalhe todo o processo para a resolução do problema previamente discutido, assim como características da ferramenta utilizada para validar a viabilidade e analisar a complexidade do mesmo. |