Você está na página 1de 28

Escola Superior de Tecnologia e Gestão de Licenciatura em Engenharia Informática

Felgueiras - Politécnico do Porto

1. Circuitos Combinatórios
Sumário:

• Sistemas de numeração
• Códigos
• Codificadores
• Descodificadores
• Multiplexers
• Desmultiplexers
• Comparadores

LEI SDAC 1

1. Circuitos Combinatórios
Circuito Combinatório?

Circuito combinatório é um circuito formado por funções lógicas elementares, que


tem um conjunto de entradas e outro de saídas. Os valores das saídas dependem
exclusivamente do valor lógico das entradas e da sua constituição interna.

Exemplos de circuitos combinatórios:

codificadores, descodificadores, multiplexers, desmultiplexers, comparadores,


geradores e detectores de paridade e conversores de código.

LEI SDAC 2

1
Escola Superior de Tecnologia e Gestão de Licenciatura em Engenharia Informática
Felgueiras - Politécnico do Porto

1. Circuitos Combinatórios
Codificação / Descodificação:

Qualquer informação que se deseje tratar, processar ou armazenar usando sistemas


digitais deverá ser traduzida ou codificada num tipo de linguagem adequada.

A forma correcta de o fazer é converter qualquer número, letra, símbolo, instrução


ou operação num conjunto de sinais eléctricos digitais.

Cada um dos dados será convertido num conjunto de uns e zeros que indicarão
níveis altos ou baixos de tensão,
tensão respectivamente.
respectivamente

Da mesma forma, para interpretar um resultado à saída de um circuito digital, é


necessário traduzir ou descodificar o resultado, transformando os zeros e uns em
dados perceptíveis.

LEI SDAC 3

1. Circuitos Combinatórios
Sistemas de numeração:

Sistemas de Numeração são formas de representação das grandezas


quantitativas.

Sistemas de Numeração:

• Decimal (0,1,2, ...)


• Binário (0
(0,1)
1)
• Octal (0,1,2, ..., 7)
• Hexadecimal (0,1,2, ..., F)

LEI SDAC 4

2
Escola Superior de Tecnologia e Gestão de Licenciatura em Engenharia Informática
Felgueiras - Politécnico do Porto

1. Circuitos Combinatórios
peso

Sistemas de numeração – Sistema binário


Código Binário
Código
• neste sistema de numeração utilizam- Decimal
24 23 22 21 20
16 8 4 2 1
se somente dois símbolos (0, 1);
0 0 0 0 0 0
• normalmente designa-se por sistema 1 0 0 0 0 1

de numeração de base 2 ou binário 2 0 0 0 1 0


3 0 0 0 1 1
natural;
4 0 0 1 0 0
• cada dígito binário designa-se por bit. 5 0 0 1 0 1
6 0 0 1 1 0
Cada coluna tem um peso diferente: 7 0 0 1 1 1
8 0 1 0 0 0
Peso máximo = 2nº de dígitos para representação da informação - 1
9 0 1 0 0 1

5  0 * 2 4  0 * 23  1* 2 2  0 * 21  1* 20  4  1  5
10 0 1 0 1 0
.... .... ... .... ... ....
9  0 * 2 4  1* 23  0 * 2 2  0 * 21  1* 20  8  1  9

LEI SDAC 5

1. Circuitos Combinatórios
Sistemas de numeração – Sistema octal

• este sistema também pode ser Código Código


Decimal Octal
designado por base 8;
0 0
• só tem 8 dígitos: 0, 1, 2, 3, 4, 5, 6, 7. 1 1
2 2
3 3
4 4
5 5
6 6
7 7

LEI SDAC 6

3
Escola Superior de Tecnologia e Gestão de Licenciatura em Engenharia Informática
Felgueiras - Politécnico do Porto

1. Circuitos Combinatórios
Sistemas de numeração – Sistema hexadecimal

• este sistema também pode ser


Código Código Código Código
designado por base 16; Decimal Hexadecimal Decimal Hexadecimal

• só tem 16 dígitos. 0 0 8 8
1 1 9 9
2 2 10 A
3 3 11 B
4 4 12 C
5 5 13 D
6 6 14 E
7 7 15 F

LEI SDAC 7

1. Circuitos Combinatórios
Sistemas de numeração:
Código Binário
Códi
Código Código
Códi Códi
Código
24 23 22 21 20
Decimal Octal Hexadecimal
16 8 4 2 1

0 0 0 0 0 0 0 0

1 1 1 0 0 0 0 1

2 2 2 0 0 0 1 0

3 3 3 0 0 0 1 1

4 4 4 0 0 1 0 0

5 5 5 0 0 1 0 1

6 6 6 0 0 1 1 0

7 7 7 0 0 1 1 1

8 10 8 0 1 0 0 0

9 11 9 0 1 0 0 1

10 12 A 0 1 0 1 0

11 13 B 0 1 0 1 1

12 14 C 0 1 1 0 0

13 15 D 0 1 1 0 1

14 16 E 0 1 1 1 0

15 17 F 0 1 1 1 1

