Você está na página 1de 18

MANUAL DE UTILIZADOR DO SOFTWARE BOOLE

Nota inicial: Como o programa em espanhol, muitas vezes no traduzi os menus, opes, poruqe o que aparece no ecr, outras vezes traduzi para portugus, outras ainda dei as duas verses. Esta aleatoriedade destina-se a familiarizar todos os utilizadores, o meis possvel, com todos os nomes e termos que lhe podem surgir quando est a trabalhar nesta rea dos sistemas digitais e lgicos. Por exemplo, o programa usa Autmata, que usei por vezes, outras, Autmato, outras Mquinas de Esatdos (o que eu uso na minha linguagem corrente), outras Circuitos Sequenciais Sncronos. Como o portugus no to diferente do espanhol, penso que esta metodologia no causar grande confuso.

1. CONSIDERAES GERAIS
Quando nos decidimos a projectar o software BOOLE, h quase 10 anos atrs, foi porque pensmos que os softwares profissionais de anlise e projecto existentes no cobriam as necessidades acadmicas, e porque aqueles softwares mais especficos para usar em aula no cobriam todas as expectativas e necessidades. Isto no quer dizer que o BOOLE venha com inteno de substituir por exemplo o Multisim, ISE da Xilinx, o OrCAD, etc., simplesmente pretende ajudar os professores e alunos no projecto/sntese/desenho e anlise de circuitos digitais. Com a declarao anterior nasce a primeira restrio: sistemas combinatrios a nvel de bit e autmatos/mquinas de estados (circuitos sequenciais) so o alvo do BOLLE, e no processamentos a nvel de palavra (somadores, codificadores, contadores, etc.), aspecto j perfeitamente coberto pelo EWM/Multisim, por exemplo. O mbito de utilizao do BOOLE a aula, num primeiro curso de Sistemas Digitais, e por isso os exerccios no devero sero muito complexos. verdade que testmos o BOOLE em circuitos combinatrios de 10 entradas e Mquinas de Estados com mais de 20 estados, mas a ideia inicial no essa, e devemos evitar a utilizao profissional do BOOLE para fabricar circuitos, a no ser que estajamos perfeitamente seguros da bondade/qualidade do BOOLE nesse aspecto, avaliao que deixamos para os prprios utilizadores. Enquanto nos aspectos gerais o BOOLE educativo, focado na metodologia, instalvel apenas com um ficheiro .exe, facilmente utilizvel, grfico, adaptvel ao nvel do utilizador e em vrias lnguas: espanhol, euskara e ingls ( extensvel a outros idiomas, se algum quiser tomar essa tarefa entre mos). Seguramente mais que um utilizador respirar de alvio ao saber que no ter que instalar o que quer que seja no seu PC, e que o manual no tem umas 400 pginas. Ainda que no manual se descrevam sumariamente as funes, podemos enumerar algumas para o ir habituando ao BOOLE: Tabelas de Verdade, Mapas/Diagramas de Veitch-Karnaugh, Expresses Booleanas, Circuitos Lgicos, Formas Normais, Circuitos NAND/NOR, Simplificao

de Funes, Autmatos/Mquinas de Estados de Moore e de Mealy, Converso entre Mquinas, Minimizao de Estados, Circuitos com J-K e D, Tabelas de Resultados, Simulao, Programas VHDL e OrCAD-PLD, Ficheiros JEDEC, etc. Por fim, dizer que a verso que aqui temos se apresenta como definitiva, pelo menos no que diz respeito a funcionalidades e aspecto geral. Mas ficaremos muito agradecidos queles que nos faam chegar comentrios, erros ou tipos de utilizao do BOOLE, pelo email zubia@eside.deusto.es. Mesmo assim, ser importante motivar os utilizadores para que se inscrevam/registem o BOOLE para receber as novas verses do programa, ou algum novo produto de software didctico.

2. INSTALAR E ARRANCAR BOOLE


