Você está na página 1de 11

UNIVERSIDADE DA BEIRA INTERIOR Departamento de Informtica - Sistemas Lgicos

Notas sobre o simulador de circuitos digitais Digital Works


1. Introduo O Digital Works uma ferramenta grfica de simulao que permite construir e analisar o comportamento de circuitos digitais. Os circuitos a simular podem ser compostos por portas lgicas, flip-flops, unidades de memria, etc. Uma das suas capacidades mais importantes a criao de macros, atravs das quais possvel construir um novo componente a partir de um circuito desenhado pelo utilizador. Esse novo componente pode ser guardado para ser usado mais tarde na construo de outros circuitos mais complexos. Deste modo possvel ir acrescentando novos componentes lista de componentes do programa. Por exemplo, podem criar-se componentes como contadores, comparadores, registos ou mesmo criar circuitos integrados como o 74HCT08. A verso a usar nas aulas prticas de Sistemas Lgicos a 2.0, que freeware, embora haja outras mais recentes e com capacidades adicionais mas que so pagas. Operar com o programa muito simples, existindo um help integrado que explica as diversas funcionalidades. Nesta introduo so apenas indicados os procedimentos elementares para comear a trabalhar com o simulador.

2. Ficheiros O simulador consta de um nico ficheiro Dw20_95.exe a partir do qual feita a instalao para qualquer verso do MS-Windows (esta verso foi desenvolvida para o Win95, mas corre em todas as verses at XP). O ficheiro instala o executvel e o desinstalador. criada por defeito a directoria \DigitalWorks e mais algumas directorias nas quais existem ficheiros dos tipos "*.dwm" (digital works macros), "*.dwt" (digital works templates) e ainda "*.map" (memory mapping). As directorias so: \Integrated Circuits alguns componentes pr-definidos (ex. portas lgicas) \Templates formatos que os circuitos do utilizador podem assumir \Macros circuitos criados pelo utilizador \Sample Circuits exemplos de circuitos possvel guardar os ficheiros criados pelo utilizador em quaisquer outras directorias.

Pedro Arajo, UBI/DI, 2003-2004

1/11

3. Utilizao A figura seguinte apresenta o ecr inicial do simulador.

Menus

Simulao

Selector de componentes

Interaco com componentes Componentes digitais

Anotaes

Fios

rea de Trabalho

Mensagens

rea de trabalho espao aonde so colocados os componentes do circuito a simular. Mensagens mensagens de aces que devem ser executadas, avisos de erros, etc. Menus menus de abertura/salvaguarda de ficheiros, impresso, configurao, ferramentas e help. Componentes digitais lista de componentes que podem ser utilizados na construo dos circuitos. Selector de componentes permite seleccionar os componentes a colocar na rea de trabalho. Interaco com os componentes em modo de simulao, permite interagir com os componentes alterando o seu estado de funcionamento. Anotaes permite introduzir textos tais como ttulos ou notas sobre o funcionamento dos circuitos. Fios desenha os fios de ligao entre os vrios componentes; o programa impede ligaes impossveis como, por exemplo, entre duas sadas. Vo sendo mostradas mensagens que indicam em cada momento o que pode ou deve ser feito. Simulao controla a simulao; em modo simulao pode interactuar-se com os componentes do circuito, actuando sobre as suas entradas e observando o efeito sobre as sadas.

Pedro Arajo, UBI/DI, 2003-2004

2/11

4. Exemplo Como exemplo de utilizao do simulador, vai usar-se o circuito de controlo do motor do limpapra-bisas (LPB) apresentado nas aulas. A equao do circuito : LPB = I . (C + R) em que: LPB = motor do limpa-pra-brisas C = comando manual do limpa-pra-brisas I = chave de ignio R = detector de chuva

a que corresponde a seguinte tabela de verdade e o respectivo circuito lgico:


I 0 1 1 1 1 C X 0 0 1 1 R X 0 1 0 1 LPB 0 0 1 1 1

4.1 Desenho do circuito A figura abaixo mostra o desenho do circuito no simulador. Os componentes (ex: porta OR) so inseridos clicando sobre eles e depois sobre a rea de trabalho no local desejado. O posicionamento pode ser feito com o rato, ou, com mais preciso, usando as teclas do cursor. Enquanto se procede ao desenho, as sadas (LED do LPB) permanecem desligadas, no reagindo s entradas.

OR Gate

Interactive Input LED Annotation Wire

Pedro Arajo, UBI/DI, 2003-2004

3/11

Notas: 1. Quando um componente se encontra no nvel lgico 0 aparece representado a branco, quando no nvel 1 aparece a vermelho (neste caso possvel seleccionar outra cor). 2. Carregando em F1 quando um componente est seleccionado na rea de trabalho, mostrada a ajuda sobre esse componente. 3. Clicando com o boto direito do rato sobre um componente, aparece a lista de opes para esse componente (cores, textos, n de entradas das portas, parmetros, etc). 4. Se for necessrio testar o estado de pontos intermdios do circuito, podem acrescentar-se LEDs adicionais que servem como pontos de teste; aps o teste o LED dever ser removido do circuito final. A figura seguinte exemplifica uma situao em que usado um LED amarelo para testar o estado da sada da porta OR:

