01_Circuitos_Combinatórios

28
Escola Superior de Tecnologia e Gestão de Felgueiras - Politécnico do Porto Licenciatura em Engenharia Informática 1 1. Circuitos Combinatórios Sumário: • Sistemas de numeração • Códigos • Codificadores • Descodificadores Multiplexers LEI SDAC 1 Desmultiplexers • Comparadores 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: LEI SDAC 2 codificadores, descodificadores, multiplexers, desmultiplexers, comparadores, geradores e detectores de paridade e conversores de código.

Transcript of 01_Circuitos_Combinatórios

Page 1: 01_Circuitos_Combinatórios

Escola Superior de Tecnologia e Gestão de Felgueiras - Politécnico do Porto

Licenciatura em Engenharia Informática

1

1. Circuitos CombinatóriosSumário:

• Sistemas de numeração

• Códigos

• Codificadores

• Descodificadores

• Multiplexers

LEI SDAC 1

• Desmultiplexers

• Comparadores

1. Circuitos CombinatóriosCircuito 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:

LEI SDAC 2

codificadores, descodificadores, multiplexers, desmultiplexers, comparadores,

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

Page 2: 01_Circuitos_Combinatórios

Escola Superior de Tecnologia e Gestão de Felgueiras - Politécnico do Porto

Licenciatura em Engenharia Informática

2

1. Circuitos CombinatóriosCodificaçã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 respectivamente

LEI SDAC 3

níveis altos ou baixos de tensão, 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.

1. Circuitos CombinatóriosSistemas 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 1)

LEI SDAC 4

• Binário (0,1)

• Octal (0,1,2, ..., 7)

• Hexadecimal (0,1,2, ..., F)

Page 3: 01_Circuitos_Combinatórios

Escola Superior de Tecnologia e Gestão de Felgueiras - Politécnico do Porto

Licenciatura em Engenharia Informática

3

1. Circuitos CombinatóriosSistemas de numeração – Sistema binário

peso

• neste sistema de numeração utilizam-

se somente dois símbolos (0, 1);

• normalmente designa-se por sistema

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

natural;

• cada dígito binário designa-se por bit.

Código

Decimal

Código Binário

24 23 22 21 20

16 8 4 2 1

0 0 0 0 0 0

1 0 0 0 0 1

2 0 0 0 1 0

3 0 0 0 1 1

4 0 0 1 0 0

5 0 0 1 0 1

6 0 0 1 1 0

LEI SDAC 5

6 0 0 1 1 0

7 0 0 1 1 1

8 0 1 0 0 0

9 0 1 0 0 1

10 0 1 0 1 0

.... .... ... .... ... ....5142*12*02*12*02*05 01234

Cada coluna tem um peso diferente:

Peso máximo = 2nº de dígitos para representação da informação - 1

9182*12*02*02*12*09 01234

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

• este sistema também pode ser

designado por base 8;

• só tem 8 dígitos: 0, 1, 2, 3, 4, 5, 6, 7.

Código

Decimal

Código

Octal

0 0

1 1

2 2

3 3

4 4

LEI SDAC 6

4 4

5 5

6 6

7 7

Page 4: 01_Circuitos_Combinatórios

Escola Superior de Tecnologia e Gestão de Felgueiras - Politécnico do Porto

Licenciatura em Engenharia Informática

4

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

• este sistema também pode ser

designado por base 16;

• só tem 16 dígitos.

Código

Decimal

Código

Hexadecimal

0 0

1 1

2 2

3 3

Código

Decimal

Código

Hexadecimal

8 8

9 9

10 A

11 B

LEI SDAC 7

4 4

5 5

6 6

7 7

12 C

13 D

14 E

15 F

1. Circuitos CombinatóriosSistemas de numeração:

Códi Códi Códi

Código Binário

Código

Decimal

Código

Octal

Código

Hexadecimal24 23 22 21 20

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

LEI SDAC 8

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

Page 5: 01_Circuitos_Combinatórios

Escola Superior de Tecnologia e Gestão de Felgueiras - Politécnico do Porto

Licenciatura em Engenharia Informática

5

1. Circuitos CombinatóriosSistemas 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.

2 8110011 63 Código

