Fundamentos da programação SPICE
Programar uma simulação de circuito com SPICE é muito parecido com programar em qualquer outra linguagem de computador:você deve digitar os comandos como texto em um arquivo, salvar esse arquivo no disco rígido do computador e, em seguida, processar o conteúdo desse arquivo com um programa (compilador ou intérprete) que entende tais comandos. Em uma linguagem de computador interpretada, o computador possui um programa especial chamado intérprete que traduz o programa que você escreveu (o chamado arquivo fonte ) para o idioma do próprio computador, em tempo real, conforme está sendo executado: Em uma linguagem de computador compilada, o programa que você escreveu é traduzido de uma vez para o idioma do próprio computador por um especial programa chamado de compilador . Depois que o programa que você escreveu foi "compilado", o executável resultante o arquivo não precisa de tradução adicional para ser compreendido diretamente pelo computador. Agora, ele pode ser "executado" em um computador, independentemente de o software compilador ter sido instalado nesse computador: SPICE é uma linguagem interpretada. Para que um computador seja capaz de entender as instruções do SPICE que você digita, ele deve ter o programa SPICE (intérprete) instalado: Os arquivos de origem SPICE são comumente chamados de "netlists", embora às vezes sejam conhecidos como "decks" com cada um linha no arquivo sendo chamada de "cartão". Fofo, você não acha? Netlists são criados por uma pessoa como você, digitando instruções linha por linha usando um processador de texto ou editor de texto. Os editores de texto são muito mais preferidos do que os processadores de texto para qualquer tipo de programação de computador, pois eles produzem texto ASCII puro sem códigos especiais incorporados para realce de texto (como itálico ou negrito fontes), que não podem ser interpretadas pelo interpretador e pelo software do compilador. Como na programação geral, o arquivo fonte que você cria para o SPICE deve seguir certas convenções de programação. É uma linguagem de computador em si, embora simples. Tendo programado em BASIC e C / C ++, e tendo alguma experiência na leitura de programas PASCAL e FORTRAN, é minha opinião que a linguagem do SPICE é muito mais simples do que qualquer uma dessas. É quase a mesma complexidade de uma linguagem de marcação como HTML, talvez menos. Existe um ciclo de etapas a serem seguidas ao usar o SPICE para analisar um circuito. O ciclo começa quando você invoca o programa de edição de texto e faz seu primeiro rascunho da netlist. O próximo passo é rodar o SPICE nessa nova netlist e ver quais são os resultados. Se você é um usuário novato do SPICE, suas primeiras tentativas de criar uma boa netlist serão repletas de pequenos erros de sintaxe. Não se preocupe - como todo programador de computador sabe, a proficiência vem com muita prática. Se o seu teste produzir mensagens de erro ou resultados obviamente incorretos, você precisará invocar novamente o programa de edição de texto e modificar a netlist. Depois de modificar a netlist, você precisa executar o SPICE novamente e verificar os resultados. A sequência, então, é mais ou menos assim:
- Componha uma nova netlist com um programa de edição de texto. Salve essa netlist em um arquivo com um nome de sua escolha.
- Execute SPICE nessa netlist e observe os resultados.
- Se os resultados contiverem erros, reinicie o programa de edição de texto e modifique a netlist.
- Execute o SPICE novamente e observe os novos resultados.
- Se ainda houver erros na saída do SPICE, edite novamente a netlist com o programa de edição de texto. Repita este ciclo de edição / execução quantas vezes forem necessárias até obter os resultados desejados.
- Depois de “depurar” sua netlist e estiver obtendo bons resultados, execute o SPICE novamente, só que desta vez redirecionando a saída para um novo arquivo em vez de apenas observá-lo na tela do computador.
- Inicie um programa de edição de texto ou um programa de processador de texto e abra o arquivo de saída SPICE que você acabou de criar. Modifique esse arquivo para atender às suas necessidades de formatação e salve essas alterações no disco e / ou imprima-as no papel.
Para “executar” um “programa” do SPICE, você precisa digitar um comando em uma interface de prompt de terminal, como aquela encontrada no MS-DOS, UNIX ou a opção de prompt do MS-Windows DOS:
especiarias
A palavra “spice” invoca o programa de interpretação SPICE (desde que o software SPICE tenha sido instalado no computador!), O símbolo “<” redireciona o conteúdo do arquivo fonte para o interpretador SPICE e example.cir é o nome do arquivo de origem para este exemplo de circuito. A extensão de arquivo “ .cir ”Não é obrigatório; Eu vi “ .inp ”(Para“ entrada ”) e simplesmente“ .txt ”Funcionam bem também. Ele funcionará até mesmo quando o arquivo netlist não tiver extensão. SPICE não se importa com o nome, desde que tenha um nome compatível com o sistema de arquivos do seu computador (para máquinas MS-DOS antigas, por exemplo, o nome do arquivo não deve ter mais de 8 caracteres, com um 3 extensão de caracteres e sem espaços ou outros caracteres não alfanuméricos). Quando este comando é digitado, SPICE irá ler o conteúdo do example.cir , analise o circuito especificado por esse arquivo e envie um relatório de texto para a saída padrão do terminal de computador (geralmente a tela, onde você pode ver a rolagem). Uma saída típica do SPICE consiste em várias telas com informações, então você pode querer examiná-la com uma pequena modificação no comando:
especiarias
Essa alternativa “canaliza” a saída de texto do SPICE para o utilitário “mais”, que permite que apenas uma página seja exibida por vez. O que isso significa (em inglês) é que a saída de texto do SPICE é interrompida após uma tela cheia e espera até que o usuário pressione uma tecla do teclado para exibir a próxima tela cheia de texto. Se você está apenas testando seu arquivo de circuito de exemplo e deseja verificar se há erros, esta é uma boa maneira de fazer isso.
spiceexample.txt
Esta segunda alternativa (acima) redireciona a saída de texto do SPICE para outro arquivo, chamado example.txt , onde pode ser visualizado ou impresso. Esta opção corresponde à última etapa do ciclo de desenvolvimento listada anteriormente. É recomendado por este autor que você use esta técnica de “redirecionamento” para um arquivo de texto somente depois de provar que sua netlist de circuitos de exemplo funciona bem, para que você não perca tempo invocando um editor de texto apenas para ver o resultado durante os estágios de “depuração”. Assim que você tiver uma saída SPICE armazenada em um .txt arquivo, você pode usar um editor de texto ou (melhor ainda!) um processador de texto para editar a saída, excluindo quaisquer banners e mensagens desnecessários, até mesmo especificando fontes alternativas para destacar os títulos e / ou dados para uma aparência mais polida. Então, é claro, você pode imprimir a saída em papel, se desejar. Como a saída direta do SPICE é um texto ASCII simples, esse arquivo será universalmente interpretável em qualquer computador, esteja o SPICE instalado ou não. Além disso, o formato de texto simples garante que o arquivo será muito pequeno em comparação com os arquivos de captura de tela gráfica gerados por simuladores de “apontar e clicar”. O formato de arquivo netlist exigido pelo SPICE é bastante simples. Um arquivo netlist nada mais é do que um arquivo de texto ASCII simples contendo várias linhas de texto, cada linha descrevendo um componente de circuito ou um comando SPICE especial. A arquitetura do circuito é especificada pela atribuição de números aos pontos de conexão de cada componente em cada linha, conexões entre os componentes designados por números comuns. Examine o seguinte diagrama de circuito de exemplo e seu arquivo SPICE correspondente. Lembre-se de que o diagrama do circuito existe apenas para tornar a simulação mais fácil de ser entendida pelos seres humanos. SPICE só entende netlists:
Exemplo de netlist v1 1 0 dc 15 r1 1 0 2,2k r2 1 2 3,3k r3 2 0 150 .fim
Cada linha do arquivo de origem mostrado acima é explicada aqui:
- v1 representa a bateria (fonte de tensão 1), terminal positivo numerado 1, terminal negativo numerado 0, com uma saída de tensão DC de 15 volts.
- r1 representa o resistor R 1 no diagrama, conectado entre os pontos 1 e 0, com um valor de 2,2 kΩ.
- r2 representa o resistor R 2 no diagrama, conectado entre os pontos 1 e 2, com um valor de 3,3 kΩ.
- r3 representa o resistor R 3 no diagrama, conectado entre os pontos 2 e 0, com um valor de 150 kΩ.
Os pontos eletricamente comuns (ou “nós”) em uma descrição de circuito SPICE compartilham números comuns, da mesma forma que os fios que conectam pontos comuns em um grande circuito geralmente compartilham rótulos de fios comuns. Para simular este circuito, o usuário digitaria essas seis linhas de texto em um editor de texto e as salvaria como um arquivo com um nome exclusivo (como example.cir ) Depois que a netlist é composta e salva em um arquivo, o usuário processa esse arquivo com uma das instruções de linha de comando mostradas anteriormente ( spice), e receberá esta saída de texto na tela do computador:
1 ******* 10/10/99 ******** especiarias 2g.6 3/15/83 ******** 07:32:42 **** * 0example netlist 0 **** temperatura da lista de entrada =27.000 graus c v1 1 0 dc 15 r1 1 0 2,2k r2 1 2 3,3k r3 2 0 150 .fim ***** 10/10/99 ********* especiarias 2g.6 3/15/83 ****** 07:32:42 ****** 0example netlist 0 **** temperatura da solução de polarização de sinal pequeno =27.000 graus c voltagem do nó voltagem do nó (1) 15,0000 (2) 0,6522 correntes de fonte de tensão nome atual v1 -1.117E-02 dissipação total de potência 1,67E-01 watts trabalho concluído 0 tempo total de trabalho 0,02 1 ******* 10/10/99 ******** especiarias 2g.6 3/15/83 ****** 07:32:42 ***** 0 **** temperatura da lista de entrada =27.000 graus c
SPICE começa imprimindo a hora, a data e a versão usados na parte superior da saída. Em seguida, ele lista os parâmetros de entrada (as linhas do arquivo de origem), seguidos por uma exibição de leituras de tensão DC de cada nó (número de referência) para o aterramento (sempre número de referência 0). Isso é seguido por uma lista de leituras de corrente através de cada fonte de tensão (neste caso, há apenas uma, v1). Finalmente, a dissipação total de energia e o tempo de cálculo em segundos são impressos. Todos os valores de saída fornecidos pelo SPICE são exibidos em notação científica. A lista de saída do SPICE mostrada acima é um pouco prolixa para o gosto da maioria das pessoas. Para uma apresentação final, pode ser bom cortar todo o texto desnecessário e deixar apenas o que importa. Aqui está um exemplo da mesma saída, redirecionado para um arquivo de texto ( spiceexample.txt ), depois cortado criteriosamente com um editor de texto para a apresentação final e impresso:
exemplo de netlist v1 1 0 dc 15 r1 1 0 2,2k r2 1 2 3,3k r3 2 0 150 .fimvoltagem do nó voltagem do nó (1) 15,0000 (2) 0,6522correntes de fonte de tensão nome atual v1 -1.117E-02dissipação de potência total 1,67E-01 watts
Uma das coisas boas sobre o SPICE é que os formatos de entrada e saída são texto simples, que é o formato eletrônico mais universal e fácil de editar. Praticamente qualquer o computador poderá editar e exibir esse formato, mesmo que o programa SPICE em si não resida nesse computador. Se o usuário desejar, ele pode usar os recursos avançados dos programas de processamento de texto para tornar a saída mais elaborada. Os comentários podem até ser inseridos entre as linhas da saída para maior clareza para o leitor.
Tecnologia industrial