LEI SDAC 8

4
Escola Superior de Tecnologia e Gestão de Licenciatura em Engenharia Informática
Felgueiras - Politécnico do Porto

1. Circuitos Combinatórios
Sistemas de numeração – Conversão - Base 2:

Base 2  Base 8

Divide-se o número binário em grupos de três, da direita para a esquerda, e a sua


soma ponderada dá um algarismo no sistema octal.
Código Binário
Código

  2  63
22 21 20
110011  8 Octal
4 2 1

0 0 0 0

1 0 0 1

2 0 1 0

011( 2)  0 * 2  1* 2  1* 2  2  1  3(8)
2 1 0
3 0 1 1

4 1 0 0

5 1 0 1

110( 2)  1* 2  1* 2  0 * 2  4  2  6 (8)
2 1 0
6 1 1 0

7 1 1 1

LEI SDAC 9

1. Circuitos Combinatórios
Sistemas de numeração – Conversão – Base 2:

Base 2  Base 10

Recorre-se ao polinómio equivalente e considerando este no modo decimal.

1101, 011 2  1* 23  1* 22  0* 21  1* 20  0* 21  1* 22  1* 23 


 8  4  0  1  0  0,, 25  0,125
, 
 13,37510

LEI SDAC 10

5
Escola Superior de Tecnologia e Gestão de Licenciatura em Engenharia Informática
Felgueiras - Politécnico do Porto

1. Circuitos Combinatórios
Sistemas de numeração – Conversão – Base 2:
Código Binário
Base 2  Base 16 Código
23 22 21 20
Hexadecimal
8 4 2 1

Divide-se o número binário em grupos de 0 0 0 0 0

quatro, da direita para a esquerda, e a sua


1 0 0 0 1

2 0 0 1 0

soma ponderada dá um algarismo no sistema 3 0 0 1 1

Hexadecimal.
4 0 1 0 0

5 0 1 0 1

  2  C
6 0 1 1 0
110001011010 5A 16 7 0 1 1 1

8 1 0 0 0

9 1 0 0 1

A 1 0 1 0

1010( 2)  1* 23  0 * 2 2  1* 21  0 * 2 0  8  2  A(16 ) B 1 0 1 1

C 1 1 0 0
0101( 2)  0 * 2  1* 2  0 * 2  1* 2  4  1  5(16 )
3 2 1 0
D 1 1 0 1

E 1 1 1 0
1100( 2)  1* 2  1* 2  0 * 2  0 * 2  8  4  C(16 )
3 2 1 0
F 1 1 1 1

LEI SDAC 11

1. Circuitos Combinatórios
Sistemas de numeração – Conversão - Base 8:

Base 8  Base 2

Converte-se cada algarismo em binário com três dígitos.

Código Binário
Código
22 21 20
Octal

 8  110011
4 2 1
63   2 0 0 0 0

1 0 0 1

2 0 1 0

3 0 1 1

4 1 0 0

5 1 0 1

6 1 1 0

7 1 1 1

LEI SDAC 12

6
Escola Superior de Tecnologia e Gestão de Licenciatura em Engenharia Informática
Felgueiras - Politécnico do Porto

1. Circuitos Combinatórios
Sistemas de numeração – Conversão - Base 8:

Base 8  Base 10

Converte-se aplicando os pesos correspondentes ao sistema octal.

30,58  3*81  0*80  5*81 


 24,
24 62510

LEI SDAC 13

1. Circuitos Combinatórios
Sistemas de numeração – Conversão - Base 8:

Base 8  Base 16

Primeiro converte-se para a base 10 e depois converte-se da base 10 para a base 16.

Primeiro converte-se da base 8 Segundo converte-se da base


para a base 10. 10 para a base 16.

308  3*81  0*80 24(10) 16 Método das divisões


sucessivas
8 1
 2410

2410  1816

308  1816

LEI SDAC 14

7
Escola Superior de Tecnologia e Gestão de Licenciatura em Engenharia Informática
Felgueiras - Politécnico do Porto

1. Circuitos Combinatórios
Sistemas de numeração – Conversão - Base 10:

Base 10  Base 2

Parte inteira:
divide-se sucessivamente o número representado no sistema decimal por 2 até que o
valor do quociente seja menor que o divisor. O resto obtido e o último quociente
constituem o número no sistema binário.

Parte fraccionária:
multiplica-se por dois; a parte inteira deste produto é o algarismo mais significativo
da parte fraccionária do número binário. Se a parte fraccionária for novamente
multiplicada por 2, a nova parte inteira será o segundo algarismo mais significativo e
assim sucessivamente, até a parte fraccionária ser igual a zero.

LEI SDAC 15

1. Circuitos Combinatórios
Sistemas de numeração – Conversão - Base 10:

Base 10  Base 2 30, 625(10)

30 2 0, 625 0, 250 0,500


0 15 2 * 2 * 2 * 2
1 7 2
1 3 2 1, 250 0,500 1, 000
1 1
ordem de leitura

como o quociente é como o resultado da