A instalao to simples como copiar os ficheiros .exe para o directorio que queira. Se tiver em formato .zip bastar extrair os ficheiros no directrio eleito por si para ter o programa. O CD contm verses em espanhol, euskara e ingls. Os .exe so os mesmos para os trs idiomas, mas no caso do ingls h que copiar tambm para a pasta/directrio onde est o programa, o ficheiro boole.enu e o reductio.enu, e para euskara o boole.euq, no havendo ficheiro adicional nenhum no caso do espanhol. Em princpio cada utilizador copiar uma s verso, mas se as quiser ter todas, dever trer uma pasta para cada idioma. Os ficheiros distribudos so: . BOOLE.exe . REDUCTIO.exe, pode prescindir-se dele na instalao, uma aplicao externa para simplificao booleana avanada . BOOLE.euq para a traduo para eusakara . BOOLE.enu e REDUCTIO.enu para a traduo em ingls No preciso registar-se em nenhuma pgina web, mas recomendvel enviar um email para zubia@eside.deusto.es para poder receber gratuitamente as novas verses do programa. Basta enviar um email com nome, escola, universidade ou faculdade, disciplinas e cursos em que se utiliza o software e o nmero de alunos que o utilizam. Tambm sero bemvindos todos os tipos de comentrios e sugestes. Para arrancar a aplicao, basta fazer duplo clique em BOOLE.exe.

3. ANLISE E DESENHO DE CIRCUITOS COMBINATRIOS

Depois de termos arrancado com o programa, aparece um ecr (ver figura 1) para escolher entre circuitos combinatrios ou sequenciais/autmatos. Comecemos pelos combinatrios.

Figura 1. Ecr principal do BOOLE

1. Na parte superior da imagem devemos preencher obrigatoriamente o nome do sistema e o


nmero de entradas e sadas. No exemplo mostrado o sistema chama-se ejer e tem 4 entradas e duas sadas (ver figura 2). O sistema, por defeito, associa nomes s entradas e s sadas, mas voc, como utilizador, poder alter-los.

Figura 2. Ecr princiapl dos Sistemas Combinatrios

2. Seguidamente o utilizador poder prosseguir na ordem que desejar, mas vamos, para j,
seguir a ordem normal/tpica usada num exerccio/trabalho. Assim, vamos activar a opo Tabela da Verdade Manual (Tabla de Verdad Manual) e com a imagem do ecr (ver figura 3) bastar fazer cliques de rato para inserir os 1s, 0s ou indiferenas (X) correspondentes a cada combinao. Ao clicar em Avaliar (Evaluar) o sistema ficar guardado.

Figura 3. Carregamento da Tabela de Verdade.

3. Uma vez carregado o sistema, o utilizador obter a formas cannicas ou normais, activando
a opo Forma Normal Disjuntiva Forma Normal Disyuntiva (ver figura 4). Com o ecr da imagem vista o utilizador poder ter em conta que esta mudana se propagar a todo o sistema, incluindo a tabela da verdade. Para ver a segunda sada, o utilizador dever usar a barra de deslocamento da esquerda.

Figura 4. Formas Normais do Sistema

4. O passo seguinte ser obter as expresses simplificadas de cada sada. Para isso bastar
activar a opo Exp. SOP Simplificada. No ecr da figura 5 vemos a expresso booleana de F1.

Figura 5. Expresso booleana simplificada

Na parte inferior da imagem podemos escolher ver as expresses em modo NAND/NOR ou ver o circuito lgico correspondente. A figura 6 mostra o circuito lgico da funo F1.

Figura 6. Circuito lgico

5. Alm de obter o circuito podamos ter escolhido ver os diagramas V-K. A imagem mostra o
diagrama de V-K com os laos de simplificao desenhados (ver figura 7). No ecr o utilizador pode ver o resultado completo ou pode ver desenhado cada lao separadamente, utilizando a parte inferior esquerda. Alm disso o utilizador pode utilizar dois tipos de V-K desenhados de duas maneiras, utilizando a parte superior esquerda. A parte dos V-K seguramente a mais valorizada pelos utilizadores, e a que deu mais trabalho a programar.

