Criar expressões

Para cada variável de saída, a janela Análise Combinacional manterá duas estruturas - uma coluna correspondente na tabela-verdade, e uma expressão lógica - que especificará a forma como cada entrada se relacionará com a sua saída. Você poderá editar tanto a tabela-verdade ou a expressão, que isso mudará a outra automaticamente, conforme necessário, para mantê-las coerentes.

Como veremos a seguir, as expressões lógicas (ou booleanas) são particularmente úteis, pois a janela Análise Combinacional as usará quando for construir um circuito que corresponda ao estado atual.

Você poderá visualizar e editar as expressões usando as duas últimas guias da janela: a Expressão e a Minimizada.

A guia Expressão

#########

A guia Expressão permite visualizar e editar as expressões correntes associadas a cada variável de saída. Possui um seletor Notação: e uma lista de expressões matemáticas para o circuito.

O selector Notação: altera o modo de notação das expressões de saída. Permite-lhe cinco tipos de notação :

Matemática:
A barra acima representa a negação, o - a função AND e o + a função OR.
Lógico:
O ¬ representa a negação, o ˄ a função AND e o ˅ a função OR
Lógica Alternativa:
O ~ representa a negação, o ˄ a função AND e o ˅ a função OR.
Programação com booleans :
O ! representa a negação, o && a função AND e o || a função OR.
Programação com bits :
O ~ representa a negação, o & a função AND e o | a função OR.

Logo abaixo do seletor, as expressões são exibidas em uma lista. Você pode editar a expressão no painel de texto, clicando duas vezes na linha da expressão.

Note que sua tabela de verdade será irremediavelmente alterada se você editar as expressões e vice versae recipro.

Além dos sinais de multiplicação e adição em lugar das portas AND e OR, uma expressão poderá conter qualquer tipo de operadores lógicos em C/Java, bem como as próprias palavras (AND, OR, NOT).

maior precedência: ~ ! NOT
(nada) & && AND
^ XOR
menor precedência: + | || OR

Os exemplos a seguir são representações válidas de uma mesma expressão. Você também poderá misturar os operadores.

~a (b + c)
!a && (b || c)
NOT a AND (b OR c)

Em geral, os parênteses sobre uma sequência de ANDs (ou ORs ou XORs) não importam. (Em particular, se criar um circuito correspondente no Logisim, ele irá ignorá-los.)

A guia Minimizada (Minimized)

#########

O último guia exibe a expressão mínima de uma das colunas da tabela da verdade. Neste painel são apresentados quatro selectores, a mesa karnaught e a expressão mínima.

Com o seletor superior Saida:, você pode selecionar a saída minimizada de uma coluna da tabela que você deseja exibir.

O seguinte selector Formato: permite-lhe indicar se pretende produzir uma soma de produtos ou uma produtos de somas.

o selector Estilo: modifica a apresentação das variáveis nas margens da tabela. Seja com valores binários ou com linhas sobre valores verdadeiros

#########
Numerado
#########
Forradas

o selector Notação: tem a mesma propriedade do painel Expressão (ver acima)

Se houver quatro entradas ou menos, um mapa de Karnaugh correspondente à variável irá aparecer abaixo do seletor. Você poderá clicar no mapa de Karnaugh para alterar os valores na tabela-verdade. O mapa de Karnaugh também apresentará os termos selecionados para a expressão minimizada por meio de retângulos arredondados, sólidos, semitransparentes.

Embaixo estará a expressão minimizada, formatada como mostrado na guia Expressão (Expression). O Logisim usa o algoritmo de Quine-McCluskey para calcular a expressão minimizada. Isso é equivalente a um mapa de Karnaugh, mas se aplica a qualquer número de variáveis de entrada.

O botão Definir Como Expressão (Set As Expression) permitirá selecionar a expressão minimizada como aquela correspondente à variável. Isso geralmente não será necessário, já que editar a tabela-verdade resultará no uso da expressão minimizada para a coluna alterada, mas se você digitar uma expressão através da guia apropriada, esta também poderá ser uma maneira conveniente para se alterar a expressão minimizada correspondente.

Próximo: Gerar um circuito.