menor que o divisor parte fraccionária é zero
111110(2) não se divide mais. ,101(2) não se multiplica mais.

30, 625(10)  11110,101(2)


LEI SDAC 16

8
Escola Superior de Tecnologia e Gestão de Licenciatura em Engenharia Informática
Felgueiras - Politécnico do Porto

1. Circuitos Combinatórios
Sistemas de numeração – Conversão - Base 10:

Base 10  Base 8

Parte inteira:
divide-se sucessivamente o número representado no sistema decimal por 8 até que o
valor do quociente seja menor que o divisor. O resto obtido e o último quociente
constituem o número no sistema binário.

Parte fraccionária:
multiplica-se por dois; a parte inteira deste produto é o algarismo mais significativo
da parte fraccionária do número binário. Se a parte fraccionária for novamente
multiplicada por 8, a nova parte inteira será o segundo algarismo mais significativo e
assim sucessivamente, até a parte fraccionária ser igual a zero.

LEI SDAC 17

1. Circuitos Combinatórios
Sistemas de numeração – Conversão - Base 10:

Base 10  Base 8 30, 625(10)

0, 625
30 8
6 3 * 8
5, 000
ordem de leitura como o quociente é
menor que o divisor
d ordem de leitura
não se divide mais.

como o resultado da
parte fraccionária é zero
36(8) ,5(8) não se multiplica mais.

30, 625(10)  36,5(8)


LEI SDAC 18

9
Escola Superior de Tecnologia e Gestão de Licenciatura em Engenharia Informática
Felgueiras - Politécnico do Porto

1. Circuitos Combinatórios
Sistemas de numeração – Conversão - Base 10:

Base 10  Base 16

Parte inteira:
divide-se sucessivamente o número representado no sistema decimal por 16 até que
o valor do quociente seja menor que o divisor. O resto obtido e o último quociente
constituem o número no sistema binário.

Parte fraccionária:
multiplica-se por dois; a parte inteira deste produto é o algarismo mais significativo
da parte fraccionária do número binário. Se a parte fraccionária for novamente
multiplicada por 16, a nova parte inteira será o segundo algarismo mais significativo e
assim sucessivamente, até a parte fraccionária ser igual a zero.

LEI SDAC 19

1. Circuitos Combinatórios
Sistemas de numeração – Conversão - Base 10:

Base 10  Base 16 30, 625(10)

0, 625
30 16
14 1 * 16
10, 000
ordem de leitura como o quociente é
menor que o divisor
d ordem de leitura
não se divide mais.

como o resultado da
parte fraccionária é zero
1E(16) , A(16) não se multiplica mais.

30, 625(10)  1E , A(16)


LEI SDAC 20

10
Escola Superior de Tecnologia e Gestão de Licenciatura em Engenharia Informática
Felgueiras - Politécnico do Porto

1. Circuitos Combinatórios
Sistemas de numeração – Conversão - Base 16:
Código Binário
Código
23 22 21 20
Base 16  Base 2
Hexadecimal
8 4 2 1

0 0 0 0 0

Substituímos cada algarismo por um grupo


1 0 0 0 1

2 0 0 1 0
de 4 dígitos binários. 3 0 0 1 1

4 0 1 0 0

5 0 1 0 1

5A 16  110001011010


C    2 6

7
0

0
1

1
1

1
0

8 1 0 0 0

9 1 0 0 1

A 1 0 1 0

B 1 0 1 1

C 1 1 0 0

D 1 1 0 1

E 1 1 1 0

F 1 1 1 1

LEI SDAC 21

1. Circuitos Combinatórios
Sistemas de numeração – Conversão - Base 16:

Base 16  Base 8

Primeiro converte-se para a base 10 e depois converte-se da base 10 para a base 8.

Primeiro converte-se da base Segundo converte-se da base


16 para a base 10. 10 para a base 8.

3016  3*161  0*160 48(10) 8 Método das divisões


sucessivas
0 6
 4810

4810  608

3016  608

LEI SDAC 22

11
Escola Superior de Tecnologia e Gestão de Licenciatura em Engenharia Informática
Felgueiras - Politécnico do Porto

1. Circuitos Combinatórios
Sistemas de numeração – Conversão - Base 16:

Base 16  Base 10

Converte-se aplicando os pesos correspondentes ao sistema hexadecimal.

30,516  3*161  0*160  5*161 


 48,3125
, 10 

LEI SDAC 23

1. Circuitos Combinatórios
Códigos:

• um código é, na generalidade, um conjunto de unidades de informação relacionadas


de forma sistemática e biunívoca com outro conjunto de sinais e símbolos segundo
determinadas regras de tradução pré - fixadas.
• os códigos utilizados nos sistemas digitais são binários, isto é, combinações de 1’s e
0’s.

• BCD (Decimal Codificado em Binário): Natural, Excesso 3 e Aiken;


• Códigos Progressivos (Código Gray);
• Códigos Detectores e Correctores de Erro (Paridade e Hamming);
• Códigos Alfanuméricos (Código ASCII);

LEI SDAC 24