Octal

Código Binário

22 21 20

4 2 1

0 0 0 0

LEI SDAC 9

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

)8(012

)2( 6242*02*12*1110

)8(012

)2( 3122*12*12*0011

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

Base 2 Base 10

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

3 2 1 0 1 2 3

21101,011 1*2 1*2 0*2 1*2 0*2 1*2 1*2

8 4 0 1 0 0,25 0,125

LEI SDAC 10

10

, ,

13,375

Page 6: 01_Circuitos_Combinatórios

Escola Superior de Tecnologia e Gestão de Felgueiras - Politécnico do Porto

Licenciatura em Engenharia Informática

6

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

Código Binário

Base 2 Base 16

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

quatro, da direita para a esquerda, e a sua

soma ponderada dá um algarismo no sistema

Hexadecimal.

162110001011010 5C A

Código

Hexadecimal23 22 21 20

8 4 2 1

0 0 0 0 0

1 0 0 0 1

2 0 0 1 0

3 0 0 1 1

4 0 1 0 0

5 0 1 0 1

6 0 1 1 0

7 0 1 1 1

8 1 0 0 0

LEI SDAC 11

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

)16(0123

)2( 282*02*12*02*11010 A

)16(0123

)2( 5142*12*02*12*00101

)16(0123

)2( 482*02*02*12*11100 C

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

Base 8 Base 2

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

8 263 110011

Código

Octal

Código Binário

22 21 20

4 2 1

0 0 0 0

1 0 0 1

LEI SDAC 12

2 0 1 0

3 0 1 1

4 1 0 0

5 1 0 1

6 1 1 0

7 1 1 1

Page 7: 01_Circuitos_Combinatórios

Escola Superior de Tecnologia e Gestão de Felgueiras - Politécnico do Porto

Licenciatura em Engenharia Informática

7

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

Base 8 Base 10

Converte-se aplicando os pesos correspondentes ao sistema octal.

1 0 1

830,5 3*8 0*8 5*8

24 625

LEI SDAC 13

1024,625

1. Circuitos CombinatóriosSistemas 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.

1 0

830 3*8 0*8 (10)24 16

8 1

Primeiro converte-se da base 8

para a base 10.

Segundo converte-se da base

10 para a base 16.

Método das divisões

sucessivas

LEI SDAC 14

10248 1

10 1624 18

sucessivas

8 1630 18

Page 8: 01_Circuitos_Combinatórios

Escola Superior de Tecnologia e Gestão de Felgueiras - Politécnico do Porto

Licenciatura em Engenharia Informática

8

1. Circuitos CombinatóriosSistemas 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:

LEI SDAC 15

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.

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

Base 10 Base 2

230150 2

71 231 21 1

0,625

* 2

1,250

0,250

* 2

0,500

0,500

* 2

1,000

(10)30,625

LEI SDAC 16

como o quociente é

menor que o divisor

não se divide mais.

como o resultado da

parte fraccionária é zero

não se multiplica mais.(2)111110 (2),101

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

ordem de leitura

Page 9: 01_Circuitos_Combinatórios

Escola Superior de Tecnologia e Gestão de Felgueiras - Politécnico do Porto

Licenciatura em Engenharia Informática

9

1. Circuitos CombinatóriosSistemas 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:

LEI SDAC 17

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.

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

Base 10 Base 8

830

como o quociente é

d

ordem de leitura

0,625

* 8

5,000

(10)30,625

36

LEI SDAC 18

menor que o divisor

não se divide mais.

como o resultado da

parte fraccionária é zero

não se multiplica mais.(8)36(8),5

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

ordem de leitura

Page 10: 01_Circuitos_Combinatórios

Escola Superior de Tecnologia e Gestão de Felgueiras - Politécnico do Porto

Licenciatura em Engenharia Informática

10

1. Circuitos CombinatóriosSistemas 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:

LEI SDAC 19

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.

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

Base 10 Base 16

1630

como o quociente é

d

ordem de leitura

0,625

* 16

10,000

(10)30,625

114

LEI SDAC 20

menor que o divisor

não se divide mais.

como o resultado da

parte fraccionária é zero

não se multiplica mais.(16)1E(16), A

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

ordem de leitura

Page 11: 01_Circuitos_Combinatórios

Escola Superior de Tecnologia e Gestão de Felgueiras - Politécnico do Porto

Licenciatura em Engenharia Informática

11

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

Código Binário

Base 16 Base 2

Substituímos cada algarismo por um grupo

de 4 dígitos binários.

Código

Hexadecimal23 22 21 20

8 4 2 1

0 0 0 0 0

1 0 0 0 1

2 0 0 1 0

3 0 0 1 1

4 0 1 0 0

5 0 1 0 1

6 0 1 1 0

7 0 1 1 1

8 1 0 0 0

16 25 110001011010C A

LEI SDAC 21

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

1. Circuitos CombinatóriosSistemas 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.

1 0

1630 3*16 0*16 (10)48 8

0 6

Primeiro converte-se da base

16 para a base 10.

Segundo converte-se da base

10 para a base 8.

Método das divisões

sucessivas

LEI SDAC 22

10480 6

10 848 60

sucessivas

16 830 60

Page 12: 01_Circuitos_Combinatórios

Escola Superior de Tecnologia e Gestão de Felgueiras - Politécnico do Porto

Licenciatura em Engenharia Informática

12

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

Base 16 Base 10

Converte-se aplicando os pesos correspondentes ao sistema hexadecimal.

1 0 116

10

30,5 3*16 0*16 5*16

48,3125

LEI SDAC 23

10,

1. Circuitos CombinatóriosCó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;

LEI SDAC 24

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);

