Sistemas Digitais - 2º Exame (Época Especial) 2011/12

Propaganda
Sistemas Digitais - 2º Exame (Época Especial) 2011/12
{11E2.doc}
1. [11E2.1] Escreva as representações binárias, decimall e hexadecimal de 65(8).
R: 65(8) = 110 101(2) = 11 0101(2) = 35(16) = 3*16+5(10) = 53(10). Confirmação:
53(10).
Confirmação 6*8+5=53
2. [11E2.2] Considere o circuito da figura Bool01.k, que realiza a função lógica F.
2. 1. Obtenha a expressão algébrica de F correspondente ao circuito.
2. 2. Use o método de Karnaugh para obter a expressão mínima da função na forma
disjuntiva mínima (soma de produtos mínima).
2. 3. Desenhe o diagrama lógico correspondente à expressão mínima da função F
R1: F = A C + B D + A C D + A B C D
R2: F = A C + B D + C D , vidé Karnaugh01.14
R3: vidé Bool01.l
Processo mental (para obter o mapa de Karnaugh): F é um OR de quatro ANDs, o que acarreta: será ‘1
1’ sse ao
menos um desses ANDs for ‘1’. Karnaugh01.13 exibe os mapas correspondentes a esses ANDs:
A C será ‘11’ sse
A=1 e C=0; B D será ‘1
1’ sse B=0 e D=1; A C D será ‘1
1’ sse A=0 e C=1 e D=1; A B C D será ‘1
1’ sse A=1 e B=1
e C=1 e D=1. F será ‘1
1’ nas quadrículas em que ao menos um desses mapas contiver ‘1
1’...
3. [11E2.3] Considere a função F (A, B, C, D, E) = ∑ m (4, 5, 7, 8, 10, 13, 14, 16, 21, 24, 25, 26, 29, 30, 31).
3. 1. Desenhe o mapa de Karnaugh de que lhe corresponde
3. 2. Assinale no mapa o implicante A B C E. Indique, justificando, se esse implicante é primo.
3. 3. Assinale no mapa o implicado A+B+C. Indique, justificando, se esse implicado é primo.
3. 4. Indique, justificando, um implicante primo essencial da função (se existir).
R1: vidé Karnaugh04.1
R2: vidé Karnaugh04.2
O implicante é primo. Com efeito, não é possível combiná-lo com outro implicante adjacente (do mesmo
tamanho), de forma a obter um outro maior (com o dobro do tamanho) que o cubra.
Comentário adicional: Se não fosse primo, isso significaria que poderia ser reduzido: seria implicante da função
ao menos um dos termos de produto que se podem formar a partir dele – e que são: B C E, A C E, A B E e A B C.
Ora, traçaram-se em Karnaugh04.2 estes quatro termos de produto – e vê-se bem que nenhum deles é implicante
de F – no sentido de que todos eles têm ao menos um ‘1
1’ que F não comporta.
R3: vidé Karnaugh04.2
O implicado é primo. Com efeito, não é possível combiná-lo com outro implicado adjacente (do mesmo
tamanho), de forma a obter um outro maior que o cubra.
Comentário adicional: Se não fosse primo, isso significaria que poderia ser reduzido: seria implicado da função
ao menos um dos termos de soma que se podem formar a partir dele – e que são: B+C, A+C e A+B. O leitor é
convidado a traçar em Karnaugh04.2 estes quatro termos – e verificar por si que nenhum deles é implicado de F –
no sentido de que todos eles têm ao menos um ‘0
0’ que F não comporta.
R4:
A B C E , é o único implicante primo que cobre a célula 7. Há outros mais.
4. [11E2.4] Um sistema de ar condicionado dum armazém, S, é controlado por sensores: H, M, P, T.
Ficam activados se e só se:
- H: a Humidade relativa for de pelo menos 60%;
- M: o peso do Material armazenado for igual ou superior a 100 toneladas;
- P: a Pressão atmosférica for igual ou superior a 760 mmHg;
- T: a Temperatura for igual ou superior a 30º.
H, T e S são activos a Low, os restantes sensores são activos a High.
O sistema deve funcionar se ocorrer uma ou mais das seguintes condições:
O peso do material for inferior a 100 t, a humidade for de ao menos 60% e a temperatura não for inferior a 30º;
O peso do material não for inferior a 100 t, a humidade for pelo menos 60% e a temperatura for inferior a 30º;
O peso do material for inferior a 100 t e a pressão atmosférica for igual ou superior a 760 mmHg.
Desenhe o esquema do circuito em lógica mista/de-polaridade.
R: vidé Polarity03.1, que pode ser simplificado, vidé Polarity03.2
5. [11E2.5] Pretende-se concretizar um circuito combinatório, que recebe na entrada um número de 2 bits e gera
um número de 4 bits correspondente ao quadrado do número de entrada. Desenhe o diagrama lógico para o
circuito pretendido. Use um único descodificador (com as dimensões mínimas necessárias) e o número
mínimo de portas lógicas elementares adicionais.
R: Adiante, apresentam-se as tabelas de verdade das saídas do circuito, {Z3,...,Z0}.
Processo mental: listaram-se, nas colunas {X1X0}, todas as combinações das variáveis; após o que se escreveu
à esquerda, em decimal entre parêntesis ‘()’, o valor {N
N} que cada uma representa (em binário); de seguida,
construiu-se a coluna {N
N2}: linha a linha, vem a ser o quadrado do correspondente valor {N
N}. Enfim, pela expansão
2
em binário de cada um desses valores {N
N }, elaboraram-se as colunas {Z3,...,Z0}.
N(10)
(0)
(1)
(2)
(3)
N(2)
0
0
1
1
X1
0
1
0
1
X0
N2(10)
(0)
(1)
(4)
(9)
N2(2)
0
0
0
1
Z3
0
0
1
0
Z2
0
0
0
0
Z1
0
1
0
1
Z0
Da tabela, deduz-se imediato o circuito pretendido, vidé Comb01.10.
Processo mental: analisando a tabela, constata-se o seguinte:
Z3 resume-se a um mintermo das variáveis {X1X0}, mais precisamente: Z3=m3;
Z2 resume-se a um outro mintermo das variáveis {X1X0}, mais precisamente: Z2=m2;
Z1 é sempre 0, ou seja, Z1=0;
Z0 é igual a X0, ou seja, Z0=X0
Para lograr os dois mintermos, m2 e m3, recorre-se a um descodificador, com duas entradas de selecção; a
elas, interligam-se as variáveis {X1X0}, ordenadas: X1, a variável de maior peso, é interligada à variável de selecção
de maior peso... Com isso, as saídas do descodificador vêm a ser todos os mintermos das variáveis {X1X0} –
ordenados de cima para baixo: {m0, m1, m2, m3} - bastando aproveitar aqueles (dois) que são de facto necessários.
6. [11E2.6] Considere o circuito Comb01.25. Qual a expressão algébrica correspondente
à função F (A,B,C)?
R: F = A ⊕ B ⊕ C .
Justificação: Com o Preâmbulo P2 em mente, será útil construir um mapa de Karnaugh
em que as variáveis de selecção do multiplexer são dispostas nas duas linhas de topo:
0
1
(0)
0
0
0
1
A F(0 ) = A
(1)
0
1
1
0
(3)
1
1
0
1
(2)
1
0
1
0
← Entrada de dados seleccionada
B ← Variável de selecção de maior peso
C ← Variável de selecção de menor peso
F(1) = A F(3) = A F( 2 ) = A
A subsequente construção da tabela de verdade de F é pacífica... Seja o caso de as variáveis {B,C} serem, por
ex., {1,0}; isso acarreta que em F irá surgir o que então estiver sendo aplicado na entrada de dados {2} – e que
vem a ser F( 2 ) = A . Ou seja: se em A estiver ‘0
0’, F ficará sendo ‘1
1’, e se em A estiver ‘1
1’, F ficará sendo ‘0
0’ – e é
isso que se inscreve na tabela de verdade. Idem para as restantes combinações de {B,C}. A etapa seguinte é
aplicar o método de Karnaugh, chegando a
F = A B C + A B C + A B C + A B C = A (B ⊕ C ) + A(B ⊕ C ) = ...
7. [11E2.7] Projecte, usando apenas o contador integrado indicado em CTR01.9, um circuito
que concretize a sequência de estados representada nas formas de onda em CTR01.10
R: vidé CTR01.11.
Justificação: convém, antes de mais, entender o ciclo em CTR01.10, e que vem a ser:
S0
S1
S2
S3
0
1
1
0
6 →
1
1
1
0
7 →
0
0
0
1
8 →
1
1
0
0
3 →
0
1
0
0
2 →
1
0
0
0
1 →
0
1
1
0
6
← No estado ‘8’, E0 deve ser ‘1’ (e ‘0’ no estado ‘1’
← Nos estados ‘8’ e ‘1’, E1 deve ser ‘1’
← No estado ‘8’, E2 deve ser ‘0’ (e ‘1’ no estado ‘1’
← Nos estados ‘8’ e ‘1’, E3 deve ser ‘0’
→...
Da análise do ciclo sobressaem três tipos de comportamento:
- há casos {6→7 e 7→8} em que o contador incrementa ‘1’ – e isso logra-se nos modos M2, M3, vidé 2,3,+
- há casos {3→2 e 2→1} em que o contador decrementa ‘1’ – e isso logra-se nos modos M2,M4, vidé 2,4,- nos restantes casos {8→3 e 1→6}: advém um valor não-adjacente – e isso logra-se no modo M1, vidé 1,6D
Convém traduzir estas conclusões em mapas de Karnaugh (de M2 e M3), vidé adiante
- nas células 6 e 7, M2= M3=1
- nas células 3 e 2, M2=1, M3=0
- nas células 8 e 1, M2=0, M3 qualquer – pressupondo respectivamente {0011
0011}
0110}
0011 e {0110
0110 em {E3,...,E0};
- em todas as outras células, M2 e M3 são irrelevantes...
0 0
0 1
1 1
1 0
S3 S2
0
0
0
4
12
8
0
1
1
5
13
9
1
1
3
7
15
11
1
0
2
6
14
10
0
0
X
X
X
0
0 1 1
1 1 0
0 1 1
X 1 1
X X X
X X X
M2
0
0
X
X
X
X
0 1 1 S1
1 1 0 S0
X 0 0
X 1 1
X X X
X X X
M3
A subsequente aplicação do método de Karnaugh conduz a: M2=S1 e M3=S2.
Falta determinar a que ligar {E3,...,E0}, para lograr as transições {8→3
3 e 1→6
6}. É
possível, é claro, proceder como se fez para M2 e M3, a saber: preencher os mapas de
Karnaugh de {E3,...,E0} e deduzir as respectivas expressões algébricas... Mas um olhar
cuidado permitirá deduzi-las, sem tanto esforço...
Em poucas palavras, trata-se de, quando M2=0, produzir 0011 ou 0110.
0110 Um relance
conclui que há neles algo comum, a saber: o primeiro bit à-esquerda é ‘0
0’, e o terceiro bit é
‘1
1’, ou seja: basta impor E3=0 e E1=1...
=1
Quanto ao segundo bit, ele deve volver-se ‘0
0’ no estado ‘8’, e ‘1
1’ no estado ‘1’ - a questão
que então se põe vindo a ser esta: a que ligar E2, de forma que ele se comporte assim?
Olhando para a codificação de ambos os estados, 1000 e 0001,
0001 é pacífica a conclusão:
bastará fazer E2=S0. O raciocínio é análogo para o quarto bit: a que ligar E0, de forma que
ele advenha ‘1
1’ no estado ‘8’, e ‘0
0’ no estado ‘1’? Olhando para a codificação de ambos os
estados, 1000 e 0001,
0001 deverá ser pacífica ao leitor a conclusão: bastará fazer E0=S3.
CTR01.11 reúne as conclusões feitas; ademais, fixa os pertinentes valores nas entradas CT e G5...
8. [11E2.8] Considere o circuito da figura ShiftReg01.9. Indique a sequência de estados, começando no estado 0
e até voltar ao estado 0.
R: A sequência de estados encontra-se na tabela adiante.
Processo mental: As entradas de selecção do modo estão fixas em ‘H
H’; portanto, o
registo está permanentemente no modo M3: deslocamento à esquerda (vidé ‘3←’). Ou
seja: por cada clock, Q2 recebe o valor de Q1, Q1 recebe o valor de Q0 e Q0 recebe o
que se encontrar na entrada 3,4D – e que vem a ser
Q1 ⊕ Q 2
Isso habilita a traçar a seguinte evolução:
Q2 Q1 Q0 Entrada externa à direita:
0 0 0
1
0 0 1
1
0 1 1
0
1 1 0
1
1 0 1
0
0 1 0
0
1 0 0
0
0 0 0 ←voltou ao início
Q1 ⊕ Q 2
Em decimal, a sequência de estados vem então a ser a seguinte: 0 → 1 → 3 → 6 → 5 → 2 → 4 → 0 ...
9. [11E2.9] Um circuito sequencial tem uma entrada X e duas saídas {Z1Z0}, e o
diagrama de estados SeqSynth03.13. Projecte o circuito recorrendo ao menor
número possível de flip-flops do tipo D. Para produzir a saída e excitar as
entradas dos flip-flops, use uma ROM. Indique o conteúdo da tabela da
ROM.
R: O circuito, e tabela da ROM, encontram-se adiante (vidé SeqSynth04.8).
Justificação: a tabela de estados/saídas é a seguinte:
0
0
1
1
Q1
0
1
0
1
Q0
1
0
1
0
1
0
0
0
1
1
Z1
1
0
1
0
1
0
1
1
0
0
Z0
0
0
1
1 X
0
1
1
1
1
1
1
0
0
0
0
1
1
0
0
0
D1=Q1(t+1) D0=Q0(t+1)
Processo mental: repare-se, por ex., na seta etiquetada ‘1
1/1
11’ que se dirige do círculo ’0
01’ para o círculo ‘10
10’...
10
Ela indica que, encontrando-se o circuito no estado ‘Q1=0
0,Q0=1
1’, e se a entrada for X=1
1, ele irá produzir as saídas
Z1=1
1,Z0=1
1, e – no próximo clock - deverá transitar para o estado Q1=1
1,Q0=0
0. Essa informação é inscrita na tabela
da seguinte maneira: na linha ‘0
01’, e nas colunas X=1
1 dos mapas de Z1, Z0, Q1(t+1) e Q0(t+1), inscreve-se 1,1,1,0.
Para as demais quadrículas, o raciocínio é similar.
Repare-se que as variáveis {Q1,Q0} das tabelas não se encontram no código binário reflectido – pela simples
razão de que se vai usar uma ROM: não há lugar à simplificação pelo método de Karnaugh... Isso habilita a
construir de imediato a tabela da ROM.
(0)
(1)
(2)
(3)
(4)
(5)
(6)
(7)
0
1
1
1
0
0
1
0
1
1
1
0
0
1
0
0
0
0
0
1
1
0
1
1
1
0
1
1
0
0
0
1
(address) D1 D0 Z1 Z0
A tabela da ROM deverá conter 4 tabelas de verdade: as das (duas) saídas, {Z1, Z0}, e as de excitação dos
(dois) flip-flops, {D1, D0}. Essas tabelas comportam três variáveis, a saber: {Q1,Q0,X} – o que se volve em 8
combinações distintas, o mesmo é dizer: a ROM deverá ter as dimensões 8x4
8x4.
Regressando ao exemplo acima: à seta etiquetada ‘1
1’ saindo do círculo ’01
01’
01 estão associadas 4 informações: as
saídas {Z1=1
1,Z0=1
1} e os estados seguintes Q1=1
1,Q0=0
0 – o mesmo é dizer, e porquanto se usam flip-flops ‘D’: os
valores, {D1=1
1,D0=0
0}, a aplicar às entradas dos flip-flops, para que eles tenham o comportamento requerido no
diagrama de estados. O que a ROM “faz” é armazenar esses 4 valores, ou seja: na posição de memória
endereçada pela combinação ‘011’ (Estado=01,Entrada=1), inscreve-se 1011
1011.
11 Para as demais posições de
memória, o raciocínio é similar.
Note-se que, no endereço, as variáveis de estado {Q1,Q0} ocupam as posições de maior peso; isso facilitou a
transposição dos mapas para a tabela da ROM: para preencher a coluna D1 da ROM, bastou copiar do mapa de
D1, lendo da esquerda para a direita e de cima para baixo... E as posições de memória de maior peso também
acabaram por ser ocupadas pelas entradas dos flip-flops – conquanto agora por razões de grafismo...
Download