12
Escola Superior de Tecnologia e Gestão de Licenciatura em Engenharia Informática
Felgueiras - Politécnico do Porto

1. Circuitos Combinatórios
Códigos – Código BCD – Natural: Código
Código Binário

23 22 21 20
Decimal
8 4 2 1

0 0 0 0 0
• é um código baseado
Código BCD Natural
1 0 0 0 1
23 22 21 20
nas primeiras 16 8 4 2 1
2 0 0 1 0

3 0 0 1 1
combinações do código
0 0 0 0 0
4 0 1 0 0
1 0 0 0 1
binário; 2 0 0 1 0
5 0 1 0 1

6 0 1 1 0
• utiliza as primeiras 10
3 0 0 1 1
7 0 1 1 1
4 0 1 0 0
combinações do código 5 0 1 0 1
8 1 0 0 0

9 1 0 0 1
binário por ordem
6 0 1 1 0
10 1 0 1 0
7 0 1 1 1
crescente (0, ..., 9) 8 1 0 0 0
11 1 0 1 1

12 1 1 0 0
9 1 0 0 1
13 1 1 0 1

14 1 1 1 0

15 1 1 1 1

LEI SDAC 25

1. Circuitos Combinatórios
Códigos – Código BCD – Excesso 3: Código
Código Binário

23 22 21 20
Decimal
8 4 2 1

0 0 0 0 0
• não são utilizadas as
Código BCD Excesso 3
1 0 0 0 1
23 22 21 20
primeiras três, nem as 8 4 2 1
2 0 0 1 0

3 0 0 1 1
três últimas
3 0 0 1 1
4 0 1 0 0
4 0 1 0 0
combinações do código 5 0 1 0 1
5 0 1 0 1

6 0 1 1 0
binário.
6 0 1 1 0
7 0 1 1 1
7 0 1 1 1
8 1 0 0 0
8 1 0 0 0
9 1 0 0 1
9 1 0 0 1
10 1 0 1 0
10 1 0 1 0
11 1 0 1 1
11 1 0 1 1
12 1 1 0 0
12 1 1 0 0
13 1 1 0 1

14 1 1 1 0

15 1 1 1 1

LEI SDAC 26

13
Escola Superior de Tecnologia e Gestão de Licenciatura em Engenharia Informática
Felgueiras - Politécnico do Porto

1. Circuitos Combinatórios
Códigos – Código BCD – Aiken: Código
Código Binário

23 22 21 20
Decimal
8 4 2 1

0 0 0 0 0
• são utilizadas as
Código BCD Aiken
1 0 0 0 1
23 22 21 20
primeiras cinco 8 4 2 1
2 0 0 1 0

3 0 0 1 1
primeiras combinações e
0 0 0 0 0
4 0 1 0 0
1 0 0 0 1
as cinco últimas. 2 0 0 1 0
5 0 1 0 1

6 0 1 1 0
3 0 0 1 1
7 0 1 1 1
4 0 1 0 0
8 1 0 0 0
11 1 0 1 1
9 1 0 0 1
12 1 1 0 0
10 1 0 1 0
13 1 1 0 1
11 1 0 1 1
14 1 1 1 0
12 1 1 0 0
15 1 1 1 1
13 1 1 0 1

14 1 1 1 0

15 1 1 1 1

LEI SDAC 27

1. Circuitos Combinatórios
Códigos – Código Progressivo – Gray:
Código Gray

0 0 0 0

• a característica fundamental dos códigos 0 0 0 1

0 0 1 1
progressivos é que uma combinação difere 0 0 1 0

da combinação anterior e da combinação 0 1 1 0

0 1 1 1
seguinte exclusivamente num bit; 0 1 0 1

• é um código cíclico porque a última 0 1 0 0

1 1 0 0
combinação é adjacente à primeira; 1 1 0 1

• podem existir vários códigos Gray. 1 1 1 1

1 1 1 0

1 0 1 0

1 0 1 1

1 0 0 1

1 0 0 0

LEI SDAC 28

14
Escola Superior de Tecnologia e Gestão de Licenciatura em Engenharia Informática
Felgueiras - Politécnico do Porto

1. Circuitos Combinatórios
Códigos – Código Detector e corrector de erros:

• existem códigos complexos que detectam e em alguns casos corrigem, os erros na


informação;
• nos códigos mais vulgares, o erro é detectado ou corrigido se ocorre apenas num bit
da combinação (a probabilidade de haver erro na transmissão em dois bits é muito
pequena). O número mínimo de bit que estes códigos usam é de cinco;
• os códigos detectores mais utilizados são os de paridade par e os de paridade ímpar.
Estes códigos formam-se acrescentando mais um bit aos códigos da família BCD. O bit
paridade é gerado por um circuito denominado por gerador de paridade, que é
construído com portas OU Exclusivo.

LEI SDAC 29

1. Circuitos Combinatórios
Códigos – Código Detector e corrector de erros - Paridade:

• a detecção é realizada (através de um Código Detector de Erros de Paridade Ímpar

circuito detector também formado por Código BCD Excesso 3


Bit de
portas OU Exclusivo) de maneira que o 23 22 21 20
Paridade
8 4 2 1
número de 1’s é sempre par ou sempre 3 0 0 1 1 1

