A.2 NGSpice

O NGSpice é uma versão gratuita da linguagem Spice3 (evolução do SPICE original de Berkeley). É uma continuidade da última versão lançada a 3f.5 (1993). Ao longo dos anos, vários problemas foram resolvidos e facilidades adicionadas. Além disso foi feita a integração da linguagem Spice com duas extensões:

  • Cider: permite a simulação de circuitos de sinais mistos: analógicos e digitais num único circuito. Muito útil para sistemas de aquisição de sinais ou conversão de dados (DAC ou ADC).

  • Xspice: permite a inclusão de sistemas e componentes especiais na simulação, tais como blocos no domínio da frequência (modelados pela transformação de Fourier), modelos magnéticos e memristores. Também permite a simulação de sinais mistos, já que conta com várias portas digitais com muitas funções e até máquinas de estado.

Dessa forma, o NGSpice é mais que apenas o Spice3 original e permite que se faça muita coisa com ele. Várias empresas o usam como backend de simulação, construindo uma interface amigável para captura de esquemáticos, entrada e saída de dados e visualização de resultados.

Como NGSpice não fornece essas ferramentas é preciso que se use outros software para isso. É nesse sentido que usaremos o Notepad++, o Electric e até o LTSpice.

A.2.1 Linux: Ubuntu / Fedora

O NGSpice é a principal versão gratuita do simulador para Linux e, portanto, já está presente nos repositórios oficiais tanto do Ubuntu quanto do Fedora. Por extensão pode-se encontrá-lo no Debian, que é a distribuição em que se baseia o Ubuntu e também no Red Hat, o análogo para o Fedora.

Assim, para a instalação, a forma mais cômoda é instalar o pacote pré-compilado da distribuição: eles são atualizados com frequência. Para tanto, você precisará de permissões de superusário (ou root) para a instalação, bastando abrir um terminal e digitar o comandos abaixo.

No Ubuntu:

sudo apt-get install ngspice

No Fedora:

sudo dnf install ngspice

Uma outra opção é baixar o código-fonte do NGSpice direto da página e compilá-lo segundo as instruções dos desenvolvedores. A versão que será usada nesse curso é a 31.3-2. No Fedora é possível instalar a versão 32.2 direto do repositório. Embora sejam diferentes, os comandos abordados durante o curso são básicos e não haverá problema usar uma ou outra versão.

Após a instalação, ao chamar o comando ngspice no terminal, o console do NGspice será iniciado pronto para a entrada de comandos específicos do programa.

NGSpice rodando no Linux

Figura A.8: NGSpice rodando no Linux

Para sair do NGSpice, basta executar o comando: exit no console.

A.2.2 Windows

A “instalação” no Windows é simples por um lado, mas exige passos adicionais do outro. A simplicidade é que você pode baixar o NGSpice para Windows, descompactá-lo em qualquer pasta e ele já está pronto para usar. A configuração adicional necessária tem a ver com a possibilidade de que você possa rodar o NGSpice de qualquer pasta e não somente da pasta onde se encontra o executável. Na página acima, você poderá fazer o download do programa direto da Sourceforge. Escolha a versão compatível com o seu sistema, 32 ou 64 bits e salve o arquivo numa pasta a que você tenha acesso fácil. Recomenda-se também baixar o manual: ngspice-32-manual.pdf.

Você pode descompactar o arquivo em qualquer diretório da sua escolha para ser a base de execução do NGSpice. Para simplicidade desse tutorial, digamos que essa pasta seja C:\ngspice\. Agora o passo final é tornar o ngspice.exe visível para todo o sistema. Isso é feito alterando-se a variável de ambiente Path do sistema. Para isso, veja tutorial dessa página. Se o computador for compartilhado e mais gente for usar o programa, a recomendação é que seja alterada a variável de sistema e não a de usuário (veja a figura abaixo). No Windows 7, 8 e 8.1 ao clicar em Editar... ou dar dois cliques na variável, adiciona-se ; ao final dos valores e acrescenta-se o caminho para os executáveis. No nosso caso: ...;C:\ngspice\bin\. Basta clicar em OK e reiniciar o computador.

Edição de Variável de Ambiente no Windows 10

Figura A.9: Edição de Variável de Ambiente no Windows 10

Após reiniciar, para testar se está tudo certo, basta abrir o Prompt de Comando e digitar o comando ngspice. Se a etapa anterior deu certo, você deverá ver uma tela do console como essa:

NGSpice rodando no Windows 10

Figura A.10: NGSpice rodando no Windows 10

Para sair do NGSpice, basta executar o comando: exit no console.

A.2.3 Instalação num pendrive

Se você quiser, pode realizar o processo descrito para o Windows direto num pendrive e rodá-lo a partir de lá. Obviamente não recomenda-se que você altere a variável de ambiente Path se for fazer isso. E, quando for usar, terá de colocar o caminho de diretório completo para a subpasta bin do NGSpice. Embora haja esse “inconveniente,” você poderá usar o NGSpice em qualquer computador, mesmo que ele não esteja instalado.

Você poderá também instalar o LTSpice e o Electric num pendrive e levá-los consigo ficando com um pacote completo de projeto e simulação de circuitos eletroeletrônicos.

A.2.4 Testando o NGSpice

Para testar o NGSpice, crie um arquivo de texto rc.spi num diretório à sua escolha, copie e cole o código abaixo.

* Circuito de teste
R1 1 2 10k
C1 2 0 10n
V1 1 0 dc 0 ac 1
.end

.control
    ac dec 100 1 10meg
    plot vdb(2)
.endc

Salve o arquivo. Abra um terminal na pasta em que está o arquivo (isso é importante), chame o NGspice, como mostrado anteriormente e execute o comando abaixo no console:

source rc.spi

Uma janela como essa deverá aparecer com a resposta em frequência do circuito RC série do código:

Teste do NGSpice com circuito RC série

Figura A.11: Teste do NGSpice com circuito RC série

Para sair do NGSpice, basta executar o comando: exit no console.

A.2.5 Suporte

Além do manual que está disponível para download direto da Sourceforge, na página do NGSpice há também uma seção de tutoriais, com detalhes sobre o software, aplicações, as F.A.Q. e novidades.

Há também uma grande quantidade de vídeos no Youtube sobre o NGSpice que você pode acompanhar. Em especial, o canal bfestevao tem vídeos introdutórios muito bons.