LED de teste

5. Quando um componente se encontra seleccionado na rea de trabalho, aparece junto a ele um sinal (+) a partir do qual possvel rodar o componente usando o rato:

6. O modo organizado de dispor os componentes um aspecto muito importante para manter a legibilidade dos circuitos, principalmente quando estes comportam muitos componentes. A figura seguinte ilustra um caso de m colocao dos componentes:

7. O posicionamento dos componentes na rea de trabalho feito de acordo com a grelha que estiver presente no ecr. A alterao das caractersticas da grelha pode ser feita atravs do menu View ou clicando com o boto direito do rato sobre um local livre da rea de trabalho.
Pedro Arajo, UBI/DI, 2003-2004 4/11

Unidade de movimento dos componentes. Controla a amplitude do salto relativo ao posicionamento dos componentes. Um menor valor aproxima os pontos permitindo maior preciso no posicionamento dos componentes. Espaamento entre os pontos visveis da grelha. Um menor valor aproxima os pontos permitindo maior preciso no posicionamento dos componentes. (Nota: Display Frequency Grid Frequency) ngulo de rotao dos componentes os componentes movem-se por saltos os componentes movem-se livremente mostra a grelha esconde a grelha

Pedro Arajo, UBI/DI, 2003-2004

5/11

4.2 Execuo da simulao Para verificar se o circuito funciona correctamente deve executar-se a simulao. Os botes abaixo so utilizados para a controlar:
Pra a simulao Lana a simulao Execuo passo-a-passo Suspende a simulao Interage com os componentes

Aps lanar a simulao pode usar-se o boto de interaco com os componentes para alterar o estado das entradas. As figuras a seguir mostram exemplos sucessivos dessa actuao.

I 0 1 1 1 1

C X 0 0 1 1

R X 0 1 0 1

LPB 0 0 1 1 1

I 0 1 1 1 1

C X 0 0 1 1

R X 0 1 0 1

LPB 0 0 1 1 1

I 0 1 1 1 1

C X 0 0 1 1

R X 0 1 0 1

LPB 0 0 1 1 1

I 0 1 1 1 1

C X 0 0 1 1

R X 0 1 0 1

LPB 0 0 1 1 1

I 0 1 1 1 1

C X 0 0 1 1

R X 0 1 0 1

LPB 0 0 1 1 1

Pedro Arajo, UBI/DI, 2003-2004

6/11

5. Templates Um template uma forma que um determinado componente ou circuito pode assumir, independentemente da sua funcionalidade. Por exemplo, os circuitos integrados digitais costumam ser representados por rectngulos nos esquemas electrnicos. O Digital Works permite criar templates que mais tarde serviro para encapsular os circuitos criados pelo utilizador (macros). Uma das formas de activar o editor de templates atravs do menu Tools:

novo/abrir/guardar

selector

mostra/esconde pinos pinos de entrada/sada

notas

linha poligonal

O editor funciona como uma espcie de programa de desenho, possibilitando criar formas a partir de crculos, polgonos ou linhas. A janela acima apresenta um template possvel para o circuito de controle do limpa-pra-brisas. Note-se que o template apenas uma forma sem qualquer funcionalidade, a qual s ser introduzida mais tarde, por associao com o circuito lgico do LPB. Uma vez que s uma forma, o template pode ser utilizado para diferentes circuitos com diferentes funcionalidades. O template acabado de criar deve ser guardado junto de outros templates, por exemplo na directoria \Templates. Neste caso ele poderia chamar-se LPB.dwt.

Pedro Arajo, UBI/DI, 2003-2004

7/11

6. Macros Uma macro corresponde a um circuito que apresenta uma determinada funcionalidade. (No Digital Works todos os circuitos so guardados sob a forma de macro, em ficheiros do tipo *.dwm) Pode acontecer que seja necessrio um circuito que vai ser usado como um bloco constituinte de projectos mais complexos. Nesse caso o bloco pode ser transformado numa macro a qual pode depois ser utilizada quantas vezes se quiser em projectos diferentes. Uma vez criada a macro ela esconde os seus pormenores internos, apresentando ao utilizador apenas as entradas e sadas, cujo comportamento depende da forma como foi definida1. O mecanismo de criao de macros (uma das caractersticas mais poderosas do Digital Works) permite estender o conjunto de componentes de que o programa dispe. Por exemplo, possvel definir novos circuitos integrados obtendo as suas funcionalidades a partir dos catlogos dos fabricantes e reproduzindo-as atravs de uma macro. A macro apresenta-se ao utilizador sob a forma dada pelo template que lhe est associado. Criar uma macro pois construir um circuito lgico e atribuir-lhe uma forma (template). De seguida ser criada uma macro correspondente ao circuito do LPB visto atrs. A criao ser feita atravs de um conjunto de passos executados em sequncia.