Figura 7. Diagrama de Veitch-Karnaugh com a funo simplificada

6.

Uma vez que o utilizador tem o circuito, pode acabar aqui o exerccio e passar ao

laboratrio para implement-lo com CIs 74XX. Mas, quem sabe, o utilizador queira dar um toque mais profissional, e ainda que este no seja uma coisa original do nosso software (didctico), ele permite obter o correspondente programa em VHDL ou OrCAD-PLD (standards da lgica programvel), ou melhor ainda, permite obter directamente a lista JEDEC para ser gravada numa PAL 22V10. A figura 8 mostra o aspecto de parte do ficheiro JEDEC.

Figura 8. Fichero JEDEC gerado pelo BOOLE

Os seis passos anteriores descreveram a sequncia tpica de aula para resolver um circuito combinatrio, mas o BOOLE tambm pode ser utilizado para resolver e praticar com exerccios mais bsicos. Neste caso torna-se relevante o nome de Calculadora Booleana. Vejamos alguns exemplos desta utilizao.

1. Activando a opo Expresso Booleana (Expresin Booleana) (ver figura 9), o utilizador poder introiduzir qualquer expresso booleana seguindo as regras mnimas de sintaxe. Seguidamente poder prosseguir com o sistema da forma que deseje, por exemplo, poderia activar a opo Tabela da Verdade Manual (Tabla de Verdad Manual), e assim ver a tabela correspondente.

Figura 9. Digitao de qualquer funo booleana

2. Se se activar a opo Visualizador de Circuitos, o utilizador poder escrever uma expresso


SOP, POS, NAND ou NOR, e o BOOLE desenhar o correspondente circuito lgico. O que esta opo no faz desenhar qualquer circuito lgico, apenas os tipos de expresses referidas anteriormente.

3. A opo mais reconhecida do BOOLE a parte de simplificao. Se se activa o V-K Modo de


Aprendizaje, o utilizador poder simplificar por sua conta o sistema introduzido, indicando-lhe o BOOLE a bondade dessa soluo. O promeiro passo ser carregar uma funo nova utilizando a opo Diagrama de V-K (ou qualquer outra opo) e activar logo depois o Modo de Aprendizaje. A figura 10 mostra a funo introduzida com um diagrama de Veitch-Karnaugh.

Figura 10. Captura de uma funo atravs do seu V-K Uma vez activado o Modo de Aprendizaje: Desenhar Laos, o utilizador que deve introduzir os laos que simplificam o V-K. F-lo- de modo grfico, ainda que tambm possa utilizar a expresso booleana, se assim o pretender. Um lao desenha-se da seguinte maneira: Clicar com o boto esquerdo do rato sobre cada casinha e logo depois com o boto direito do rato para desenhar/pintar o lao. Com alguns minutos de treino apanha-se facilmente o jeito. A figura 11, mostra a soluo introduzida pelo utilizador.

Figura 11. Soluo da Simplificao

Ao fazer Evaluar, o sistema dir-nos- se a simplificao correcta. Neste caso o sistema diz-nos que a simplificao se pode fazer com menos laos/conjuntos, o que devemos tentar (ver figura 12).

Figura 12. Mensagem de simplificao errada.

Na imagem da figura 13 vemos uma soluo correcta. Esta tem apenas quatro conjuntos, em vez de cinco da anterior.

Figura 13. Exemplo de simplificao correcta

Alm das opes anteriores, o BOOLE pode guardar e carregar sistemas, imprimir resultados, copiar para a rea de Transferncia para logo de seguida editar um ficheiro Word e editar o texto junto.. Com esta ltima opo, o utilizador pode ligar o sistema com um texto, por exemplo com o enunciado do problema proposto pelo professor.

Nos pargrafos anteriores deu-se uma breve e incompleta descrio do software BOOLE, mas suficiente para que o utilizador entenda o seu modo de operao e comece a us-lo na anlise e projecto de sistemas combinatrios.

