Laboratório de Sistemas Digitais /0 Exercício Opcional: FAMILIARIZAÇÃO COM O SOFTWARE CIRCUIT MAKER 000 OBJETIVO Aprender a utilizar o Editor de Esquemáticos e o Simulador Lógico Criar e simular os esquemáticos e macros de projetos simples INICIALIZ AÇÃO DO SOFTWAR E Abra o Circuit Maker. A janela que aparecerá contém uma região para se desenhar o esquemático e, à esquerda da tela, a lista de componentes disponíveis. Para posicionar os componentes no esquemático, basta selecioná-lo nesta lista e clicar em Place. O símbolo acompanhará o mouse e basta clicar na posição desejada para que o mesmo seja posicionado lá. O arquivo inicial é automaticamente chamado de untitled.ckt. Para salvá-lo, basta clicar em File e Save, ou simplesmente clicar no ícone correspondente (com figura de disquete). Uma sugestão é salvar os projetos incluindo o número da experiência e o nome dos autores. PORTA LÓGICA XOR. Esquemático Na lista de componentes, selecione Digital by Function e posicione no esquemático portas inversoras ( Gates Inverters, 70), portas AND ( Gates AND, 708) e porta OR ( Gates OR, 7), de acordo com a disposição da Figura. Para adicionar os fios, clique no botão + e depois nos terminais dos componentes que se quer conectar. Se quiser interromper um fio antes de se chegar a um terminal, clique duas vezes com o botão esquerdo do mouse. Para adicionar os nomes dos terminais (X, Y e Z), use a ferramenta Text Tool com Alt+T ou usando o ícone A. Uma sugestão é mostrar o número dos pinos nas portas, de maneira a se facilitar o posicionamento dos fios na implementação do circuito com os chips. Para isso, clique em Options, e em Schematic Display Data. Em seguida, selecione a opção Show Pin Numbers. X Y UA UB UA UB UA Z Figura Esquemático da porta XOR de entradas Para simular o esquemático, deve-se adicionar chaves nas entradas e um led na saída. Na lista de componentes, vá em Digital e, em seguida, Power e selecione Logic Switch. Acrescente duas chaves para as entradas X e Y. Para adicionar o led na saída Z, vá em Digital Animated e selecione Displays e Logic Display.. Simulação Para verificar se o seu circuito está de fato funcionando, você deve simulá-lo. Como este circuito é bem simples e só possui duas entradas, pode-se verificar as combinações das mesmas, que são apenas, conforme mostra a Tabela. No menu principal, selecione Simulation e, em seguida, Digital Mode. Ainda em Simulation, selecione a opção Trace. Esta opção muda a cor do fio de acordo com o nível lógico do mesmo. Finalmente, no menu Simulation, selecione Run e verifique a Tabela variando as entradas e observando o led na saída Z (Figura ). Tabela - Tabela Verdade da Função XOR X Y Z 0 0 0 0 0
Laboratório de Sistemas Digitais /0 0 X Y V UA UA UB UA Z UB Figura - Simulação da Porta XOR. Criação de uma Macro A melhor forma de usar um esquemático dentro de outro esquemático é criando um símbolo macro. Para criar uma macro da porta XOR que você acabou de desenhar, apague os instrumentos de teste (chaves e leds). Em seguida, clique em Macros e New Macro. Selecione Sim para incluir o circuito na macro. Digite o nome da nova macro (XOR_) e o número de portas XOR por encapsulamento (), e clique OK. A janela Symbol Editor aparecerá. No botão Add Package, selecione DIP, digite o número de pins per package (), clique em Add Pkg e posicione o símbolo na tela utilizando o mouse. Após escolher a posição, clique com o botão esquerdo do mouse. UA UB UA UB No quadrado Element List, apague o pino P. Selecione os pinos P, P e P com o mouse, usando Shift, e clique em Copy. No quadrado Edit Buffer, mude o nome dos pinos P, P e P para X, Y, Z, respectivamente. Em seguida, clique em Replace e, em seguida, OK. Você irá retornar para a tela onde estava o circuito da porta XOR. Posicione a macro na tela clicando com o mouse. Em seguida conecte os pinos X,Y e Z do circuito aos pinos correspondentes da macro. Clique no menu Macros e em Macro Utilities. No quadrado Major Device Class selecione User Defined, que é a biblioteca na qual a sua macro será salva, e no quadrado Minor Device Class, digite XOR. Finalmente, clique em Save Macro. Pronto, você criou um componente chamado XOR_, como pode ser visto na Figura. UA XOR_ 7 Figura - Criação da Macro da Porta XOR Verifique o funcionamento da macro que você acabou de criar utilizando o mesmo procedimento visto na simulação. Observe que, na lista de componentes, foi criada uma pasta com o nome XOR na biblioteca User Defined. A macro XOR_ se encontra nesta pasta. Caso queira simular uma macro em outro computador, é necessário copiar o arquivo User.lib (normalmente localizado no diretório C:\Program Files\CircuitMaker 000 Trial), pois neste arquivo existe a descrição dos elementos da biblioteca User Defined.
Laboratório de Sistemas Digitais /0 V V V UA XOR_ 7 L chave em cada entrada e leds nas saídas do circuito. Verifique a Tabela. Figura - Teste da Macro XOR SOMADOR COMPLETO. Esquemático e Simulação Crie um novo esquemático chamado Somador Completo usando a Figura como guia. Você irá usar a macro da porta XOR criada anteriormente. As entradas são A, B, e CIN ( vai um antecipado ) e as saídas são S e COUT ( vai um ). Depois de criar o esquemático, salve-o e simule-o colocando uma Cin A UA UB Tabela - Tabela Verdade do Somador Completo UA A B Cin S Cout 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 UB Cout B 0 9 UC 8 UB X XOR_ Y P P Z S UA X XOR_ YP P Z 7 Figura - Somador Completo Usando a Macro XOR
Laboratório de Sistemas Digitais /0 Figura - Criando a Macro do Somador Completo. Criação da Macro Para criar a macro do somador completo, substitua as macros XOR_ do circuito da Figura pelas portas originais 78. Em seguida, siga os mesmos passos descritos no item.. Figura 7 - Teste da Macro do Somador Completo SOMADOR DE BITS. Esquemático e Simulação Crie um novo esquemático chamado Somador usando a Figura 8 como guia. Neste esquemático você vai usar barramentos. Um barramento é um conjunto de sinais (bits) que formam uma palavra. Ele é representado por um fio mais grosso do que os fios comuns. Quando usamos um barramento, faz parte da convenção chamar o nome do barramento de bus_name[x:y], onde bus_name é o nome da variável e X é o bit mais significativo e Y é o bit menos significativo. Sinais individuais no barramento são chamados bus_namen, onde N está entre X e Y. Sinais individuais podem ser acessados por um fio comum partindo do barramento até um terminal. Para desenhar um barramento, selecione a ferramenta Wire Tool. Aperte a tecla Shift, clique com o botão esquerdo do mouse no ponto de início do barramento, solte o botão e arraste o mouse até o ponto final do barramento. Então, clique duas vezes com botão esquerdo do mouse. Na janela que aparecerá, digite o nome do barramento (por exemplo, B0). Observe que, quando você for conectar um fio ao barramento (por exemplo, B0), aparecerá uma janela para nomear esse fio.
Laboratório de Sistemas Digitais /0 Cin 9 CP 0 CP DS Data Seq 8 8 7 7 B0 B B B0 B0 A0 A0 A A A0 A0 B0 FullAdder 7 Cin 8 A S 9 B Cout0 UA S0 S0 S0 FullAdder B A B A Cin A B UB Cout S S S FullAdder B A B A 7 8 Cin A S 9 B Cout0 UA S Cout S Figura 8 - Somador de bits Nesta simulação, você vai usar um intrumento chamado Data Seq, ao invés das chaves. Para adicioná-lo, vá em Digital, Instruments e Data Seq. Clique duas vezes em cima do CI Data Seq. Ajuste Start Address=, Stop Address=, Tick Increment=. Clique em Pattern e selecione a seqüência Count Up e Increment=. Clique OK. O Tick Increment deve ser sempre maior do que o valor máximo do atraso das portas. Você pode utilizar o Trace para verificar os níveis lógicos das entradas e saídas e apertando a tecla F9 (Step). Observe também o atraso das portas. Outra opção é utilizar um instrumento chamado Scope. Na lista de dispositivos, escolha Instruments, Digital e SCOPE. Adicione um SCOPE em cada entrada e em cada saída. Com isso, pode-se observar as formas de onda nesses pontos. No menu View, selecione Split Horizontal. Assim, é possível observar o esquemático e as formas de onda simultaneamente. Observe que, ao rodar a simulação, as formas de onda mudam muito rapidamente. Para diminuir a velocidade de simulação, mude o Speed para. Mantenha o Step Size =, Units em Ticks e X Magnification = 8. Faça algumas somas entre números de bits e observe se o circuito está funcionando corretamente. Obs: Foi verificado que quando incluímos mais de uma macro no circuito, a simulação nem sempre funciona adequadamente. Portanto, para um circuito composto de vários blocos, inclua um bloco de cada vez, testando o circuito para cada novo bloco. Quando o circuito não funcionar, substitua a macro por uma cópia do circuito original. GERADOR DE PULSOS. Esquemático e simulação Crie um novo esquemático chamado GeradorDePulsos usando a Figura 9 como guia. Neste esquemático você vai usar um gerador de pulsos. O gerador de pulsos oscila entre o bit e 0 periódicamente. Para adicionar o gerador de pulsos, vá ao menu Digital, Instruments e Pulser. Para testar o funcionamento do gerador de pulsos, acrescente um led a cada saída do gerador de pulsos e inicie a simulação. Durante a simulação, aumente e diminua o valor da variável Speed no menu Digital localizado à esquerda do circuito.
Laboratório de Sistemas Digitais /0 barra de ferramentas, ao lado do botão Run Digital Simulation ou pela tecla F9. Figura 9 - Teste do gerador de pulsos A seguir, monte o circuito apresentado na Figura 0. Calcule as tabelas verdades do circuito para as saídas e 0 do gerador de função. Verifique o comportamento do circuito na simulação do circuitmaker e compare com as tabelas verdades que foram encontradas. Para compreender melhor o que está ocorrendo na simulação, utilize o modo de simulação Step, que pode ser encontrado no menu Simulação, na 7 PERGUNT AS PARA REFLETIR Porque é importante simular um circuito? Qual o comportamento do gerador de pulsos em relação à variável Speed? (item.) Qual a vantagem de se utilizar Macros? Em quais ocasiões elas são mais úteis? (item.) Qual a vantagem de se utilizar barramentos? Em quais ocasiões eles são mais úteis? (item.) 8 RELATÓR IO Não será necessário relatório ou pré-relatório deste experimento. V +V UA UA UA UB UA L V CP CP Q Q Figura 0 - Circuito para analisar o comportamento das portas em relação ao gerador de pulsos.