Dissertação

{en_GB=AIDA-C: Analog IC Design Optimization Embedding NGSpice as the Evaluation Engine} {} EVALUATED

{pt=Na automatização do dimensionamento de circuitos integrados analógicos duas abordagens podem ser seguidas: knowledge-based ou optimization-based, sendo que a última é ainda subdividida em duas categorias, equation-based ou simulation-based. Relativamente ao dimensionamento baseado em simulações, o método de avaliação é sustentado num simulador de circuitos, como é o caso do AIDA-C, um otimizador de circuitos integrados analógicos. O trabalho desenvolvido ao longo desta tese visa integrar um simulador de circuitos open-source, nomeadamente o NGSpice, no AIDA, que atualmente utiliza o ELDO, um simualdor comercial. Integrar o NGSpice no AIDA requereu o desenvolvimento de uma interface, visto que o ficheiro de saída do NGSpice não é compatível com o ficheiro que o AIDA espera receber com todas as medidas e os seus respetivos valores. Esta interface foi desenvolvida em Python e permite executar várias simulações em paralelo. Foi feita uma análise estatística aos resultados obtidos, onde se obtiveram intervalos de confiança a 95% para os erros relativos de cada uma das medidas obtidas, onde se provou que o NGSpice pode substituir o ELDO como simulador do AIDA. É preciso ter em consideração que os resultados obtidos pelo AIDA em cada otimização variam, não só entre simuladores, mas também entre simulações, para o mesmo simulador, visto que o algoritmo desenvolvido é baseado num processo estocástico, pelo que, para ser possível comparar diretamente os dois simuladores de forma justa e equitativa, os pontos simulados no ELDO foram posteriormente simulados no NGSpice e vice-versa., en=Two distinct approaches can be followed when automatizing analog IC sizing: knowledge-based or optimization-based. The latter is subdivided into two categories: equation-based and simulation-based. Simulation-based sizing uses a circuit simulator as evaluation engine, which is the case of AIDA-C, an Analog Integrated Circuit Design Automation environment. The work developed throughout this thesis aims to integrate an open source circuits simulator, namely the NGSpice, into AIDA, which currently uses ELDO as its simulation engine. Multiple netlists were run in NGSpice in order to check which simulation commands should be invoked, to guarantee that the corresponding outputs match with ELDO’s outputs. Integrating NGSpice into AIDA required the development of an interface, since the latter has a specific input format which is not compatible with NGSpice’s output. This interface is written in Python and is able to run multiple netlists in parallel. The parallelism allows to increase the interface performance, which had to overcome NGSpice limitations, particularly when running corners. The results obtained were analysed statistically, where 95% confidence intervals for the relative errors of each performance measure were obtained, proving that NGSpice can be AIDA’s simulation engine. AIDA’s outputs always differ among optimizations, even using the same simulator, due to the algorithm used, which is based on a stochastic process. Taking this into account, to fairly compare both simulators the points simulated in ELDO were then simulated in NGSpice, and vice-versa.}
{pt=Automação Design Circuitos Eletrónicos, Otimização Dimensionamento de Circuitos, Simuladores Open-Source, Corners, en=Electronic Design Automation, Computer Aided Design, Sizing Optimization, Open source circuits simulator, Corners}

novembro 25, 2019, 10:30

Publicação

Obra sujeita a Direitos de Autor

Orientação

ORIENTADOR

Nuno Cavaco Gomes Horta

Departamento de Engenharia Electrotécnica e de Computadores (DEEC)

Professor Associado

ORIENTADOR

Rui Santos Tavares

FCT-UNL

Professor Auxiliar