Page 13: 01_Circuitos_Combinatórios

Escola Superior de Tecnologia e Gestão de Felgueiras - Politécnico do Porto

Licenciatura em Engenharia Informática

13

1. Circuitos CombinatóriosCódigos – Código BCD – Natural:

Código

Decimal

Código Binário

23 22 21 20

• é um código baseado

nas primeiras 16

combinações do código

binário;

• utiliza as primeiras 10

combinações do código

8 4 2 1

0 0 0 0 0

1 0 0 0 1

2 0 0 1 0

3 0 0 1 1

4 0 1 0 0

5 0 1 0 1

6 0 1 1 0

7 0 1 1 1

8 1 0 0 0

9 1 0 0 1

Código BCD Natural

23 22 21 20

8 4 2 1

0 0 0 0 0

1 0 0 0 1

2 0 0 1 0

3 0 0 1 1

4 0 1 0 0

5 0 1 0 1

6 0 1 1 0

LEI SDAC 25

binário por ordem

crescente (0, ..., 9)10 1 0 1 0

11 1 0 1 1

12 1 1 0 0

13 1 1 0 1

14 1 1 1 0

15 1 1 1 1

6 0 1 1 0

7 0 1 1 1

8 1 0 0 0

9 1 0 0 1

1. Circuitos CombinatóriosCódigos – Código BCD – Excesso 3:

Código

Decimal

Código Binário

23 22 21 20

• não são utilizadas as

primeiras três, nem as

três últimas

combinações do código

binário.

Decimal8 4 2 1

0 0 0 0 0

1 0 0 0 1

2 0 0 1 0

3 0 0 1 1

4 0 1 0 0

5 0 1 0 1

6 0 1 1 0

7 0 1 1 1

8 1 0 0 0

9 1 0 0 1

Código BCD Excesso 3

23 22 21 20

8 4 2 1

3 0 0 1 1

4 0 1 0 0

5 0 1 0 1

6 0 1 1 0

7 0 1 1 1

8 1 0 0 0

9 1 0 0 1

LEI SDAC 26

10 1 0 1 0

11 1 0 1 1

12 1 1 0 0

13 1 1 0 1

14 1 1 1 0

15 1 1 1 1

9 1 0 0 1

10 1 0 1 0

11 1 0 1 1

12 1 1 0 0

Page 14: 01_Circuitos_Combinatórios

Escola Superior de Tecnologia e Gestão de Felgueiras - Politécnico do Porto

Licenciatura em Engenharia Informática

14

1. Circuitos CombinatóriosCódigos – Código BCD – Aiken:

Código

Decimal

Código Binário

23 22 21 20

• são utilizadas as