6.1 Criar o circuito lgico que ser transformado em macro O circuito lgico do LPB o do pargrafo 4. Uma vez o circuito construdo, deve verificar-se se o seu comportamento correcto, nomeadamente se obedece tabela de verdade que lhe deu origem. Uma vez verificada essa correco, devem retirar-se todos os elementos das entradas (neste caso os trs Interactive Input correspondentes a I, C e R) bem como todos os elementos das sadas (neste caso o LED correspondente ao LPB), substituindo-se cada um deles por uma Macro Tag.

Macro Tag

um conceito idntico ao de funo em programao; uma funo apresenta um determinado comportamento cujos

detalhes de implementao ficam escondidos ou encapsulados sob o nome da funo. Pedro Arajo, UBI/DI, 2003-2004 8/11

6.2 Associar o circuito ao template Neste passo vai associar-se cada uma das entradas e sadas do circuito com os pinos do template correspondente. Essa associao pode ser feita a um template j criado previamente (como o LPB.dwt) ou a um template novo, criado propositadamente para este circuito. Se a opo for por um template j criado, este deve ser aberto seleccionando-o da lista de templates disponveis; se a opo for criar um template novo, este deve ser criado de acordo com o exposto na alnea 5. Em qualquer dos modos deve ser activado o editor de templates. Neste exemplo a opo por utilizar o template LPB.dwt criado anteriormente. A figura seguinte mostra as associaes a estabelecer.

6.2.1 Associar cada uma das entrada/sadas do circuito com um pino do template Este processo deve executar-se com cuidado, percorrendo ordenadamente todas as entradas e sadas do circuito de modo a evitar enganos. Comeando pela entrada I do circuito e clicando com o boto direito do rato sobre a correspondente Macro Tag, pode activar-se o Template Editor. Se ainda no tinha sido aberto um template, deve abrir-se agora o LPB.dwt. Como se comeou pela entrada I deve agora clicar-se com o boto direito do rato sobre o correspondente pino (marcado com I) no editor de templates. Isso abre um menu pull-down com a opo Associate With Tag a qual deve ser activada para completar a associao entre a entrada I do circuito e o pino I do template.

Pedro Arajo, UBI/DI, 2003-2004

9/11

Neste momento o pino I do template passa a amarelo e aparece o nmero 1 junto entrada I do circuito lgico, indicando que foi feita a associao. A seguir deve fechar-se a janela do editor de templates. Repete-se o processo, clicando com o boto direito do rato sobre a Macro Tag C do circuito lgico de modo a activar de novo o editor de templates (quando este aparece o pino I j se encontra marcado a vermelho, indicando que j est associado e que no pode ser associado de novo). Clicando agora com o boto do rato sobre o pino correspondente do template, marcado com C, e depois sobre Associate With Tag do menu pull-down, o pino passa a amarelo e a associao fica completa. Fechar de novo o editor de templates e repetir o processo para a entrada R e a sada LPB (neste processo entradas e sadas so tratadas de igual modo). Aps o processo completo obtm-se a seguinte situao:

macro LPB

template LPB

Uma vez fechado o editor de templates, o circuito lgico deve ser guardado com um nome apropriado (neste caso LPB.dwm). Est assim completa a criao da macro LPB.

6.4 Utilizao da macro Para testar o funcionamento da macro vai executar-se a simulao do circuito do limpa-pra-brisas feita na alnea 4.2 mas usando a macro acabada de criar. A incluso de macros nos circuitos feita recorrendo ao boto Embed Macro:

Embed Macro

Uma vez seleccionado o boto abre-se uma janela que permite seleccionar a macro a incluir. Neste caso deve seleccionar-se LPB.dwt. Uma vez carregada a macro devem acrescentar-se os elementos de entrada e sada idnticos aos utilizados anteriormente. A figura seguinte mostra o aspecto final do circuito.
Pedro Arajo, UBI/DI, 2003-2004 10/11

Interactive Input

Embed Macro LED Annotation Wire

A partir daqui pode lanar-se a simulao e interagir com as entradas tal como anteriormente. As figuras seguintes mostram os diferentes casos possveis verificando-se que o circuito se comporta de acordo com a tabela do limpa-pra-brisas. O bloco (macro) designado por Controlo do LPB pode agora ser usado na construo de circuitos mais complexos.

Clicando com o boto direito do rato sobre uma macro abre-se um menu pull-down com a opo Edit Macro que permite ver e editar o contedo da macro (modo Maximised View). Para fechar este modo e voltar representao macro deve clicar no boto Close Macro (modo Minimised View).

Maximised View

Minimised View

Pedro Arajo, UBI/DI, 2003-2004

11/11

Você também pode gostar