ímpar conforme se trate de um detector 4 0 1 0 0 0

5 0 1 0 1 1
de paridade par ou paridade ímpar; 6 0 1 1 0 1

• nos códigos de paridade ímpar o 7 0 1 1 1 0

8 1 0 0 0 0
número de 1’s tem de ser ímpar, entrando 9 1 0 0 1 1

em conta com o bit de paridade; 10 1 0 1 0 1

11 1 0 1 1 0

12 1 1 0 0 1

LEI SDAC 30

15
Escola Superior de Tecnologia e Gestão de Licenciatura em Engenharia Informática
Felgueiras - Politécnico do Porto

1. Circuitos Combinatórios
Códigos – Código Detector e corrector de erros - Hamming:

• os códigos detectores e correctores dão- Código BCD Natural

nos o lugar do bit incorrecto e através de 23 22 21 20

8 4 2 1
um circuito adequado pode corrigir-se 0 0 0 0 0

automaticamente a falha na informação 1 0 0 0 1

2 0 0 1 0
recebida; 3 0 0 1 1

• o código mais utilizado é o código 4 0 1 0 0

5 0 1 0 1
Hamming, no qual a combinação é 6 0 1 1 0

formada por sete bits, e é construído 7 0 1 1 1

8 1 0 0 0
também a partir da família BCD, mais 9 1 0 0 1

concretamente, do código BCD Natural.

LEI SDAC 31

1. Circuitos Combinatórios
Códigos – Código Detector e corrector de erros - Hamming:

• as colunas B7, B6, B5 e B3 Código de Hamming

correspondem ao código BCD Natural; B7 B6 B5 B4 B3 B2 B1

23 22 21 20
• as colunas B4, B2 e B1 são construídas 8 4 2 1

por forma em que cada combinação: 0 0 0 0 0 0 0 0

1 0 0 0 0 1 1 1
• B1 – B3 – B5 – B7 2 0 0 1 1 0 0 1

• B2 – B3 – B6 – B7 3 0 0 1 1 1 1 0

4 0 1 0 1 0 1 0
• B4 – B5 – B6 – B7 5 0 1 0 1 1 0 1

o número de 1’s seja par; 6 0 1 1 0 0 1 1

7 0 1 1 0 1 0 0

8 1 0 0 1 0 1 1

9 1 0 0 1 1 0 0

LEI SDAC 32

16
Escola Superior de Tecnologia e Gestão de Licenciatura em Engenharia Informática
Felgueiras - Politécnico do Porto

1. Circuitos Combinatórios
Códigos – Código Detector e corrector de erros - Hamming:

• as sete colunas estão relacionadas pelas Código de Hamming

seguintes equações: B7 B6 B5 B4 B3 B2 B1

23 22 21 20
• c1  b1  b3  b5  b7 8 4 2 1

• c2  b2  b3  b6  b7 0 0 0 0 0 0 0 0

1 0 0 0 0 1 1 1
• c3  b4  b5  b6  b7 2 0 0 1 1 0 0 1

• quando não há erros, o valor das 3 0 0 1 1 1 1 0

4 0 1 0 1 0 1 0
funções C1, C2 e C3 é zero; 5 0 1 0 1 1 0 1

• quando há erro, o número decimal 6 0 1 1 0 0 1 1

7 0 1 1 0 1 0 0
equivalente à combinação binária C3C2C1 8 1 0 0 1 0 1 1

indicará o bit incorrecto. 9 1 0 0 1 1 0 0

LEI SDAC 33

1. Circuitos Combinatórios
Códigos – Código Detector e corrector de erros - Hamming:

Exemplo:
Ao transmitir a informação relativa ao número 3 Código de Hamming
B7 B6 B5 B4 B3 B2 B1
em vez de receber a informação correcta de
23 22 21 20
0011110 recebemos a informação errada de 8 4 2 1

0011010. Como provar que o erro está no 0 0 0 0 0 0 0 0

terceiro bit a contar da direita? 1 0 0 0 0 1 1 1

2 0 0 1 1 0 0 1

c1  b1  b3  b5  b7  0  0  1  0  1 3 0 0 1 1 0 1 0

4 0 1 0 1 0 1 0
c2  b2  b3  b6  b7  1  0  0  0  1 5 0 1 0 1 1 0 1

c3  b4  b5  b6  b7  1  1  0  0  0 6 0 1 1 0 0 1 1

7 0 1 1 0 1 0 0

8 1 0 0 1 0 1 1
c3c2 c1  011  3  este valor indica que o terceiro
9 1 0 0 1 1 0 0
bit a contar da direita é o bit que
erro na codificação do número 3.
está errado
Este bit está errado, deveria ser 1

LEI SDAC 34

17
Escola Superior de Tecnologia e Gestão de Licenciatura em Engenharia Informática
Felgueiras - Politécnico do Porto

1. Circuitos Combinatórios
Códigos – Código alfanumérico - ASCII:

• é usado para representar informação de


letras, números e sinais especiais;
• existem códigos de 6 e 7 bits, mais 1 bit
de paridade para detecção de erros;
• permitem diversas ordens de controlo
de periféricos (impressoras, monitores,
etc.).

Formato da combinação do
código ASCII

LEI SDAC 35

1. Circuitos Combinatórios
Codificadores:

• um codificador é um circuito combinatório formado por um número de entradas


menor ou igual a 2nº de saídas e n saídas;

• quando uma entrada adopta um determinado valor lógico, as saídas representam


em binário o número de ordem da entrada que foi activada;

• o valor lógico que pode activar uma entrada é 0 ou 1.


1

LEI SDAC 36

18
Escola Superior de Tecnologia e Gestão de Licenciatura em Engenharia Informática
Felgueiras - Politécnico do Porto

1. Circuitos Combinatórios
Codificadores:

Entradas Saídas

E7 E6 E5 E4 E3 E2 E1 E0 S2 S1 S0

22 21 20

X X X X X X X 0 0 0 0 0

X X X X X X 0 1 0 0 1 1

X X X X X 0 1 1 0 1 0 2

X X X X 0 1 1 1 0 1 1 3

X X X 0 1 1 1 1 1 0 0 4

X X 0 1 1 1 1 1 1 0 1 5

X 0 1 1 1 1 1 1 1 1 0 6

0 1 1 1 1 1 1 1 1 1 1 7

N.º de saídas = 3 Quando o valor lógico 0 activa a entrada E1, na saída


N.º de entradas = 2N.º de saídas = 23 = 8 aparece a combinação binária referente ao número de
Valor lógico responsável por activar as entradas = 0 ordem da entrada que foi activada, isto é, o número 1
(001).

LEI SDAC 37

1. Circuitos Combinatórios
Codificadores:

• existem dois tipos de codificadores:

• codificadores sem prioridade: são circuitos que não admitem a activação


simultânea de mais do que uma entrada, porque se isso acontece aparecem
códigos errados nas suas saídas;

• codificadores com prioridade: são circuitos que no caso de ocorrer


activação simultânea de várias das suas entradas, aparecerá nas suas saídas o
código do número de ordem da entrada de maior prioridade.

LEI SDAC 38

19
Escola Superior de Tecnologia e Gestão de Licenciatura em Engenharia Informática
Felgueiras - Politécnico do Porto

1. Circuitos Combinatórios
Codificadores:

Exemplo:
Construir o diagrama lógico de um simples 
S0  E1  E0  E3  E2  E1  E0  E0  E1  E1  E2  E3 
codificador de 4 entradas.

S1  E2  E1  E0  E3  E2  E1  E0  E1  E0  E2  E2  E3 
N.º de saídas = 2
N.º de entradas = 2N.º de saídas = 22 = 4
Valor lógico responsável por activar as entradas = 1

Entradas Saídas

E3 E2 E1 E0 S1 S0

21 20

X X X 1 0 0 0

X X 1 0 0 1 1

X 1 0 0 1 0 2

1 0 0 0 1 1 3

LEI SDAC 39

1. Circuitos Combinatórios
Descodificadores:

• os descodificadores realizam a função inversa dos codificadores;

• um descodificador selecciona uma das saídas dependendo da combinação binária


presente na entrada.

• um descodificador é um circuito combinatório formado por um número de saídas


menor ou igual a 2nº de entradas e n entradas;

• o valor lógico que pode activar uma saída é 0 ou 1.

LEI SDAC 40

20
Escola Superior de Tecnologia e Gestão de Licenciatura em Engenharia Informática
Felgueiras - Politécnico do Porto

1. Circuitos Combinatórios
Descodificadores:

Entradas Saídas

E1 E0 S3 S2 S1 S0

21 20

0 0 0 1 1 1 0

1 0 1 1 1 0 1

2 1 0 1 0 1 1

3 1 1 0 1 1 1

N.º de entradas = 2 Quando a combinação binária referente ao número 1


N.º de saídas = 2N.º de entradas = 22 = 4 (01) está presente na entrada, a saída activada será a
Valor lógico responsável por activar as saídas = 0 saída com o mesmo número de ordem, isto é, S1.

LEI SDAC 41

1. Circuitos Combinatórios
Descodificadores:

Exemplo:
Construir o diagrama lógico de um simples E0 E1

descodificador de 2 entradas.

N.º de entradas = 2
N.º de saídas = 2N.º de entradas = 22 = 4
Valor lógico responsável por activar as saídas = 1
S0

Entradas Saídas

E1 E0 S3 S2 S1 S0 S0  E0  E1 S1

21 20
S1  E0  E1 S2
0 0 0 0 0 0 1

1 0 1 0 0 1 0 S 2  E0  E1
2 1 0 0 1 0 0 S3
3 1 1 1 0 0 0
S3  E0  E1

LEI SDAC 42

21
Escola Superior de Tecnologia e Gestão de Licenciatura em Engenharia Informática
Felgueiras - Politécnico do Porto

