Uso do LogiSim

Esta ferramenta da simulação pode ser baixada à partir de: http://www.cburch.com/logisim/pt/index.html ou diretamente à partir de: http://sourceforge.net/projects/circuit/

Este pequeno tutorial introdutório apenas tentará mostrar como começar a usar este programa. Ele é útil para simular circuitos digitais simples usando uma ferramenta grátis.

 

Executando esta ferramenta usando Java

A própria página do software indica como executar este programa, mas se por acaso, você enfrentar problemas para executar este programa da forma esperada, tente executá-lo usando o “runtime engine” para Java instalado no seu computador (dúvidas, ver aqui).

Este simulador foi originalmente escrito como um applet Java, então eventualmente uma das formas de executar este software é disparar o interpretador Java à partir de uma janela de terminal ou de comandos no seu computador digitando algo como:

Note que eventualmente todo o caminho do arquivo .jar deve ser informado no comando anterior. No meu caso em particular este comando fica:

Note que fui obrigado à incorporar o “path” (diretório) onde o applet foi instalado, no caso: /Users/fernandopassold/Documents/UPF/Digitais_I/Software/LogiSim/. Este caminho (ou “path”), vai depender do local onde você instaladou o arquivo .jar.

E claro, certifique-se que o Java esteja instalado no seu computador:

Mas vamos supor que as outras formas (mais simples e esperadas) para executar este programa no seu computador tenham funcionado.

 

Começando a usar...

 

Acrescentando componentes

Suponha que você queira iniciar incorporando uma simples porta básica AND ao seu circuito.

Neste caso, a porta pode ser selecionado de 2 formas: (a) ou (b) -- ver próxima figura:

acrescentando_porta_AND

Note que por padrão, o Logisim introduz uma porta AND com 5 entradas, ponto (c) na figura anterior. Isto pode ser modificado se, depois que você selecionar a porta AND e apontar um local no lado direito (quadriculado) do Logosim, onde pretende posicionar a porta, mudando as propriedades deste componente.

No caso, selecione o compente desejado (a porta AND originalmente com 5 entradas), ativando o modo de edição se necessário (menu superior do Logisim, clicando na “seta”):

modo_edicao

E depois, selecinando com o mouse a porta (ou outro componente em questão), e modificando suas propriedades (canto esquerdo infeior do Logisim), e alterando “Quantidade de entradas” para 2 (neste caso) -- ver próxima figura:

alterando_portas_entrada_and

A próxima figura mostra um simples teste de uma porta AND, já destacando algumas necessidades de ajuste no circuito. No caso, note que por padrão, o LogiSim introduz portas AND no circuito com 5 portas de entrada. No caso, queremos apenas uma AND com 2 entradas, então foi necessário indicar no software, a quantidade de portas de entrada necessárias (no caso: 2):

logisim_ajuste_portas_entrada-2

 

Simulação de pontos (“pinos”) de entrada

Note que níveis lógicos de entrada são simulados através de “Pinos”:

pinos_simula_niveis_logicos

Você pode introduzir entradas para simular níveis lógicos através da opção (1) ou (2) -- ver figura anterior.

 

Verificando níveis lógicos de saída (“ponta de prova”)

Para verificar o nível lógico em determinada parte do circuito você poderá usar “pontas de prova”: (3) na figura à seguir):

ponta_prova_1-3

Eventualmente o ponto de conexão para a ponta de prova está no lado “errado”, como é o caso de (4) na figura anterior. Suponha que se deseja conectar esta ponta de prova à saída a porta AND, então é melhor modificar sua “posição” (ou orientação) de: “Leste” para “Oeste” -- ver próxima figura:

ponta_prova_2

Depois é só posicionar a ponta de prova no local correto e estabelecer a conexão:

conexao_1

Note (na figura anterior) que para a ponta de prova você poderia ter estabelecido um “rótulo” (ou label), no caso: “Y” e poderia ter alterado a posição do rótulo de “Oeste” para “Leste”.

Para modificar as propriedades de qualquer parte do circuito basta você selecionar o componente usando a “seta” localizada no menu superir do LogiSim:

selecao_modificar_propriedades-2

Depois de alterar os rótulos para os pinos de entrada, podemos simular o circuito:

alterando_rotulos_pinos_entrada

 

Simulando o circuito:

Para simular o circuto basta sair do modo de edição e partir para o modo de simulação clicando no ícone da mão no menu superior do Logisim.

modo_simulacao

Depois selecionamos um pino de entrada e alternamos os níveis lógicos clicando sobre o pino de entrada -- acompanhe na próxima figura:

logisim_sim_niveis_entrada

 

Exemplo Explorando Álgebra de Boole:

Simulando circuitos maiores:

logisim_exemplo_algebra_boole_1

Note que podemos alternar os níveis lógicos nas entradas, mas este pode ser um processo algo demorado, além do que todas as variações realizadas não ficam “registradas”, a menos que você “capture” uma tela para cada uma das combinações de níveis lógicos que podem ser apresentados na entrada do circuito, o que não parece ser muito prático:

logimsim_exemplo_algebra_boole_1_teste-2

Notar que o próprio Logisim permite levantar a tabela verdade do circuito, selecionando:

1) No menu superior: Projeto >> Analisar circuito:

projeto_analisar_circuito

Deve surgir uma janela como:

analise_circuito_expressao

onde já aparece a equação booleana que descreve o circuito. Note que este software usa uma notação própria para exprimir a equação booleana do circuito, por exemplo, note o símbolo ~A no lugar de .

Você pode perceber outras opções disponíveis no quadro “Análise” com a aba para “Tabela” (Verdade):

analise_circuito_tabela_verdade

E note que é possível até tentar minimizar (simplificar) a expressão (ou circuito), na aba “Minimizada”:

analise_circuito_minimizar

OSe for pressionado o botão (1) “Tomar como expressão” e depois (2) “Construir circuito” deve surgir uma nova janela como:

analilsar_circuito_construir_circuito_minimizado

onde é recomendado que você modifique o nome do (novo) circuito (3) de “main” para “minimizado” por exemplo, o que, depois de pressionado o botão “Ok” deve resultar em:

analise_circuito_resultado_minimizado

Ou seja, obtemos um circuito simplificado.

Realmente, manipulando a expressão original do circuito usando álgebra de Boole temos:

ê

Não será observado aqui a forma como este software minimiza circuitos (existem diferentes métodos númericos para isto), mas é bom notar que em alguns casos:

No caso anterior, se for desejado “voltar” ao circuito original, basta fazer:

desfazer_acrescentar_circuito-2

E o programa volta para o circuito original:

circuito_original

 

Exportar imagens do circuito:

Uma recomendação extra é no momento de querer se exportar o circuito como uma imagem. Sugere-se aumentar o fator de escala, para por exemplo: 200%, para melhorar a resolução da imagem obtida:

exportar_imagem_circuito

O que resulta em algo como:

exemplo_algebra_boole_1

 

Observação final: Este programa permite muitas opções mais, que não serão exploradas neste tutorial.


Prof. Fernando Passold, em 16.03.2021