Baixe o app para aproveitar ainda mais
Prévia do material em texto
Prof Pedroso 2020 / 2 Sistemas Digitais: Circuitos Combinacionais Circuitos Sequenciais FPGA Analógico – variação contínua; Vrede = 221,568749833... volts Digital – valores “discretos”, definidos, dedos, ... Conversão A/D – erro de quantização, (...) sinais elétricos, circuitos, tempo da conversão, Antigo Egito Alfabeto (fenícios ) (redução do nº de símbolos) Binários História do jogo de xadrez (64 casas no tabuleiro) Nº de grão de arroz / trigo = (2n) – 1 = 264 – 1 = 18.446.744.073.709.551.615 Conversão Binário para decimal, exemplo: (10100110)2 = 128+0+32+0+0+4+2+0 = (166)10 Conversão Decimal para binário, exemplo: (738)10 = ??????? 738 369 0 369 184 1 184 92 0 92 46 0 46 23 0 23 11 1 11 5 1 5 2 1 2 1 0 1 0 1 (738)10 = (1011100010)2 2+32+64+128+512 = (738)10 Álgebra booleana (George Boole) Variáveis booleanas - assumem 0 ou 1. Operações booleanas: (not) inversão, soma (OR), multiplicação (AND). Contratar numa banda de rock: camarada que deve saber tocar guitarra ou cantar! Qual a lógica? Lógica OR. Canta bem Contrata1 = 0 + 1 = 1 (sim) Preciso mais integrantes: Canta e toca guitarra Contrata2 = 1 + 1 = 1 (sim) Não toca nada e não canta Contrata3 = 0 + 0 = 0 (não) COMO SE REPRESENTA O COMPORTAMENTO DE CIRCUITO DIGITAL? Tabela-verdade; Símbolo no circuito (porta lógica) representação gráfica; circuito; Expressões booleanas Diagramas no tempo Quero mais um integrante na banda. Estou mais exigente. Quero alguém que sabe tocar e cantar. Lógica AND. Contrata4 = tocar . cantar = 1 . 1 = 1 (sim) Inversor (NOT) uma entrada e uma saída. Baixar simulador Circuit Maker, instalador está no SIGAA e no site, instala- lo no computador e testar o funcionamento. 18/11/2020 Circuitos com várias portas lógicas; página 11 da aula2.PDF: DACBAX DACBAX DACBAX exemplo hipotético Mais um exemplo: BCAX Exercício da Aula2.PDF, página 18: BABAZ BBBABAAAZ BBABAZ 0 BBABAZ BBABAZ BAABZ BBZ 1 BBZ Z=B 25/11/2020 Mapas de Karnaugh Usam os teoremas de simplificação booleana, no mapa, através de células adjacentes e agrupamento de “uns”; para formar expressões booleanas (soma de produtos booleanos). Do slide 10 da aula3.pdf Tabela-verdade do exemplo: A B C X 0 0 0 0 0 1 0 0 1 0 2 0 1 0 1 3 0 1 1 0 4 1 0 0 0 5 1 0 1 0 6 1 1 0 1 7 1 1 1 0 Exemplo: Alarmes de uma fábrica: ... Temos que projetar dois alarmes ... que uma deles é uma lâmpada que terá acender em algumas situações, e outro um sinal (alarme) sonoro... T “temperatura”, P “pressão”, B “botão de emergência”. Tabela-verdade dos alarmes: T P B Lamp Sonoro (A) (B) (C) 0 0 0 0 0 0 1 0 0 1 1 0 2 0 1 0 1 0 3 0 1 1 1 1 4 1 0 0 1 0 5 1 0 1 1 1 6 1 1 0 1 1 7 1 1 1 1 1 Mapas K: Lamp = ???? C C BA 0 1 BA 1 1 AB 1 1 BA 1 1 CABLamp Aplicando um dos teoremas de Demorgan: CABLamp CABLamp Variáveis originais da tabela-verdade. Variáveis de entrada: T, P e B. Lamp = ????? B B PT 0 1 PT 1 1 PT 1 1 PT 1 1 BTPLamp Sonoro = ???? (expressão booleana minimizada) C C BA 0 0 BA 0 1 AB 1 1 BA 0 1 BACACBSonoro ... Variáveis originais da tabela-verdade. Variáveis de entrada: T, P e B. Sonoro = ????? B B PT 0 0 PT 0 1 PT 1 1 PT 0 1 PTBTBPSonoro ... 01/12/2020 Projeto de circuito combinacional: A) Conhecer o comportamento (desejado) do aparelho / sistema digital a ser projetado; B) Fazer a tabela-verdade correspondente ao comportamento esperado para o sistema; C) Resolver os mapas de Karnaugh relativos a cada variável de saída, produzindo assim as expressões booleanas; D) Implementar os circuitos de portas lógicas a partir das expressões booleanas, (pode ser interessante simular o circuito obtido para verificar se o comportamento é realmente o esperado). Etapa “D” do exemplo da aula passada: Comportamento de um semáforo hipotético: Esse semáforo deverá seguir as condições: veículo C1 seguirá para saídas “Y” ou “Z”; veículo C2 seguirá para quaisquer das direções, seguindo para saídas “X” ou “Y” ou “Z”; veículo C3 seguirá para saídas “X” ou “Z”. Além disso, a sequência de passagem dos veículos deverá ser: 1o passa C1, depois em 2o passa C2, e por 3o passará o veículo C3. Variáveis de entrada: “A”, “B” e “C”, sendo “A” relativo ao bit mais significativo. Considere que o sinal amarelo sempre deve acender antes do vermelho, no respectivo semáforo. Variáveis de saída: VM1, VM2, VM3, AM1, AM2, AM3, VD1, VD2, VD3. Para dar a sequência dos estados para o semáforo será usado um con- tador digital (no simulador) cujas variáveis de saída correspondem a “A”, “B” e “C”. O contador é um circuito sequencial que tem memória, sendo composto por circuitos ainda não explicados. Tabela-verdade: Mapas de Karnaugh: Pode-se perceber que a condição “x” (chamada “don’t care”), no contexto da resolução dos mapas K, não é apenas uma condição que “tanto faz” e poder-se-ia colocar zeros e uns aleatoriamente; tem outro significado. O “xis da questão” aqui não está relacionado a uma variável “x”, mas são condições que podem ser entendidas como um curinga de jogo de baralho. Mesmo que pareça estranha essa analogia, pode-se imaginar que o curinga assume diferentes valores conforme o andamento e as regras de um jogo de baralho. Note que nos mapas K em VM1 os dois “don’t care” (x) assumem valor igual a “1 lógico”, já no mapa referente à AM1 ambos assumem valor “0 lógico”. E o mais marcante, nos mapas referentes a: AM2, VD2, AM3 e VD3, os “x” assumem valores diferentes dentro do mesmo mapa. E o mais importante disso é a regra de fazer os agrupamentos de “uns” o maior possível, para que a expressão booleana resultante seja minimizada. A simulação pode ser feita em Circuit Maker Student 6: 09/12/2020 Decodificadores BCD – Binary coded to decimal (Por exemplo, o circuito integrado 7447) 0000 no display aparece 0 1001 no display aparece 9 Valor máximo para BCD é 9. “Blank input” entrada “BI” apaga todo o display. Display de relógio 23:59 00:00 ou 0:00 (1) Exemplo: Projete o circuito combinacional minimizado que faça aparecer a sequência de símbolos mostrada a seguir no display de sete segmentos. Use mapas de Karnaugh. Variáveis de entrada: A, B e C. Primeiro símbolo com A=B=C=0. As saídas relativas ao display de sete segmentos são denominadas: “a”, “b”, “c”, “d”, “e”, “f” e “g”. A disposição dos LEDs que formam os referidos segmentos é dada na figura a seguir. Use condição “don’t care” se necessário. Preencher as colunas das variáveis booleanas de saída: Mapas K: Simulação em Circuit Maker Student 6: (2) Exemplo de decodificador para display de 7 segmentos: Tabela-verdade: A B C a b c d e f g 0 0 0 0 1 0 1 1 1 1 1 1 0 0 1 1 1 1 0 1 1 1 2 0 1 0 0 0 1 1 1 1 1 3 0 1 1 0 1 0 0 1 1 1 4 1 0 0 1 0 0 0 1 1 0 5 1 0 1 X X X X X X X 6 1 1 0 X X X X X X X 7 1 1 1 X x X X X X X Ba Cb BACAc .. CAd . 1 fe Ag Mapas de Karnaugh: 16/12/2020 Portas lógicas NOT, AND, OR NAND BASaída . (expressão booleana da porta lógica NAND) NOR “Especiais”: OU-exclusivo (Exclusive-OR) XOR e XNOR Aplicações: Driver para display de cristal líquido (CI 4543); Circuitos aritméticos (meio somador, somador pleno / completo, subtrator), ULA unidades lógicas aritméticas. Soma binária: 1 “vai um” 1 + 1 (10)2 (2)10 (11)2 (3)10 101001110101001110 2+4+8+64+256 = 334 + 101100111 1+2+4+32+64+256 = 359 1010110101 1+4+16+32+128+512 = 693 (693)10 Simulação de circuito integrado 4511 (decodificador BCD para display de 7 segmentos, com latches). Utilização de planilha para resolver exercício de 09/12/2020. Reorganização dos tópicos do plano de ensino (aulas) no SIGAA, com vídeos associados às aulas futuras; de 2021. Equivalência de portas lógicas: XOR a porta ou-exclusivo é implementada a partir de cinco portas lógicas. Exemplo (Entradas A e B; saída Z): BABABAZ .. A equivalência da porta XNOR é dada pela seguinte expressão booleana: BABABAZ .. XNOR “porta coincidência”. 03/02/2021 Circuitos combinacionais VS Sequenciais Diferenças: - Sequenciais – Tem efeito “memória”. - Sequenciais – diferentes sequências de estados lógicos aplicados às entradas pode produzir diferentes valores de estados de saída. Circuitos sequenciais são os latches e flip-flops. Exercício 1: preencher a tabela de eventos digitais, latch tipo SR. A sequência das comutações é esquerda para direita. Seq SET RESET Int. Q 1 0 0 --- XXX (indet.) 2 1 1 1 * 3 0 0 0 0 4 0 1 0 0 5 1 0 * 1 6 1 1 1 * 7 0 1 0 0 8 1 0 * 1 Exercício 2: preencher a tabela de eventos digitais, latch tipo SR síncrono. A sequência das comutações é esquerda para direita. Seq SET RESET Enable Int 1 Int 2 Q 1 1 0 1 --- --- 1 2 1 1 0 1 * XXX 3 0 0 1 XXX XXX XXX 4 0 1 0 XXX 0 0 5 1 0 1 0 0 1 6 1 1 1 1 * * 7 0 1 0 0 0 0 8 1 0 1 0 0 1 10/02/2021 Latch tipo D com preset e clear: Tabela-verdade do Latch D com preset e clear: Preset\ Clear\ Enable D QF 1 1 1 0 0 1 1 1 1 1 1 1 0 X QA 0 1 0 X 1 1 0 0 X 0 0 0 X X * 1 0 1 1 * 0 1 1 0 * 1 0 1 0 0 0 1 1 1 1 Exemplo: Preencher tabela de eventos digitais, latch tipo D com preset\ e clear\. Sequência das comutações: esquerda para direita. D Enable Preset\ Clear\ Int 1 Int 2 Int 3 Q 1 1 0 1 1 --- --- --- XXX 2 0 1 1 1 XXX 0 0 0 3 0 0 1 1 0 0 0 0 4 1 1 1 1 0 1 1 1 5 0 0 1 1 0 0 0 0 6 1 1 1 0 0 1 1 * 7 0 1 1 1 0 0 0 0 8 1 0 0 1 1 1 1 1 9 1 0 1 1 1 1 1 1 10 0 0 1 1 1 1 1 1 11 0 1 0 0 1 0 * * 12 0 0 1 1 * * 0 0 13 1 1 1 1 0 1 1 1 14 0 1 1 1 0 0 0 0 15 1 0 1 0 1 1 1 0 24/02/2021 Flip-flops Flip subida rápida Flop queda / descida rápida Montar um flip-flop do tipo D a partir de dois latches D, também simular. Tabela-verdade: Flip-flop D, sensível à descida: D Clock QF 0 ↓ 0 1 ↓ 1 X 0 QA X 1 QA X ↑ QA Tabela-verdade: Flip-flop D com preset\ e clear\, sensível à borda de descida Preset\ Clear\ D Clock QF 1 1 0 ↓ 0 1 1 1 ↓ 1 1 1 X 0 QA 1 1 X 1 QA 1 1 X ↑ QA 0 1 X X 1 1 0 X X 0 0 0 X X * Exercício: preencher tabela de eventos digitais. Flip-flop tipo D com entrada de clock sensível de descida, com preset\ e clear\. Sequência das comutações: esquerda para direita. D Clock Preset\ Clear\ Q 1 1 0 1 1 XXX 2 1 1 1 0 0 3 1 0 1 1 0 4 0 1 1 1 0 5 1 0 0 0 1 1 * 6 0 1 1 1 0 0 7 1 0 1 1 1 8 1 1 1 0 0 9 1 0 1 1 0 10 0 1 1 1 0 11 0 0 1 1 0 12 1 1 1 0 0 Dicas: 1o Preset ou clear iguais a zero, 2o indicar clocks de descida. 03/03/2021 Flip-flop JK (“jump / kill”) Figura: Diagrama de portas lógicas, implementação de flip-flop tipo JK edge-triggered a partir de flip-flop tipo D master-slave. Tabela-verdade FF-JK com preset\ e clear\, clock sensível à borda de descida (↓). Preset\ Clear\ J K Clock QF 1 1 0 0 ↓ QA 1 1 0 1 ↓ 0 1 1 1 0 ↓ 1 1 1 1 1 ↓ AQ 1 1 X X 0 QA 1 1 X X 1 QA 1 1 X X ↑ QA 0 1 X X X 1 1 0 X X X 0 0 0 X X X * Com J = K = 1 temos o efeito “toggle” (alternância). Exercício: Preencher tabela de eventos digitais, flip-flop JK com entradas de preset\ e clear\. Sequência das comutações: esquerda para direita. Entrada de clock sensível à descida. J K Clock Preset\ Clear\ Q 1 1 1 0 1 0 0 2 1 0 1 1 1 0 3 1 1 0 1 1 1 4 0 1 1 1 1 1 5 1 1 0 1 1 0 6 0 0 1 1 1 0 7 1 0 0 1 1 1 8 1 1 1 0 0 1 1 * 9 1 0 0 1 1 * 0 0 10 0 0 1 1 1 0 11 0 1 0 0 1 0 1 12 1 1 1 1 1 1
Compartilhar