1. Circuitos Combinatórios
Descodificadores:

Exemplo:
Implementar uma função lógica com 1º Determinar a função lógica:

descodificadores. F  C B AC B AC B AC B A

C B A F 2º Determinar quantas entradas o nosso


0 0 0 0
descodificador necessita:
0 0 1 1
N.º entradas = n.º de variáveis = 3
0 1 0 0

0 1 1 1

1 0 0 1

1 0 1 0
3º Identificar quais as combinações presentes nas
1 1 0 0
entradas que levam a função lógica a tomar o valor 1
1 1 1 1
lógico:
001; 011; 100; 111

LEI SDAC 43

1. Circuitos Combinatórios
Descodificadores:

Exemplo: 4º Identificar qual o valor e qual a saída activada


Implementar uma função lógica com dependendo das combinações presentes nas entradas:

descodificadores. 001 2  110  S1 ; 011(2)  3(10)  S3 ;


100(2)  4(10)  S4 ; 111(2)  7 (10)  S7

C B A F

0 0 0 0 5º Escolher se a implementação vai ser levada a cabo


0 0 1 1
com portas NAND ou portas OR.
0 1 0 0

0 1 1 1
As portas NAND utilizam-se para descodificadores com
1 0 0 1
saídas activas por nível baixo (0 lógico).
1 0 1 0

1 1 0 0
As portas OR utilizam-se para descodificadores com
1 1 1 1
saídas activas por nível alto (1 lógico).

LEI SDAC 44

22
Escola Superior de Tecnologia e Gestão de Licenciatura em Engenharia Informática
Felgueiras - Politécnico do Porto

1. Circuitos Combinatórios
Descodificadores:

Exemplo: 5º Escolher se a implementação vai ser levada a cabo


Implementar uma função lógica com com portas NAND ou portas OR. (cont.)
descodificadores.
Vamos supor que as saídas deste descodificador são
activas por nível baixo (0 lógico), logo teremos que
utilizar na implementação a porta lógica NAND e
C B A F
teremos que negar todas as saídas do descodificador.
0 0 0 0

0 0 1 1

0 1 0 0

0 1 1 1

1 0 0 1

1 0 1 0

1 1 0 0

1 1 1 1

LEI SDAC 45

1. Circuitos Combinatórios
Multiplexers:

A função do multiplexer consiste em transmitir por um só canal de saída uma das


informações presentes nas várias linhas de entrada. A relação entre as entradas e as
saídas é dada por: n.º de linhas presentes na entrada = 2N.º de entradas de controlo.

linhas de entrada contendo informação Entradas de controlo F

A B C

d7 d6 d5 d4 d3 d2 d1 d0 0 0 0 0 d0

1 0 0 1 d1

2 0 1 0 d2 linhas de
entradas de C
MULTIPLEXER 3 0 1 1 d3 entrada
controlo B
contendo
A 4 1 0 0 d4
informação
5 1 0 1 d5

6 1 1 0 d6
F
7 1 1 1 d7

saída

LEI SDAC 46

23
Escola Superior de Tecnologia e Gestão de Licenciatura em Engenharia Informática
Felgueiras - Politécnico do Porto

1. Circuitos Combinatórios
Multiplexers:
Exemplo:
l
A B C

Construir o diagrama lógico de um simples


multiplexer de 3 entradas de controlo.

N.º de entradas de controlo = 3 d0

N.º de linhas presentes na entrada = 2N.º de entradas de controlo = 23 = 8


d1

Entradas de controlo F
d2

A B C
F
0 0 0 0 d0 d3

F  A  B  C  d 0  A  B  C  d1 
1 0 0 1 d1
d4
2 0 1 0 d2

3 0 1 1 d3
 A  B  C  d 2  A  B  C  d3 
d5
4 1 0 0 d4  A  B  C  d 4  A  B  C  d5 
5 1 0 1 d5
 A  B  C  d6  A  B  C  d7 d6

6 1 1 0 d6
d7
7 1 1 1 d7

LEI SDAC 47

1. Circuitos Combinatórios
Multiplexers:
2º Identificar qual o valor das linhas de entrada
Exemplo: que é activo pelas diversas combinações das

Implementar a função lógica F, com um variáveis de controlo.

multiplexer de 4 entradas de controlo. A  B  C  D  0001 2  1(10)  D1


A  B  C  D  0011 2  3(10)  D3
F  A B C  D  A B C  D  A B C  D  A  B  C  D  0110 2  6(10)  D6
 A B C  D  A B C  D  A B C  D  A  B  C  D  0111 2  7(10)  D7
 A B C  D  A B C  D  A B C  D
A  B  C  D  0101 2  5(10)  D5
A  B  C  D  0100 2  4(10)  D4
1º Identificar quantas variáveis tem a função lógica
N.º de variáveis = 4 A  B  C  D  1110 2  14(10)  D14
N.º de entradas de controlo = n.º de variáveis = 4
A  B  C  D  1100 2  12(10)  D12
N.º de linhas presentes na entrada = 2n.º de entradas de controlo = 24 = 16
A  B  C  D  1001 2  9(10)  D9