4. Anlise e Sntese de Sistemas Sequenciais, Autmatos ou FSM


Se no primeiro ecr tivssemos escolhido a opo Autmatas, acederamos ao seguinte. Neste caso o BOOLE j no se comporta tanto como um sistema aberto, tipo calculadora booleana, e preciso utiliz-lo de uma forma mais ordenada e sofisticada e complexa. Este tipo de utilizao consequncia das tcnicas de anlise e desenho de autmatos. Vejamos uma sequncia tpica de utilizao deste modo.

1. Em primeiro lugar haver que criar um novo Autmato, declarando se do tipo Moore ou
Mealy e o seu nmero de entradas e sadas. A imagem mostra o ecr da opo Archivo Nuevo (Ficheiro Novo). Neste caso optou-se por uma mquina de Moore com 1 entrada e 1 sada (ver figura 14).

Figura 14. Criao de uma nova Mquina/Autmato

2. O segundo passo carregar graficamente o Autmato. O modo idealizado puramente


grfico e simples, pelo que o utilizador dever-se- familiarizar com ele aps alguma prtica. No ecr podemos ver uma janela com 3 smbolos/cones (ver figura 15): selecciona-se a superior direita para inserir estados, selecciona-se a inferior direita para desenhar transies e selecciona-se a da esquerda para mover e apagar estados ou transies.

Figura 15. Janela para desenhar a Mquina de Estados

3. Uma sequncia normal passa por primeiro escolher o crculo e situar os estados do sistema,
quatro, por exemplo. Depois, escolher a flecha e desenhar as transies, fazendo clique com o rato nos estados de origem e de destino. Para fazer um autolao, s clicar duas vezes o mesmo estado. Ateno: s vezes poder parecer que no se desenhou uma transio ou no se ver a ponta da flecha. No primeiro caso isso porque a transio foi desenhada por cima de outra, pelo que teremos de mover uma delas para ver a outra. No segundo caso haver que mover o estado destino de modo a que se consiga ver a ponta da flecha, e, assim mover a prpria transio para melhorar o desenho. Como em todos os sistemas grficos, o utilizador dever passar algum tempo praticando at ganhar alguma habilidade na execuo das tarefas/passos. (ver figura 16).

Figura 16. Primeiros passos no carregamento da Mquina de Estados

Para mover um estado ou transio, bastar seleccionar a flecha grande e logo fazer clique e arrastar o estado ou transio correspondente: o conjunto mover-se- solidariamente. Para arrastar a transio haver que seleccionar a ponta da flecha, e no outra parte da transio.

Para apagar um estado ou transio haver que seleccionar a flecha grande, fazer clique com o boto esquerdo sobre o estado em questo, e logo depois clique da direita do rato. Um incmodo do sistema ter que estar sempre a mudar a seleco na janela, mas h um truque para passar a pegar a flecha grande: activando o oboto direito do rato (cuidao com apagar algo). Um conselho final: bom ter a Mquina de Estados desenhada antecipadamente, para assim assegurar uma disposio harmoniosa da mquina, isto , um desenho claro e no ambguo.

4. Uma vez carregado o aspecto grfico da Mquina, h que dot-lo de contedo nos seus
estados e transies. Seleccionando a flecha grande e fazendo um duplo clique sobre um estado ou transio (sobre a ponta da flecha), este abrir-se- e poderemos escrever o valor da entrada e/ou sada (surpreendentemente alguns estados vo mover-se; pensemos que um detalhe libertrio). A figura 17 mostra a Mquina j completa, mas poderemos sempre voltar a ela.

Figura 17. Mquina de Moore completa

5. A mquina da figura 17 um reconhecedor de 3 ou mais 1 na sequncia de entrada. Uma


primeira opo que podemos activar em Resultados so as de Determinista e Correcto. Neste caso o BOOLE diz-nos se nos esquecemos de alguma entrada, se h alguma repetida ou qualquer outra circunstncia estranha/erro/engano. Esta opo pode ser muito til em Mquinas complexas. Neste momento podemos activar directamente a opo Diseno del