primeiras cinco

primeiras combinações e

as cinco últimas.

Decimal8 4 2 1

0 0 0 0 0

1 0 0 0 1

2 0 0 1 0

3 0 0 1 1

4 0 1 0 0

5 0 1 0 1

6 0 1 1 0

7 0 1 1 1

8 1 0 0 0

9 1 0 0 1

Código BCD Aiken

23 22 21 20

8 4 2 1

0 0 0 0 0

1 0 0 0 1

2 0 0 1 0

3 0 0 1 1

4 0 1 0 0

11 1 0 1 1

12 1 1 0 0

LEI SDAC 27

10 1 0 1 0

11 1 0 1 1

12 1 1 0 0

13 1 1 0 1

14 1 1 1 0

15 1 1 1 1

12 1 1 0 0

13 1 1 0 1

14 1 1 1 0

15 1 1 1 1

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

Código Gray

• a característica fundamental dos códigos

progressivos é que uma combinação difere

da combinação anterior e da combinação

seguinte exclusivamente num bit;

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

combinação é adjacente à primeira;

0 0 0 0

0 0 0 1

0 0 1 1

0 0 1 0

0 1 1 0

0 1 1 1

0 1 0 1

0 1 0 0

1 1 0 0

1 1 0 1

LEI SDAC 28

• 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

Page 15: 01_Circuitos_Combinatórios

Escola Superior de Tecnologia e Gestão de Felgueiras - Politécnico do Porto

Licenciatura em Engenharia Informática

15

1. Circuitos CombinatóriosCó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.

LEI SDAC 29

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.

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

• a detecção é realizada (através de um

circuito detector também formado por

portas OU Exclusivo) de maneira que o

número de 1’s é sempre par ou sempre

ímpar conforme se trate de um detector

de paridade par ou paridade ímpar;

Código Detector de Erros de Paridade Ímpar

Código BCD Excesso 3

Bit de

Paridade23 22 21 20

8 4 2 1

3 0 0 1 1 1

4 0 1 0 0 0

5 0 1 0 1 1

6 0 1 1 0 1

LEI SDAC 30

• nos códigos de paridade ímpar o

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

em conta com o bit de paridade;

7 0 1 1 1 0

8 1 0 0 0 0

9 1 0 0 1 1

10 1 0 1 0 1

11 1 0 1 1 0

12 1 1 0 0 1

Page 16: 01_Circuitos_Combinatórios

Escola Superior de Tecnologia e Gestão de Felgueiras - Politécnico do Porto

Licenciatura em Engenharia Informática

16

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

• os códigos detectores e correctores dão-

nos o lugar do bit incorrecto e através de

um circuito adequado pode corrigir-se

automaticamente a falha na informação

recebida;

• o código mais utilizado é o código

Código BCD Natural

23 22 21 20

8 4 2 1

0 0 0 0 0

1 0 0 0 1

2 0 0 1 0

3 0 0 1 1

4 0 1 0 0

5 0 1 0 1

LEI SDAC 31

Hamming, no qual a combinação é

formada por sete bits, e é construído

também a partir da família BCD, mais

concretamente, do código BCD Natural.

6 0 1 1 0

7 0 1 1 1

8 1 0 0 0

9 1 0 0 1

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

• as colunas B7, B6, B5 e B3

correspondem ao código BCD Natural;

• as colunas B4, B2 e B1 são construídas

por forma em que cada combinação:

• B1 – B3 – B5 – B7

• B2 – B3 – B6 – B7

Código de Hamming

B7 B6 B5 B4 B3 B2 B1

23 22 21 20

8 4 2 1

0 0 0 0 0 0 0 0

1 0 0 0 0 1 1 1

2 0 0 1 1 0 0 1

3 0 0 1 1 1 1 0

4 0 1 0 1 0 1 0

LEI SDAC 32

• B4 – B5 – B6 – B7

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

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

Page 17: 01_Circuitos_Combinatórios

Escola Superior de Tecnologia e Gestão de Felgueiras - Politécnico do Porto

Licenciatura em Engenharia Informática

17

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

• as sete colunas estão relacionadas pelas

seguintes equações:

• quando não há erros, o valor das

Código de Hamming