LEI SDAC 48

24
Escola Superior de Tecnologia e Gestão de Licenciatura em Engenharia Informática
Felgueiras - Politécnico do Porto

1. Circuitos Combinatórios
Multiplexers: 1
D0

Exemplo:
D1

D2

Implementar a função lógica F, com um D3

D4
multiplexer de 4 entradas de controlo. D5

D6

D7
F
F  A B C  D  A B C  D  A B C  D 
D8

D9

 A B C  D  A B C  D  A B C  D  D10

D11

 A B C  D  A B C  D  A B C  D D12

D13

D14

D15 S3 S2 S1 S0
3º Implementar a função lógica:
1 lógico  D1 , D3 , D4 , D5 , D6 , D7 , D9 , D12 , D14 0
A
0 lógico  D0 , D2 , D8 , D10 , D11 , D13 , D15 B
C
D

LEI SDAC 49

1. Circuitos Combinatórios
Multiplexers:

Exemplo:
Implementar a função lógica F, com um
multiplexer de 3 entradas de controlo.

F  A B C  D  A B C  D  A B C  D  A B C  D  A B C  D 
 A B C  D  A B C  D  A B C  D  A B C  D

1º Identificar quantas variáveis tem a função lógica


N.º de variáveis = 4
N.º de entradas de controlo = n.º de variáveis = 4
N.º de linhas presentes na entrada = 2n.º de entradas de controlo = 24 = 16
Atenção:
O multiplexer só tem 3 entradas de controlo
N.º de linhas presentes na entrada = 2n.º de entradas de controlo = 23 = 8

LEI SDAC 50

25
Escola Superior de Tecnologia e Gestão de Licenciatura em Engenharia Informática
Felgueiras - Politécnico do Porto

1. Circuitos Combinatórios
Multiplexers:

Exemplo:
F  A B C  D  A B C  D  A B C  D 
Implementar a função lógica F, com um
multiplexer de 3 entradas de controlo.
 A B C  D  A B C  D  A B C  D 
 A B C  D  A B C  D  A B C  D

2º Construir uma tabela na qual se representam com um lógico as combinações das variáveis de controlo que intervêm
na função lógica F.

B
C 000 001 010 011 100 101 110 111
A D
0
0 1 0 1 1 1 1 1

1
0 1 0 0 1 0 1 0

D0 D1 D2 D3 D4 D5 D6 D7

LEI SDAC 51

1. Circuitos Combinatórios
Multiplexers:

Exemplo:
Implementar a função lógica F, com um
multiplexer de 3 entradas de controlo.

3º Analisar a tabela.
B
C 000 001 010 011 100 101 110 111
A D
0
0 1 0 1 1 1 1 1

1
0 1 0 0 1 0 1 0

D0 D1 D2 D3 D4 D5 D6 D7

1 logico  D1 , D4 , D6
0 logico  D0 , D2
inverso de A  D3 , D5 , D7  A

LEI SDAC 52

26
Escola Superior de Tecnologia e Gestão de Licenciatura em Engenharia Informática
Felgueiras - Politécnico do Porto

1. Circuitos Combinatórios
Multiplexers:

Exemplo:
Implementar a função lógica F, com um
multiplexer de 3 entradas de controlo. 1
D0

D1

D2
4º Implementação. D3 F
D4

D5

1 logico  D1 , D4 , D6 D6
A D7 S2 S1 S0
0 logico  D0 , D2
inverso de A  D3 , D5 , D7  A 0 B
C
D

LEI SDAC 53

1. Circuitos Combinatórios
Desmultiplexers:

Os desmultiplexers são circuitos com uma só entrada, n linhas de saídas e n entradas


de controlo. A informação de entrada é transmitida à linha de saída selecciona pelas
entradas de controlo. A relação entre as saídas e as entradas é dada por: n.º de linhas
presentes na saída = 2N.º de entradas de controlo.
linha de entrada contendo informação

d
Entradas de Saídas
Controlo

entradas de B A B S0 S1 S2 S3
DESMUX
controlo A 0 0 0 D 0 0 0

1 0 1 0 D 0 0

2 1 0 0 0 D 0

3 1 1 0 0 0 D
S3 S2 S1 S0

linhas de saída

LEI SDAC 54

27
Escola Superior de Tecnologia e Gestão de Licenciatura em Engenharia Informática
Felgueiras - Politécnico do Porto

1. Circuitos Combinatórios
Comparadores:

Os comparadores são circuitos combinatórios que, ao colocarmos nas suas entradas


duas palavras de n bits, detectam se são ou não iguais, e neste caso qual das entradas
é maior ou menor.
A B

S0 = 1 lógico  A > B
S1 = 1 lógico  A < B
S2 = 1 lógico  A = B

S0
Entradas Saídas

A B S0 S1 S2 S0  A  B
0 0 0 0 0 1 S1
1 0 1 0 1 0 S1  A  B
S2  A  B
2 1 0 1 0 0
S2
3 1 1 0 0 1

LEI SDAC 55

28