Buscar

Anotacoes_de_Aula_010_Prof_Pedroso_2020_2

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

Continue navegando