B7 B6 B5 B4 B3 B2 B1

23 22 21 20

8 4 2 1

0 0 0 0 0 0 0 0

1 0 0 0 0 1 1 1

2 0 0 1 1 0 0 1

3 0 0 1 1 1 1 0

4 0 1 0 1 0 1 0

1 1 3 5 7

2 2 3 6 7

3 4 5 6 7

c b b b b

c b b b b

c b b b b

LEI SDAC 33

funções C1, C2 e C3 é zero;

• quando há erro, o número decimal

equivalente à combinação binária C3C2C1

indicará o bit incorrecto.

5 0 1 0 1 1 0 1

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

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

Exemplo:Ao transmitir a informação relativa ao número 3

em vez de receber a informação correcta de

0011110 recebemos a informação errada de

0011010. Como provar que o erro está no

terceiro bit a contar da direita?

Código de Hamming

B7 B6 B5 B4 B3 B2 B1

23 22 21 20

8 4 2 1

0 0 0 0 0 0 0 0

1 0 0 0 0 1 1 1

2 0 0 1 1 0 0 1

3 0 0 1 1 0 1 0

4 0 1 0 1 0 1 01 1 3 5 7 0 0 1 0 1c b b b b

LEI SDAC 34

5 0 1 0 1 1 0 1

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

2 2 3 6 7

3 4 5 6 7

1 0 0 0 1

1 1 0 0 0

c b b b b

c b b b b

3 2 1 011 3c c c este valor indica que o terceiro

bit a contar da direita é o bit que

está errado erro na codificação do número 3.

Este bit está errado, deveria ser 1

Page 18: 01_Circuitos_Combinatórios

Escola Superior de Tecnologia e Gestão de Felgueiras - Politécnico do Porto

Licenciatura em Engenharia Informática

18

1. Circuitos CombinatóriosCó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,

LEI SDAC 35

etc.).

Formato da combinação do

código ASCII

1. Circuitos CombinatóriosCodificadores:

• 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

LEI SDAC 36

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

Page 19: 01_Circuitos_Combinatórios

Escola Superior de Tecnologia e Gestão de Felgueiras - Politécnico do Porto

Licenciatura em Engenharia Informática

19

1. Circuitos CombinatóriosCodificadores:

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

LEI SDAC 37

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

N.º de saídas = 3

N.º de entradas = 2N.º de saídas = 23 = 8

Valor lógico responsável por activar as entradas = 0

Quando o valor lógico 0 activa a entrada E1, na saída

aparece a combinação binária referente ao número de

ordem da entrada que foi activada, isto é, o número 1

(001).

1. Circuitos CombinatóriosCodificadores:

• 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

LEI SDAC 38

• 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.

Page 20: 01_Circuitos_Combinatórios

Escola Superior de Tecnologia e Gestão de Felgueiras - Politécnico do Porto

Licenciatura em Engenharia Informática

20

1. Circuitos CombinatóriosCodificadores:

Entradas Saídas

N.º de saídas = 2

N.º de entradas = 2N.º de saídas = 22 = 4

Valor lógico responsável por activar as entradas = 1

Exemplo: Construir o diagrama lógico de um simples

codificador de 4 entradas.

0 1 0 3 2 1 0 0 1 1 2 3

1 2 1 0 3 2 1 0 1 0 2 2 3

S E E E E E E E E E E E

S E E E E E E E E E E E E

LEI SDAC 39

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

1. Circuitos CombinatóriosDescodificadores:

• 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;

LEI SDAC 40

menor ou igual a 2 e n entradas;

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

Page 21: 01_Circuitos_Combinatórios

Escola Superior de Tecnologia e Gestão de Felgueiras - Politécnico do Porto

Licenciatura em Engenharia Informática

21

1. Circuitos CombinatóriosDescodificadores:

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

LEI SDAC 41

N.º de entradas = 2

N.º de saídas = 2N.º de entradas = 22 = 4

Valor lógico responsável por activar as saídas = 0

Quando a combinação binária referente ao número 1

(01) está presente na entrada, a saída activada será a

saída com o mesmo número de ordem, isto é, S1.

1. Circuitos CombinatóriosDescodificadores:

