Desenhando e simulando um circuito digital:
Como
exemplo vamos fazer a simulação de um circuito digital de um contador binário de dois
dígitos e um decodificador para termos uma saída sequêncial para acionar por exemplo um
motor de passo. Este exemplo foi tirado do
livro de Herbert Taub, Circuitos Digitais
e Microprocessadores, conhecido pela maior parte dos estudantes de circuitos
digitais.
Inicializado o
programa, aparece a janela Schematic onde será feito o circuito, a
janela Parts deve se abrir também, caso não na opção Schematic
escolhe-se LiblO. Para se fazer o circuito desejado precisamos usar os
seguintes componentes, Portas And com ou sem inversores como os mostrados, um Inversor,
uma porta Or, dois flip flops tipos D, um interruptor lógico (Binary Switch), um clock.
Para se poder observar o resultado no próprio desenho pode se colocar displays
lógicos ( Binary Probe). Todos os componentes são encontrados nas bibliotecas de Parts,
primgate, primlogi, primio. Encontrado os componentes se dá duplo click nele agora
ele estará anexado ao cursor, leva-se ao lugar desejado e se dá um click, para tirá-lo
do cursor se dá dois clicks com o botão direito do mouse.
Os componentes podem
ser arrastados simplesmente pressionando o botão esquerdo do mouse sobre ele e o levando
ao ponto desejado, quando um componente esta negritado ele pode ser apagado apertando a
tecla Delete. O Sentido do componente pode ser mudado pressionando o
botão direito do mouse sobre ele, lá se tem as opções Rotate Left / Right
e Flip Vertical/Horizontal, experimente as opções, no
final o resultado deverá ficar parecido com a próxima figura.
Os nomes dos flip
flops serão mudados para FF1 e FF2, para isso se da
duplo click com o botão esquerdo do mouse nos nomes DEV2, troca-se o
nome pelo desejado e pressiona OK.
Para se ligar os
compontentes pode-se pressionar o botão esquerdo em um terminal, aparecerá uma linha
ligado ao cursor, leva-a até ao terminal ou linha desejado e a solta, pode-se levar uma
linha até um certo ponto e depois partindo do outro terminal se encontrar com a outra
linha, outra maneira é pressionar a cruzinha (+) na janela Palette,
escolha a cruz fina, e se faz as ligações desejadas, para apagar uma linha ou
compontente se pressiona o raiozinho e se aperta sobre a linha ou componente.
Para se manipular os componentes precisa-se tornar o cursor novamente uma setinha, para
tanto basta dar duplo click com o botão direito.Caso a janela Palette
não esteja aparecendo pressione a opcão Edit em Schematic e escolha Show
Tool Palette
O desenho deve ficar
parecido com a próxima figura:
Pode se
perceber que no desenho o nome do segundo Flip Flop ficou perto demais da linha, ele pode
ser arrastado como um componente como descrito anteriormente, aliás, se algum compontente
for arrastado agora as linhas continuarão atadas a ele. Pode se mudar o estado do
interruptor dando um click sobre ele, percebe-se que os pinos S (Set) dos Flip Flops não
estão ligados a nada, precisa-se colocar um nivel lógico alto nele, para isso se
pressiona o T na janela Palette, então se clica na
estremidade não conectada, vai surgir uma pequena janela, da o valor lógico 1,
mude o estado do interruptor de reset ( R ) para 1.
Foi esquecido no desenho a linha que que liga o terminal C do FF1
no clock, acrescente-a.
Esta tecla T
é muito importante, com ele damos nomes aos terminais dos compontentes, chamaremos de ck
o terminal do Clock, Z0 o terminal do FF2, Z1 o terminal
do FF1 e D0, D1, D2, D3 as linhas de
saída dos terminais das quatro portas AND ,
Cada
vez que é nomeado um terminal o seu nome e sinal aparece na janela Timing.
Para se poder controlar a simulação se pressiona na barra principal o menu Tools e a opção Simulator:
Caso
algum display lógico esteja aparecendo um valor X aperte a tecla Clear
X, onde está escrito Idle aparecera um número referente ao
número de períodos, as outras teclas são:
Reset :
Limpa o Timing;
Run :
Aciona o início dos períodos zerados pelo Reset;
Step : Roda
um período por vez;
Setas
< = > : diminui ou aumenta a escala dos períodos na janela Timing, o
"=" deixa a
escala na distância padrão novamente.
Pesquise as opções em
Speed para se ter diferentes velocidades de plotagem.
Experimente pressionar
na janela Palette a lupa com um sinal de interrogação, o cursor se tornará a lupa,
então pressione o botão esquerdo sobre uma linha, aparecerá seu nível lógico (0/1) no
momento.
Só
para constar, os Flip Flops são para se registrar os estados, as portas lógicas acima
deles são responsáveis por indicar nos terminais de entrada o estado seguinte de
contagem, e as quatro portas and com seus inversores é o decodificador do circuito.
Uma coisa interessante
que pode ser feita é colocar nomes nos terminais das porta logicas discretas, no gráfico
Timing é possível verificar o atraso sofrido pelo sinal nas portas e seu efeito, o que
pode ser muito útil pra se perceber estados lógicos indesejáveis nos circuitos.
Para salvar
o circuito vá na janela Schematic em
file e pressione Save Design as, mantenha o terminação .CCT
pois ela não será criada pelo programa e depois na hora de abrir ele só será mostrado
se colocar em file a opção "All Files".
Este é um pequeno trabalho que acredito que seja útil àqueles que precisem lidar com tais circuitos, o programa pode ser encontrado nesta Home Page em Download_e_links, para saber mais sobre esse simulador aconselho a aquisição do livro LogicWorks que vem inclusive com uma vesão mais recente desse Software. |