Autmata (Desenho da Mquina), e aparecer no ecr as tabelas que configuram o desenho para a utilizao de flip-flops D ou J-K. A figura 18 mostra as tabelas de desenho do BOOLE.

Figura 18. Tabelas de desenho da Mquina de Moore

6. Vistas e comprovadas as tabelas, o utilizador poder activar Ver Circuitos e obter a imagem
da figura 19.

Figura 19. Circuito lgico da Mquina, com J-K

7.

O passo anterior encerra a sesso, mas tambm poderamos ter seguidos outros

caminhos/passos. Por exemplo, poderamos ter convertido a Mquina de Moore numa de

Mealy, activando a opo Obtener Mealy Equivalente, dentro de Resultados. A figura 20 mostra o resultado obtido.

Figura 20. Autmato de Moore convertido num de Mealy

8. Seguidamente poderamos activar a opo Minimizao de Estados, dentro de Resultados,


tambm. Neste caso est implementado um algoritmo que minimiza os estados, iclusive quando utilizamos algum tipo de condies livres, mas claro que neste caso, a bondade do algoritmo depende muito da prpria Mquina, e portanto o utilizador dever estar mais atento nestes casos. Ao minimizar, o BOOLE d-nos a ver os passos que d para chegar a ela, e ainda se oferece para redesenhar a Mquina no ecr. Ao fazer isto pode ser que o BOOLE no acerte muito com o desenho, mas ns poderemos sempre redesenh-lo/retoc-lo por ns prprios. A imagem da figura 21 mostra que a Mquina de Mealy se poderia reduzir a trs estados.

Figura 21. Autmato de Mealy reduzido

9.

A sequncia anterior foi de desenho, mas o BOOLE tambm permite a anlise de uma

Mquina carregada. Esta operao era espontnea nos sistemas combinatrios, j que era o utilizador que dava sentido calculadora booleana. Para as Mquinas de Estados, o BOOLE oferece simulao rpida ou detalhada, podendo ser cada uma destas interactiva ou batch. Vejamos uma delas: opo Simulao Interactiva, dentro de Resultados. Neste caso, o utilizador vai metendo entradas na casinha correspondente e dando impulsos CK para que o autmato as processe e mostre a sua evoluo no prprio diagrama (ver figura 22). Ao ir fazendo isto, o BOOLE vai criando um ficheiro LOG que depois o utilizador poder ver para analisar a simulao em conjunto.

Figura 22. Simulao interactiva do autmato de Mealy

10.

O anterior modo de simulao vlido para sistemas simples; para sistemas mais

complexos melhor optar pelo tipo Simulacin Batch. Neste caso o utilizador primeiro prepara toda a sequncia de entrada e depois, com um simples, clique de rato vai processando-a. A diferena em relao simulao anterior somete essa. Na margem da figura 23 podemos ver que o autmato est correcto, j que pe a sada a 1 quando recebeu 3 ou mais 1s na entrada.

Figura 23. Resultado da simulao batch do Autmato de Mealy

Enquanto na simulao detalhada, esta til apenas para fazer mudanas nas entradas, nos flancos. Esta situao tem interesse didctico para destacar as diferenas entre Moore e Mealy, mas no tem muita utilidade prtica.

Alm de tudo o que foi referido, o software BOOLE oferece a possibilidade de gravar e carregar Mquinas de Estados, imprimir resultados, copiar para a rea de Transferncia, gerar cdigo VHDL e OrCAD e gerar o ficheiro JEDEC. Opes todas elas que do vigor e utilidade ao BOOLE.

Adems de todo lo anterior, BOOLE ofrece guardar y cargar los autmatas, imprimir resultados, copiar al portapapeles, generar cdigo VHDL y OrCAD-PLD y generar el fichero JEDEC. Opciones todas ellas que dan vigor y utilidad al BOOLE.