N.º de entradas = 2

N.º de saídas = 2N.º de entradas = 22 = 4

Valor lógico responsável por activar as saídas = 1

Exemplo: Construir o diagrama lógico de um simples

descodificador de 2 entradas.

Entradas Saídas

E0 E1

S0

LEI SDAC 42

Entradas Saídas

E1 E0 S3 S2 S1 S0

21 20

0 0 0 0 0 0 1

1 0 1 0 0 1 0

2 1 0 0 1 0 0

3 1 1 1 0 0 0

0 0 1

1 0 1

2 0 1

3 0 1

S E E

S E E

S E E

S E E

S1

S2

S3

Page 22: 01_Circuitos_Combinatórios

Escola Superior de Tecnologia e Gestão de Felgueiras - Politécnico do Porto

Licenciatura em Engenharia Informática

22

1. Circuitos CombinatóriosDescodificadores:

Exemplo: Implementar uma função lógica com

descodificadores.

C B A F

0 0 0 0

0 0 1 1

0 1 0 0

1º Determinar a função lógica:

F C B A C B A C B A C B A

2º Determinar quantas entradas o nosso

descodificador necessita:

N.º entradas = n.º de variáveis = 3

LEI SDAC 43

0 1 1 1

1 0 0 1

1 0 1 0

1 1 0 0

1 1 1 1

3º Identificar quais as combinações presentes nas

entradas que levam a função lógica a tomar o valor 1

lógico:001; 011; 100; 111

1. Circuitos CombinatóriosDescodificadores:

Exemplo: Implementar uma função lógica com

descodificadores.

C B A F

0 0 0 0

0 0 1 1

0 1 0 0

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

dependendo das combinações presentes nas entradas:

1 (2) (10) 32 10

(2) (10) 4 (2) (10) 7

001 1 ; 011 3 ;

100 4 ; 111 7

S S

S S

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

com portas NAND ou portas OR.

LEI SDAC 44

0 1 1 1

1 0 0 1

1 0 1 0

1 1 0 0

1 1 1 1

As portas NAND utilizam-se para descodificadores com

saídas activas por nível baixo (0 lógico).

As portas OR utilizam-se para descodificadores com

saídas activas por nível alto (1 lógico).

Page 23: 01_Circuitos_Combinatórios

Escola Superior de Tecnologia e Gestão de Felgueiras - Politécnico do Porto

Licenciatura em Engenharia Informática

23

1. Circuitos CombinatóriosDescodificadores:

Exemplo: Implementar uma função lógica com

descodificadores.

C B A F

0 0 0 0

0 0 1 1

0 1 0 0

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

com portas NAND ou portas OR. (cont.)

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

teremos que negar todas as saídas do descodificador.

LEI SDAC 45

0 1 1 1

1 0 0 1

1 0 1 0

1 1 0 0

1 1 1 1

1. Circuitos CombinatóriosMultiplexers:

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.

d0d1d2d3d4d5d6d7

linhas de entrada contendo informaçãoEntradas de controlo F

A B C

0 0 0 0 d0

1 0 0 1 d1

LEI SDAC 46

CB

A

MULTIPLEXER

F

entradas de

controlo

saída

2 0 1 0 d2

3 0 1 1 d3

4 1 0 0 d4

5 1 0 1 d5

6 1 1 0 d6

7 1 1 1 d7

linhas de

entrada

contendo

informação

Page 24: 01_Circuitos_Combinatórios

Escola Superior de Tecnologia e Gestão de Felgueiras - Politécnico do Porto

Licenciatura em Engenharia Informática

24

1. Circuitos CombinatóriosMultiplexers:

l A B C

N.º de entradas de controlo = 3

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

Exemplo: Construir o diagrama lógico de um simples

multiplexer de 3 entradas de controlo.

Entradas de controlo F

A B C

0 0 0 0 d0

A B C

d0

d1

d2

d3

F

LEI SDAC 47

0 1

2 3

4 5

6 7

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

1 0 0 1 d1

2 0 1 0 d2

3 0 1 1 d3

4 1 0 0 d4

5 1 0 1 d5

6 1 1 0 d6

7 1 1 1 d7

d4

d5

d6

d7

1. Circuitos CombinatóriosMultiplexers:

2º Identificar qual o valor das linhas de entrada

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

multiplexer de 4 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

2º Identificar qual o valor das linhas de entrada

que é activo pelas diversas combinações das

variáveis de controlo.

(10) 12

(10) 32

(10) 62

(10) 72

(10) 52

0001 1

0011 3

0110 6

0111 7

0101 5

A B C D D

A B C D D

A B C D D

A B C D D

A B C D D

LEI SDAC 48

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

(10) 52

(10) 42

(10) 142

(10) 122

(10)2

0100 4

1110 14

1100 12

1001 9

A B C D D

A B C D D

A B C D D

A B C D

9D

Page 25: 01_Circuitos_Combinatórios

Escola Superior de Tecnologia e Gestão de Felgueiras - Politécnico do Porto

Licenciatura em Engenharia Informática

25

1. Circuitos CombinatóriosMultiplexers:

D0

1

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

multiplexer de 4 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

D0

D1

D2

D3

D4

D5

D6

D7

D8

D9

D10

D11

D12

D13

F

LEI SDAC 49

3º Implementar a função lógica:

1 lógico

0 lógico1 3 4 5 6 7 9 12 14

0 2 8 10 11 13 15

, , , , , , , ,

, , , , , ,

D D D D D D D D D

D D D D D D D

S3 S2 S1 S0

AB

CD

D13

D14

D15

0

1. Circuitos CombinatóriosMultiplexers:

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

multiplexer de 3 entradas de controlo.

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

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

LEI SDAC 50

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

Page 26: 01_Circuitos_Combinatórios

Escola Superior de Tecnologia e Gestão de Felgueiras - Politécnico do Porto

Licenciatura em Engenharia Informática

26

1. Circuitos CombinatóriosMultiplexers:

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

multiplexer de 3 entradas de controlo.

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.

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

000 001 010 011 100 101 110 111ABC

D

LEI SDAC 51

000 001 010 011 100 101 110 111

00 1 0 1 1 1 1 1

10 1 0 0 1 0 1 0

D0 D1 D2 D3 D4 D5 D6 D7

A D

1. Circuitos CombinatóriosMultiplexers:

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

multiplexer de 3 entradas de controlo.

3º Analisar a tabela.

000 001 010 011 100 101 110 111

00 1 0 1 1 1 1 1

10 1 0 0 1 0 1 0

ABC

D

LEI SDAC 52

0 1 0 0 1 0 1 0

D0 D1 D2 D3 D4 D5 D6 D7

1 4 6

0 2

3 5 7

1 logico , ,

0 logico ,

inverso de A , ,

D D D

D D

D D D A

Page 27: 01_Circuitos_Combinatórios

Escola Superior de Tecnologia e Gestão de Felgueiras - Politécnico do Porto

Licenciatura em Engenharia Informática

27

1. Circuitos CombinatóriosMultiplexers:

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

multiplexer de 3 entradas de controlo.

4º Implementação.

1 4 61 logico , ,D D D

D0

D1

D2

D3

D4

D5

D6

1

F

LEI SDAC 53

1 4 6

0 2

3 5 7

1 logico , ,

0 logico ,

inverso de A , ,

D D D

D D

D D D A

S2 S1 S0A

B

CD

D7

0

1. Circuitos CombinatóriosDesmultiplexers:

d

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

Entradas de Controlo

Saídas

LEI SDAC 54

B

A

S0S1S2S3

DESMUXentradas de

controlo

linhas de saída

A B S0 S1 S2 S3

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

Page 28: 01_Circuitos_Combinatórios

Escola Superior de Tecnologia e Gestão de Felgueiras - Politécnico do Porto

Licenciatura em Engenharia Informática

28

1. Circuitos CombinatóriosComparadores:

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.

S0 = 1 lógico A > B

S1 = 1 lógico A < B

S2 = 1 lógico A = B

A B

LEI SDAC 55

Entradas Saídas

A B S0 S1 S2

0 0 0 0 0 1

1 0 1 0 1 0

2 1 0 1 0 0

3 1 1 0 0 1

0

1

2

S A B

S A B

S A B

S0

S1

S2